WO2013111351A1 - データ設定装置 - Google Patents

データ設定装置 Download PDF

Info

Publication number
WO2013111351A1
WO2013111351A1 PCT/JP2012/055405 JP2012055405W WO2013111351A1 WO 2013111351 A1 WO2013111351 A1 WO 2013111351A1 JP 2012055405 W JP2012055405 W JP 2012055405W WO 2013111351 A1 WO2013111351 A1 WO 2013111351A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
variable
plc
frame
written
Prior art date
Application number
PCT/JP2012/055405
Other languages
English (en)
French (fr)
Inventor
永田雄大
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to CN201280067859.3A priority Critical patent/CN104067185B/zh
Priority to EP12866546.0A priority patent/EP2808748B1/en
Priority to US14/373,960 priority patent/US9645567B2/en
Publication of WO2013111351A1 publication Critical patent/WO2013111351A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • H04L12/4035Bus networks with centralised control, e.g. polling in which slots of a TDMA packet structure are assigned based on a contention resolution carried out at a master unit
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/4026Bus for use in automation systems

Definitions

  • the present invention relates to a technique for rewriting variables set in a PLC via a network.
  • a control system network In FA (Factory Automation), a control system network (field network) consists of multiple slave devices that control various production facilities and collect data, and a master device (PLC: Programmable Logic Controller) that centrally manages these slave devices.
  • the production facility is controlled by an industrial network system configured by connecting with each other.
  • the PLCs installed in each production line or production base are connected to a higher-level computer via an information network, and system administrators and engineers use this computer to monitor the status of each system and perform maintenance. It is possible to do.
  • the data type of the setting variable includes a fixed length type such as INT type (integer type) and REAL type (real number type), and a variable length type such as STRING type (character string type).
  • INT type integer type
  • REAL type real number type
  • STRING type character string type
  • IP Internet Protocol
  • MTU Maximum Transmission Unit
  • the packet is divided into a plurality of packets and transmitted, and the packet received separately on the receiving side is used as header information.
  • IP fragmentation IP fragmentation
  • the original packet is restored by connecting to the base (see, for example, Patent Document 1).
  • CIP Common Industrial Protocol
  • FIG. 5A shows data to be written to the PLC
  • FIG. 5B shows a frame transmitted from the computer and the state of the PLC memory in time series.
  • a procedure for setting a character string “ABCDEFG” for the variable “abc” is illustrated.
  • the data size that can be transmitted in one frame is assumed to be 5 bytes. Further, it is assumed that 10 bytes are allocated as a data area of the variable abc in the PLC memory, and a character string “123456” is stored in the initial state.
  • the data to be written is STRING type data, and each of the character codes “41, 42, 43, 44, 45,“ A, B, C, D, E, F, G ”. 46, 47 ”and 8 bytes of the code“ 00 ”of the termination character null. Since only 5 bytes can be transmitted in one frame, it is divided and transmitted twice. First, in the first frame, data of 5 bytes from the beginning (a code of 5 characters “ABCDE”) is transmitted together with an offset “0”. Upon receiving this frame, the PLC writes the character code “ABCDE” at the address of the offset “0” of the variable abc.
  • the remaining 3 bytes of data (“FG” character code and termination character code) are transmitted together with the offset “5”.
  • the PLC receives this frame, it writes the character code of “FG” and the code of the termination character at the address of offset “5” of the variable abc. Thereby, the rewriting of the setting variable in the PLC memory is completed.
  • the procedure of FIG. 5 is simple and has the advantage that it can be easily mounted on an industrial network. However, this procedure may cause the following problems.
  • the data area of the PLC variable abc is in a state of “ABCDE6” in the transition period from the writing of the data of the first frame to the writing of the data of the second frame. Become. Although this character string is illegal data, it conforms to the STRING type data structure, so the PLC side cannot determine whether this data is normal or illegal. If a process in which a control program operating on the PLC refers to the variable abc occurs during this transition period, there is a risk of causing a malfunction (unintended operation) of the PLC.
  • STRING type data is taken as an example, but when variable length data terminated with a predetermined termination code is written to the PLC, the same problem may occur.
  • the present invention has been made to solve the above-described problems, and an object of the present invention is to provide a technique for easily and safely writing variable-length data to a PLC.
  • the present invention employs a procedure in which a termination code is first written at the head of the PLC data area, data other than the head is sequentially written, and then the head data is written last.
  • the gist is that the data area is recognized as empty data during the transition period.
  • a data setting device is a data setting device for rewriting a variable set in a PLC via a network, and includes a variable to be rewritten, a start address of a data area of the variable
  • a data setting means for generating at least a frame indicating at least an offset from and a data to be written at a position specified by the offset, and transmitting the frame to the PLC, thereby causing the PLC to rewrite the variable.
  • the variable to be rewritten is a variable-length data type variable terminated with a predetermined termination code, and the maximum size of the data to be written to the variable can be transmitted in one frame When the size is exceeded, the data setting means reduces the data to be written to the maximum size or less.
  • Dividing into a plurality of divided data calculating an offset of each divided data, first transmitting a frame instructing to write the predetermined termination code to the start address of the data area to the PLC; For each piece of divided data other than the first divided data, a frame instructing to write the divided data at the position of the corresponding offset from the start address of the data area is transmitted to the PLC, and finally, the start of the data area
  • the data setting device is characterized in that a frame instructing to write the first divided data in an address is transmitted to the PLC.
  • the end data is set at the start address of the data area. Is maintained. Therefore, even if the PLC refers to the variable during the transition period, the PLC recognizes that the variable is empty (no data is set).
  • the operation when the variable is empty depends on the design of the PLC, but at least an abnormal operation (unintended operation) caused by incorrect data can be prevented beforehand.
  • the data setting means can safely rewrite the variable during the operation of the PLC.
  • the variable may be a character string type variable terminated with a null code.
  • the network may be an industrial network, and the protocol used to transmit the frame may be a protocol that does not have a fragmentation mechanism. This is because the industrial network has a relatively small maximum size that can be transmitted in one frame, so that rewriting by division transmission as in the present invention can be suitably applied.
  • the present invention can be specified as a data setting device including at least a part of the above means, or can be specified as a data setting system having a data setting device and a PLC.
  • the present invention can also specify at least a part of the process as a data setting method executed by a computer, a program that causes a computer to execute at least a part of the process, or a computer-readable program that records the program. It can also be specified as a storage medium.
  • variable length data can be written to the PLC easily and safely.
  • a STRING type variable is rewritten using a CIP message communication between a computer (data setting device) connected by EtherNet / IP and a PLC.
  • the scope of the present invention is not limited to this. I can't.
  • the present invention can be preferably applied regardless of the network, protocol, data type, and the like.
  • a network in a special field such as an industrial network has a small upper limit of a transmittable frame size and does not have a mechanism such as session management or fragmentation, the present invention can be particularly preferably applied.
  • the industrial network system shown in FIG. 1 includes a PLC (Programmable Logic Controller) 200 and a plurality of slave devices 300.
  • the PLC 200 and the slave device 300 are connected by a control system network NW2 or an internal bus.
  • the slave device 300 includes a power supply unit, a motor unit, a counter unit, an image unit, a communication unit, an I / O unit, and the like.
  • Such an industrial network system is used for controlling various production facilities (motors, robots, sensors, etc.) and collecting data in a production line of a factory.
  • the PLC 200 is connected to the computer 100 via the information network NW1.
  • the computer 100 is used, for example, for a system administrator to monitor the system status of each site, or for an engineer to perform online maintenance of the PLC 200 and the slave device 300.
  • a general-purpose personal computer including a display device 101, an input device 102, and the like can be used, and a PLC setting variable reading / writing function (data setting means) described later is stored in the computer 100. This is realized by the CPU executing a program stored in the apparatus.
  • the data type of the setting variable includes, for example, a BOOT type (logical type), an INT type (integer type), a REAL type (real number type), a BYTE type, a WORD type, and a STRING type (character string type).
  • the BOOT type, INT type, REAL type, BYTE type, and WORD type are all fixed lengths, and each have a data size of 1 byte, 2 bytes, 4 bytes, 1 byte, and 2 bytes.
  • the STRING type has a variable length and takes a maximum size of 1986 bytes.
  • a STRING type variable stores a character string terminated with a null character (termination code).
  • FIG. 2 shows an example of an operation screen of a PLC setting variable reading / writing function provided by an application program (tool) operating on the computer 100.
  • the operation screen 20 in FIG. 2 is displayed on the display device 101.
  • the computer 100 acquires the current value of the variable from the PLC 200 and displays it in the box 22.
  • the upper part of FIG. 2 shows an example in which the current value “123456” of the variable “abc” is confirmed.
  • variable write request is sent from the computer 100 to the PLC 200, and the memory data is rewritten in the PLC 200.
  • the lower part of FIG. 2 shows an example in which the value of the variable “abc” is rewritten to “ABCDEFG”.
  • the variable is written into the PLC 200 by using a variable write request that is one of the services provided by the CIP.
  • the request message includes a service ID, a class ID, a variable name, an offset, data to be written, and the like.
  • Variable writing processing is designated for “service ID” and “class ID”.
  • the “variable name” designates the name of the variable to be written
  • the “offset” designates the byte at which the data is written from the start address of the data area of the variable.
  • variable can basically rewrite the PLC 200 memory using this variable write request.
  • processing is divided into a plurality of requests depending on the data size.
  • FIG. 3 shows processing of the computer 100 when data is transmitted using a plurality of frames.
  • 4A shows data to be written to the PLC 200
  • FIG. 4B shows a frame transmitted from the computer 100 and the state of the memory of the PLC 200 in time series.
  • a procedure for setting a character string “ABCDEFG” for the variable “abc” is illustrated.
  • the maximum size that can be transmitted in one frame is assumed to be 5 bytes, and 10 bytes are allocated to the memory of the PLC 200 as the data area of the variable abc. Assume that a character string is stored.
  • the computer 100 acquires the data length l of the character string data to be written and the maximum size (frame length) m that can be transmitted in one frame (step S10), and initializes the offset i with l (step S10). S11).
  • the computer 100 writes a termination code (null) at the start address of the data area of the rewrite target variable of the PLC 200 (before writing the actual character string data) (step S12). Specifically, as shown in FIG. 4B, a frame having an offset “0” and data “00 (null)” is generated and transmitted to the PLC 200. In the PLC 200, null is written at the start address of the data area of the variable abc in accordance with this request.
  • the character string data is divided into a plurality of divided data of the maximum size or less, and writing is performed in order from the subsequent divided data.
  • the offset i is updated so as to decrease by m (however, if i ⁇ m, i is substituted for m and 0 is substituted for i) (step S13).
  • the process of writing divided data for m bytes from the i-th byte of the character string data to the position of the i-th byte from the beginning of the data area (step S14) is repeated until all the data is written (step S15).
  • step S15 In the example of FIG. 4B, in the second frame, data of 5 bytes of the character code “DEFG” and the null code is written at the position of the offset “3”, and in the third frame, the remaining “ABC” Is written at the offset “0” position.
  • null is set as the start address of the data area during the transition period of data writing, that is, between the time when null is first written and the time when writing of the last divided data is completed. State is maintained. Therefore, even if the PLC 200 refers to the variable during the transition period, the PLC 200 recognizes that the variable is empty (no data is set). For example, the operation of the control program of the PLC 200 is “if the variable is empty, it is determined to be abnormal and an error message is output” or “if the variable is empty, the process is executed using the default value”. By designing in this way, abnormal operation (unintended operation) of the PLC 200 can be prevented.
  • image data (binary data) is usually used. If you want to change the character string to be printed according to the product, lot, etc., use each pattern in advance. Image data is prepared, and switching is performed by designating an image ID or the like. If the upper limit size of the variable is increased, the character string itself to be printed can be handled as a variable. Then, since the character string to be printed can be changed and added from an external computer or HMI (Human Machine Interface), maintenance is facilitated. Further, it is possible to expand such as specifying conditions such as font, character color, and character size.
  • HMI Human Machine Interface
  • ⁇ Production data may be saved in text file format on a memory card attached to the PLC.
  • character strings such as format and lot number are preset in the PLC as variables.
  • an error log may be recorded in the memory card, and an error message or the like described in the log is set in the PLC as a variable.
  • a text file such as recipe information may be read from the memory card and set in the PLC.
  • multibyte characters 4 bytes
  • the conventional size for example, 256 bytes
  • a character string of several kilobytes as in the above embodiment is used. If it can be handled, it is easy to handle multibyte characters.
  • writing is performed in order from the subsequent divided data.
  • at least the first divided data may be written last, and the writing order of the divided data other than the first is arbitrary.
  • a personal computer is exemplified as an example of the data setting device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

Abstract

 本発明では、書き込むべきデータを最大サイズ以下の複数の分割データに分割するとともに、各分割データのオフセットを計算し、最初に、データ領域の先頭アドレスに所定の終端コードを書き込むことを指示するフレームをPLCに伝送し、次に、先頭の分割データ以外の分割データのそれぞれについて、データ領域の先頭アドレスから対応するオフセットの位置に分割データを書き込むことを指示するフレームをPLCに伝送し、最後に、データ領域の先頭アドレスに先頭の分割データを書き込むことを指示するフレームをPLCに伝送する。

Description

データ設定装置
 本発明は、PLCに設定されている変数をネットワークを介して書き換えるための技術に関する。
 FA(Factory Automation)においては、各種生産設備の制御やデータ収集を行う複数のスレーブ装置と、それらのスレーブ装置を集中管理するマスター装置(PLC:Programmable Logic Controller)とを制御系ネットワーク(フィールドネットワーク)で接続して構成される産業用ネットワークシステムにより、生産設備の制御が行われる。また、各生産ラインあるいは生産拠点に設置されたPLCには情報系ネットワークを介して上位のコンピュータに接続されており、システム管理者やエンジニアはこのコンピュータを用いて各々のシステムの状態監視やメンテナンスなどを行うことが可能になっている。
 一般なPLCでは、ラダープログラムなどで利用される情報が設定変数としてメモリ内に格納されており、外部のコンピュータからこれらの設定変数を書き換えることで、PLCの動作を変更したり修正(デバッグ)したりできる仕様になっている。設定変数のデータ型には、INT型(整数型)、REAL型(実数型)のように固定長のものと、STRING型(文字列型)のように可変長のものとがある。従来のPLCでは、STRING型などの可変長データは、その上限サイズが比較的小さい値(例えば256バイト)に制限されていた。
 このように上限サイズが決められていた理由の一つに、産業用ネットワークにおける最大フレーム長(一回のデータ伝送で送信可能なフレームのサイズ)からの制約が挙げられる。産業用ネットワークには様々な規格が存在するが、例えば制御系ネットワークの代表であるDeviceNetやCompoNetなどでは、最大フレーム長が500バイト程度とかなり小さい。この制限のなかで外部コンピュータから設定変数を読み出したり書き換えたりしなければならないため、上記のように256バイト程度に抑える必要があったのである。
 従来は256バイト超の変数をPLCで扱うことがそもそも想定されていなかったので、上記のような制限が問題とされることは殆ど無かった。しかしながら、近年のPLCの高機能化にともない、例えば数Kバイト~数Mバイトの設定変数をPLC側に持たせられるようにし、より高度な処理や柔軟な処理を実現したい、というニーズが出始めてきている。とはいえ、PLC側の拡張は比較的容易であるものの、ネットワークの規格である最大フレーム長を拡張することは実際上難しい。したがって、大きなサイズのデータを既存の産業用ネットワークの枠組みの中で送受信するための仕組みが必要となる。
 一般的なTCP/IP通信においては、IPパケットのサイズがMTU(Maximum Transmission Unit)を超えている場合に、複数のパケットに分割して送信し、受信側でバラバラに受け取ったパケットをヘッダ情報を基につなぎ合わせて元のパケットを復元する、という仕組み(IPフラグメンテーション)が備わっている(例えば特許文献1参照)。しかしながら、このようなフラグメンテーションの仕組みは、産業用ネットワークで一般に用いられるプロトコル(例えばCIP(Common Industrial Protocol))には用意されていない。
