JP3308813B2 - Programmable controller - Google Patents
Programmable controllerInfo
- Publication number
- JP3308813B2 JP3308813B2 JP14379796A JP14379796A JP3308813B2 JP 3308813 B2 JP3308813 B2 JP 3308813B2 JP 14379796 A JP14379796 A JP 14379796A JP 14379796 A JP14379796 A JP 14379796A JP 3308813 B2 JP3308813 B2 JP 3308813B2
- Authority
- JP
- Japan
- Prior art keywords
- programmable controller
- address
- operation result
- control
- processor
- 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.)
- Expired - Fee Related
Links
Landscapes
- Programmable Controllers (AREA)
- Testing And Monitoring For Control Systems (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は、複数のコントロー
ラが同じ制御プログラムを実行し、それぞれの演算結果
を相互に比較判定して制御を行う高信頼性のプログラマ
ブルコントローラに関する。[0001] 1. Field of the Invention [0002] The present invention relates to a highly reliable programmable controller in which a plurality of controllers execute the same control program and compare and judge the respective computation results to perform control.
【0002】[0002]
【従来の技術】プログラマブルコントローラは、加工、
組立て等のマシン制御、製造ラインの制御、鉄鋼や製紙
などのプラント制御、上下水道、ビル管理などの制御な
ど、産業システムの制御に広く利用されている。特に公
共システム、交通システムなど信頼性が要求される場合
には、複数のコントローラを用いて同じ制御プログラム
を実行させ、それぞれの演算結果を相互に比較し、正し
い演算結果を判定して制御を行う高信頼性のプログラマ
ブルコントローラが用いられる。2. Description of the Related Art Programmable controllers are used for processing,
It is widely used for controlling industrial systems such as machine control for assembly, control of production lines, plant control for steel and papermaking, water and sewage, and building management. In particular, when reliability is required, such as in public systems and transportation systems, the same control program is executed using a plurality of controllers, and the respective calculation results are compared with each other to determine a correct calculation result and perform control. A highly reliable programmable controller is used.
【0003】この種の高信頼性のプログラマブルコント
ローラの例を図4に示す。この例は、3つのプログラマ
ブルコントローラを用いた場合の例で、プログラマブル
コントローラ1、2、3は同じプログラムを実行してそ
れぞれの演算結果を相互比較し、多数決論理で正しい演
算結果を判断してプログラム制御を行う。FIG. 4 shows an example of such a highly reliable programmable controller. In this example, three programmable controllers are used. The programmable controllers 1, 2, and 3 execute the same program, compare the respective operation results with each other, determine the correct operation result by majority logic, and execute the program. Perform control.
【0004】各プログラマブルコントローラ1、2、3
は、制御演算を行うプロセッサ1−1、2−1、3−1
と、プログラマブルコントローラ自身のプロセッサが演
算結果を書込むと共に、他の2つのプログラマブルコン
トローラのそれぞれのプロセッサが演算結果を書込む2
つのデュアルポートメモリ1−2と1−3、2−2と2
−3、3−2と3−3とから構成される。[0004] Each programmable controller 1, 2, 3
Are processors 1-1, 2-1 and 3-1 for performing control operations.
And the processor of the programmable controller itself writes the operation result, and the processors of the other two programmable controllers write the operation result.
Dual port memories 1-2 and 1-3, 2-2 and 2
-3, 3-2 and 3-3.
【0005】プロセッサ1−1はバス1−12を介して
デュアルポートメモリ1−2と1−3に接続されると共
に、デュアルポートメモリ2−2と3−2に接続され
る。プロセッサ2−1はバス2−12を介してデュアル
ポートメモリ2−2と2−3に接続されると共に、デュ
アルポートメモリ1−2と3−3に接続される。プロセ
ッサ3−1はバス3−12を介してデュアルポートメモ
リ3−2と3−3に接続されると共に、デュアルポート
メモリ1−3と2−3に接続される。従って、プロセッ
サ1−1は演算結果をデュアルポートメモリ1−2、1
−3に書き込むと共に、デュアルポートメモリ2−2、
3−2に書き込むことができ、プロセッサ2−1は演算
結果をデュアルポートメモリ2−2、2−3に書き込む
と共に、デュアルポートメモリ1−2、3−3に書き込
むことができ、プロセッサ3−1は演算結果をデュアル
ポートメモリ3−2、3−3に書き込むと共に、デュア
ルポートメモリ1−3、2−3に書き込むことができ
る。The processor 1-1 is connected to dual port memories 1-2 and 1-3 via a bus 1-12 and to dual port memories 2-2 and 3-2. The processor 2-1 is connected to the dual port memories 2-2 and 2-3 via the bus 2-12 and to the dual port memories 1-2 and 3-3. The processor 3-1 is connected to the dual port memories 3-2 and 3-3 via the bus 3-12, and is also connected to the dual port memories 1-3 and 2-3. Accordingly, the processor 1-1 stores the operation result in the dual port memory 1-2, 1
-3, and the dual port memory 2-2,
3-2, the processor 2-1 can write the operation result to the dual port memories 2-2, 2-3, and also can write the operation result to the dual port memories 1-2, 3-3. 1 can write the operation result to the dual port memories 3-2 and 3-3 and also write the result to the dual port memories 1-3 and 2-3.
【0006】各プロセッサ1−1、2−1、3−1は、
図示しないプログラムメモリに格納された制御プログラ
ムに基づいてプログラムの制御演算(スキャン)を行
い、スキャンを行う度に互いに演算結果を照合して多数
決で決定した演算結果でプログラム制御を実行する。Each of the processors 1-1, 2-1 and 3-1 includes:
A control operation (scan) of the program is performed based on a control program stored in a program memory (not shown), and each time the scan is performed, the operation results are collated with each other, and the program control is executed based on the operation result determined by majority decision.
【0007】図5はプロセッサ1−1の照合処理を示し
たもので、1スキャンの制御演算(処理10)が終了す
ると、デュアルポートメモリ2−2と3−2に演算結果
の書き込み(転送)(処理11)を行い、デュアルポー
トメモリ1−2に書き込まれたプロセッサ2−1の演算
結果とデュアルポーメモリ1−3に書き込まれたプロセ
ッサ3−1の演算結果を読込み(処理12と13)、プ
ロセッサ1−1自身の演算結果と照合(比較)(処理1
4)を行い、3つのプログラマブルコントローラの演算
結果が全て等しいときはその演算結果は正常に行われた
と判断し、3つの演算結果の内2つの演算結果が等しく
1つの演算結果だけ異なるときは、その演算結果を破棄
して2つの等しい演算結果を採用し、多数決により1つ
の演算結果を決定する。プロセッサ2−1、3−1もプ
ロセッサ1−1と同様の照合処理を行う。FIG. 5 shows the collation processing of the processor 1-1. When the control operation of one scan (processing 10) is completed, the operation result is written (transferred) to the dual port memories 2-2 and 3-2. (Process 11) is performed, and the calculation result of the processor 2-1 written in the dual port memory 1-2 and the calculation result of the processor 3-1 written in the dual port memory 1-3 are read (Processes 12 and 13). , Collation (comparison) with the operation result of the processor 1-1 itself (Process 1
4) is performed, when all the operation results of the three programmable controllers are equal, it is determined that the operation results have been normally performed. When two operation results among the three operation results are equal and differ only by one operation result, The operation result is discarded, two equal operation results are adopted, and one operation result is determined by majority decision. The processors 2-1 and 3-1 also perform the same collation processing as the processor 1-1.
【0008】図6は各プロセッサのスキャン実行の進行
状態のタイミングを示したもので、1スキャンの制御演
算が終了すると互いに演算結果の転送処理を行い、転送
処理が終了すると転送された演算結果との比較(判定)
処理を行い、多数決により1つの演算結果を決定し、決
定された演算結果に基づいてプログラム制御が実行され
る。上述のようにして、3つのプログラマブルコントロ
ーラの演算結果の多数決によるプログラム制御が行われ
る。FIG. 6 shows the timing of the progress of the scan execution of each processor. When the control operation of one scan is completed, the operation results are transferred to each other. When the transfer operation is completed, the transferred operation results and Comparison (judgment)
Processing is performed, one operation result is determined by majority decision, and program control is executed based on the determined operation result. As described above, the program control is performed by the majority decision of the operation results of the three programmable controllers.
【0009】[0009]
【発明が解決しようとする課題】上述したように、従来
のプログラマブルコントローラでは、1スキャンの制御
演算が終了した後、互いに演算結果の転送処理を行い、
その後、演算結果の比較判定処理を行うのでスキャン時
間が長くなり、リアルタイム制御性が損なわれるという
問題がある。As described above, in the conventional programmable controller, after the control operation of one scan is completed, the operation results are transferred to each other.
After that, since the comparison and determination processing of the calculation result is performed, there is a problem that the scan time becomes longer and the real-time controllability is impaired.
【0010】本発明は上記問題に鑑みてなされたもの
で、その目的とするところは、比較判定に要する処理時
間を短くして高速スキャンを可能とし、リアルタイム制
御性の向上したプログラマブルコントローラを提供する
ことにある。SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and an object of the present invention is to provide a programmable controller which enables a high-speed scan by shortening the processing time required for comparison and judgment and has improved real-time controllability. It is in.
【0011】[0011]
【課題を解決するための手段】上記目的を達成するた
め、本発明のプログラマブルコントローラは、制御プロ
グラムをスキャンして制御演算を繰り返すプロセッサを
備えたプログラマブルコントローラにおいて、前記プロ
セッサは制御演算が終了する度に前記制御演算で求めた
複数の演算結果をアドレスの小さい順にデュアルポート
メモリに書き込み、前記プロセッサから出力される前記
アドレスと他のプログラマブルコントローラから同様に
して出力されるアドレスとを比較して値の小さい方のア
ドレスを選択し、前記デュアルポートメモリの選択され
たアドレスに書き込まれた演算結果を読み出す読出手段
と、読み出された演算結果と他のプログラマブルコント
ローラから同様にして読み出された演算結果が等しいと
き正常動作と判定する判定手段を備え、2台のプログラ
マブルコントローラが同じ制御プログラムに基づいて制
御演算を行い、スキャンの開始時点を同期させ、複数の
演算結果の書き込みと読み出し及び比較判定を平行して
行う。(請求項1) また、制御プログラムをスキャンして制御演算を繰り返
すプロセッサを備えたプログラマブルコントローラにお
いて、前記プロセッサは制御演算が終了する度に前記制
御演算で求めた複数の演算結果をアドレスの小さい順に
デュアルポートメモリに書き込み、前記プロセッサから
出力される前記アドレスと他の複数のプログラマブルコ
ントローラから同様にして出力される複数のアドレスと
を比較して最も小さい値のアドレスを選択し、前記デュ
アルポートメモリの選択されたアドレスに書き込まれた
演算結果を読み出す読出手段と、読み出された演算結果
と他の複数のプログラマブルコントローラから同様にし
て読み出された複数の演算結果とを比較して多数決論理
により1つの演算結果を決定する判定手段を備え、少な
くとも3台のプログラマブルコントローラが同じ制御プ
ログラムに基づいて制御演算を行い、スキャンの開始時
点を同期させ、複数の演算結果の書き込みと読み出し及
び比較判定を平行して行う。(請求項2) 更に、前記読出手段は、入力側が前記プロセッサが前記
デュアルポートメモリに演算結果を書き込むためのアド
レスバスと制御バス及び他のプログラマブルコントロー
ラから引き出された同様のアドレスバスと制御バスに接
続され、出力側が前記デュアルポートメモリから演算結
果を読み出すためのアドレスバスと制御バスに接続さ
れ、入力された複数のアドレスを比較して最小値のアド
レスを選択出力すると共に、リードコマンドを出力する
アドレス・コマンド生成手段を備えて構成する。(請求
項3) 更に、前記判定手段は、前記デュアルポートメモリから
演算結果を読み出すためのデータバス及び他のプログラ
マブルコントローラから引き出された同様のデータバス
に接続され、読み出された複数の演算結果を比較判定し
て1つの演算結果を決定するデータ比較手段を備えて構
成する。(請求項4) 更に、前記プロセッサが制御演算を終了して前記デュア
ルポートメモリに複数の演算結果の書き込みを行う場
合、書き込み開始が他のプログラマブルコントローラの
書き込み開始より早いとき、他のプログラマブルコント
ローラからアドレスが与えられるまで演算結果の読み出
しを待ち状態とする調停手段を備え、演算結果の読み出
しを同期させる。(請求項5) 更に、前記判定手段が複数の演算結果を比較して演算結
果に相違があると判定した場合、デュアルポートメモリ
の読み出しアドレスと各演算結果と該演算結果を出力し
たプログラマブルコントローラを区別する種別データを
保存するメンテナンスメモリを備える。(請求項6)In order to achieve the above object, a programmable controller according to the present invention comprises a processor which scans a control program and repeats a control operation. The plurality of operation results obtained by the control operation are written to a dual-port memory in ascending order of address, and the address output from the processor is compared with the address output from another programmable controller in the same manner to obtain a value. Reading means for selecting a smaller address and reading an operation result written in the selected address of the dual port memory; and a read operation result and an operation result similarly read from another programmable controller. Normal operation when Comprising a determination unit, two programmable controller performs control calculation based on the same control program, to synchronize the start of the scan is performed in parallel with writing and reading and the comparison determination of the plurality of operation results. In a programmable controller having a processor that scans a control program and repeats a control operation, the processor sorts a plurality of operation results obtained by the control operation in ascending order of address each time the control operation ends. Writing to a dual-port memory, comparing the address output from the processor with a plurality of addresses similarly output from a plurality of other programmable controllers and selecting an address with the smallest value, Reading means for reading the operation result written at the selected address; comparing the read operation result with a plurality of operation results similarly read from another plurality of programmable controllers; Judgment means for determining one calculation result, and at least Also, the three programmable controllers perform control calculations based on the same control program, synchronize the scan start time, and write, read, and compare and determine a plurality of calculation results in parallel. (Claim 2) Further, the reading means may be configured such that an input side includes an address bus and a control bus for the processor to write an operation result to the dual port memory, and a similar address bus and control bus drawn from another programmable controller. The output side is connected to an address bus and a control bus for reading an operation result from the dual-port memory, and a plurality of input addresses are compared to select and output a minimum address and output a read command. It comprises address / command generating means. (Claim 3) Further, the determination means is connected to a data bus for reading the operation result from the dual port memory and a similar data bus drawn from another programmable controller, and the plurality of read operation results are read out. And a data comparing means for comparing and judging to determine one operation result. (Claim 4) Further, when the processor finishes the control operation and writes a plurality of operation results to the dual port memory, when the start of writing is earlier than the start of writing of the other programmable controller, Arbitration means for waiting for reading of the operation result until an address is provided is provided, and reading of the operation result is synchronized. (Claim 5) When the determining means determines that there is a difference in the calculation results by comparing the plurality of calculation results, the read address of the dual port memory, each calculation result, and the programmable controller that outputs the calculation result are determined. A maintenance memory for storing the type data to be distinguished is provided. (Claim 6)
【0012】[0012]
【発明の実施の形態】本発明のプログラマブルコントロ
ーラの一実施例を図1に示す。この実施例は3つのプロ
グラマブルコントローラ1、2、3を用いた例である。
各プログラマブルコントローラ1、2、3は、プロセッ
サ1−1、2−1、3−1と、デュアルポートメモリ1
−2、2−2、3−2と、アドレス・コマンド生成回路
(読出手段)1−4、2−4、3−4と、データ比較回
路(判定手段)1−5、2−5、3−5をそれぞれ備
え、各プロセッサ1は、図示しないプログラムメモリに
格納された同一の制御プログラムをスキャンして制御演
算を行い、スキャンを行う度に演算結果をそれぞれのデ
ュアルポートメモリ2に書き込みを行う。各アドレス・
コマンド生成回路4は、各プロセッサ1が演算結果の書
き込みを行うとき、制御バス1−6、2−6、3−6を
介して3つのライトコマンドが入力されると共に、アド
レスバス1−7、2−7、3−7を介して3つのアドレ
スが入力され、最も小さい値のアドレスをアドレスバス
1−10、2−10、3−10を介して出力すると共
に、制御バス1−9、2−9、3−9を介してリードコ
マンドを出力し、デュアルポートメモリ2に書き込まれ
た演算結果の読み出しを行う。各データ比較回路5は、
各デュアルポートメモリ2から読み出された各プロセッ
サの演算結果がデータバス1−11、2−11、3−1
1を介して入力され、3つの演算結果から多数決論理に
より1つの演算結果を決定する。FIG. 1 shows an embodiment of a programmable controller according to the present invention. This embodiment is an example using three programmable controllers 1, 2, and 3.
Each of the programmable controllers 1, 2, and 3 includes a processor 1-1, 2-1 and 3-1 and a dual port memory 1
-2, 2-2, 3-2, address / command generating circuits (reading means) 1-4, 2-4, 3-4, and data comparing circuits (determining means) 1-5, 2-5, 3 Each processor 1 scans the same control program stored in a program memory (not shown) to perform a control operation, and writes the operation result to the dual port memory 2 each time the scan is performed. . Each address
When each processor 1 writes an operation result, the command generation circuit 4 receives three write commands via the control buses 1-6, 2-6, and 3-6, and outputs the address bus 1-7, Three addresses are input via 2-7 and 3-7, the address having the smallest value is output via address buses 1-10, 2-10 and 3-10, and the control buses 1-9 and 2-9 are output. A read command is output through -9 and 3-9, and the operation result written in the dual port memory 2 is read. Each data comparison circuit 5
The operation result of each processor read from each dual port memory 2 is transmitted to data buses 1-11, 2-11, and 3-1.
1, and one operation result is determined from the three operation results by majority logic.
【0013】上記構成において、各プロセッサ1は、図
示しないプログラムメモリに格納された同一の制御プロ
グラムに基づいてスキャンし、プログラムの制御演算を
実行する。この場合、スキャンの開始時点を同期させ、
スキャンを行う度に、図2に示すように、互いに演算結
果を照合して多数決で決定した演算結果でプログラム制
御を実行する。すなわち、1スキャンにおける制御演算
(処理20)が終了すると、各プロセッサ1は、制御演
算で求めた複数の演算結果を各データバス1−8、2−
8、3−8を介して各デュアルポートメモリ2に書き込
みを行う(処理21)。この際に各デュアルポートメモ
リのアドレスの小さい順に書き込みが行われる。また、
各プロセッサ1から出力された書き込みのためのライト
コマンドとアドレスが制御バス1−6、2−6、3−6
とアドレスバス1−7、2−7、3−7を介して各アド
レス・コマンド生成回路4に入力され、各アドレス・コ
マンド生成回路4は各アドレスを比較して最も小さいア
ドレスを選択し、アドレスバス1−10、2−10、3
−10を介して出力し、同時に制御バス1−9、2−
9、3−9を介してリードコマンドを出力する。従っ
て、各デュアルポートメモリ2に書き込まれた演算結果
がデータバス1−11、2−11、3−11に読み出さ
れる。(処理24)。この場合、各プロセッサ1の書き
込み開始時点のタイミングが全て一致していれば各アド
レス・コマンド生成回路4に入力されるアドレスが全て
一致し、演算結果の書き込み後、直ちに読み出しが行わ
れ、書き込みと読み出しが平行して行われる。In the above configuration, each processor 1 scans based on the same control program stored in a program memory (not shown), and executes a control operation of the program. In this case, you can synchronize the start of the scan,
Each time a scan is performed, as shown in FIG. 2, the program control is executed based on the operation result determined by majority decision by comparing the operation results with each other. That is, when the control operation (process 20) in one scan is completed, each processor 1 transmits a plurality of operation results obtained by the control operation to each of the data buses 1-8 and 2-8.
The data is written to each dual port memory 2 via 8 and 3-8 (process 21). At this time, writing is performed in ascending order of the address of each dual port memory. Also,
The write command and address output from each processor 1 for writing are stored in the control buses 1-6, 2-6, and 3-6.
Is input to each address / command generation circuit 4 via the address buses 1-7, 2-7, 3-7, and each address / command generation circuit 4 compares each address and selects the smallest address. Buses 1-10, 2-10, 3
-10, and at the same time control buses 1-9, 2-
A read command is output through 9, 3-9. Therefore, the operation result written in each dual port memory 2 is read out to the data buses 1-11, 2-11 and 3-11. (Process 24). In this case, if the timings at the start of writing of the processors 1 all match, the addresses input to the address / command generation circuits 4 all match, and immediately after the operation result is written, reading is performed. Reading is performed in parallel.
【0014】しかし、何らかの原因により各プロセッサ
1の書き込み開始時点のタイミングに時間差が生じたと
き、各アドレス・コマンド生成回路4は全てのプロセッ
サからアドレスが与えられるまで機能を停止し(処理2
3)、先行のプロセッサは演算結果の書き込みのみを行
う。最後に書き込みを開始したプロセッサからアドレス
が与えられると各アドレス・コマンド生成回路4は最も
小さいアドレスを選択し、最後に書き込みを開始したプ
ロセッサから与えられたアドレスを出力し演算結果の読
み出しが行われる。また、先行のプロセッサが書き込み
を終了したとき、そのアドレス・コマンド生成回路4は
全てのアドレスが一致するまで最後のアドレスを保持す
る。従って、この場合、演算結果の書き込み後、数ステ
ップ遅れて読み出しが行われ、書き込みと読み出しが平
行して行われる。図3はこの場合のタイミング図を示し
たものである。However, when there is a time difference between the timings at the start of writing of each processor 1 for some reason, each address / command generating circuit 4 stops its function until an address is given from all processors (processing 2).
3), the preceding processor writes only the operation result. When an address is given from the processor that has started writing last, each address / command generation circuit 4 selects the smallest address, outputs the address given from the processor that has started writing last, and reads the operation result. . When the preceding processor finishes writing, the address / command generation circuit 4 holds the last address until all addresses match. Therefore, in this case, after the calculation result is written, reading is performed with a delay of several steps, and writing and reading are performed in parallel. FIG. 3 shows a timing chart in this case.
【0015】このようにしてプログラマブルコントロー
ラ1、2、3のデュアルポートメモリ2から読み出され
たそれぞれの演算結果がデータ比較回路5に入力される
度に、各データ比較回路5は該複数の演算結果を比較し
多数決論理により1つの演算結果を決定する(処理2
5)。全ての演算結果の書き込みと読み出しが終了する
と次のスキャンの開始が可能となる(処理27)。Each time the operation results read from the dual port memories 2 of the programmable controllers 1, 2, and 3 are input to the data comparison circuit 5, each data comparison circuit 5 The results are compared and one operation result is determined by majority logic (Process 2
5). When writing and reading of all calculation results are completed, the next scan can be started (process 27).
【0016】上述したように、本実施例によれば、複数
のプログラマブルコントローラの制御プログラムのスキ
ャン開始時点のみを同期させれば、プロセッサの命令実
行レベルのクロックを完全に同期させなくても、各プロ
グラマブルコントローラ間の演算結果の相互比較が可能
となり、判定処理時間をほぼ転送(書き込み)処理時間
内で行わせることができる。As described above, according to the present embodiment, by synchronizing only the scan start points of the control programs of the plurality of programmable controllers, it is possible to completely synchronize the instruction execution level clocks of the processors without completely synchronizing them. The mutual comparison of the calculation results between the programmable controllers becomes possible, and the determination processing time can be performed almost within the transfer (write) processing time.
【0017】なお、各データ比較回路5が複数の演算結
果を比較して演算結果に相違があると判定した場合、デ
ュアルポートメモリ2の読み出しアドレスと各演算結果
と該演算結果を出力したプログラマブルコントローラを
区別する種別データを格納するメンテナンスメモリを設
け、格納されたデータを監視することで異常動作のプロ
グラマブルコントローラの発見を容易にし保全性を良く
することができる。When each data comparison circuit 5 compares the plurality of operation results and determines that there is a difference between the operation results, the read address of the dual port memory 2, each operation result, and the programmable controller that outputs the operation result By providing a maintenance memory for storing type data for distinguishing the programmable controllers, and by monitoring the stored data, it is possible to easily find a programmable controller having an abnormal operation and improve the maintainability.
【0018】以上の説明では、3台のプログラマブルコ
ントローラを用いる例で説明したが、3台以上で実施す
ることができる。また、データ比較回路1−5、2−
5、3−5を2つの演算結果を比較して一致していると
きは正常と判定し、一致していないときは過去の演算結
果を参照する等の処理をして1つの演算結果を出力する
機能とし、2台のプログラマブルコントローラを用いて
実施することもできる。In the above description, an example in which three programmable controllers are used has been described. However, three or more programmable controllers can be used. Also, the data comparison circuits 1-5, 2-
Compare the two calculation results with 5 and 3-5 and determine that they are normal. If they do not match, perform processing such as referring to past calculation results and output one calculation result. Function can be implemented using two programmable controllers.
【0019】[0019]
【発明の効果】本発明によれば、複数のプログラマブル
コントローラを同じ制御プログラムでスキャンさせ演算
結果を相互比較してプログラム制御を実行する場合に、
制御プログラムのスキャン開始時点のみを同期させれ
ば、プロセッサの命令実行レベルのクロックを完全に同
期させなくても、複数の演算結果の書き込みと読み出し
及び比較判定を平行して行うことが可能となり、演算結
果を転送するバックグラウンドで同時に演算結果の比較
を行い、相互比較のための処理時間を短くすることがで
き、高速スキャン実行を可能としリアルタイム制御性の
向上したプログラマブルコントローラを提供することが
できる。According to the present invention, when a plurality of programmable controllers are scanned by the same control program and the operation results are compared with each other to execute program control,
By synchronizing only the scan start time of the control program, it is possible to perform writing, reading, and comparison judgment of a plurality of operation results in parallel without completely synchronizing the clock of the instruction execution level of the processor, The operation results can be compared simultaneously in the background for transferring the operation results, the processing time for the inter-comparison can be shortened, a high-speed scan can be performed, and a programmable controller with improved real-time controllability can be provided. .
【図1】本発明によるプログラマブルコントローラの一
実施例の構成図。FIG. 1 is a configuration diagram of an embodiment of a programmable controller according to the present invention.
【図2】上記実施例の作用を説明するためのフローチャ
ート。FIG. 2 is a flowchart for explaining the operation of the embodiment.
【図3】上記実施例の作用を説明するためのタイミング
図。FIG. 3 is a timing chart for explaining the operation of the embodiment.
【図4】従来のプログラマブルコントローラの構成図。FIG. 4 is a configuration diagram of a conventional programmable controller.
【図5】上記従来装置の作用を説明するためのフローチ
ャート。FIG. 5 is a flowchart for explaining the operation of the conventional device.
【図6】上記従来装置の作用を説明するためのタイミン
グ図。FIG. 6 is a timing chart for explaining the operation of the conventional device.
1 、2 、3 …プログラマブルコント
ローラ 1− 1、2− 1、3− 1…プロセッサ 1− 2、2− 2、3− 2…デュアルポートメモリ 1− 4、2− 4、3− 4…アドレス・コマンド生
成回路(読出手段) 1− 5、2− 5、3− 5…データ比較回路(判定
手段) 1− 6、2− 6、3− 6…制御バス(ライトコマ
ンド) 1− 7、2− 7、3− 7…アドレスバス(書き込
み) 1− 8、2− 8、3− 8…データバス(書き込
み) 1− 9、2− 9、3− 9…制御バス(リードコマ
ンド) 1−10、2−10、3−10…アドレスバス(読み出
し) 1−11、2−11、3−11…データバス(読み出
し)1, 2, 3 ... programmable controller 1-1, 2-1, 3-1 ... processor 1-2, 2-2, 3-2 ... dual port memory 1-4, 2-4, 3-4 ... address Command generation circuit (reading means) 1-5, 2-5, 3-5 ... data comparison circuit (judgment means) 1-6, 2-6, 3-6 ... control bus (write command) 1-7, 2- 7, 3-7 ... address bus (write) 1-8, 2-8, 3-8 ... data bus (write) 1-9, 2-9, 3-9 ... control bus (read command) 1-10, 2-10, 3-10: Address bus (read) 1-11, 2-11, 3-11: Data bus (read)
Claims (6)
繰り返すプロセッサを備えたプログラマブルコントロー
ラにおいて、前記プロセッサは制御演算が終了する度に
前記制御演算で求めた複数の演算結果をアドレスの小さ
い順にデュアルポートメモリに書き込み、前記プロセッ
サから出力される前記アドレスと他のプログラマブルコ
ントローラから同様にして出力されるアドレスとを比較
して値の小さい方のアドレスを選択し、前記デュアルポ
ートメモリの選択されたアドレスに書き込まれた演算結
果を読み出す読出手段と、読み出された演算結果と他の
プログラマブルコントローラから同様にして読み出され
た演算結果が等しいとき正常動作と判定する判定手段を
備え、2台のプログラマブルコントローラが同じ制御プ
ログラムに基づいて制御演算を行い、スキャンの開始時
点を同期させ、複数の演算結果の書き込みと読み出し及
び比較判定を平行して行うことを特徴とするプログラマ
ブルコントローラ。1. A programmable controller comprising a processor which scans a control program and repeats a control operation, wherein the processor reads a plurality of operation results obtained by the control operation each time the control operation ends, in ascending order of address. Write to a memory, compare the address output from the processor and the address similarly output from another programmable controller, select the smaller address, select the address of the dual port memory Reading means for reading the written operation result; and determining means for judging a normal operation when the read operation result is equal to the operation result similarly read from another programmable controller. Are based on the same control program Performs control operation, synchronizing the start time point of the scan, the programmable controller and performing in parallel a plurality of operation results in writing and reading and comparison determination.
繰り返すプロセッサを備えたプログラマブルコントロー
ラにおいて、前記プロセッサは制御演算が終了する度に
前記制御演算で求めた複数の演算結果をアドレスの小さ
い順にデュアルポートメモリに書き込み、前記プロセッ
サから出力される前記アドレスと他の複数のプログラマ
ブルコントローラから同様にして出力される複数のアド
レスとを比較して最も小さい値のアドレスを選択し、前
記デュアルポートメモリの選択されたアドレスに書き込
まれた演算結果を読み出す読出手段と、読み出された演
算結果と他の複数のプログラマブルコントローラから同
様にして読み出された複数の演算結果とを比較して多数
決論理により1つの演算結果を決定する判定手段を備
え、少なくとも3台のプログラマブルコントローラが同
じ制御プログラムに基づいて制御演算を行い、スキャン
の開始時点を同期させ、複数の演算結果の書き込みと読
み出し及び比較判定を平行して行うことを特徴とするプ
ログラマブルコントローラ。2. A programmable controller comprising a processor that scans a control program and repeats a control operation, wherein the processor reads a plurality of operation results obtained by the control operation each time the control operation is completed in the order of smaller addresses. Write to a memory, compare the address output from the processor with a plurality of addresses similarly output from a plurality of other programmable controllers, select the address with the smallest value, and select the dual port memory. Reading means for reading out the operation result written to the read address, and comparing the read operation result with a plurality of operation results similarly read from a plurality of other programmable controllers to perform one operation by majority logic. Equipped with determination means for determining results, at least three Programmable controller programmable controller performs control calculation based on the same control program, to synchronize the start of the scan, and performs in parallel a plurality of writing and reading and comparison and determination of the calculation results.
ブルコントローラにおいて、前記読出手段は、入力側が
前記プロセッサが前記デュアルポートメモリに演算結果
を書き込むためのアドレスバスと制御バス及び他のプロ
グラマブルコントローラから引き出された同様のアドレ
スバスと制御バスに接続され、出力側が前記デュアルポ
ートメモリから演算結果を読み出すためのアドレスバス
と制御バスに接続され、入力された複数のアドレスを比
較して最小値のアドレスを選択出力すると共に、リード
コマンドを出力するアドレス・コマンド生成手段を備え
て構成することを特徴とするプログラマブルコントロー
ラ。3. The programmable controller according to claim 1, wherein said read means includes an address bus, a control bus, and another programmable controller on an input side for said processor to write an operation result to said dual port memory. The output side is connected to an address bus and a control bus for reading out the operation result from the dual port memory, and a plurality of input addresses are compared to obtain a minimum value. A programmable controller comprising address / command generating means for selectively outputting an address and outputting a read command.
ブルコントローラにおいて、前記判定手段は、前記デュ
アルポートメモリから演算結果を読み出すためのデータ
バス及び他のプログラマブルコントローラから引き出さ
れた同様のデータバスに接続され、読み出された複数の
演算結果を比較判定して1つの演算結果を決定するデー
タ比較手段を備えて構成することを特徴とするプログラ
マブルコントローラ。4. The programmable controller according to claim 1, wherein said determination means includes a data bus for reading an operation result from said dual-port memory and a similar data bus drawn from another programmable controller. And a data controller for comparing and judging a plurality of read operation results to determine one operation result.
ブルコントローラにおいて、前記プロセッサが制御演算
を終了して前記デュアルポートメモリに複数の演算結果
の書き込みを行う場合、書き込み開始が他のプログラマ
ブルコントローラの書き込み開始より早いとき、他のプ
ログラマブルコントローラからアドレスが与えられるま
で演算結果の読み出しを待ち状態とする調停手段を備
え、演算結果の読み出しを同期させることを特徴とする
プログラマブルコントローラ。5. The programmable controller according to claim 1, wherein when the processor finishes the control operation and writes a plurality of operation results to the dual port memory, the start of writing is performed by another programmable controller. A arbitration unit that waits for reading of the operation result until an address is given from another programmable controller when the writing of the operation result is earlier than the start of writing, and synchronizes the reading of the operation result.
ブルコントローラにおいて、前記判定手段が複数の演算
結果を比較して演算結果に相違があると判定した場合、
デュアルポートメモリの読み出しアドレスと各演算結果
と該演算結果を出力したプログラマブルコントローラを
区別する種別データを保存するメンテナンスメモリを備
えたことを特徴とするプログラマブルコントローラ。6. The programmable controller according to claim 1, wherein said determination means compares a plurality of calculation results and determines that there is a difference between the calculation results.
A programmable controller comprising: a maintenance memory for storing a read address of a dual port memory, each operation result, and type data for distinguishing a programmable controller that has output the operation result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14379796A JP3308813B2 (en) | 1996-06-06 | 1996-06-06 | Programmable controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14379796A JP3308813B2 (en) | 1996-06-06 | 1996-06-06 | Programmable controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09325803A JPH09325803A (en) | 1997-12-16 |
JP3308813B2 true JP3308813B2 (en) | 2002-07-29 |
Family
ID=15347213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14379796A Expired - Fee Related JP3308813B2 (en) | 1996-06-06 | 1996-06-06 | Programmable controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3308813B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6145987B2 (en) * | 2012-10-15 | 2017-06-14 | 富士電機株式会社 | Programmable controller, programmable controller data backup method, programmable controller activation method |
-
1996
- 1996-06-06 JP JP14379796A patent/JP3308813B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09325803A (en) | 1997-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0330475B1 (en) | Configuration control system | |
JPS63238630A (en) | Interruption controller for microprocessor | |
JP3308813B2 (en) | Programmable controller | |
US5978897A (en) | Sequence operation processor employing multi-port RAMs for simultaneously reading and writing | |
JP2011123756A (en) | Safety control device and safety control program therefor | |
JP2000253094A (en) | Method and equipment for serial communication | |
US5303345A (en) | Method for controlling data sending and receiving operations of a microprocessor | |
JPS62135038A (en) | Data communications system for slave processor | |
JPH02264352A (en) | Multiprocessor synchronization method | |
JP2002215421A (en) | Debugging device and breaking method for debugging device | |
JPH03268007A (en) | Sequence controller | |
JPS58178454A (en) | Memory controlling system | |
JPH08212093A (en) | Fault tolerant computer system | |
KR100253790B1 (en) | How to interface medium and large computer controller boards | |
JP2555580B2 (en) | Storage device control system | |
JP2002207607A (en) | Fail-safe computer system | |
JPH07230304A (en) | Dual control method for pc system | |
JPH05233525A (en) | Input/otuput processor | |
JPH02217924A (en) | Store processing method of data processing device | |
JPH05120215A (en) | Input/output controller | |
JPH0332103B2 (en) | ||
JPS61122771A (en) | Multi-microprocessor system | |
JP2000242317A (en) | Programmable controller | |
JPH01255932A (en) | Instruction processor | |
JPH06223046A (en) | Bus tracing execution method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090517 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090517 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100517 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110517 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110517 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120517 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120517 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130517 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130517 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140517 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |