[go: up one dir, main page]

JP2000347712A - Programmable controller - Google Patents

Programmable controller

Info

Publication number
JP2000347712A
JP2000347712A JP11335525A JP33552599A JP2000347712A JP 2000347712 A JP2000347712 A JP 2000347712A JP 11335525 A JP11335525 A JP 11335525A JP 33552599 A JP33552599 A JP 33552599A JP 2000347712 A JP2000347712 A JP 2000347712A
Authority
JP
Japan
Prior art keywords
output
module
data
cpu
shared mask
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP11335525A
Other languages
Japanese (ja)
Other versions
JP4123660B2 (en
Inventor
Akihito Watanabe
哲仁 渡辺
Motoharu Suzuki
元治 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP33552599A priority Critical patent/JP4123660B2/en
Publication of JP2000347712A publication Critical patent/JP2000347712A/en
Application granted granted Critical
Publication of JP4123660B2 publication Critical patent/JP4123660B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Control By Computers (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 複数のCPUモジュールが1つの出力モジュ
ールを共有しているプログラマブルコントローラにおい
て、各CPUモジュールはその出力モジュールの出力状
態を知る為には、新たに入力モジュールを必要とした。 【解決手段】 CPUモジュール2は、共有マスクデー
タを出力データ共にDOモジュール3へフレーム送信す
る。この時送信フレーム内にデータ転送モード制御ビッ
トを設け、共有及び競合制御を行わない場合には共有マ
スクデータを含まないフレーム構成とすることも出来
る。DOモジュール3は、各CPUモジュール2からの
共有マスクデータ及び出力データと、自己の現在の出力
状態との論理結果から新出力を求める。新出力を通知す
る参照出力を各CPUモジュール2へ送信し、CPUモ
ジュール2はこの参照出力と共有マスクデータからDO
モジュール3の出力状態を示す参照データを生成する。
(57) [Summary] In a programmable controller in which a plurality of CPU modules share one output module, each CPU module needs a new input module in order to know the output state of the output module. did. SOLUTION: A CPU module 2 transmits a frame of shared mask data to a DO module 3 together with output data. At this time, a data transfer mode control bit is provided in the transmission frame, and when sharing and contention control are not performed, a frame configuration that does not include shared mask data can be adopted. The DO module 3 obtains a new output from the logical result of the shared mask data and output data from each CPU module 2 and its current output state. The reference output notifying the new output is transmitted to each CPU module 2, and the CPU module 2 obtains a DO from the reference output and the shared mask data.
Reference data indicating an output state of the module 3 is generated.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、プログラマブルコ
ントローラに関し、更に詳しくはプログラマブルコント
ローラにおけるデータ出力の共有及び競合制御に関す
る。
[0001] 1. Field of the Invention [0002] The present invention relates to a programmable controller, and more particularly to data output sharing and contention control in a programmable controller.

【0002】[0002]

【従来の技術】図16で示すようなシリアルリンクバス
等のバス101に複数のCPUモジュール102やDO
(出力)モジュール103及びDI(入力)モジュール
104を接続したマルチCPU構成のプログラマブルコ
ントローラが知られている。
2. Description of the Related Art A plurality of CPU modules 102 and DOs are connected to a bus 101 such as a serial link bus as shown in FIG.
A programmable controller having a multi-CPU configuration in which an (output) module 103 and a DI (input) module 104 are connected is known.

【0003】この様なプログラマブルコントローラにお
いて、複数のCPUモジュール102−1〜102−m
が一つのDOモジュール103の出力点を共有して出力
を行う場合、この出力点を共有している各CPUモジュ
ール102は、DOモジュール103の出力状態が現在
ON(=“1”)状態なのかOFF(=“0”)状態な
のかを知ることができない。例えば図16において、C
PU102−1がDOモジュール103−1の一つの出
力点の出力状態をOFFにしても他のCPUモジュール
102−2〜102−mはこのことを知ることが出来な
い。このことは、例えば共有するDOモジュール103
−1を緊急停止信号として使用する場合、何れかのCP
Uモジュール102−1がこのDOモジュール103−
1に緊急停止信号をセットし、これを他のCPUモジュ
ール102−2〜102−mが認識して、しかるべき処
理を行った後に緊急停止信号をリセットするようなアプ
リケーション等において、緊急停止信号をセットしたC
PUモジュール102−1が、その後この緊急停止信号
に対して他のCPUモジュール102−2〜102−m
が何等かの対処処理を行って緊急停止状態が回避された
かどうかを知ることが出来ず、問題となる。
In such a programmable controller, a plurality of CPU modules 102-1 to 102-m
Perform the output by sharing the output point of one DO module 103, the CPU modules 102 sharing this output point determine whether the output state of the DO module 103 is currently ON (= "1"). It is not possible to know whether the state is OFF (= "0"). For example, in FIG.
Even if the PU 102-1 turns off the output state of one output point of the DO module 103-1, the other CPU modules 102-2 to 102-m cannot know this. This means that, for example, the shared DO module 103
-1 is used as the emergency stop signal,
The U module 102-1 is the DO module 103-
1, an emergency stop signal is set in the other CPU modules 102-2 to 102-m, and the emergency stop signal is reset in an application that resets the emergency stop signal after performing an appropriate process. C set
The PU module 102-1 then responds to this emergency stop signal with the other CPU modules 102-2 to 102-m
Does not know whether the emergency stop state has been avoided by performing any countermeasure processing, which is a problem.

【0004】この為DOモジュール103の出力のモニ
タ用に図17のごとくDIモジュール106を別に追加
して、このDIモジュール106にDOモジュール10
3の出力を折り返し入力する構成としていた。そしてD
Oモジュール103−1に“0”を出力したCPUモジ
ュール102−1が他のCPUモジュール102−2〜
102−mによって出力が“1”にされたかどうか等、
各CPUモジュール102−1〜102−mは、現在の
DOモジュール103−1の出力状態を知るためには、
このDIモジュール106の出力を参照していた。
For this reason, a DI module 106 is separately added for monitoring the output of the DO module 103 as shown in FIG.
In this case, the output of No. 3 is inputted back. And D
The CPU module 102-1 that outputs “0” to the O module 103-1 is replaced with the other CPU modules 102-2 to
Whether the output is set to "1" by 102-m,
Each of the CPU modules 102-1 to 102-m needs to know the current output state of the DO module 103-1.
The output of the DI module 106 was referred to.

【0005】図17はDIモジュール106によるDO
モジュール103の出力の折り返し入力の例である。図
17において、バス101上の局アドレスとして局番0
が設定されているDOモジュール103−1の各出力点
105からの出力は局番1が設定されているDIモジュ
ール106の入力点107へ折り返し入力されている。
DOモジュール103−1を共有している各CPUモジ
ュール102上のタスクは、DOモジュール103−1
へデータを出力する時は局番0のDOモジュールをアド
レス指定して出力し、またDOモジュール103−1の
出力状態を得たい時は局番1のDIモジュールをアドレ
ス指定してDIモジュール106からのデータを得る。
[0005] FIG.
It is an example of the return input of the output of the module 103. In FIG. 17, the station number 0 is used as the station address on the bus 101.
Is output from each output point 105 of the DO module 103-1 to which the station number 1 is set, and is returned to the input point 107 of the DI module 106 to which the station number 1 is set.
The tasks on each CPU module 102 sharing the DO module 103-1 are
When the data is output to the DO module 103-1, the DO module of the station number 0 is specified and output. When the output state of the DO module 103-1 is to be obtained, the DI module of the station number 1 is specified and the data from the DI module 106 is output. Get.

【0006】図18に図17の構成での各モジュール及
びバス上での出力データの様子を示す。プログラマブル
コントローラでのデータの転送は、シリアルリンクバス
1での転送速度と同一速度の一定間隔の周期で行われ
る。またCPUモジュール102内の演算実行部へは、
このデータ転送と同一周期で割込みが入力される。この
周期をタクト周期といい図18中縦の点線で示してあ
る。各モジュールはこのタクト周期に同期して処理を行
う。
FIG. 18 shows the state of output data on each module and bus in the configuration of FIG. Data transfer by the programmable controller is performed at a constant interval of the same speed as the transfer speed on the serial link bus 1. Also, the operation execution unit in the CPU module 102
An interrupt is input in the same cycle as this data transfer. This cycle is called a tact cycle and is indicated by a vertical dotted line in FIG. Each module performs processing in synchronization with the tact cycle.

【0007】CPUモジュール102の演算実行部20
1で行われる演算処理によって生じたDOモジュール1
03への出力データは、CPUモジュール102内のI
/O領域の対応するアドレス領域へ格納される。すると
このデータは出力バッファを介してバス101上にフレ
ームデータとして送信出力される。
The operation execution unit 20 of the CPU module 102
DO module 1 generated by the arithmetic processing performed in step 1
03 is output from the I / O
The data is stored in the address area corresponding to the / O area. Then, this data is transmitted and output as frame data on the bus 101 via the output buffer.

【0008】このフレームを受信した局番0のDOモジ
ュール103はこの受信データに基づいて各出力点の出
力状態を変更する。またこのDOモジュール103の出
力は局番1のDIモジュール106に折り返し入力され
ているので、このDIモジュール106によってDOモ
ジュール103の出力状態はバス101上にフレームデ
ータとして送信出力され、これは各CPUモジュール1
02のI/O領域の局番1に対応するアドレス領域に格
納される。
[0010] The DO module 103 of the station number 0 receiving this frame changes the output state of each output point based on the received data. Since the output of the DO module 103 is fed back to the DI module 106 having the station number 1, the output state of the DO module 103 is transmitted and output as frame data on the bus 101 by the DI module 106. 1
02 is stored in the address area corresponding to the station number 1 in the I / O area 02.

【0009】図19にCPUモジュールの入出力処理の
為の機能ブロック図を示す。CPUモジュール102内
には、データの入出力制御を行うための構成要素として
演算実行部201、I/O領域202、出力バッファ2
03、入力バッファ204、シリアルリンク制御部20
5、出力データ転送テーブル206及び入力データ転送
テーブル207を備える。
FIG. 19 shows a functional block diagram for input / output processing of the CPU module. In the CPU module 102, an operation execution unit 201, an I / O area 202, an output buffer 2
03, input buffer 204, serial link control unit 20
5, an output data transfer table 206 and an input data transfer table 207 are provided.

【0010】シリアルリンク制御部205は、バス10
1から送信されてきたフレームのうち自局に必要なデー
タを入力バッファ204に取込むと共に下流局のモジュ
ールに流す。入力バッファ204に取込まれたデータ
は、タスク起動時にそのタスクに対応する入力データ転
送テーブル207を参照してそのタスクが必要とするデ
ータをI/O領域202に転送する。
[0010] The serial link control unit 205
Data necessary for the own station out of the frames transmitted from 1 is taken into the input buffer 204 and sent to the downstream station module. The data taken into the input buffer 204 transfers the data required by the task to the I / O area 202 with reference to the input data transfer table 207 corresponding to the task when the task is activated.

【0011】I/O領域202は自局で実行されている
複数のアプリケーションプログラムの各タスクが直接ア
クセスすることが出来るメモリ領域で、プログラム処理
を行う演算実行部201は、このI/O領域202内か
ら自己が必要とするデータを読み出す。
An I / O area 202 is a memory area that can be directly accessed by each task of a plurality of application programs executed in the local station. Reads the data required by itself.

【0012】また演算実行部201はDOモジュールへ
データ出力する時は、I/O領域202の対応するアド
レス領域へ出力データを書込む。そしてタスク処理がす
ると、出力処理時に、出力データ転送テーブル206に
基づいてI/O領域202から出力バッファ203へそ
のタスクに割り当てられたデータのみが転送される。そ
してシリアルリンク制御部205は、これをフレームデ
ータとしてバス101に出力する。
When outputting data to the DO module, the arithmetic execution unit 201 writes the output data to an address area corresponding to the I / O area 202. Then, when the task processing is performed, only the data allocated to the task is transferred from the I / O area 202 to the output buffer 203 based on the output data transfer table 206 during the output processing. Then, the serial link control unit 205 outputs this to the bus 101 as frame data.

【0013】[0013]

【発明が解決しようとする課題】図17の様にDOモジ
ュール103−1の出力をDIモジュール106で折り
返す構成にした場合、この為用に別にDIモジュールを
追加しなければならない。
When the output of the DO module 103-1 is looped back by the DI module 106 as shown in FIG. 17, a separate DI module must be added for this purpose.

【0014】また各CPUモジュール102で実行され
ているアプリケーションプログラムは、DOモジュール
103−1の出力状態を知るのに、そのDOモジュール
103−1の局アドレスとは別なアドレスを用いなけれ
ばならない。よってアプリケーションプログラミングに
処理の煩雑さを強いることになる。
An application program executed by each CPU module 102 must use an address different from the station address of the DO module 103-1 in order to know the output state of the DO module 103-1. Therefore, the processing of application programming is complicated.

【0015】また、各CPUモジュール102では、I
/O領域202上に、DOモジュール103−1の出力
モニタ用のDIモジュール106の局アドレスを設定し
なければならない。プログラマブルコントローラでは、
I/O領域202のサイズ、即ち接続できるモジュール
の総数は限定されているので、DOモジュール103−
1の出力状態のモニタのためにDIモジュール106を
用いると、1つのDOモジュールの為に2つのアドレス
を用いてしまうこととなり、資源利用効率が悪い。
In each CPU module 102, I
The station address of the DI module 106 for monitoring the output of the DO module 103-1 must be set on the / O area 202. In a programmable controller,
Since the size of the I / O area 202, that is, the total number of connectable modules is limited, the DO module 103-
If the DI module 106 is used to monitor the output state of one, two addresses will be used for one DO module, and resource utilization efficiency will be poor.

【0016】またCPUモジュール102では、バス1
01からのデータの入力処理において、入力データ転送
テーブル207に従って入力バッファ204からI/O
領域202へ入力データのコピーを行い、また出力処理
では出力データ転送テーブル206に従ってI/O領域
202から出力バッファ203への出力データのコピー
を行っている。よって出力データ転送テーブル206中
の局番0のDOモジュール103−1に設定されている
出力データの転送元アドレスと入力データ転送テーブル
207中の局番1のDIモジュール106に設定されて
いる入力データ転送先アドレスを同じにすることによ
り、I/O領域202のDOモジュール103−1への
出力先と同じアドレス領域にDIモジュール106を経
由したDOモジュール103−1の出力状態を入力させ
ることができる。しかしDOモジュール103−1への
入力データと出力データに対してI/O領域202の同
じアドレス領域を割り当てた場合、図20に示す不具合
がある。
In the CPU module 102, the bus 1
01 in the input data from the input buffer 204 in accordance with the input data transfer table 207.
The input data is copied to the area 202, and in the output processing, the output data is copied from the I / O area 202 to the output buffer 203 according to the output data transfer table 206. Therefore, the transfer source address of the output data set in the DO module 103-1 of the station number 0 in the output data transfer table 206 and the input data transfer destination set in the DI module 106 of the station number 1 in the input data transfer table 207 By making the addresses the same, the output state of the DO module 103-1 via the DI module 106 can be input to the same address area as the output destination to the DO module 103-1 of the I / O area 202. However, when the same address area of the I / O area 202 is assigned to input data and output data to the DO module 103-1, there is a problem shown in FIG.

【0017】図20は、出力データ転送テーブル中20
6のDOモジュールへの出力データの転送元アドレスと
入力データ転送テーブル中207のDIモジュールから
の入力データの転送先アドレスを同じにした場合の各モ
ジュール及びバス上での入出力の状態を示すタイミング
図である。
FIG. 20 shows a table 20 in the output data transfer table.
No. 6, the timing indicating the status of input / output on each module and bus when the source address of output data to the DO module and the destination address of input data from the DI module in the input data transfer table 207 in the input data transfer table are the same FIG.

【0018】図20のタクト周期Aにおいて、演算実行
部201がI/O領域202にDOモジュール103へ
の出力データとしてOUT2を出力したとする。しかし
次のタクト周期Bでは、このOUT2の出力による折り
返し出力がI/O領域202に転送される前に、1つ前
の出力状態であるOUT1が入ってくる。もしOUT2
がCPUモジュールが緊急停止信号として出力した
“1”で、またOUT1が“0”であったとき、次のタ
クト周期BでDOモジュールの出力状態を得ようとして
I/O領域202を参照すると、OUT1(“0”)と
なってるので、アプリケーションプログラムは、DOモ
ジュールの出力が他のCPUによって“0”にリセット
されたものと誤認識する。
Assume that the operation execution unit 201 outputs OUT2 to the I / O area 202 as output data to the DO module 103 in the tact cycle A of FIG. However, in the next tact cycle B, OUT1 which is the previous output state enters before the return output by the output of OUT2 is transferred to the I / O area 202. If OUT2
Is "1" output from the CPU module as an emergency stop signal, and when OUT1 is "0", referring to the I / O area 202 to obtain the output state of the DO module in the next tact cycle B, OUT1 (“0”), the application program erroneously recognizes that the output of the DO module has been reset to “0” by another CPU.

【0019】また一般にマルチCPU構成のプログラマ
ブルコントローラにおいては、各CPUで担当するリソ
ースを完全に分け機能分散した構成の場合では、入出力
の共有・競合は起こらないが、本来1つのCPUでシス
テム制御するところを、プログラム容量の増大への対
処、並列処理による処理性能の向上などの理由でマルチ
CPUを採用する場合1つの入出力モジュールを複数の
CPUで共有することとなる。そしてこの場合、1台の
入出力モジュールに対して、複数のCPUが書込み処理
を行う競合書込みを行う場合がある。その場合のプログ
ラムの開発では、ユーザは、競合制御を意識してプログ
ラムソースを作成、変更するようなわずらわしさが有
る。また、競合書込みが行われると複数のCPUモジュ
ールのプログラムで、同じ出力モジュールの同一アドレ
スに対する書込みが行われることとなるが、このアドレ
ス重複が競合書込みによるものなのか、プログラム作業
の誤り等によるものかチェックが容易に出来ることが要
求される。
In general, in a programmable controller having a multi-CPU configuration, in a configuration in which resources assigned to each CPU are completely separated and functions are distributed, input / output sharing and contention do not occur. However, when a multi-CPU is adopted for reasons such as an increase in program capacity and an improvement in processing performance by parallel processing, one input / output module is shared by a plurality of CPUs. In this case, there is a case where a plurality of CPUs perform a competing write for one input / output module. In the development of the program in such a case, there is an annoyance that the user creates and changes the program source while being aware of the conflict control. Further, when the conflict writing is performed, the program of the plurality of CPU modules writes to the same address of the same output module. Whether the address duplication is caused by the conflict writing or an error in the program operation, etc. It is required that it can be easily checked.

【0020】本発明は、上記問題点を鑑み、複数のCP
UモジュールがDOモジュールを共有している場合、そ
のDOモジュールの出力をモニタするDIモジュールを
設けることなしに、各CPUモジュールが共有したDO
モジュールの出力状態を知ることが可能なプログラマブ
ルコントローラ及びアプリケーションプログラム開発装
置を提供することを課題とする。
The present invention has been made in view of the above problems, and has been developed in consideration of a plurality of CPs.
When the U module shares the DO module, the DO module shared by each CPU module is provided without providing the DI module for monitoring the output of the DO module.
It is an object to provide a programmable controller and an application program development device capable of knowing the output state of a module.

【0021】[0021]

【課題を解決するための手段】本発明によるプログラマ
ブルコントローラは、複数のCPUモジュールと少なく
とも1つの出力モジュールを備えることを前提とする。
SUMMARY OF THE INVENTION A programmable controller according to the present invention is provided with a plurality of CPU modules and at least one output module.

【0022】上記各CPUモジュールは、共有マスク生
成手段及び出力データ送信手段を備える。共有マスク生
成手段は、出力モジュールに対して出力状態を変更する
かどうかを指示する共有マスクを生成する。
Each of the CPU modules includes a shared mask generation unit and an output data transmission unit. The shared mask generation means generates a shared mask for instructing the output module whether to change the output state.

【0023】出力データ送信手段と、上記出力モジュー
ルに対する出力データを上記共有マスクと共に送信す
る。また上記出力モジュールは、出力データ受信手段と
共有及び競合制御手段を備える。
The output data transmitting means transmits the output data to the output module together with the shared mask. The output module includes an output data receiving unit and a sharing and contention control unit.

【0024】出力データ受信手段は、上記CPUモジュ
ールからの上記出力データを上記共有マスクと共に受信
する。共有及び競合制御手段は、CPUモジュールから
の、例えば自己を共有する複数のCPUモジュールから
の上記出力データと共有マスクから出力状態を決定す
る。
The output data receiving means receives the output data from the CPU module together with the shared mask. The sharing and contention control means determines an output state from the output data from the CPU module, for example, from a plurality of CPU modules sharing the same and the shared mask.

【0025】また上記出力モジュールは、上記出力状態
を示す参照出力を上記自己を共有する複数のCPUモジ
ュールへ送信する参照出力送信手段を備え、上記CPU
モジュールは、上記共有マスク生成手段が生成した共有
マスクを記憶する共有マスク記憶手段と、該共有マスク
記憶手段に記憶されている共有マスクと出力モジュール
からの上記参照出力から該出力モジュールの出力状態を
示す参照データを生成する出力状態参照データ生成手段
とを更に備える構成としても良い。
The output module includes reference output transmitting means for transmitting a reference output indicating the output state to the plurality of CPU modules sharing the same.
The module includes: a shared mask storage unit that stores the shared mask generated by the shared mask generation unit; and a shared mask stored in the shared mask storage unit and an output state of the output module based on the reference output from the output module. An output state reference data generating means for generating the indicated reference data may be further provided.

【0026】更に上記出力データ送信手段が、上記出力
データを送信する出力モジュールで該出力データに対し
他のCPUモジュールからの出力データとの共有及び競
合制御を行う必要が無い時、該出力データの送信時、上
記共有マスクを該出力データを送信しない構成としても
よい。この場合例えばCPUモジュールに、上記共有マ
スクを上記出力データと共に送信したか否かを通知する
データ転送モード制御ビットを生成するデータ転送モー
ド制御ビット生成手段を更に備え、上記出力データ送信
手段が、該データ転送モード制御ビットを上記出力デー
タと共に送信し、受信側の出力モジュールの上記共有及
び競合制御手段は、該データ転送モード制御ビットが上
記共有マスクが上記出力データと共に送信されていない
ことを示す時、該出力データのみから出力状態を決定す
る構成となる。
Further, when the output data transmitting means does not need to perform sharing and conflict control with the output data from another CPU module in the output module which transmits the output data, the output module transmits the output data. At the time of transmission, the shared mask may be configured not to transmit the output data. In this case, for example, the CPU module further includes data transfer mode control bit generation means for generating a data transfer mode control bit for notifying whether or not the shared mask has been transmitted together with the output data. A data transfer mode control bit is transmitted together with the output data, and the sharing and contention control means of the receiving output module determines when the data transfer mode control bit indicates that the shared mask is not transmitted with the output data. , The output state is determined only from the output data.

【0027】また、本発明によるプログラマブルコント
ローラのアプリケーションプログラム開発装置は、プロ
グラム参照手段及び競合書込み命令生成手段を備える。
プログラム参照手段は、マルチCPU構成のプログラマ
ブルコントローラを構成する全てのCPUモジュールの
プログラムを参照する。
Further, the application program development apparatus for a programmable controller according to the present invention includes a program reference unit and a conflict write instruction generation unit.
The program reference means refers to programs of all CPU modules constituting the programmable controller having the multi-CPU configuration.

【0028】競合書込み命令生成手段は、上記参照結
果、上記プログラムに複数のCPUモジュールが同じ出
力モジュールの同じ出力点への出力を示す命令を含む場
合、該命令を競合書込み用の命令に変換する。またこの
アプリケーションプログラム開発装置は、上記競合書込
み用の命令に変換する部分をユーザに通知するワーニン
グ通知手段を備える。
When the plurality of CPU modules include an instruction indicating the output of the same output module to the same output point, as a result of the reference, the conflicting write instruction generating means converts the instruction into a conflicting write instruction. . The application program development device further includes a warning notifying unit for notifying the user of a part to be converted into the contention writing instruction.

【0029】本発明によれば、各CPUモジュールは、
出力モジュールに対して出力データと共に共有マスクを
送信し、出力モジュールではこの共有マスクの内容に基
づいて出力の共有及び競合制御を行う。
According to the present invention, each CPU module comprises:
The shared mask is transmitted to the output module together with the output data, and the output module performs output sharing and contention control based on the content of the shared mask.

【0030】また各CPUモジュールは、出力状態参照
データ生成手段によって、出力モジュールの参照出力送
信手段が送信した参照出力と共有マスク記憶手段が記憶
する共有マスクから参照データを生成するので、この参
照データから出力モジュールの出力状態を知ることが出
来る。
Each of the CPU modules generates the reference data from the reference output transmitted by the reference output transmitting means of the output module and the shared mask stored in the shared mask storage means by the output state reference data generating means. The output state of the output module can be known from.

【0031】更に参照データは出力モジュールからの参
照出力と共有マスク記憶手段が記憶する共有マスクから
生成されるので、CPUモジュールでは、出力モジュー
ルへの出力情報と上記参照データを同一アドレス領域に
格納することが出来る。
Further, since the reference data is generated from the reference output from the output module and the shared mask stored in the shared mask storage means, the CPU module stores the output information to the output module and the reference data in the same address area. I can do it.

【0032】また、共有及び競合制御を必要としない時
には、CPUモジュールが上記共有マスクを出力データ
と共に出力モジュールに送信しない構成とすれば、トラ
フィク量を少なくすることが出来る。
When the sharing and contention control are not required, if the CPU module does not transmit the shared mask to the output module together with the output data, the amount of traffic can be reduced.

【0033】また本発明によるアプリケーションプログ
ラム開発装置によれば、ユーザが意識しなくても競合書
込みとなる書込み命令は、競合書込み命令に変換され
る。また競合書込み命令に変換される部分は、ユーザに
通知される。
Further, according to the application program development device of the present invention, a write command that causes a conflict write without the user's awareness is converted into a conflict write command. Further, the part converted into the conflict write instruction is notified to the user.

【0034】[0034]

【発明の実施の形態】図1は本実施形態におけるプログ
ラマブルコントローラの概略を示す図である。本実施形
態でのプログラマブルコントローラは、CPUモジュー
ル2−1〜2−3の3つのCPUモジュールが1つのD
Oモジュール3を共有しているものとする。
FIG. 1 is a diagram schematically showing a programmable controller according to this embodiment. In the programmable controller according to the present embodiment, three CPU modules of CPU modules 2-1 to 2-3 are connected to one D module.
It is assumed that the O module 3 is shared.

【0035】DOモジュール3は、シリアルリンクバス
1を介して各CPUモジュール2から送信されてきた出
力データを受信すると、共有及び競合制御回路10によ
り、その受信データに基づいて出力点からの出力状態を
変化させると共に、参照出力として各CPUモジュール
2に現在の出力状態を示すデータを送信する。
When the DO module 3 receives output data transmitted from each CPU module 2 via the serial link bus 1, the DO module 3 controls the output state from the output point based on the received data by the sharing and contention control circuit 10. And transmits data indicating the current output state to each CPU module 2 as a reference output.

【0036】尚本実施形態では、CPUモジュール2と
DOモジュール3との間でのデータ転送は、本発明の出
願人による特願平10−148648号に開示されてい
るトータルフレーム方式及びマルチキャスト方式によっ
て行われるものとする。
In the present embodiment, the data transfer between the CPU module 2 and the DO module 3 is performed by the total frame method and the multicast method disclosed in Japanese Patent Application No. 10-148648 filed by the present applicant. Shall be performed.

【0037】図2はトータルフレーム方式によるデータ
通信の説明図である。本実施形態では、シリアルリンク
バス1の局の内の1つをリングマスター局とし、このリ
ングマスター局によってトータルフレーム方式及び後述
するマルチキャスト方式によるデータ転送を管理する。
図2ではシリアルリンクバス1に、リングマスター局、
A局、B局、C局、D局の順に接続されていたとする。
FIG. 2 is an explanatory diagram of data communication by the total frame method. In this embodiment, one of the stations of the serial link bus 1 is a ring master station, and the ring master station manages data transfer by a total frame method and a multicast method described later.
In FIG. 2, a ring master station,
Assume that stations A, B, C, and D are connected in this order.

【0038】トータルフレーム方式では、ネットワーク
上に唯一存在するリングマスター局により、まずトータ
ルフレーム送信の要求を表すREQフレームが送信され
る。図2ではこの時のREQフレームはreq0と表さ
れている。
In the total frame method, an REQ frame indicating a request for total frame transmission is transmitted by a ring master station existing only on the network. In FIG. 2, the REQ frame at this time is represented as req0.

【0039】このREQフレームには、フレームのデミ
リタ部(スタートデミリタ(SD)部)にこのフレーム
がREQフレームであることを示すデータが設定されて
おり、このフレームの受信局はSD部を調べることによ
りこのフレームがREQフレームであることを認識す
る。
In this REQ frame, data indicating that this frame is a REQ frame is set in the delimiter part (start delimiter (SD) part) of the frame, and the receiving station of this frame checks the SD part. Recognizes that this frame is a REQ frame.

【0040】REQフレームを受信した局は、そのフレ
ーム最後に自局のデータを付加して隣の下流局へ送信す
る。図2の場合、A局はREQフレームを受信すると、
その末尾に自己の出力データDaを付加して下流局のB
局へ送信する。B局ではこのフレームを受信すると、そ
の末尾に自己の出力データDbを付加して出力する。以
下、順に各局はフレームを受取ると自己のデータをフレ
ームの末尾に付加して下流局へ送信する。尚、本実施形
態は複数のCPUモジュール2を使用するマルチCPU
の構成であり、CPUモジュール2が他のCPUモジュ
ール2がDOモジュールに出力したデータを参照できる
ようにするため、DOモジュールも自己のデータの出力
を行っている。しかし、CPUモジュールを1つしか持
たないプログラマブルコントローラの構成の場合には、
この様な必要はない。
The station that has received the REQ frame adds its own data to the end of the frame and transmits it to the adjacent downstream station. In the case of FIG. 2, when the station A receives the REQ frame,
Its own output data Da is added to the end of the
Send to the station. When receiving this frame, the B station adds its own output data Db to the end and outputs it. Thereafter, when each station receives the frame in order, it adds its own data to the end of the frame and transmits it to the downstream station. Note that the present embodiment is a multi-CPU using a plurality of CPU modules 2.
The DO module also outputs its own data so that the CPU module 2 can refer to the data that the other CPU module 2 has output to the DO module. However, in the case of a configuration of a programmable controller having only one CPU module,
There is no need for this.

【0041】REQフレームがシリアルリンクバス1を
1巡して、これをリングマスター局が受信すると、リン
グマスター局はこのフレームのスタートデミリタ(S
D)部に設定されているデータを2巡目のREQフレー
ムであることを示すデータを設定変更し、またフレーム
の最後に自己のデータを付加して隣の下流局であるA局
へ送信する。
When the REQ frame goes around the serial link bus 1 and is received by the ring master station, the ring master station starts the start delimiter (S
The data set in section D) is changed to data indicating that it is the second REQ frame, and its own data is added to the end of the frame and transmitted to the next downstream station, station A. .

【0042】このフレームを受信したA局は、受信フレ
ームのSD部を調べ、これが2巡目のREQフレームで
あることを認識すると、フレームのSD部の次にある1
巡目の時に自己が付加した自局データを削除して下流局
へ中継する。図2の場合、A局は2巡目のREQフレー
ムを受信すると、1巡目で自己が付加した自局のデータ
Daを削除して下流局のB局へ送信し、B局は受信フレ
ームのSD部の次にある自己の出力データDbを削除し
て次の下流局であるC局へ送信する。以下、順に各局は
フレームを受取ると1巡目で付加した自己のデータをフ
レームから削除して下流局へ送信する。
Upon receiving this frame, the station A checks the SD part of the received frame, and recognizes that this is the second REQ frame, and then finds the next one in the frame following the SD part.
At the round, the own station data added by itself is deleted and relayed to the downstream station. In the case of FIG. 2, when the station A receives the second REQ frame, the station A deletes the data Da of the own station added by itself in the first cycle and transmits the data Da to the downstream station B. It deletes its own output data Db next to the SD section and transmits it to the next downstream station, station C. Thereafter, when each station receives the frame in order, it deletes its own data added in the first round from the frame and transmits it to the downstream station.

【0043】この2巡回目のREQフレームがシリアル
リンクバス1を巡回して、リングマスター局に戻ってく
ると、リングマスター局は、このフレームをシリアルリ
ンクバス1から除去する。これによってトータルフレー
ム通信は完了する。
When the second REQ frame circulates on the serial link bus 1 and returns to the ring master station, the ring master station removes the frame from the serial link bus 1. This completes the total frame communication.

【0044】次にマルチキャスト方式によるデータ転送
について説明する。マルチキャスト方式は、CPUモジ
ュール2からDOモジュール3に対してデータの出力を
行う時用いられるデータ転送方式である。
Next, data transfer by the multicast method will be described. The multicast method is a data transfer method used when outputting data from the CPU module 2 to the DO module 3.

【0045】マルチキャスト方式は、シリアルリンクバ
ス1上にマルチキャスト通信用のフリートークンを巡回
させ、データ伝送を要求する局(DOモジュールに出力
するための送信データが用意されており、また当該送信
帯域の送信許可設定がされている局)はそのフリートー
クンを確保して代わりにマルチキャストフレームの送信
を行う。マルチキャストフレームはシリアルリンクバス
1上を巡回し、このマルチキャストフレームを受信した
ネットワーク上の局は、それを下流へ中継して巡回させ
ると共にフレーム内の出力データの設定内容に基づいて
データの取込みを行う。
In the multicast system, transmission data for circulating a free token for multicast communication on the serial link bus 1 and outputting data to a station requesting data transmission (output to the DO module is prepared. The station for which transmission permission is set) secures the free token and transmits a multicast frame instead. The multicast frame circulates on the serial link bus 1, and the station on the network that has received the multicast frame relays it downstream and circulates, and also takes in data based on the setting contents of the output data in the frame. .

【0046】図3は、マルチキャスト方式による通信の
説明図である。マルチキャスト方式による通信では、ま
ず、シリアルリンクバス1上に1つだけ存在するネット
ワーク管理を行うリングマスター局が、データ転送の権
限を制御するフリートークンを生成し、シリアルリンク
バス1上にリリースする。このフリートークンのリリー
スによって、マルチキャスト通信は開始される。
FIG. 3 is an explanatory diagram of communication by the multicast system. In communication by the multicast method, first, a ring master station that manages only one network on the serial link bus 1 generates a free token for controlling the authority of data transfer and releases the token on the serial link bus 1. With the release of the free token, multicast communication is started.

【0047】リリースされたフリートークンは、各局が
順次下流局へ中継してゆき、シリアルリンクバス1上を
巡回する。そしてデータの出力を行いたいCPUモジュ
ール2は、このフリートークンを受信すると、これをシ
リアルリンクバス1から確保し、マスター局となる。
The released free token is sequentially relayed by each station to downstream stations, and circulates on the serial link bus 1. When receiving the free token, the CPU module 2 that wants to output data secures the free token from the serial link bus 1 and becomes a master station.

【0048】マスター局は、用意してある送信データ
を、SD部にこのフレームがマルチキャスト通信のフレ
ームであることを示すデータを設定したマルチキャスト
フレームとしてシリアルリンクバス1上に流す。図3で
は、マスター局は、保持したフリートークンの代わりに
A局に対する出力データ(M→Da)とB局に対する出
力データ(M→Db)の2つの局に対する出力データが
マルチキャストフレームとして、下流局Bへ送信され
る。
The master station sends the prepared transmission data on the serial link bus 1 as a multicast frame in which data indicating that the frame is a multicast communication frame is set in the SD section. In FIG. 3, in place of the held free token, the master station outputs the output data to the two stations, that is, the output data to the station A (M → Da) and the output data to the station B (M → Db) as a multicast frame. B.

【0049】このマルチキャストフレームを受取った局
は、そのフレーム内の出力データに設定されている出力
データの格納先の局番を参照し、この出力データが自局
に対するものであれば、それを取込むと共にそのフレー
ムをそのまま下流局へ送信する。図3では、マルチキャ
ストフレームを受信したA局及びB局はそれぞれ自局に
あててマスタ局が出力した出力データ(M→Da、M→
Db)を取込むと共に、その受信フレームをそのまま隣
の下流局であるリングマスター局及びマスター局へ送信
する。
The station that has received the multicast frame refers to the station number of the storage destination of the output data set in the output data in the frame, and if the output data is for its own station, takes it in. At the same time, the frame is directly transmitted to the downstream station. In FIG. 3, the stations A and B that have received the multicast frame respectively apply to their own stations and output data (M → Da, M →
Db) is fetched, and the received frame is transmitted as it is to the next downstream station, the ring master station and the master station.

【0050】フレームが1巡すると、そのフレームを最
初に送信したマスタ局は、これをシリアルリンクバス1
から除去し、代わりにフリートークンを生成してシリア
ルリンクバス1上にリリースする。
When a frame makes one round, the master station that first transmitted the frame transmits the frame to the serial link bus 1.
And a free token is generated and released on the serial link bus 1 instead.

【0051】そしてフリートークンがシリアルリンクバ
ス1を1巡して戻ってくると、リングマスター局はデー
タ伝送要求の有無をチェックし、要求があれば当該送信
データ[A局に対する出力データ(RM→Da),B局
に対する出力データ(RM→Db)]の送信を行う。そ
の後、自局が送信したデータフレームがシリアルリンク
を1巡して自局に戻ってきたことでリングマスター局は
フリートークンをシリアルリンク上から除去し、これに
よってマルチキャスト通信は終了する。
When the free token returns after making a round of the serial link bus 1, the ring master station checks whether there is a data transmission request, and if there is a request, transmits the transmission data [output data (RM →→ Da) and output data (RM → Db)] to station B. Thereafter, the ring master station removes the free token from the serial link when the data frame transmitted by the own station returns to the own station after making a round of the serial link, thereby ending the multicast communication.

【0052】以下DOモジュール3からCPUモジュー
ル2へデータを送信するときのデータ転送は、トータル
フレーム方式により行う。またCPUモジュール2から
DOモジュール3へデータを出力するときのデータ転送
は、マルチキャスト方式により行う。尚本発明では、各
モジュール間でのデータ転送はこのトータルフレーム方
式とマルチキャスト方式のみに限定されるものではな
い。また上記トータルフレーム方式及びマルチキャスト
方式によるデータ転送は、各モジュールがリング型の伝
送トポロジーのバスで接続されていることを前提とする
が、本発明が適用されるプログラマブルコントローラに
おいて各モジュールを接続するバスはリング型のトポロ
ジーをもつシリアルバスに限定されるものではなく、モ
ジュール間を他のトポロジーやパラレルバスで接続する
構成でも良い。
Hereinafter, data transmission when data is transmitted from the DO module 3 to the CPU module 2 is performed by a total frame method. The data transfer when outputting data from the CPU module 2 to the DO module 3 is performed by a multicast method. In the present invention, data transfer between the modules is not limited to the total frame system and the multicast system. The data transfer by the total frame method and the multicast method is based on the premise that each module is connected by a bus of a ring-type transmission topology, but a bus connecting each module in a programmable controller to which the present invention is applied. The configuration is not limited to a serial bus having a ring topology, but may be a configuration in which modules are connected to each other by another topology or a parallel bus.

【0053】図4にDOモジュール3の共有及び競合制
御回路10を詳細に示す。同図中最下段はシリアルリン
クバス1上を伝送されるフレームを示し、1タクト周期
中にDOモジュール3から各CPUモジュール2−1〜
2−3に対するトータルフレーム方式によるフレームに
続いてCPUモジュール2−1、2−2及び2−3から
のマルチキャスト方式によるフレームが続く。尚同図中
「メッセージ」はCPUモジュール2間やCPUモジュ
ール2と通信モジュールなどとの間で行われるメッセー
ジ転送用の時間帯域を示している。
FIG. 4 shows the sharing and conflict control circuit 10 of the DO module 3 in detail. In the figure, the bottom row shows a frame transmitted on the serial link bus 1, and the DO module 3 sends the frames from the CPU modules 2-1 to 2-1 during one tact cycle.
A frame according to the multicast method from the CPU modules 2-1, 2-2 and 2-3 follows the frame according to the total frame method for 2-3. Note that “message” in the figure indicates a time band for message transfer performed between the CPU modules 2 or between the CPU module 2 and the communication module.

【0054】各CPUモジュール2−1〜2−3は、D
Oモジュール3に対する出力データと共に共有マスクを
送信フレーム内に格納して、マルチキャスト方式でDO
モジュール3に送信する。この共有マスクは各CPUモ
ジュール2がDOモジュール3に対して出力状態の変更
を行うかどうかを出力点毎に指定するもので、各CPU
モジュール2はDOモジュール3の複数の出力点のう
ち、出力状態を変更したい出力点に対応する共有マスク
のビットに“1”を、変更を行わない出力点に対応する
ビットに“0”を設定し、出力データと共にDOモジュ
ールに送信する。
Each of the CPU modules 2-1 to 2-3 has a D
The shared mask is stored in the transmission frame together with the output data to the O module 3, and the DO
Send to module 3. This shared mask specifies, for each output point, whether or not each CPU module 2 changes the output state with respect to the DO module 3.
The module 2 sets “1” to a bit of a shared mask corresponding to an output point whose output state is desired to be changed and “0” to a bit corresponding to an output point not to be changed among a plurality of output points of the DO module 3. Then, the data is transmitted to the DO module together with the output data.

【0055】DOモジュール3では、マルチキャスト方
式のフレームを自己を共有している各CPUモジュール
2−1〜2−3全てから受信すると、フレーム中の共有
マスクデータ11及び出力データ12と、参照出力ラッ
チ16内の自己の現在の出力状態との論理結果から新出
力を求める。
When the DO module 3 receives a multicast frame from all of the CPU modules 2-1 to 2-3 sharing the same, it receives the shared mask data 11 and the output data 12 in the frame and the reference output latch. A new output is obtained from a logical result of the current output state in the device 16 and its own.

【0056】DOモジュール3では、CPUモジュール
2からのフレームから共有マスク11と出力データ12
を取り出すと、これらを各CPUモジュール2毎にAN
D回路13によってAND値を取る。また各共有マスク
11−1〜11−3の反転値と参照出力ラッチ16の出
力のAND値をAND回路14によって求める。
In the DO module 3, the shared mask 11 and the output data 12 are extracted from the frame from the CPU module 2.
Are extracted, and these are set to AN for each CPU module 2.
The AND circuit 13 takes an AND value. Further, an AND value of the inversion value of each of the shared masks 11-1 to 11-3 and the output of the reference output latch 16 is obtained by the AND circuit 14.

【0057】そして各AND回路13−1〜13−3の
出力とAND回路14の出力のOR値をOR回路15に
よって求め、これをその出力点の新出力とする。またO
R回路15の出力は参照出力ラッチ16に格納されて次
出力の決定に用いられると共に、トータルフレーム方式
でシリアルリンクバス上に出力されて、各CPUモジュ
ール2−1〜2−3に出力状態を通知する。これにより
例えば全てのCPUモジュール2からの共有マスクデー
タ11−1〜11−3が“0”だったビットに対応する
出力点は、前回の出力状態の保持となる。また複数のC
PUモジュール2からの共有マスクデータ11が“1”
であり、その出力データ12として“1”と“0”の両
方ある場合には“1”が優先され、対応する出力点から
は“1”が出力される。
Then, the OR value of the output of each of the AND circuits 13-1 to 13-3 and the output of the AND circuit 14 is obtained by the OR circuit 15, and this is set as a new output at the output point. Also O
The output of the R circuit 15 is stored in the reference output latch 16 and used for determining the next output, and is output on the serial link bus in a total frame manner, and the output state is sent to each of the CPU modules 2-1 to 2-3. Notice. Thus, for example, the output points corresponding to the bits for which the shared mask data 11-1 to 11-3 from all the CPU modules 2 are “0” retain the previous output state. Also multiple C
The shared mask data 11 from the PU module 2 is "1"
When there are both "1" and "0" as the output data 12, "1" has priority and "1" is output from the corresponding output point.

【0058】図5はCPUモジュール2の入出力処理の
為の構成要素を示す機能ブロック図である。CPUモジ
ュール2内には、データの入出力制御を行うための構成
要素として演算実行部21、I/O領域22、出力バッ
ファ23、入力バッファ24、シリアルリンク制御部2
5、出力データ転送テーブル26、入力データ転送テー
ブル27及び共有マスクデータ領域28を備える。
FIG. 5 is a functional block diagram showing components for input / output processing of the CPU module 2. In the CPU module 2, an operation execution unit 21, an I / O area 22, an output buffer 23, an input buffer 24, a serial link control unit 2
5, an output data transfer table 26, an input data transfer table 27, and a shared mask data area 28.

【0059】プログラム処理を行う演算実行部21は、
演算結果からDOモジュールへデータ出力する必要が生
じた時は、I/O領域22のそのDOモジュールに対応
するアドレス領域へ出力データを書込む。この出力デー
タは、タスク処理すると出力処理時に、出力データ転送
テーブル26に基づいて、I/O領域22から出力バッ
ファ23へそのタスクに割り当てられたデータのみ転送
され、シリアルリンク制御部25は、これをフレームデ
ータとしてシリアルリンクバス1に出力する。
The arithmetic execution unit 21 for performing the program processing includes:
When it becomes necessary to output data to the DO module from the operation result, the output data is written to an address area of the I / O area 22 corresponding to the DO module. This output data is transferred only from the I / O area 22 to the output buffer 23 based on the output data transfer table 26 when the task processing is performed, based on the output data transfer table 26. Is output to the serial link bus 1 as frame data.

【0060】I/O領域22は、自局で実行されている
複数のアプリケーションプログラムの各タスクが直接ア
クセスすることが出来るメモリ領域で、CPUモジュー
ルの内部メモリ上に構成される。演算実行部21は、自
己が必要とする他モジュールからのデータを、このI/
O領域22内の対応するアドレス領域から読み出し、ま
た他モジュールへ出力する時は、対応するアドレス領域
に出力データを書込む。各CPUモジュール2では、自
己が対応している入力モジュールや出力モジュールを、
出力データ転送テーブル26及び入力データ転送テーブ
ル27でこのI/O領域22中の各アドレス領域に1:
1で対応付けてある。よって、例えばI/O領域22が
0HからFFHまでのアドレスをもつ場合、このCPU
モジュール2は256の入出力モジュールとデータのや
り取りを行うことが出来る。また各アドレス領域の各ビ
ットの位置は、各入出力モジュールの入出力点に1:1
対応しており、例えば1ワードが8ビットの場合、1つ
のアドレス領域で8つの入出力点に対応したデータのや
り取りを行える。
The I / O area 22 is a memory area that can be directly accessed by each task of a plurality of application programs executed in the own station, and is configured on the internal memory of the CPU module. The operation execution unit 21 transfers data required by itself from another module to this I / O
When data is read from the corresponding address area in the O area 22 and output to another module, the output data is written to the corresponding address area. In each CPU module 2, the input module and the output module corresponding to the
In the output data transfer table 26 and the input data transfer table 27, each address area in the I / O area 22 has:
It is associated with 1. Therefore, for example, when the I / O area 22 has an address from 0H to FFH,
Module 2 can exchange data with 256 input / output modules. The position of each bit in each address area is 1: 1 to the input / output point of each input / output module.
For example, when one word is 8 bits, data exchange corresponding to eight input / output points can be performed in one address area.

【0061】出力バッファ23は、出力データを出力先
の局番、データのサイズ及び共有マスクと共に、出力す
る局毎に蓄積するバッファである。タスク処理が終了す
ると、出力処理時に、そのタスク処理で生じた出力デー
タは出力データ転送テーブル26に基づいてI/O領域
22から出力バッファ23へ転送される。そして出力バ
ッファ23内のデータは、シリアルリンク制御部25に
より、演算実行部21による処理とは無関係にタクト周
期でシリアルリンクバス1上に出力される。この様な一
連の動作により、シリアルリンクバス1に接続された各
モジュールは、一定周期(タクト周期)中は共通のデー
タを用いて動作することが可能となる。
The output buffer 23 is a buffer for storing output data together with the station number of the output destination, the data size, and the shared mask for each output station. When the task processing is completed, at the time of output processing, output data generated in the task processing is transferred from the I / O area 22 to the output buffer 23 based on the output data transfer table 26. Then, the data in the output buffer 23 is output to the serial link bus 1 by the serial link control unit 25 at a tact cycle irrespective of the processing by the arithmetic execution unit 21. Through such a series of operations, each module connected to the serial link bus 1 can operate using common data during a fixed cycle (tact cycle).

【0062】入力バッファ24は、上流局から流れてき
たデータのうち、自局で必要なものを取込むバッファで
ある。シリアルリンクバス1から受信したデータは、シ
リアルリンクバス1の転送周期と同一周期のタクト周期
で、シリアルリンク制御部25から入力バッファ24に
格納される。そして、タスク起動時にそのタスクに対応
する入力データ転送テーブル27が参照されてそのタス
クが必要とするデータが入力バッファ24からI/O領
域22に転送される。
The input buffer 24 is a buffer for taking in data necessary for the local station from data flowing from the upstream station. Data received from the serial link bus 1 is stored in the input buffer 24 from the serial link control unit 25 at the same tact cycle as the transfer cycle of the serial link bus 1. Then, when the task is started, the input data transfer table 27 corresponding to the task is referred to, and the data required by the task is transferred from the input buffer 24 to the I / O area 22.

【0063】シリアルリンク制御部25は、シリアルリ
ンクバス1から送信されてきたフレームを自己の受信バ
ッファに取込み、それが自局に対するものでなければそ
のまま下流局に送り、また自局に対するものあればそれ
を入力バッファ24に取込むと共に下流局のモジュール
に流す。これによってシリアルリンクバス1上をフレー
ムデータが一定方向に巡回する。またマルチキャスト用
のトークンを受信するとシリアルリンク制御部25は、
出力バッファ23内のデータをマルチキャストフレーム
として、シリアルリンクバス1上にDMA転送する。
The serial link control unit 25 fetches the frame transmitted from the serial link bus 1 into its own receiving buffer, sends it to the downstream station if it is not for its own station, and if it is for its own station, It is taken into the input buffer 24 and passed to the downstream station module. Thus, the frame data circulates on the serial link bus 1 in a certain direction. Further, upon receiving the multicast token, the serial link control unit 25
The data in the output buffer 23 is DMA-transferred to the serial link bus 1 as a multicast frame.

【0064】出力データ転送テーブル26は、出力先と
なるモジュールのバス1上での局アドレスとI/O領域
22のアドレスとを対応付けるものである。出力データ
転送テーブル26は、タスク毎に存在し、そのタスク処
理によって演算実行部21が、DOモジュールに出力す
る出力データをI/O領域22から出力バッファ23へ
転送する際に参照される。1つのタスク処理が終了する
と演算実行部21は、出力処理時に、出力データ転送テ
ーブル26を参照し、I/O領域22から出力バッファ
23へそのタスクに割り当てられたデータのみ転送す
る。
The output data transfer table 26 is for associating a station address on the bus 1 of an output destination module with an address of the I / O area 22. The output data transfer table 26 exists for each task, and is referred to when the operation execution unit 21 transfers output data to be output to the DO module from the I / O area 22 to the output buffer 23 by the task processing. When one task process is completed, the arithmetic execution unit 21 refers to the output data transfer table 26 during the output process and transfers only the data assigned to the task from the I / O area 22 to the output buffer 23.

【0065】入力データ転送テーブル27は、入力相手
先となるモジュールのバス上での局アドレスとI/O領
域22のアドレスとを対応付けるもので、入力バッファ
24からI/O領域22へのデータの転送を行う際に参
照されるものである。入力データ転送テーブル27は、
各タスク毎に複数存在し、そのタスクが使用するデータ
の入力バッファ24でのアドレス、I/O領域22のア
ドレス及びデータサイズが格納されている。タスクが起
動される際に、入力バッファ24からI/O領域22へ
のデータの転送を行うときには、そのタスクに対応した
入力データ転送テーブル27を使用してそのタスクが起
動される前に入力バッファ24からI/O領域22にそ
のタスクが使用するデータのみが転送される。
The input data transfer table 27 is for associating the station address on the bus of the module to be input with the address of the I / O area 22, and is used to transfer data from the input buffer 24 to the I / O area 22. This is referred to when performing transfer. The input data transfer table 27
A plurality of addresses exist for each task, and the address of the data used by the task in the input buffer 24, the address of the I / O area 22, and the data size are stored. When data is transferred from the input buffer 24 to the I / O area 22 when the task is activated, the input buffer is used before the task is activated using the input data transfer table 27 corresponding to the task. Only the data used by the task is transferred from 24 to the I / O area 22.

【0066】共有マスクデータ領域28は、I/O領域
22と同じ構成をもつ記憶領域で、CPUモジュールの
内部メモリ上に構成される。演算実行部21はこの共有
マスクデータ領域28中に共有マスクを生成する。そし
てこの共有マスクは、I/O領域22中の同じアドレス
の出力データと共に出力バッファ23へ転送され、対応
するDOモジュール3へ送信される。
The shared mask data area 28 is a storage area having the same configuration as the I / O area 22, and is formed on the internal memory of the CPU module. The operation execution unit 21 generates a shared mask in the shared mask data area 28. The shared mask is transferred to the output buffer 23 together with the output data of the same address in the I / O area 22 and transmitted to the corresponding DO module 3.

【0067】この共有マスクは、DOモジュールへ送信
後も共有マスクデータ領域28内に保持される。そし
て、DOモジュール3からの自己の出力状態を通知する
参照出力を受信した時、そのDOモジュールに対応する
アドレス領域内の共有マスクに基づいて入力バッファ2
4からI/O領域22への転送を行う。またこのI/O
領域22への転送入力処理が完了すると、対応する共有
マスクは“0”にリセットされる。この点については後
述する。
This shared mask is held in the shared mask data area 28 even after transmission to the DO module. When receiving a reference output for notifying its own output state from the DO module 3, the input buffer 2 based on the shared mask in the address area corresponding to the DO module.
4 to the I / O area 22. Also this I / O
When the transfer input processing to the area 22 is completed, the corresponding shared mask is reset to “0”. This will be described later.

【0068】図6はCPUモジュールで作られる共有マ
スクの例を示す図である。演算実行部21はタスク処理
の結果からDOモジュールの出力状態を変更する必要が
生じた時、出力データと共に共有マスクデータ領域28
に共有マスクデータを生成する。この共有マスクデータ
は、各ビットがDOモジュールの出力点と1:1対応し
た複数ビットのマスクデータで、DOモジュールの各出
力点のうち出力状態を変更する出力点に対応するビット
に“1”、変更しない出力点に対応するビットに“0”
が設定してある。
FIG. 6 is a diagram showing an example of a shared mask made by the CPU module. When it is necessary to change the output state of the DO module from the result of the task processing, the operation execution unit 21 outputs the shared mask data area 28 together with the output data.
To generate shared mask data. This shared mask data is a plurality of bits of mask data in which each bit corresponds one-to-one with the output point of the DO module, and “1” is assigned to the bit corresponding to the output point of the output point of the DO module that changes the output state. "0" is set to the bit corresponding to the output point not to be changed.
Is set.

【0069】図6の共有マスクは8ビット構成の例で、
この共有マスクのデータによって8つの出力点について
の共有及び競合制御を行う。図6ではタスク処理による
演算結果から、DOモジュールに出力する出力データは
ビット0が“1”から“0”に、またビット4が“0”
から“1”に変化しているため、共有マスクデータは出
力状態に変更があるビット0とビット4に“1”、他の
変更がないビットに“0”がセットされたものが生成さ
れ、共有マスクデータ領域28に格納される。
The shared mask of FIG. 6 is an example of an 8-bit configuration.
The sharing and competition control for the eight output points are performed by the data of the shared mask. In FIG. 6, based on the operation result of the task processing, the output data to be output to the DO module is such that bit 0 changes from “1” to “0” and bit 4 changes to “0”.
From “1” to “1”, the shared mask data is generated such that bits 0 and 4 whose output states are changed are set to “1” and bits that are not changed are set to “0”, It is stored in the shared mask data area 28.

【0070】またCPUモジュール2では、DOモジュ
ール3からトータルフレームによる参照出力を受信する
と、これを入力バッファ24に格納した後、入力データ
参照テーブル27に基づいてI/O領域22の対応する
アドレス領域へ転送するが、この時全てのデータがI/
O領域22に転送されるわけではなく、I/O領域22
と同じアドレス領域の共有マスク領域28内の共有マス
クを参照して、ビット毎に転送を行うかどうかを決定し
て、排他的にデータ転送を行う。
When the CPU module 2 receives the reference output based on the total frame from the DO module 3, the reference output is stored in the input buffer 24, and then, based on the input data reference table 27, the corresponding address area of the I / O area 22. , But at this time, all data is
The I / O area 22 is not transferred to the
With reference to the shared mask in the shared mask area 28 in the same address area as described above, it is determined whether or not to perform transfer for each bit, and data is exclusively transferred.

【0071】共有マスクに“1”がセットされているビ
ットの参照出力は、図6のビット0やビット4の様に自
己がDOモジュールに出力の変更を指示した出力点の出
力状態を示すものだが、今回の受信データはまだこの変
更は反映されていないものである。よってこれをそのま
ま現在のDOモジュールの出力状態として入力バッファ
24からI/O領域22へ転送すると図20で示したよ
うな問題を生じる。よって共有マスクに“1”がセット
されているビットの参照出力の転送は行わずに出力デー
タの値をそのままDOモジュールの出力状態を示す値と
して残し、“0”がセットされているビットの参照出力
のみ入力バッファ24からI/O領域22へ転送する。
The reference output of the bit for which "1" is set in the shared mask indicates the output state of the output point at which it has instructed the DO module to change the output, such as bit 0 or bit 4 in FIG. However, the data received this time has not yet reflected this change. Therefore, if this is directly transferred from the input buffer 24 to the I / O area 22 as the current output state of the DO module, the problem shown in FIG. 20 occurs. Therefore, the reference output of the bit for which the “1” is set in the shared mask is not transferred, the output data value is left as it is as the value indicating the output state of the DO module, and the reference of the bit for which the “0” is set is referred to. Only the output is transferred from the input buffer 24 to the I / O area 22.

【0072】そしてI/O領域22への出力状態を示す
データの転送処理完了後、共有マスク領域28内の対応
アドレス領域の共有マスクを“0”にリセットし、次の
出力データの生成に備える。
After the transfer of the data indicating the output state to the I / O area 22 is completed, the shared mask of the corresponding address area in the shared mask area 28 is reset to “0” to prepare for the generation of the next output data. .

【0073】尚共有マスク領域28内の共有マスクのリ
セットは、I/O領域22への参照データの書き換え時
に随時行っても良いし、またタスク処理による演算を行
う前にI/O領域22内のデータをコピーしておいたも
のと、演算後のI/O領域22内のデータとを全アドレ
ス領域に対して比較を行い、まとめて全ての共有マスク
を生成する構成としても良い。
The reset of the shared mask in the shared mask area 28 may be performed at any time when the reference data is rewritten to the I / O area 22, or may be reset in the I / O area 22 before performing the operation by the task processing. A configuration may be adopted in which the copied data and the data in the I / O area 22 after the operation are compared with respect to all the address areas, and all the shared masks are generated collectively.

【0074】図7はCPUモジュール2からDOモジュ
ール3に、出力データを送信するためにシリアルリンク
バス1上に送出されるマルチキャストフレームの構成例
である。
FIG. 7 shows an example of the structure of a multicast frame transmitted on the serial link bus 1 in order to transmit output data from the CPU module 2 to the DO module 3.

【0075】各CPUモジュール2は出力データを送信
するDOモジュール3宛てのマルチキャストフレームを
送出する。マルチキャスト方式は、1タクト周期で複数
のモジュールに対してデータを送信することが出来、1
フレーム中に複数のDOモジュールへのデータを含める
ことが出来る。
Each CPU module 2 sends out a multicast frame addressed to the DO module 3 for sending output data. The multicast method can transmit data to a plurality of modules in one tact cycle,
Data for a plurality of DO modules can be included in a frame.

【0076】図7では、マルチキャストフレームには、
複数のDOモジュールに対する出力データが含まれてお
り、この出力データは出力相手局を示す局番、データの
サイズ及びマスク情報と共に各DOモジュール毎に格納
されている。
In FIG. 7, the multicast frame includes
Output data for a plurality of DO modules is included, and the output data is stored for each DO module together with a station number indicating an output partner station, data size, and mask information.

【0077】DOモジュール3は、マルチキャストフレ
ームを受信すると、受信フレーム内の各出力データに対
し付されている局番と自己の局番情報を比較してゆき、
一致するものがあれば対応する出力データを入力バッフ
ァに取込む。
When receiving the multicast frame, the DO module 3 compares the station number assigned to each output data in the received frame with its own station number information,
If there is a match, the corresponding output data is taken into the input buffer.

【0078】図8はCPU0とCPU1の2つのCPU
モジュールがDOモジュールを共有している場合の各モ
ジュール及びバス上での入出力状態の例を示すタイミン
グ図である。同図は、CPU0がDOモジュールの1つ
の出力点を“1”にセットし、これを認識したCPU1
がこれを“0”にリセットする例である。尚同図及び以
下の説明は説明簡略化の為、DOモジュールの1つの出
力点について、つまり1ビットのデータの入出力につい
て記載されている。
FIG. 8 shows two CPUs, CPU0 and CPU1.
FIG. 4 is a timing chart illustrating an example of input / output states on each module and a bus when modules share a DO module. The figure shows that CPU0 sets one output point of the DO module to "1",
Is an example of resetting this to “0”. Note that, for simplification of the description, the figure and the following description show one output point of the DO module, that is, the input and output of 1-bit data.

【0079】図8において、まずタクト周期Aでタスク
処理による演算結果から、CPU0が共有しているDO
モジュールの1つの出力点に対し、出力状態を“0”か
ら“1”へ変更する必要が生じたとする。演算実行部2
1は、I/O領域22のそのDOモジュール及び出力点
に対応するアドレス領域に出力データとして“1”をセ
ットし、また共有マスク領域28のI/O領域22のア
ドレスと同じアドレス領域に対応ビットを“1”にセッ
トした共有マスクを生成し、格納する。
In FIG. 8, first, the DO shared by CPU 0 is calculated based on the operation result of the task processing in the tact cycle A.
Assume that it is necessary to change the output state from “0” to “1” for one output point of the module. Arithmetic execution unit 2
1 sets “1” as output data in an address area corresponding to the DO module and the output point in the I / O area 22, and corresponds to the same address area as the address of the I / O area 22 in the shared mask area 28. A shared mask with the bit set to "1" is generated and stored.

【0080】この出力データと共有マスクはマルチキャ
ストフレーム32−1としてDOモジュールに送信され
る。DOモジュールではCPU0及びCPU0からの出
力データ及び共有マスクに基づいて、タクト周期Bで、
DOモジュールは出力状態を変更する。この場合CPU
0の共有マスクは“1”、CPU1の共有マスクは
“0”なので出力状態はCPU0からの出力データが反
映され、出力点の出力状態は“0”から“1”になる。
The output data and the shared mask are transmitted to the DO module as a multicast frame 32-1. In the DO module, based on the CPU0 and the output data from the CPU0 and the shared mask, at the tact cycle B,
The DO module changes the output state. In this case CPU
Since the shared mask of 0 is "1" and the shared mask of CPU1 is "0", the output state reflects the output data from CPU0, and the output state at the output point changes from "0" to "1".

【0081】またこの間にDOモジュールからは、自己
の出力状態を通知する参照出力がトータルフレーム31
−1によってCPU0及びCPU1に通知される。この
トータルフレーム31−1による参照出力は、マルチキ
ャストフレーム32−1によるCPU0からの出力デー
タが反映されていないものなので、これをDOモジュー
ルの出力状態としてCPU0のI/O領域22に転送す
ると、CPU0は自己がセットした出力“1”がCPU
1によって“0”にリセットされたと誤判断してしま
う。しかし、CPU0では共有マスク領域28に記憶さ
れている共有マスクが“1”となっているので、このト
ータルフレーム31−1による参照出力はI/O領域に
転送されず出力状態を示す参照データはタクト周期Aで
セットされた“1”のままとなる。これによりCPU0
でタクト周期Bの演算処理で演算実行部21がI/O領
域22からDOモジュールの出力状態を示す参照データ
を読み出しても、タクト周期Aでセットした出力が他の
CPUモジュールによってリセットされていると誤認識
することはない。
During this time, the reference output for notifying the output state of the DO module is transmitted from the DO module to the total frame 31.
-1 is notified to CPU0 and CPU1. Since the reference output based on the total frame 31-1 does not reflect the output data from the CPU 0 based on the multicast frame 32-1, this is output to the I / O area 22 of the CPU 0 as the output state of the DO module. Is the output “1” set by the CPU
It is erroneously determined that 1 has been reset to "0". However, in the CPU 0, since the shared mask stored in the shared mask area 28 is “1”, the reference output by the total frame 31-1 is not transferred to the I / O area, and the reference data indicating the output state is It remains at “1” set in the tact cycle A. This allows CPU0
Even when the operation execution unit 21 reads out the reference data indicating the output state of the DO module from the I / O area 22 in the operation processing in the tact cycle B, the output set in the tact cycle A is reset by another CPU module. There is no misunderstanding.

【0082】トータルフレームによるデータのI/O領
域22への入力処理が完了すると、共有マスク領域28
内の同じアドレス領域内の共有マスクは“0”にクリア
される。これにより、演算処理によって新たにDOモジ
ュールの出力状態を変更する必要が生じて、共有マスク
が生成されるまでの間はトータルフレームによるDOモ
ジュールからの参照出力は参照データとしてそのままI
/O領域22に入力される。図8では、CPU0は、ト
ータルフレーム31−2、31−3、31−4の参照出
力はそのままI/O領域22にDOモジュールの出力状
態を示す参照データとして入力される。
When input processing of data to the I / O area 22 by the total frame is completed, the shared mask area 28
The shared mask in the same address area is cleared to "0". As a result, it becomes necessary to newly change the output state of the DO module by the arithmetic processing, and until the shared mask is generated, the reference output from the DO module in the total frame is directly used as the reference data as I / O data.
/ O area 22 is input. In FIG. 8, the reference output of the total frames 31-2, 31-3, and 31-4 is directly input to the I / O area 22 as reference data indicating the output state of the DO module.

【0083】またCPU1では、DOモジュールからの
トータルフレーム31−1及び31−2による参照出力
は、そのままI/O領域22へ参照データとして入力さ
れる。CPU1はタクト周期Cで、DOモジュールの出
力状態が“0”から“1”変化があったのを知ると、出
力状態を“1”から“0”へリセットするようにDOモ
ジュールへ指示する出力データを生成してI/O領域へ
格納し、また対応ビットが“1”となる共有マスクを生
成して共有マスク領域へ格納する。これらは、マルチキ
ャストフレーム32−3としてDOモジュールに通知さ
れる。DOモジュールでは、マルチキャストフレーム3
2−3内の共有マスクがCPU0からのものは“0”、
CPU1からのものは“1”なので、CPU1からの出
力データ“0”を反映させて出力状態を“1”から
“0”に変更する。またこの変更された出力状態は参照
出力として、トータルフレーム31−4によってCPU
0及びCPU1に通知される。
In the CPU 1, the reference output from the DO module based on the total frames 31-1 and 31-2 is directly input to the I / O area 22 as reference data. When the CPU 1 detects that the output state of the DO module has changed from “0” to “1” in the tact cycle C, the CPU 1 instructs the DO module to reset the output state from “1” to “0”. Data is generated and stored in the I / O area, and a shared mask in which the corresponding bit is "1" is generated and stored in the shared mask area. These are notified to the DO module as a multicast frame 32-3. In the DO module, the multicast frame 3
If the shared mask in 2-3 is from CPU0, "0",
Since the data from the CPU 1 is “1”, the output state is changed from “1” to “0” by reflecting the output data “0” from the CPU 1. The changed output state is used as a reference output by the total frame 31-4 by the CPU.
0 and the CPU 1 are notified.

【0084】この様に本実施形態によるプログラマブル
コントローラでは、DOモジュールでは、出力データと
共に送信されるCPUモジュールからの共有マスクによ
って、各CPUモジュールからの出力の競合制御を行う
ことが出来る。
As described above, in the programmable controller according to the present embodiment, in the DO module, the contention control of the output from each CPU module can be performed by the shared mask transmitted from the CPU module together with the output data.

【0085】またCPUモジュールでは、DOモジュー
ルから参照出力を受信すると、共有マスク領域内の対応
する共有マスクを参照してI/O領域への転送を行うの
で、DOモジュールへの出力データと参照データを同一
アドレスに設定しても問題を生じない。次に本発明の第
2の実施形態について説明する。
When the CPU module receives the reference output from the DO module, it transfers the data to the I / O area with reference to the corresponding shared mask in the shared mask area. No problem occurs even if the same address is set. Next, a second embodiment of the present invention will be described.

【0086】これまでのプログラマブルコントローラで
は、他のCPUモジュールと共有しており競合制御の必
要のあるDOモジュールだけでなく、共有していないD
Oモジュールに対しても、CPUモジュールは常に共有
マスクデータを含む大きさのフレームをシリアルリンク
バス1上に流すので、シリアルリンクバス1上の伝送効
率は低下してしまう。
In the conventional programmable controller, not only the DO module which is shared with other CPU modules and needs to be controlled in competition but also the D module which is not shared
Even for the O module, the CPU module always sends a frame having a size including the shared mask data onto the serial link bus 1, so that the transmission efficiency on the serial link bus 1 is reduced.

【0087】第2の実施形態のプログラマブルコントロ
ーラはこの点を考慮したもので、送信先が競合制御を必
要とするか否かによって、送信フレームを変更する構成
を備えている。
The programmable controller according to the second embodiment takes this point into consideration, and has a configuration in which a transmission frame is changed depending on whether or not a destination requires contention control.

【0088】図9は、本発明の第2の実施形態でのマル
チキャストフレームの構成例を示す図で、図7の第1の
実施形態のフレーム構成図に対応するものである。第2
の実施形態によるフレーム構成では、フレーム内にデー
タ転送モード制御ビットを設けてある。同図の場合フレ
ームの先頭部分である送信先を示す入出力モジュールの
局番部分の上位のリザーブビットをデータ転送モード制
御ビットに用いている。尚このデータ転送モード制御ビ
ットは、同図の位置に限らず、特定の位置であればフレ
ーム内の他の位置に設けたり、独立して設けることも可
能である。
FIG. 9 is a diagram showing a configuration example of a multicast frame according to the second embodiment of the present invention, which corresponds to the frame configuration diagram of the first embodiment in FIG. Second
In the frame configuration according to the embodiment, the data transfer mode control bit is provided in the frame. In this case, the upper reserved bits of the station number part of the input / output module indicating the transmission destination, which is the head part of the frame, are used as the data transfer mode control bits. The data transfer mode control bit is not limited to the position shown in the figure, but may be provided at another position in the frame if it is a specific position, or may be provided independently.

【0089】このデータ転送モード制御ビットは、共有
マスクによるデータ転送制御を行うか否かを示すビット
で、データ転送時に共有及び競合制御を行う場合にはこ
のビットに“1”を、共有及び競合制御を行う必要が無
い場合にはこのビットに“0”を設定したフレームを送
信する。
The data transfer mode control bit indicates whether or not to perform data transfer control using a shared mask. When sharing and contention control are performed during data transfer, this bit is set to “1”, and the sharing and contention control is performed. If there is no need to perform control, a frame with this bit set to "0" is transmitted.

【0090】図9中(1)は、送信先のDOモジュール
で共有及び競合制御を行わない場合のフレーム構成を示
すもので、フレーム先頭部のデータ転送モード制御ビッ
トに“0”がセットされ、またこのフレーム内には共有
マスクデータは含まれておらず、局番、サイズ、出力デ
ータで構成される。また同図(2)は、共有及び競合制
御を行う場合のフレーム構成を示すもので、データ転送
モード制御ビットに“1”がセットされ、また図7の第
1の実施形態でのフレーム構成と同様、出力データと共
に共有マスクデータを持つ構成となっている。
(1) in FIG. 9 shows a frame configuration when sharing and contention control are not performed by the DO module of the transmission destination. The data transfer mode control bit at the head of the frame is set to "0". This frame does not include shared mask data, but is composed of station numbers, sizes, and output data. FIG. 2B shows a frame configuration when sharing and contention control are performed. The data transfer mode control bit is set to “1”, and the frame configuration according to the first embodiment shown in FIG. Similarly, it has a configuration having shared mask data together with output data.

【0091】データ送信を行うCPUモジュールは、送
信先が共有されているか否か、競合制御を必要としてい
るかどうかによってこれら2つのフレームを使い分け、
他のCPUと共有している出力モジュールに出力データ
を送信する場合は、図9(2)に示したような構成のフ
レームを用い、他のCPUと共有していない出力モジュ
ールに出力データを送信する際は、同図(1)に示した
ような構成のフレームを用いる。この様にフレームを使
い分けることにより、他のCPUとデータ出力の共有及
び競合制御を行う必要が無い場合は、余分な共有マスク
データをフレーム内に含まなくなるので、その分トラヒ
ック量は減り、シリアルリンクバス1上のデータ転送効
率は良くなる。
The CPU module that performs data transmission selectively uses these two frames depending on whether the transmission destination is shared and whether contention control is required.
When transmitting output data to an output module shared with another CPU, the output data is transmitted to an output module not shared with another CPU using a frame having a configuration as shown in FIG. 9 (2). In this case, a frame having a configuration as shown in FIG. By using different frames in this way, when it is not necessary to share data output with other CPUs and to perform contention control, extra shared mask data is not included in the frame, so the traffic volume is reduced accordingly and the serial link The data transfer efficiency on the bus 1 is improved.

【0092】図10は、第2実施形態におけるDOモジ
ュール側の出力データを決定する共有及び競合制御回路
40の詳細を示す図である。図10は、第1の実施形態
の図4の構成に対応するもので、同一の構成要素には同
じ番号が符されている。
FIG. 10 is a diagram showing details of the sharing and contention control circuit 40 for determining output data on the DO module side in the second embodiment. FIG. 10 corresponds to the configuration in FIG. 4 of the first embodiment, and the same components are denoted by the same reference numerals.

【0093】図10の共有及び競合制御回路40は、図
4の構成を基本に共有マスク有効モード記憶レジスタ4
1、新規受信有り記憶レジスタ42、NOT回路43及
びOR回路44が各CPUモジュール毎に加えられ、ま
たAND回路は3入力のAND回路に変更されている。
このうち共有マスク有効モード記憶レジスタ41は、受
信したマルチキャストフレーム中のデータ転送モード制
御ビットの値がセットされるもので、この値により共有
及び競合制御回路40は、共有及び競合制御を行う共有
マスク有りモードと共有及び競合制御を行わない共有マ
スク無しモードを切替える。また新規受信有り記憶レジ
スタ42は、新規のマルチキャストフレームを受信した
ことを示すレジスタで、新規にマルチキャストフレーム
をCPUモジュールから受信するとそのCPUモジュー
ルに対応する新規受信有り記憶レジスタ42に“1”に
セットされる。そしてOR回路15の出力がDO出力点
から出力され、また参照出力ラッチ16にラッチされる
と“0”にリセットされる。
The sharing and contention control circuit 40 of FIG. 10 is based on the configuration of FIG.
1. A new reception storage register 42, a NOT circuit 43, and an OR circuit 44 are added for each CPU module, and the AND circuit is changed to a three-input AND circuit.
Among these, the value of the data transfer mode control bit in the received multicast frame is set in the shared mask valid mode storage register 41, and the shared and contention control circuit 40 uses the shared mask to perform the shared and contention control according to this value. The mode is switched between the presence mode and the non-shared mask mode in which sharing and conflict control are not performed. The new reception storage register 42 is a register indicating that a new multicast frame has been received. When a new multicast frame is received from a CPU module, the new reception storage register 42 is set to “1” in the new reception storage register 42 corresponding to the CPU module. Is done. When the output of the OR circuit 15 is output from the DO output point and is latched by the reference output latch 16, the output is reset to "0".

【0094】共有マスク有効モード記憶レジスタ41の
値は、NOT回路43により反転された後OR回路44
により共有マスクデータ11とのOR値が取られる。よ
ってOR回路44からは、共有マスク有効モード記憶レ
ジスタ41に“0”がセットされている時は“1”が、
“1”がセットされている時は共有マスクデータ11の
値が出力されて、AND回路45により出力データ12
及び新規受信有り記憶レジスタ42内の値とAND値が
取られる。例えば図9(1)の様な競合制御を行わない
場合のフレームを受信すると、対応する共有マスク有効
モード記憶レジスタ41には“0”がセットされる。ま
た新規に受信したマルチキャストフレームが無い間は、
各新規受信有り記憶レジスタ42−1〜42−3の値は
“0”にリセットされたままなので、各AND回路45
−1〜45−3の出力は“0”となり、DO出力点から
の出力は、参照出力ラッチ16にラッチされている値が
AND回路14及びOR回路15を介して出力され続け
る。
The value of the shared mask valid mode storage register 41 is inverted by the NOT circuit 43 and then the OR circuit 44
, An OR value with the shared mask data 11 is obtained. Therefore, when “0” is set in the shared mask valid mode storage register 41, “1” is output from the OR circuit 44,
When “1” is set, the value of the shared mask data 11 is output, and the output data 12
Then, the value in the storage register with new reception 42 and the AND value are taken. For example, when a frame without contention control as shown in FIG. 9A is received, “0” is set to the corresponding shared mask effective mode storage register 41. Also, while there are no newly received multicast frames,
Since the values of the new reception presence storage registers 42-1 to 42-3 are still reset to "0", each AND circuit 45
The outputs from -1 to 45-3 become "0", and the output from the DO output point continues to be the value latched in the reference output latch 16 via the AND circuit 14 and the OR circuit 15.

【0095】次に各CPUモジュールが、共有マスクデ
ータを持たないフレーム(図9(1)のフレーム)と持
つフレーム(図9(2)のフレーム)のどちらを用いる
かを決定する共有マスクモジュールモード決定の仕方に
ついて説明する。
Next, a shared mask module mode in which each CPU module determines whether to use a frame having no shared mask data (the frame shown in FIG. 9A) or a frame having the shared mask data (the frame shown in FIG. 9B). The method of determination will be described.

【0096】図11は、共有マスクモード決定論理を示
す図で、同図(a)は、複数のCPUモジュールにより
出力点の共有及び競合がある場合すなわち共有マスク有
りモードを示し、同図(b)は共有及び競合が無い場合
すなわち共有マスクデータ無モードの例を示す。同図
(a)はCPU0〜2の3つのCPUモジュールが出力
モジュールDO0及びDO1にデータを送信する際、デ
ータ共有を行う場合に共有マスク有りのモードの決定を
例としたもので、16点の出力点を持つ1つのDOモジ
ュールに対する16ビットの共有マスクデータをCPU
の使用ビットとして示している。
FIG. 11 is a diagram showing the logic for determining the shared mask mode. FIG. 11A shows a mode in which a plurality of CPU modules share and conflict with the output point, that is, a mode with a shared mask. ) Shows an example in the case where there is no sharing and contention, that is, in the mode without shared mask data. FIG. 11A shows an example of determining a mode with a sharing mask when sharing data when three CPU modules of CPUs 0 to 2 transmit data to the output modules DO0 and DO1, and 16 points. 16-bit shared mask data for one DO module having an output point
Are used as bits.

【0097】図11(a)の出力モジュールDO0の場
合、ビット0がCPU1とCPU2、ビット10がCP
U0とCPU2、ビット13がCPU1とCPU2、及
びビット15がCPU0とCPU1で共有マスクに
“1”が設定され、これらに対応するDO0の出力点が
競合されていることが分る。よってCPUモジュールC
PU0、CPU1及びCPU2は出力モジュールDO0
にデータを送信し出力点の出力状態の変更を行う時は、
共有有りモードとして図9(2)に示した様な共有マス
クデータを含むフレームをマルチキャストフレームとし
て送信する。
In the case of the output module DO0 of FIG. 11A, bit 0 is the CPU1 and CPU2, and bit 10 is the CP.
U0 and CPU2, bit 13 is set to CPU1 and CPU2, and bit 15 is set to "1" in the shared mask by CPU0 and CPU1. It can be seen that the output points of DO0 corresponding to these are competing. Therefore, CPU module C
PU0, CPU1 and CPU2 are output modules DO0
To change the output state of the output point by sending data to
As a sharing mode, a frame including the sharing mask data as shown in FIG. 9B is transmitted as a multicast frame.

【0098】また同図(a)において出力モジュールD
O1の場合は、同一ワードにおいて、CPU0がビット
13,14,15を使用し、CPU1がビット10,1
1,12を使用し、CPU2がビット0,1,2を使用
しており、3台のCPUで共有されている。そして各C
PUモジュールは出力モジュールDO1にデータを送信
する時は、共有マスク有りモードとして、CPU使用ビ
ットに対応する共有マスクデータを出力データと共に送
出する。
Also, in FIG.
In the case of O1, CPU0 uses bits 13, 14, and 15 and CPU1 uses bits 10, 1 and
1 and 12, the CPU 2 uses bits 0, 1, and 2 and is shared by three CPUs. And each C
When transmitting data to the output module DO1, the PU module sends the shared mask data corresponding to the CPU use bit together with the output data in the shared mask mode.

【0099】また同図(b)のDO2の場合、CPU0
のみがDO2の全ビットを使用しており、CPU1とC
PU2はDO2を一切使用していない。すなわちDO2
はCPU0のみの制御下の出力モジュールであり、CP
U0は共有無しモードとして図9(1)に示したような
共有マスクデータを含まないフレームをマルチキャスト
フレームとして出力モジュールDO2に送信する。
In the case of DO2 in FIG.
Only uses all bits of DO2,
PU2 does not use DO2 at all. That is, DO2
Is an output module controlled only by CPU0, and CP
U0 transmits to the output module DO2 as a multicast frame a frame that does not include the shared mask data as shown in FIG.

【0100】図12は、第2の実施形態でのCPUモジ
ュールによる共有マスクデータの制御例を示す図であ
る。同図は図11の出力条件で、CPU0がDO0の出
力制御を行う場合の共有マスクの制御動作を例として示
したものである。
FIG. 12 is a diagram showing an example of controlling shared mask data by the CPU module according to the second embodiment. This figure shows an example of the control operation of the common mask when the CPU 0 controls the output of DO 0 under the output conditions of FIG.

【0101】CPUモジュールCPU0では、出力モジ
ュールDO0に対して、図12に示すように固定共有マ
スクレジスタ51及び出力条件共有マスクレジスタ52
をOR回路53の入力に、その出力をシリアルリンク出
力共有マスクレジスタ54に接続して備えている。固定
共有マスクレジスタ51は、CPUモジュールで動作す
るOSによって操作されるもので、他のCPUモジュー
ルと競合せずにCPU0のみが用いる出力点に対応する
ビットに“1”がセットされる。この固定共有マスクレ
ジスタ51の値は、そのDOモジュールの出力点の共有
状態の変更が無ければ、固定的にセットされたままであ
る。出力条件共有マスクレジスタ52は、CPUモジュ
ールがDOモジュールに出力変更を行う出力点を設定す
るレジスタで、出力条件が整った出力点に対応するビッ
トに“1”が出力条件判定部55によってセットされ
る。シリアルリンク出力共有マスクレジスタ54は、マ
ルチキャストフレームに格納して送信する共有マスクデ
ータを格納するレジスタである。
In the CPU module CPU0, a fixed shared mask register 51 and an output condition shared mask register 52 are provided to the output module DO0 as shown in FIG.
Are connected to the input of an OR circuit 53 and the output thereof is connected to a serial link output sharing mask register 54. The fixed shared mask register 51 is operated by the OS running on the CPU module, and “1” is set to a bit corresponding to an output point used only by the CPU 0 without competing with another CPU module. The value of the fixed shared mask register 51 remains fixed unless the sharing state of the output point of the DO module is changed. The output condition sharing mask register 52 is a register for setting an output point at which the CPU module changes the output to the DO module. The output condition determination unit 55 sets “1” to a bit corresponding to the output point where the output condition is satisfied. You. The serial link output shared mask register 54 is a register for storing shared mask data to be stored in a multicast frame and transmitted.

【0102】CPU0がDO0を出力制御する場合の共
有マスクデータ生成の制御動作処理を以下に示す。C
PU0は、DO0のビット1、2を他のCPUモジュー
ルと競合せずに使用するため、予めOS処理によってD
O0用の固定共有マスクレジスタのビット1及び2に
“1”をセットしておく。CPU0は、競合出力点に
対する出力条件判定を行い、出力条件が成立した場合出
力条件判定部55がDO0出力条件成立共有マスクレジ
スタ52の対応ビットに“1”をセットする。同図の場
合、ビット15に対応する出力点で出力条件が成立した
のでビット15に“1”をセットする。DO0用の固
定共有マスクレジスタ51と出力条件成立共有マスクレ
ジスタ52の値のOR値を取り、結果をDO0用のシリ
アルリンク出力共有マスクレジスタ54にセットする。
この場合ビット1,2,15に“1”がセットされた値
がシリアルリンク出力共有マスクレジスタ54にセット
される。そしてこのシリアルリンク出力共有マスクレジ
スタ54内のデータは、共有マスクデータとしてマルチ
キャストフレームにより出力データと共にDO0に送信
される。DO0では図10に示した共有及び競合制御回
路40により、共有及び競合制御として共有マスクデー
タからビット1、2、15に対応する出力点の出力をC
PU0からの出力データに基づいて変更する。尚ビット
10に対応する出力点もCPU0は出力制御を行ってい
るが、今回は出力条件が成立しなかったため、出力は前
回値のまま保持される。
The control operation processing for generating the shared mask data when the CPU 0 controls the output of DO0 will be described below. C
PU0 uses bits 1 and 2 of DO0 without conflicting with other CPU modules.
"1" is set in bits 1 and 2 of the fixed shared mask register for O0. The CPU 0 performs an output condition determination for the competitive output point, and when the output condition is satisfied, the output condition determination unit 55 sets “1” to a corresponding bit of the DO0 output condition satisfaction shared mask register 52. In the case of the figure, since the output condition is satisfied at the output point corresponding to the bit 15, "1" is set to the bit 15. An OR value of the values of the fixed shared mask register 51 for DO0 and the shared mask register 52 satisfying the output condition is taken, and the result is set in the serial link output shared mask register 54 for DO0.
In this case, a value in which bits 1, 2, and 15 are set to "1" is set in the serial link output sharing mask register 54. The data in the serial link output shared mask register 54 is transmitted to DO0 together with the output data by multicast frame as shared mask data. In DO0, the output of the output point corresponding to bits 1, 2, and 15 is output from the shared mask data as C and C by the sharing and contention control circuit 40 shown in FIG.
Change based on output data from PU0. Although the output point corresponding to the bit 10 is also controlled by the CPU 0, the output is maintained at the previous value because the output condition was not satisfied this time.

【0103】ところで一般に、マルチCPUシステムの
プログラマブルコントローラにおいては、各CPUで担
当するリソースを完全に分け機能分散した構成の場合で
は、入出力の共有・競合は起こらないが、本来1つのC
PUでシステム制御するところを、プログラム容量の増
大への対処、並列処理による処理性能の向上などの理由
でマルチCPUを採用する場合入出力モジュールを複数
のCPUで共有することとなる。そしてこの場合、1台
の入出力モジュールに対して、複数のCPUが書込み処
理を行う競合WT(書込み)を行う場合がある。その場
合のプログラム開発においてユーザは、競合制御を意識
してプログラムソースを作成、変更するようなわずらわ
しさが有ってはならない。また、競合WTが行われると
複数のCPUのプログラムで、同じDOモジュールの同
一アドレスに対する書込みが行われることとなるが、こ
のアドレス重複が競合書込みによるものなのか、プログ
ラム作業の誤り等によるものかチェックが容易に出来る
ことが要求される。
In general, in a programmable controller of a multi-CPU system, when resources assigned to each CPU are completely divided and functions are distributed, input / output sharing and contention do not occur.
In the case where the system control is performed by the PU, the input / output module is shared by a plurality of CPUs when a multi-CPU is adopted for reasons such as coping with an increase in program capacity and improving processing performance by parallel processing. In this case, a conflict WT (write) in which a plurality of CPUs perform write processing may be performed on one input / output module. In the program development in such a case, the user must not have the trouble of creating and changing the program source in consideration of the conflict control. Further, when the conflict WT is performed, writing to the same address of the same DO module is performed by the programs of a plurality of CPUs. Whether the address duplication is caused by the conflict writing or the error of the program work is performed. It is required that checking can be done easily.

【0104】これに対応するため本発明では、複数のC
PUで共有されている出力点への書込みに対し、競合制
御を行う競合WT命令を持ち、またユーザはこの競合W
T命令を意識して用いなくても、アプリケーションプロ
グラム開発装置(以下ローダという)が自動的に競合W
T命令を生成する機構を備える。
To cope with this, in the present invention, a plurality of C
There is a contention WT instruction that performs contention control for writing to the output point shared by the PU, and the user
Even if the application program development device (hereinafter referred to as a loader) does not use the T instruction,
A mechanism for generating a T instruction is provided.

【0105】図13に基本的な競合WT命令例を示す。
同図ではユーザ記述プログラム例として、基本的なWT
命令のラダー表示、それをコーディングした通常命令表
示であるS(セット)、R(リセット)、W(ライト)
及びそれぞれに対応する競合WT命令KS(競合セッ
ト)、KR(競合リセット)、KW(競合ライト)を示
している。
FIG. 13 shows an example of a basic contention WT instruction.
In the figure, a basic WT is used as an example of a user-written program.
Ladder display of instructions, S (set), R (reset), W (write), which are the normal instruction displays that code them
And a corresponding WT instruction KS (contention set), KR (contention reset), and KW (contention write) corresponding thereto.

【0106】各WT命令の基本動作を以下に示す。 (a) LD A ;入力Aをリード S X ;A=1の場合−−>出力X=1(セット) A=0の場合−−>無処理(NOP) (b) LD B ;Bをリード R Y ;B=1の場合−−>出力Y=0(リセット) B=0の場合−−>無処理(NOP) (c) LD C ;Cをリード W Z ;無条件で出力Z=Cからリードした値 これに対し対応する競合WT命令では上記(a) 〜(c) は、 (a) LD A ;Aをリード KS X ;A=1の場合−−>出力X=1(セット) 出力Xの共有マスクビット=1(セット) A=0の場合−−>無処理(NOP) (b) LD B ;Bをリード KR Y ;B=1の場合−−>出力Y=0(リセット) 出力Yの共有マスクビット=1(セット) B=0の場合−−>無処理(NOP) (c) LD C ;Cをリード KW Z ;無条件で出力Z=Cからリードした値 出力Zの共有マスクビット=1(セット) となる。The basic operation of each WT instruction is described below. (a) LD A; read input A SX; when A = 1 ---> output X = 1 (set) When A = 0 ---> no processing (NOP) (b) LD B; read B R Y; B = 1, output Y = 0 (reset) B = 0, no processing (NOP) (c) LD C; read C W Z; output Z = C unconditionally In the corresponding conflicting WT instruction, the above (a) to (c) are as follows: (a) LD A; read A KS X; if A = 1-> output X = 1 (set) Shared mask bit of output X = 1 (set) When A = 0-> no processing (NOP) (b) LD B; read B KR Y; when B = 1-> output Y = 0 (reset ) Shared mask bit of output Y = 1 (set) When B = 0 ---> No processing (NOP) (c) LD C; read C KW Z; unconditionally output Z = A shared mask bit = 1 in the read value output Z (set) from.

【0107】図14にローダによる競合WT命令生成処
理例を示す。図14(a)に示すように、ローダは、ロ
ーダ処理として各CPUモジュールの実行オブジェクト
を生成するに際し、マルチCPUシステムを構成する全
てのCPUモジュール(同図ではCPU0、CPU1、
CPU2)のソースプログラムを参照し、異なるCPU
によって同じ入出力モジュールの同一出力点への出力、
即ち同じ出力アドレスへの書込みが行われいる部分を調
べる。そして、同じアドレスに対し複数のCPUが書込
みを行っている箇所を検出すると、そのCPUのソース
プログラム中のWT命令を図13に示したような競合W
T命令に変換された後、実行オブジェクトを生成する。
FIG. 14 shows an example of a conflict WT instruction generation process by the loader. As shown in FIG. 14A, when the loader generates an execution object of each CPU module as the loader process, the loader executes all the CPU modules (CPU0, CPU1,
Refer to the source program of CPU 2) and select a different CPU.
Output to the same output point of the same input / output module,
That is, a portion where writing to the same output address is performed is checked. When a location where a plurality of CPUs are writing to the same address is detected, a WT instruction in the source program of the CPU is determined as a conflict W as shown in FIG.
After being converted into a T instruction, an execution object is generated.

【0108】図14(b)の場合、CPU0とCPU1
のプログラム中、出力モジュールDO0のビット15に
対しての書込みが競合しているため、ローダはCPU0
とCPU1のソースプログラム中のビット15に対する
WT命令を競合WT命令(KW)に置換えている。尚、
CPU0のDO0ビット2に対する書込みとCPU1の
DO0のビット10に対する書込みは他のCPUと競合
していないので、通常のWT命令(W)のままとなって
いる。
In the case of FIG. 14B, CPU0 and CPU1
During the program of, the loader conflicts with the write to bit 15 of the output module DO0,
And the WT instruction for bit 15 in the source program of the CPU 1 is replaced with a competitive WT instruction (KW). still,
Since the writing of the CPU 0 to the DO0 bit 2 and the writing of the CPU 1 to the DO0 bit 10 do not compete with other CPUs, they remain the normal WT instruction (W).

【0109】また、同一アドレスへの書込みは、その出
力点を複数のCPUモジュールが競合使用しているため
に発生する場合と、プログラミング作業の誤り等による
ユーザの認識外の要因によって発生した場合が考えられ
る。よって、後者の要因によるものを排除するために、
ローダは上記競合WT命令への置換を行う前にユーザに
対してアドレスの重複を警告する競合WTのワーニング
通知を行う。
The writing to the same address occurs when the output point is used by a plurality of CPU modules in conflict, and when the writing occurs due to a factor that is not recognized by the user due to an error in the programming operation or the like. Conceivable. Therefore, to eliminate the latter factor,
The loader issues a warning of a conflicting WT to warn the user of address duplication before replacing with the conflicting WT instruction.

【0110】図15はローダによる競合WTのワーニン
グ通知例を示す図である。このワーニング通知の方法と
しては、同図(a)に示すように、ソースプログラムレ
ベルで表示し、競合が発生した出力命令部分を他の表示
部分と表示色を替えたり、あるいは点滅表示したりして
強調する方法がある。同図の場合、通常表示部分が白色
で表示されているのに対し、競合が発生した書込み命令
部分を赤色で表示してユーザに通知している。
FIG. 15 is a diagram showing an example of a warning notification of a conflict WT by the loader. As a method of this warning notification, as shown in FIG. 7A, the output instruction portion in which the conflict occurs is displayed in a different color from that of the other display portions, or is blinked, as shown in FIG. There is a way to emphasize. In the case of the figure, while the normal display portion is displayed in white, the write command portion in which the conflict has occurred is displayed in red to notify the user.

【0111】またワーニング通知の別方法としては、同
図(b)に示すように競合制御箇所をプログラムの行番
号と命令種類をリスト形式で示す方法がある。ユーザ
は、これらのワーニング通知からプログラムの誤りを検
出することが出来る。以上の説明で、出力モジュールと
してデジタル出力モジュール(DOモジュール)を例と
して説明したが、アナログ出力モジュール(AOモジュ
ール)においても、共有及び競合制御の考え方は全く同
じであり、ただ共有マスクデータが出力データ、例えば
1ワードに対して1ビットで対応することで実現するこ
とが出来る。例えば4ワードAOモジュールにおいて、
1ワード目はCPU0が使用し、2ワード目はCPU1
が使用し、3、4ワード目はCPU2が使用する場合
は、共有が行われ共有マスク有りモードとなり、4ワー
ドデータに対して4ビットの共有マスクデータで制御さ
れることとなる。また出力モジュールにおける共有及び
競合制御回路は、単純なAND及びOR回路でなくセレ
クタ及び中間値データ生成及び平均値データ生成回路な
どで実現することも出来る。
As another method of the warning notification, there is a method in which the contention control location is indicated by a program line number and an instruction type in a list format as shown in FIG. The user can detect a program error from these warning notifications. In the above description, the digital output module (DO module) has been described as an example of the output module. However, the analog output module (AO module) has exactly the same concept of sharing and contention control. This can be realized by supporting one bit of data, for example, one word. For example, in a 4-word AO module,
The first word is used by CPU0 and the second word is used by CPU1.
In the case where the third and fourth words are used by the CPU 2, sharing is performed and a mode with a shared mask is set, and 4-word data is controlled by 4-bit shared mask data. The sharing and contention control circuit in the output module can be realized not by a simple AND and OR circuit but by a selector and a circuit for generating intermediate value data and an average value data.

【0112】[0112]

【発明の効果】本発明に基づくプログラマブルコントロ
ーラによれば、出力モジュールの出力状態をCPUモジ
ュールに知らせるために、新たに入力モジュールを設け
る必要が無い。
According to the programmable controller according to the present invention, it is not necessary to newly provide an input module to inform the CPU module of the output state of the output module.

【0113】また、出力モジュールでは各CPUモジュ
ールから出力データと共に送信されてくる共有マスクに
よって各CPUモジュールによる出力データの共有及び
競合制御を行うことが出来る。
In the output module, the output data can be shared and the contention can be controlled by each CPU module by using the shared mask transmitted together with the output data from each CPU module.

【0114】更にCPUモジュールでは、CPUモジュ
ールが出力モジュールの出力状態を誤認識する等の問題
を生じることが無く、出力モジュールに対する出力デー
タと参照出力に対して同じアドレスを設定することが出
来る。よって、出力モジュールにデータを出力する時
も、出力状態を参照する時も同じアドレスを用いること
が出来るので、プログラミングに混乱を招かない。これ
はアプリケーションプログラミングに拠るデータの入出
力処理を簡易化することが出来、プログラムの簡略化や
処理速度の向上を実現できる。
Further, in the CPU module, the same address can be set for the output data for the output module and the reference output without causing a problem such as the CPU module erroneously recognizing the output state of the output module. Therefore, the same address can be used when outputting data to the output module and when referring to the output state, so that programming is not confused. This simplifies data input / output processing based on application programming, and realizes simplification of a program and improvement in processing speed.

【0115】また共有及び競合制御を必要としない出力
データの場合には出力データと共に共有マスクを出力モ
ジュールに送信しない構成とした場合には、単一CPU
システムと同様の通信負荷となり、システム性能を向上
することが出来る。すなわち、単一CPUシステムにお
いても、本発明は上記共有マスク無しモードでそのまま
使用可能である。
In the case of output data that does not require sharing and contention control, if the shared mask is not transmitted to the output module together with the output data, a single CPU
The communication load becomes the same as that of the system, and the system performance can be improved. That is, even in a single CPU system, the present invention can be used as it is in the above-mentioned mode without shared mask.

【0116】更にマルチCPUのプログラマブルコント
ローラのプログラム開発に於て、ユーザは、競合制御を
行う場合でも、通常の入出力モジュールへの書込み命令
を記述すれば、ローダが複数のCPUのプログラムを参
照して自動的に競合制御専用の命令に変換する。またこ
の変換部分は、ユーザに通知されるので、ユーザは競合
を意識してアドレスを重複させてたのか、誤ってアドレ
スを重複させたのかを容易に確認でき、マルチプロセッ
サシステムにおけるプログラミング開発効率及びプログ
ラムの品質を向上することが出来る。
Further, in the program development of the multi-CPU programmable controller, even if the user performs a conflict control, if the user writes a normal write command to the input / output module, the loader refers to the programs of the plurality of CPUs. Automatically converts it into an instruction dedicated to conflict control. In addition, since this conversion part is notified to the user, the user can easily confirm whether the address has been duplicated in consideration of the conflict or whether the address has been duplicated by mistake. Program quality can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本実施形態におけるDOモジュールの概略を示
す図である。
FIG. 1 is a diagram schematically illustrating a DO module according to an embodiment.

【図2】トータルフレーム方式による通信の説明図であ
る。
FIG. 2 is an explanatory diagram of communication by a total frame method.

【図3】マルチキャスト方式による通信の説明図であ
る。
FIG. 3 is an explanatory diagram of communication by a multicast method.

【図4】DOモジュールの競合制御回路を詳細に示す図
である。
FIG. 4 is a diagram showing the contention control circuit of the DO module in detail.

【図5】CPUモジュールの入出力処理の為の構成要素
を示す機能ブロック図である。
FIG. 5 is a functional block diagram showing components for input / output processing of a CPU module.

【図6】CPUモジュールで作られる共有マスクの例を
示す図である。
FIG. 6 is a diagram illustrating an example of a shared mask created by a CPU module.

【図7】マルチキャストフレームの構成例を示す図であ
る。
FIG. 7 is a diagram illustrating a configuration example of a multicast frame.

【図8】2つのCPUモジュールがDOモジュールを共
有している場合の各モジュール及びバス上での入出力の
状態例を示すタイミング図である。
FIG. 8 is a timing chart showing an example of input / output states on each module and a bus when two CPU modules share a DO module.

【図9】第2の実施形態でのマルチキャストフレームの
構成例を示す図である。
FIG. 9 is a diagram illustrating a configuration example of a multicast frame according to the second embodiment.

【図10】第2実施形態における競合制御回路を詳細に
示す図である。
FIG. 10 is a diagram illustrating in detail a contention control circuit according to the second embodiment.

【図11】各CPUモジュールで行われる共有マスクモ
ード決定論理を示す図である。
FIG. 11 is a diagram illustrating a shared mask mode determination logic performed in each CPU module.

【図12】第2の実施形態でのCPUモジュールによる
共有マスクデータの制御例を示す図である。
FIG. 12 is a diagram illustrating an example of control of shared mask data by a CPU module according to the second embodiment.

【図13】基本的な競合WT(書込み)命令例を示す図
である。
FIG. 13 is a diagram showing an example of a basic contention WT (write) instruction.

【図14】ローダによる競合WT命令生成処理例を示す
図である。
FIG. 14 is a diagram illustrating an example of a competitive WT instruction generation process by a loader.

【図15】競合WTのワーニング通知例を示す図であ
る。
FIG. 15 is a diagram illustrating an example of a warning notification of a conflict WT.

【図16】バスに複数のCPUモジュールやDIモジュ
ール及びDOモジュールを接続したマルチCPU構成の
プログラマブルコントローラを示す図である。
FIG. 16 is a diagram showing a programmable controller having a multi-CPU configuration in which a plurality of CPU modules, DI modules, and DO modules are connected to a bus.

【図17】DIモジュールによるDOモジュールの出力
の折り返し入力の例を示す図である。
FIG. 17 is a diagram illustrating an example of a return input of a DO module output by a DI module.

【図18】各モジュール及びバス上での出力データの様
子を示すタイミング図である。
FIG. 18 is a timing chart showing a state of output data on each module and a bus.

【図19】従来のCPUモジュールの入出力処理の為の
機能ブロック図である。
FIG. 19 is a functional block diagram for input / output processing of a conventional CPU module.

【図20】DOモジュールへの出力データの転送元アド
レスとDIモジュールからの入力データの転送先アドレ
スを同じにした場合の各モジュール及びバス上での入出
力の状態を示すタイミング図である。
FIG. 20 is a timing chart showing the state of input / output on each module and bus when the transfer source address of output data to the DO module and the transfer destination address of input data from the DI module are the same.

【符号の説明】[Explanation of symbols]

1、101 シリアルリンクバス 2、102 CPUモジュール 3、103 DOモジュール 10、40 共有及び競合制御回路 11 共有マスク 12 出力データ 13、14、45 AND回路 15、44、53 OR回路 16 参照出力ラッチ 21 演算実行部 22 I/O領域 23 出力バッファ 24 入力バッファ 25 シリアルリンク制御部 26 入力バッファ転送テーブル 27 入力データ転送テーブル 28 共有マスクデータ領域 41 共有マスク有効モード記憶レジスタ 42 新規受信有り記憶レジスタ 43 NOT回路 51 固定共有マスクレジスタ 52 出力条件共有マスクレジスタ 54 シリアルリンク出力共有マスクレジスタ 1, 101 Serial link bus 2, 102 CPU module 3, 103 DO module 10, 40 Shared and conflict control circuit 11 Shared mask 12 Output data 13, 14, 45 AND circuit 15, 44, 53 OR circuit 16 Reference output latch 21 Operation Execution unit 22 I / O area 23 Output buffer 24 Input buffer 25 Serial link control unit 26 Input buffer transfer table 27 Input data transfer table 28 Shared mask data area 41 Shared mask valid mode storage register 42 New reception presence storage register 43 NOT circuit 51 Fixed shared mask register 52 Output condition shared mask register 54 Serial link output shared mask register

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5H215 BB03 BB12 CC09 CX01 CX04 CX05 CX09 GG02 GG03 HH01 KK03 5H220 BB01 BB10 CC09 CX01 CX04 CX05 CX09 DD04 EE09 EE10 JJ16 JJ17 JJ24 JJ38 JJ47 JJ55 KK03  ──────────────────────────────────────────────────続 き Continued on the front page F-term (reference)

Claims (19)

【特許請求の範囲】[Claims] 【請求項1】 複数のCPUモジュールと少なくとも1
つの出力モジュールを備えるプログラマブルコントロー
ラにおいて、 前記各CPUモジュールは、 出力モジュールに対して出力状態を変更するかどうかを
指示する共有マスクを生成する共有マスク生成手段と、 前記出力モジュールに対する出力データを前記共有マス
クと共に送信する出力データ送信手段と、 を備え、 前記出力モジュールは、 前記CPUモジュールからの前記出力データを前記共有
マスクと共に受信する出力データ受信手段と、 前記出力データと共有マスクから出力状態を決定する共
有及び競合制御手段と、 を備えることを特徴とするプログラマブルコントロー
ラ。
A plurality of CPU modules and at least one
A programmable controller including two output modules, wherein each of the CPU modules generates a shared mask for instructing whether to change an output state of the output module; Output data transmitting means for transmitting the output data from the CPU module together with the shared mask, and output data receiving means for receiving the output data from the CPU module together with the shared mask; and determining an output state from the output data and the shared mask. And a sharing and contention control means.
【請求項2】 前記共有及び競合制御手段は、自己を共
有する複数のCPUモジュールからの前記出力データ及
び共有マスクと、自己の現在の出力状態に基づいて前記
出力状態を決定することを特徴とする請求項1記載のプ
ログラマブルコントローラ。
2. The sharing and contention control means determines the output state based on the output data and the sharing mask from a plurality of CPU modules sharing the same and a current output state of the own. The programmable controller according to claim 1, wherein
【請求項3】 前記出力モジュールは、前記出力状態を
示す参照出力を前記自己を共有する複数のCPUモジュ
ールへ送信する参照出力送信手段を更に備え、前記CP
Uモジュールは、前記共有マスク生成手段が生成した共
有マスクを記憶する共有マスク記憶手段と、該共有マス
ク記憶手段に記憶されている共有マスクと出力モジュー
ルからの前記参照出力から該出力モジュールの出力状態
を示す参照データを生成する出力状態参照データ生成手
段とを更に備えることを特徴とする請求項1又は2記載
のプログラマブルコントローラ。
3. The output module further includes a reference output transmitting unit that transmits a reference output indicating the output state to the plurality of CPU modules sharing the self.
The U module includes a shared mask storage unit that stores the shared mask generated by the shared mask generation unit, and an output state of the output module based on the shared mask stored in the shared mask storage unit and the reference output from the output module. 3. The programmable controller according to claim 1, further comprising: output state reference data generating means for generating reference data indicating the following.
【請求項4】 前記出力状態参照データ生成手段が生成
した前記出力モジュールの出力状態を示す参照データ
を、該出力モジュールに対する前記出力データを格納す
るアドレス領域と同じ領域に格納する参照データ格納手
段を更に備えることを特徴とする請求項3記載のプログ
ラマブルコントローラ。
4. A reference data storage means for storing reference data indicating an output state of the output module generated by the output state reference data generation means in the same area as an address area for storing the output data for the output module. The programmable controller according to claim 3, further comprising:
【請求項5】 前記CPUモジュール及び出力モジュー
ルはリング上の構成をもつバスによって接続され、前記
CPUモジュール及び出力モジュールは、前記バス上に
フレームを巡回させて他のモジュールとのデータの転送
を行うことを特徴とする請求項1乃至4のいずれか1つ
に記載のプログラマブルコントローラ。
5. The CPU module and the output module are connected by a bus having a configuration on a ring, and the CPU module and the output module circulate a frame on the bus to transfer data with another module. The programmable controller according to claim 1, wherein:
【請求項6】 前記CPUモジュールは前記出力モジュ
ールに対してデータを送る場合マルチキャスト方式によ
り、前記出力モジュールは前記CPUモジュールに対し
てデータを送る場合トータルフレーム方式によりデータ
の転送を行うことを特徴とする請求項5記載のプログラ
マブルコントローラ。
6. The CPU module transmits data to the output module by a multicast method, and the output module transmits data to the CPU module by a total frame method. The programmable controller according to claim 5, wherein
【請求項7】 前記出力データ送信手段は、前記出力デ
ータを送信する出力モジュールで該出力データに対し他
のCPUモジュールからの出力データとの共有及び競合
制御を行う必要が無い時、該出力データの送信時、前記
共有マスクを送信しないことを特徴とする請求項1乃至
6の何れか1つに記載のプログラマブルコントローラ。
7. The output data transmitting means, when the output module for transmitting the output data does not need to share the output data with output data from another CPU module and perform conflict control. 7. The programmable controller according to claim 1, wherein the shared mask is not transmitted at the time of transmitting.
【請求項8】 前記CPUモジュールは、前記共有マス
クを前記出力データと共に送信したか否かを通知するデ
ータ転送モード制御ビットを生成するデータ転送モード
制御ビット生成手段を更に備え、前記出力データ送信手
段は、該データ転送モード制御ビットを前記出力データ
と共に送信し、前記共有及び競合制御手段は、該データ
転送モード制御ビットが前記共有マスクが前記出力デー
タと共に送信されていないことを示す時、該出力データ
のみから出力状態を決定することを特徴とする請求項7
記載のプログラマブルコントローラ。
8. The output data transmitting means, further comprising: a data transfer mode control bit generating means for generating a data transfer mode control bit for notifying whether or not the shared mask has been transmitted together with the output data. Transmits the data transfer mode control bit with the output data, and the sharing and contention control means outputs the data when the data transfer mode control bit indicates that the shared mask is not transmitted with the output data. 8. The output state is determined from only data.
The programmable controller as described.
【請求項9】 前記出力データ送信手段は、他のCPU
モジュールと共有及び競合する出力点を持つ出力モジュ
ールに対する出力指示を前記出力データとして送信する
時、前記共有マスクを該出力データと共に送信すること
を特徴とする請求項7に記載のプログラマブルコントロ
ーラ。
9. The output data transmitting means includes another CPU.
8. The programmable controller according to claim 7, wherein, when transmitting an output instruction to an output module having an output point shared and competing with a module as the output data, the shared mask is transmitted together with the output data.
【請求項10】 前記共有マスク生成手段は、出力モジ
ュールの他のCPUモジュールと競合しない出力点に対
応するビットを常時にセットし、競合する出力点に対応
するビットは出力条件成立時にセットし、前記出力デー
タ送信手段が出力データを送信するとリセットして前記
共有マスクを生成することを特徴とする請求項1乃至9
の何れか1つに記載のプログラマブルコントローラ。
10. The shared mask generating means always sets a bit corresponding to an output point not conflicting with another CPU module of the output module, and sets a bit corresponding to a conflicting output point when an output condition is satisfied. 10. The shared mask is generated by resetting when the output data transmitting means transmits output data.
The programmable controller according to any one of the above.
【請求項11】 前記CPUモジュールは、他のCPU
と競合する出力点へのデータの書込みがある場合、出力
データの書込みと共に対応する共有マスクの書き換えを
行う競合書込み用の書込み命令を備えることを特徴とす
る請求項1乃至10の何れか1つに記載のプログラマブ
ルコントローラ。
11. The CPU module may include another CPU.
11. A contention write command for rewriting a corresponding shared mask when writing data to an output point that conflicts with the output data is provided. 4. The programmable controller according to 1.
【請求項12】 CPUモジュールからの出力データを
自己の出力状態を変更するかどうかを指示する共有マス
クと共に受信する出力データ受信手段と、 前記出力データと共有マスクから出力状態を決定する共
有及び競合制御手段と、 を備えることを特徴とするプログラマブルコントローラ
の出力モジュール。
12. An output data receiving means for receiving output data from a CPU module together with a shared mask indicating whether to change its own output state, and sharing and competition for determining an output state from the output data and the shared mask. An output module of a programmable controller, comprising: a control unit.
【請求項13】 前記共有及び競合制御手段は、前記出
力データと共に前記共有マスクが送信されてこない時、
該出力データから出力状態を決定することを特徴とする
請求項12に記載のプログラマブルコントローラの出力
モジュール。
13. The sharing and contention control means, when the shared mask is not transmitted together with the output data,
13. The output module according to claim 12, wherein an output state is determined from the output data.
【請求項14】 出力モジュールに対して出力状態を変
更するかどうかを指示する共有マスクを生成する共有マ
スク生成手段と、 前記共有マスクを前記出力データと共に前記出力モジュ
ールに送信する出力データ送信手段と、 を備えることを特徴とするプログラマブルコントローラ
のCPUモジュール。
14. A shared mask generating means for generating a shared mask for instructing an output module whether to change an output state, and output data transmitting means for transmitting the shared mask to the output module together with the output data. A CPU module of a programmable controller, comprising:
【請求項15】 前記出力データ送信手段は、前記出力
データを送信する出力モジュールで該出力データに対し
他のCPUモジュールからの出力データとの共有及び競
合制御を必要としない時、該出力データの送信時、前記
共有マスクを送信しないことを特徴とする請求項14に
記載のプログラマブルコントローラのCPUモジュー
ル。
15. The output data transmitting means, when the output module for transmitting the output data does not need to share the output data with the output data from another CPU module and to control the contention of the output data, The CPU module of a programmable controller according to claim 14, wherein the transmission does not transmit the shared mask.
【請求項16】 マルチCPU構成のプログラマブルコ
ントローラを構成する全てのCPUモジュールのプログ
ラムを参照するプログラム参照手段と、 前記参照結果、前記プログラムに複数のCPUモジュー
ルが同じ出力モジュールの同じ出力点への出力を示す命
令を含む場合、該命令を競合書込み用の命令に変換する
競合書込み命令生成手段と、 を備えることを特徴とするプログラマブルコントローラ
のアプリケーションプログラム開発装置。
16. A program reference means for referring to programs of all CPU modules constituting a programmable controller having a multi-CPU configuration, wherein the reference result is such that a plurality of CPU modules output the same output module to the same output point in the program. And a competing write command generating means for converting the command into a competing write command when the command includes a command indicating:
【請求項17】 前記競合書込み用の命令に変換する部
分をユーザに通知するワーニング通知手段を更に備える
ことを特徴とする請求項16に記載のプログラマブルコ
ントローラのアプリケーションプログラム開発装置。
17. The programmable controller application program development apparatus according to claim 16, further comprising a warning notifying unit for notifying a user of a part to be converted into the conflicting write instruction.
【請求項18】 複数のCPUモジュールと少なくとも
1つの出力モジュールを備えるプログラマブルコントロ
ーラにおけるデータ出力の共有及び競合制御方法であっ
て、 前記各CPUモジュールが、 出力モジュールに対して出力状態を変更するかどうかを
指示する共有マスクを生成し、 前記出力モジュールに対する出力データを前記共有マス
クと共に送信し、 前記出力モジュールが、 前記CPUモジュールからの前記出力データを前記共有
マスクと共に受信し、 前記出力データと共有マスクから出力状態を決定する、 ことを特徴とするプログラマブルコントローラに於ける
データ出力の共有及び競合制御方法。
18. A method for controlling data output sharing and competition in a programmable controller having a plurality of CPU modules and at least one output module, wherein each of the CPU modules changes an output state with respect to an output module. Generating a shared mask instructing the output module and transmitting output data to the output module together with the shared mask; the output module receiving the output data from the CPU module together with the shared mask; A method of controlling data output sharing and competition in a programmable controller, comprising:
【請求項19】 前記CPUモジュールは、前記出力デ
ータに対し送信先の出力モジュールで他のCPUモジュ
ールからの出力データとの共有及び競合制御を必要とす
るかどうかを判断し、該判断結果、必要としない場合、
前記共有マスクを前記出力モジュールに送信しないこと
を特徴とする請求項18に記載のデータ出力の共有及び
競合制御方法。
19. The CPU module determines whether the output module of the transmission destination needs sharing and conflict control with output data from another CPU module for the output data. If not,
The method of claim 18, wherein the sharing mask is not transmitted to the output module.
JP33552599A 1999-03-30 1999-11-26 Programmable controller Expired - Lifetime JP4123660B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33552599A JP4123660B2 (en) 1999-03-30 1999-11-26 Programmable controller

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-90279 1999-03-30
JP9027999 1999-03-30
JP33552599A JP4123660B2 (en) 1999-03-30 1999-11-26 Programmable controller

Publications (2)

Publication Number Publication Date
JP2000347712A true JP2000347712A (en) 2000-12-15
JP4123660B2 JP4123660B2 (en) 2008-07-23

Family

ID=26431777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33552599A Expired - Lifetime JP4123660B2 (en) 1999-03-30 1999-11-26 Programmable controller

Country Status (1)

Country Link
JP (1) JP4123660B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058472A (en) * 2005-08-24 2007-03-08 Yokogawa Electric Corp Ladder program development support device
JP5186043B2 (en) * 2009-07-17 2013-04-17 富士通テレコムネットワークス株式会社 SNMP agent device and SNMP agent control method
KR20180123627A (en) * 2017-05-09 2018-11-19 지멘스 악티엔게젤샤프트 Automation system and method for operation

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058472A (en) * 2005-08-24 2007-03-08 Yokogawa Electric Corp Ladder program development support device
JP5186043B2 (en) * 2009-07-17 2013-04-17 富士通テレコムネットワークス株式会社 SNMP agent device and SNMP agent control method
KR20180123627A (en) * 2017-05-09 2018-11-19 지멘스 악티엔게젤샤프트 Automation system and method for operation
CN108873769A (en) * 2017-05-09 2018-11-23 西门子股份公司 Automated system and operation method
US10554441B2 (en) 2017-05-09 2020-02-04 Siemens Aktiengesellschaft Automation system and method for operation of the system
KR102080078B1 (en) 2017-05-09 2020-02-24 지멘스 악티엔게젤샤프트 Automation system and method for operation

Also Published As

Publication number Publication date
JP4123660B2 (en) 2008-07-23

Similar Documents

Publication Publication Date Title
US8774234B2 (en) Data processing apparatus, data processing method, and computer-readable storage medium
US7599998B2 (en) Message handling communication between a source processor core and destination processor cores
US6094532A (en) Multiprocessor distributed memory system and board and methods therefor
JP3807250B2 (en) Cluster system, computer and program
JPH0624372B2 (en) Method for diagnosing a first node to a second node in a local area network
JPS60160463A (en) Processor system
JPH06295336A (en) Video display device
WO1999022307A1 (en) Data interface and high-speed communication system using the same
EP0504414B1 (en) Message control system in a data communication system
JP4123660B2 (en) Programmable controller
JPH06139207A (en) System bus control method
EP0502215A1 (en) Message control system in a data communication system
JP3169856B2 (en) Multi-node information processing system
JP3466728B2 (en) Information processing system and method
JP2010245953A (en) Information processing apparatus and information processing method
US20250265108A1 (en) Communication device and communication method
JPH05342172A (en) Multiprocessor system
JP3799741B2 (en) Bus controller
JPH0562384B2 (en)
JP2705955B2 (en) Parallel information processing device
JPH07143148A (en) High-speed cyclic transmission device
JP3077992B2 (en) Data transmission equipment
JP2856709B2 (en) Bus coupling system
JPH07319823A (en) Inter-processor communication method
JP3938377B2 (en) Supervisory control device

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080321

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080415

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080428

R150 Certificate of patent or registration of utility model

Ref document number: 4123660

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140516

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term