特開2001-313675号公報
 最大フレーム長よりも大きいサイズの変数を外部コンピュータから書き換えるとなれば、データを複数のフレームに分けて伝送する方法を採らざるを得ない。この場合に、複数回に分けて受信したデータをPLC側でつなぎ合わせて元のデータを復元した後、メモリ内の変数を上書きする、という手順をとることができれば安全であるが、産業用ネットワークのプロトコルの上ではそのような手順を実装することが難しい。産業用ネットワークのプロトコルはリアルタイム性及び伝送効率を重視した設計になっており、TCP/IPで言うところのセッション管理のような仕組みをもたないため、分割したデータすべてをPLC側で間違いなく受け取ったかどうかを判断したり保証したりすることができないからである。
 そこで、本発明者は、分割したデータをオフセット(変数の先頭からのアドレス)とともにPLCに送信し、PLC側ではデータを受信するたびに逐次メモリ内の変数領域に書き込んでいく、という手順を試みた。この手順の一例を図5に示す。図5(A)はPLCに書き込むデータを示し、(B)はコンピュータから送信するフレームとPLCのメモリの状態を時系列に示している。ここでは、変数「abc」に対し「ABCDEFG」という文字列を設定する手順を例示している。1つのフレームで伝送できるデータサイズは5バイトと仮定する。また、PLCのメモリには変数abcのデータ領域として10バイトが割り当てられており、初期状態では、「123456」という文字列が格納されているものとする。
 図5(A)に示すように、書き込むデータはSTRING型のデータであり、「A,B,C,D,E,F,G」それぞれの文字コード「41,42,43,44,45,46,47」と終端文字nullのコード「00」の8バイトで構成される。1つのフレームで5バイトしか伝送できないので2回に分けて伝送する。まず1フレーム目では、先頭から5バイトのデータ(「ABCDE」の5文字分のコード)がオフセット「0」とともに伝送される。PLCは、このフレームを受け取ると、変数abcのオフセット「0」のアドレスに「ABCDE」の文字コードを書き込む。2フレーム目では、残りの3バイトのデータ(「FG」の文字コードと終端文字のコード)がオフセット「5」とともに伝送される。PLCは、このフレームを受け取ると、変数abcのオフセット「5」のアドレスに「FG」の文字コードと終端文字のコードを書き込む。これにより、PLCのメモリ内の設定変数の書き換えが完了する。
 図5の手順はシンプルであり産業用ネットワークへの実装が容易という利点がある。しかしながら、この手順の場合には、次のような問題が発生するおそれがある。図5(B)をみると分かるように、1フレーム目のデータが書き込まれてから2フレーム目のデータが書き込まれるまでの過渡期間において、PLCの変数abcのデータ領域が「ABCDE6」という状態になる。この文字列は不正なデータであるものの、STRING型のデータ構造に則っているため、PLC側ではこのデータが正常なのか不正なのかを判別することができない。もし、この過渡期間のあいだに、PLC上で動作する制御プログラムが変数abcを参照する処理が発生した場合には、PLCの誤動作(意図しない動作)を引き起こすおそれがある。生産現場においてはPLCの稼働を停めずに設定変数の変更や修正をオンラインで行わなければならない場面も少なくない。したがって、PLCが書き込み途中のデータを使って誤動作を起こすリスクは最小限にしなければならない。なおここでは、STRING型のデータを例に挙げたが、所定の終端コードで終端されている可変長のデータをPLCに書き込む場合には、同様の問題が発生し得る。
 本発明は上記課題を解決するためになされたものであって、PLCに対する可変長データの書き込みを簡単かつ安全に実行するための技術を提供することを目的とする。
 上記目的を達成するために、本発明では、PLCのデータ領域の先頭に終端コードをまず書き込み、そして先頭以外のデータを順次書き込んだ後で、最後に先頭のデータを書き込む、という手順を採用することで、過渡期間のあいだはデータ領域の中が空データと認識されるようにしたことを要旨とする。
 具体的には、本発明に係るデータ設定装置は、PLCに設定されている変数をネットワークを介して書き換えるためのデータ設定装置であって、書き換え対象となる変数、当該変数のデータ領域の先頭アドレスからのオフセット、及び、前記オフセットで指定された位置に書き込むデータを少なくとも指示するフレームを生成し、当該フレームをPLCに伝送することによって、前記PLCに当該変数の書き換えを行わしめる、データ設定手段を有しており、書き換え対象となる変数が、所定の終端コードで終端される可変長のデータ型の変数であり、かつ、前記変数に書き込むべきデータの全体サイズが1つのフレームで伝送可能な最大サイズを超えている場合に、前記データ設定手段は、前記書き込むべきデータを前記最大サイズ以下の複数の分割データに分割するとともに、各分割データのオフセットを計算し、最初に、前記データ領域の先頭アドレスに前記所定の終端コードを書き込むことを指示するフレームを前記PLCに伝送し、次に、先頭の分割データ以外の分割データのそれぞれについて、前記データ領域の先頭アドレスから対応するオフセットの位置に前記分割データを書き込むことを指示するフレームを前記PLCに伝送し、最後に、前記データ領域の先頭アドレスに前記先頭の分割データを書き込むことを指示するフレームを前記PLCに伝送することを特徴とするデータ設定装置である。
 この構成によれば、データの書き込みの過渡期間、すなわち、データの書き込みを開始してから最後の分割データの書き込みが完了するまでのあいだは、データ領域の先頭アドレスに終端データが設定された状態が維持される。したがって、もし過渡期間のあいだにPLCが当該変数を参照したとしても、PLCは当該変数が空(データが設定されていない)であると認識する。変数が空の場合の動作はPLCの設計しだいであるが、少なくとも、不正なデータに起因する異常動作(意図しない動作)は未然に防止することができる。
 このようにデータ書き換えの過渡期間における異常動作を予防したことから、前記データ設定手段は、前記PLCの稼働中に前記変数の書き換えを安全に行うことができる。ここで、前記変数は、nullコードで終端される文字列型の変数であるとよい。また、前記ネットワークが産業用ネットワークであり、前記フレームの伝送に用いられるプロトコルがフラグメンテーションの仕組みをもたないプロトコルであるとよい。産業用ネットワークは1つのフレームで伝送可能な最大サイズが比較的小さいので、本発明のような分割伝送による書き換えを好適に適用できるからである。
 なお、本発明は、上記手段の少なくとも一部を含むデータ設定装置として特定することもできるし、データ設定装置とPLCとを有するデータ設定システムとして特定することもできる。また本発明は、上記処理の少なくとも一部をコンピュータが実行するデータ設定方法として特定することもできるし、上記処理の少なくとも一部をコンピュータに実行させるプログラムや、そのプログラムを記録したコンピュータ読取可能な記憶媒体として特定することもできる。上記処理や手段の各々は、技術的な矛盾が生じない限りにおいて、自由に組み合わせることが可能である。
 本発明によれば、PLCに対する可変長データの書き込みを簡単かつ安全に実行することができる。
産業用ネットワークシステムの構成例を示す図。 PLC設定変数の読み込み/書き込みを指示する操作画面の一例を示す図。 本発明の実施形態におけるSTRING型変数の書き換え手順のフローチャート。 本発明の実施形態におけるSTRING型変数の書き換え手順を説明するための図。 課題を説明するための図。
 以下、図面を参照しつつ、本発明の好適な実施の形態を説明する。以下の実施形態では、EtherNet/IPで接続されたコンピュータ(データ設定装置)とPLCの間でCIPのメッセージ通信を使ってSTRING型変数を書き換える例を挙げるが、本発明の適用範囲はこれに限られない。所定の終端コードで終端されている可変長のデータ型の変数をネットワーク経由で書き換える目的であれば、ネットワーク、プロトコル、データ型などを選ばず、本発明を好ましく適用することができる。ただし、産業用ネットワークのような特殊な分野のネットワークは、送信可能なフレームサイズの上限が小さく、またセッション管理やフラグメンテーションなどの仕組みをもたないため、本発明を特に好ましく適用できる対象といえる。
 (システムの構成)
 まず、図1を用いて、産業用ネットワークシステムの構成例を説明する。
 図1の産業用ネットワークシステムは、PLC(Programmable Logic Controller)200と複数のスレーブ装置300とから構成されている。PLC200とスレーブ装置300の間は、制御系ネットワークNW2または内部バスにより接続されている。スレーブ装置300には、電源ユニット,モータユニット,カウンタユニット,画像ユニット,通信ユニット,I/Oユニット等がある。このような産業用ネットワークシステムは、工場の生産ライン等において、各種の生産設備(モータ、ロボット、センサなど)の制御やデータ収集などを行うために用いられる。
 PLC200は、情報系ネットワークNW1を介してコンピュータ100に接続されている。このコンピュータ100は、例えばシステム管理者が各拠点のシステムの状態を監視したり、エンジニアがオンラインでPLC200やスレーブ装置300のメンテナンスを行うためなどに用いられる。コンピュータ100としては、表示装置101、入力装置102などを具備する汎用のパーソナルコンピュータを用いることができ、後述するPLC設定変数の読み込み/書き込みの機能(データ設定手段)などは、コンピュータ100内の記憶装置に格納されたプログラムをCPUが実行することにより実現される。
 (PLC設定変数の読み込み/書き込み)
 PLC200のメモリには、ラダープログラムなどの制御プログラムで利用される各種の情報が設定変数として格納されており、コンピュータ100からこれらの設定変数を書き込みあるいは書き換えることで、PLC200やスレーブ装置300の動作を変更したり修正(デバッグ)したりすることができる。
 設定変数のデータ型には、例えば、BOOL型(論理型)、INT型(整数型)、REAL型(実数型)、BYTE型、WORD型、STRING型(文字列型)などがある。BOOL型、INT型、REAL型、BYTE型、WORD型はいずれも固定長であり、それぞれ1バイト、2バイト、4バイト、1バイト、2バイトのデータサイズをとる。一方、STRING型は可変長であり、最大で1986バイトのサイズをとる。STRING型の変数には、null文字(終端コード)で終端された文字列が格納され、例えば日本語のような3バイト文字であれば660文字程度、中国語のような4バイト文字であれば500文字程度のデータを設定することができる。なお、この仕様は一例であり、数Kバイト~数Mバイトといったデータサイズの可変長データ型を設けることも可能である。
 図2は、コンピュータ100で動作するアプリケーションプログラム(ツール)が提供する、PLC設定変数の読み込み/書き込み機能の操作画面の一例を示している。例えば、対象とするPLCを指定し同機能を起動すると、図2の操作画面20が表示装置101に表示される。ユーザがボックス21に変数名を入力し、読み込みボタン23を押すと、コンピュータ100がPLC200から当該変数の現在の値を取得し、ボックス22に表示する。図2の上段は、変数「abc」の現在の値「123456」を確認している例を示している。変数の値をPLC200に書き込む場合には、ボックス21に変数名、ボックス22に書き込むデータをそれぞれ入力し、書き込みボタン24を押す。これにより、コンピュータ100から変数の書き込みリクエストがPLC200に送られ、PLC200においてメモリのデータが書き換えられる。図2の下段は、変数「abc」の値を「ABCDEFG」に書き換える例を示している。
 本実施形態のコンピュータ100では、CIPが提供するサービスの一つである変数書き込みリクエストを利用して、PLC200への変数の書き込みが行われる。このリクエストのメッセージは、サービスID、クラスID、変数名、オフセット、書き込むデータなどで構成される。「サービスID」と「クラスID」には変数書き込み処理を指定する。そして「変数名」には書き込み対象となる変数の名称を、「オフセット」には当該変数のデータ領域の先頭アドレスから何バイト目にデータを書き込むかを、それぞれ指定する。例えば、変数名「abc」、オフセット「4」、データ「EFG」と指定したリクエストメッセージをPLC200に送信することで、PLC200のメモリ内の変数「abc」のデータ領域の先頭アドレスから4バイトの位置に「EFG」というデータが書き込まれることとなる。
 いずれのデータ型の変数でも、基本的にこの変数書き込みリクエストを利用してPLC200のメモリの書き換えが可能である。ただし、STRING型変数の場合は、書き込むデータのサイズが、1つのフレームで伝送可能な最大サイズを超える可能性があるため、データサイズによっては複数回のリクエストに分けて処理を行う。以下、その場合の手順について詳しく説明する。
 (STRING型変数の書き換え手順)
 図3と図4を参照して、STRING型の変数の書き換え手順について説明する。図3のフローチャートは、複数フレームを使ってデータを送信する場合のコンピュータ100の処理を示している。また図4(A)はPLC200に書き込むデータを示し、(B)はコンピュータ100から送信するフレームとPLC200のメモリの状態を時系列に示している。ここでは、変数「abc」に対し「ABCDEFG」という文字列を設定する手順を例示している。図5の例と同じく、1つのフレームで伝送可能な最大サイズは5バイトと仮定し、PLC200のメモリには変数abcのデータ領域として10バイトが割り当てられており、初期状態では、「123456」という文字列が格納されているものとする。
 まず、コンピュータ100は、書き込むべき文字列データのデータ長lと、1つのフレームで伝送可能な最大サイズ(フレーム長)mを取得するとともに(ステップS10)、オフセットiをlで初期化する(ステップS11)。図4の例では、l=8バイト、m=5バイトであり、iの初期値は8となる。
 そして、コンピュータ100は、(実際の文字列データを書き込む前に)PLC200の書き換え対象変数のデータ領域の先頭アドレスに終端コード(null)を書き込む(ステップS12)。具体的には、図4(B)に示すように、オフセットを「0」、データを「00(null)」とするフレームを生成しPLC200に対し送信する。PLC200では、このリクエストに従って、変数abcのデータ領域の先頭アドレスにnullが書き込まれる。
 上記のようにPLC200のデータ領域をnullでリセットした後は、文字列データを最大サイズ以下の複数の分割データに分け、後ろの分割データから順番に書き込みが行われる。具体的には、オフセットiの値をmずつ小さくするように更新し(但し、i<mの場合は、mにiを代入し、iに0を代入する。)(ステップS13)、元の文字列データのiバイト目からmバイト分の分割データをデータ領域の先頭からiバイト目の位置に書き込む(ステップS14)、という処理を全てのデータを書き込むまで繰り返す(ステップS15)。図4(B)の例では、2フレーム目で、「DEFG」の文字コードとnullコードの5バイト分のデータがオフセット「3」の位置に書き込まれ、3フレーム目で、残りの「ABC」の3バイト分の文字コードがオフセット「0」の位置に書き込まれる。
 以上述べた書き換え手順によれば、データの書き込みの過渡期間、すなわち、最初にnullを書き込んでから最後の分割データの書き込みが完了するまでのあいだは、データ領域の先頭アドレスにnullが設定された状態が維持される。したがって、もし過渡期間のあいだにPLC200が当該変数を参照したとしても、PLC200は当該変数が空(データが設定されていない)であると認識する。例えば、PLC200の制御プログラムの動作を、「変数が空の場合は、異常と判断し、エラーメッセージを出力する」とか、「変数が空の場合は、デフォルト値を用いて処理を実行する」のように設計しておくことで、PLC200の異常動作(意図しない動作)を防止することができる。
 さらに、このような書き換え手順の採用により、従来よりも大きなサイズの変数をPLC側に持たせることができるようになったことで、変数の用途が広がり、PLCの機能拡張を図ることが期待できる。以下、想定される用途をいくつか例示する。
 製造物のパッケージに文字列を印字する場合、従来は、画像データ(バイナリデータ)を用いるのが通常であり、製品やロットなどに応じて印字する文字列を変えたいときは、事前に各パターンの画像データを用意しておき、画像のID等を指定して切り換えていた。もし変数の上限サイズが大きくなれば、印字する文字列そのものを変数として扱うことも可能になる。そうすると、外部のコンピュータやHMI(Human Machine Interface)から印字する文字列を変更、追加できるのでメンテナンスが容易になる。また、フォント、文字色、文字サイズなどの条件を指定するといった拡張も可能となる。
 PLCのエラーを外部のコンピュータやHMIに表示する場合、従来は、PLCから取得したエラー番号を基に、コンピュータあるいはHMIの側でエラーメッセージ(警告文や説明文など)を生成するという方法が通常であった。この方法の場合、コンピュータやHMIの各々にエラー番号とエラーメッセージを対応付けた辞書データを持たせておく必要がある。変数の上限サイズが大きくなれば、エラーメッセージそのものを変数としてPLC内に持たせることが可能となる。そうすると、コンピュータやHMIに辞書データが不要となるため、柔軟なシステム設計が可能となる。
 PLCに取り付けられたメモリカードに、生産データをテキストファイル形式で保存する場合がある。このとき、形式、ロット番号などの文字列は変数としてPLCに事前に設定される。同様に、メモリカードにエラーログを記録する場合もあり、ログに記述するエラーメッセージ等も変数としてPLCに設定される。その反対として、レシピ情報などのテキストファイルをメモリカードから読み出し、PLCに設定する場合もある。中国語などのマルチバイト文字(4バイト)を取り扱うことを考えると、従来のサイズ(例えば256バイト)は決して充分なサイズとはいえないが、上記実施形態のように数Kバイトの文字列を扱うことができればマルチバイト文字への対応も容易である。
 なお、上記実施形態は本発明の一具体例を示したものにすぎず、本発明の範囲をそれらの構成のみに限定する趣旨のものではない。例えば、上記実施形態では、後ろの分割データから順に書き込みを行ったが、少なくとも先頭の分割データの書き込みが最後に行われればよく、先頭以外の分割データの書き込み順は任意である。また上記実施形態では、データ設定装置の一例としてパーソナルコンピュータを例示したが、HMIや他のPLC内のコンピュータをデータ設定装置として機能させることももちろん可能である。
100:コンピュータ
101:表示装置
102:入力装置
200:PLC
300:スレーブ装置

Claims (7)

  1.  PLCに設定されている変数をネットワークを介して書き換えるためのデータ設定装置であって、
     書き換え対象となる変数、当該変数のデータ領域の先頭アドレスからのオフセット、及び、前記オフセットで指定された位置に書き込むデータを少なくとも指示するフレームを生成し、当該フレームをPLCに伝送することによって、前記PLCに当該変数の書き換えを行わしめる、データ設定手段を有しており、
     書き換え対象となる変数が、所定の終端コードで終端される可変長のデータ型の変数であり、かつ、前記変数に書き込むべきデータの全体サイズが1つのフレームで伝送可能な最大サイズを超えている場合に、
     前記データ設定手段は、
      前記書き込むべきデータを前記最大サイズ以下の複数の分割データに分割するとともに、各分割データのオフセットを計算し、
      最初に、前記データ領域の先頭アドレスに前記所定の終端コードを書き込むことを指示するフレームを前記PLCに伝送し、
      次に、先頭の分割データ以外の分割データのそれぞれについて、前記データ領域の先頭アドレスから対応するオフセットの位置に前記分割データを書き込むことを指示するフレームを前記PLCに伝送し、
      最後に、前記データ領域の先頭アドレスに前記先頭の分割データを書き込むことを指示するフレームを前記PLCに伝送する
    ことを特徴とするデータ設定装置。
  2.  前記データ設定手段は、前記PLCの稼働中に前記変数の書き換えを行う
    ことを特徴とする請求項1に記載のデータ設定装置。
  3.  前記変数は、nullコードで終端される文字列型の変数である
    ことを特徴とする請求項1または2に記載のデータ設定装置。
  4.  前記ネットワークは産業用ネットワークであり、前記フレームの伝送に用いられるプロトコルはフラグメンテーションの仕組みをもたないプロトコルである
    ことを特徴とする請求項1~3のうちいずれか1項に記載のデータ設定装置。
  5.  PLCに設定されている変数を外部のコンピュータからネットワークを介して書き換えるためのデータ設定方法であって、
     コンピュータが、書き換え対象となる変数、当該変数のデータ領域の先頭アドレスからのオフセット、及び、前記オフセットで指定された位置に書き込むデータを少なくとも指示するフレームを生成し、当該フレームをPLCに伝送することによって、前記PLCに当該変数の書き換えを行わしめる方法であり、
     書き換え対象となる変数が、所定の終端コードで終端される可変長のデータ型の変数であり、かつ、前記変数に書き込むべきデータの全体サイズが1つのフレームで伝送可能な最大サイズを超えている場合に、
     前記コンピュータが、
      前記書き込むべきデータを前記最大サイズ以下の複数の分割データに分割するとともに、各分割データのオフセットを計算するステップと、
      前記データ領域の先頭アドレスに前記所定の終端コードを書き込むことを指示するフレームを前記PLCに伝送する第1書込ステップと、
      前記第1書込ステップの後に、先頭の分割データ以外の分割データのそれぞれについて、前記データ領域の先頭アドレスから対応するオフセットの位置に前記分割データを書き込むことを指示するフレームを前記PLCに伝送する第2書込ステップと、
      前記第2書込ステップの後に、前記データ領域の先頭アドレスに前記先頭の分割データを書き込むことを指示するフレームを前記PLCに伝送する第3書込ステップと、
    を実行することを特徴とするデータ設定方法。
  6.  請求項5に記載のデータ設定方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
  7.  請求項6に記載のプログラムを記憶していることを特徴とするコンピュータ読み取り可能な記憶媒体。
PCT/JP2012/055405 2012-01-24 2012-03-02 データ設定装置 WO2013111351A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201280067859.3A CN104067185B (zh) 2012-01-24 2012-03-02 数据设定装置
EP12866546.0A EP2808748B1 (en) 2012-01-24 2012-03-02 Data setting device
US14/373,960 US9645567B2 (en) 2012-01-24 2012-03-02 Data setting device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012012460A JP4978757B1 (ja) 2012-01-24 2012-01-24 データ設定装置
JP2012-012460 2012-01-24

Publications (1)

Publication Number Publication Date
WO2013111351A1 true WO2013111351A1 (ja) 2013-08-01

Family

ID=46678884

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/055405 WO2013111351A1 (ja) 2012-01-24 2012-03-02 データ設定装置

Country Status (5)

Country Link
US (1) US9645567B2 (ja)
EP (1) EP2808748B1 (ja)
JP (1) JP4978757B1 (ja)
CN (1) CN104067185B (ja)
WO (1) WO2013111351A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827143B (zh) * 2022-04-11 2023-12-12 广东省离散智造科技创新有限公司 一种离散数据采集方法、系统及云端服务器、边缘计算端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63164548A (ja) * 1986-12-25 1988-07-07 Seiko Instr & Electronics Ltd 伝送装置
JP2001313675A (ja) 2000-04-28 2001-11-09 Nec Corp フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置
JP2010049543A (ja) * 2008-08-22 2010-03-04 Fuji Electric Systems Co Ltd プログラマブルコントローラ、入出力装置、および動作パラメータアクセスシステム
JP2011024156A (ja) * 2009-07-21 2011-02-03 Nec Corp パケット通信装置およびシステム、ならびに同システムにおける受信割り込み制御方法、パケット通信制御プログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522053A (en) * 1988-02-23 1996-05-28 Mitsubishi Denki Kabushiki Kaisha Branch target and next instruction address calculation in a pipeline processor
JP2001024685A (ja) * 1999-07-02 2001-01-26 Canon Inc 情報処理システム、電子機器、及び情報処理方法
US7725528B1 (en) * 2002-03-06 2010-05-25 Rockwell Automation Technologies, Inc. System and methodology providing optimized data exchange with industrial controller
US7813816B2 (en) * 2004-02-20 2010-10-12 Siemens Industry, Inc. Methods and structures for utilizing a memory device for a PLC
US7620050B2 (en) * 2004-09-10 2009-11-17 Canon Kabushiki Kaisha Communication control device and communication control method
JP2006135871A (ja) * 2004-11-09 2006-05-25 Fujitsu Ltd フレーム伝送装置およびフレーム受信装置
KR100728038B1 (ko) * 2006-03-03 2007-06-14 삼성전자주식회사 Plc 네트워크상에서 데이터를 묶어서 전송하는 방법 및장치
FR2926424A1 (fr) * 2008-01-10 2009-07-17 Canon Kk Procede d'acces a un medium dans un reseau de communication synchrone par un noeud emetteur, produit programme d'ordinateur, moyen de stockage et noeud emetteur.
JP2010130118A (ja) * 2008-11-25 2010-06-10 Sony Corp 送信装置、受信装置、通信システム、および、受信装置における処理方法
JP5084915B2 (ja) * 2008-12-25 2012-11-28 三菱電機株式会社 通信管理装置および通信システムならびにデータ通信方法
DE112009004913B4 (de) * 2009-06-12 2017-12-28 Mitsubishi Electric Corporation Kommunikationsverwaltungsvorrichtung, Kommunikationsknoten und Datenkommunikationsverfahren
JP5408445B2 (ja) * 2010-03-15 2014-02-05 オムロン株式会社 プログラマブルコントローラおよびマスタ通信回路
EP2466406B1 (de) * 2010-12-15 2016-03-02 Siemens Aktiengesellschaft Verfahren zur automatischen Erzeugung von Dynamic Frame Packgruppen
EP2466803B1 (de) * 2010-12-15 2013-04-17 Siemens Aktiengesellschaft Verfahren zur Datenübertragung in einem Automatisierungssystem unter Verwendung von Dynamic Frame Packing
US8913495B2 (en) * 2011-06-21 2014-12-16 Texas Instruments Incorporated Flow control for powerline communications
US8798090B2 (en) * 2011-09-21 2014-08-05 Nxp B.V. System and method for creating a slot table entry address for a communications device
US10275840B2 (en) * 2011-10-04 2019-04-30 Electro Industries/Gauge Tech Systems and methods for collecting, analyzing, billing, and reporting data from intelligent electronic devices
JP5035480B1 (ja) * 2012-01-27 2012-09-26 オムロン株式会社 データ中継装置、データ送信装置、ネットワークシステム
KR101481296B1 (ko) * 2013-07-18 2015-01-09 엘에스산전 주식회사 원격 단말 장치 및 그의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63164548A (ja) * 1986-12-25 1988-07-07 Seiko Instr & Electronics Ltd 伝送装置
JP2001313675A (ja) 2000-04-28 2001-11-09 Nec Corp フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置
JP2010049543A (ja) * 2008-08-22 2010-03-04 Fuji Electric Systems Co Ltd プログラマブルコントローラ、入出力装置、および動作パラメータアクセスシステム
JP2011024156A (ja) * 2009-07-21 2011-02-03 Nec Corp パケット通信装置およびシステム、ならびに同システムにおける受信割り込み制御方法、パケット通信制御プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2808748A4

Also Published As

Publication number Publication date
JP4978757B1 (ja) 2012-07-18
CN104067185B (zh) 2016-08-24
EP2808748A1 (en) 2014-12-03
CN104067185A (zh) 2014-09-24
EP2808748A4 (en) 2015-08-05
US9645567B2 (en) 2017-05-09
JP2013152570A (ja) 2013-08-08
US20150073569A1 (en) 2015-03-12
EP2808748B1 (en) 2019-01-09

Similar Documents

Publication Publication Date Title
US9906628B2 (en) Data relay device, data transmission device, and network system using common routing information for protocol conversion
JP6357770B2 (ja) 制御装置および通信制御方法
JP2007122704A (ja) 工業用制御データを区分するための方法および装置
WO2015136960A1 (ja) コントローラ
CN107132808B (zh) 可编程控制器及其控制方法与记录介质
EP3073336A1 (en) Process control system
US20190166202A1 (en) Control device, control method, and non-transitory computer-readable recording medium
EP3229439A1 (en) Secure gateway
JP4978757B1 (ja) データ設定装置
CN109450928B (zh) 一种基于UDP和Modbus TCP的跨云端数据透传方法及系统
CN107966950A (zh) 自动化plc与工业机器人通讯控制方法
US20170023925A1 (en) EtherMark/IP Marking System
TWI484807B (zh) 可程式顯示器
US11226611B2 (en) Control device, control method, and control program
US8139486B1 (en) Method and system for generating data frames for asynchronous over TCP/IP protocol
CN104639574A (zh) 数据处理系统及装置
US9386130B2 (en) Method of communications in a network interconnecting at least two power generators, and corresponding interfacing device
JP7271297B2 (ja) データ監視システム、データ監視方法およびデータ監視プログラム
JP7163657B2 (ja) サポート装置、設定方法、および設定プログラム
KR100948423B1 (ko) 플로차트 프로그램 방식의 이더넷/ip 분산 제어장치
WO2016042602A1 (ja) プログラマブルロジックコントローラ
JP6357769B2 (ja) 制御装置および通信制御方法
JP2017017505A (ja) クライアント装置
JP5641217B2 (ja) フィールド機器通信装置
CN105553936A (zh) 信息处理方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12866546

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14373960

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2012866546

Country of ref document: EP