JPH09325803A - Programmable controller - Google Patents

Programmable controller

Info

Publication number
JPH09325803A
JPH09325803A JP14379796A JP14379796A JPH09325803A JP H09325803 A JPH09325803 A JP H09325803A JP 14379796 A JP14379796 A JP 14379796A JP 14379796 A JP14379796 A JP 14379796A JP H09325803 A JPH09325803 A JP H09325803A
Authority
JP
Japan
Prior art keywords
programmable controller
address
operation result
processor
control
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
JP14379796A
Other languages
Japanese (ja)
Other versions
JP3308813B2 (en
Inventor
Hiroyuki Kusakabe
宏之 日下部
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP14379796A priority Critical patent/JP3308813B2/en
Publication of JPH09325803A publication Critical patent/JPH09325803A/en
Application granted granted Critical
Publication of JP3308813B2 publication Critical patent/JP3308813B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten the processing time required for comparison and judgement, to attain high speed scanning and to improve the real time-controllability. SOLUTION: At the end of one scanning control operation, each processor 1 writes its operation result in a dual port memory 2 in the ascending order of addresses. In this case, respective writing addresses are inputted to each reading means 4, the smallest address value is selected, the operation result written in the memory 2 is immediately read out based on the selected address and a judging means 5 compares the read operation result with an operation result similarly read out from another programmable controller to judge the result and outputs one operation result to execute the writing, reading and comparison/judgement of plural operation results in parallel. Program control is executed based on the judged operation result.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、複数のコントロー
ラが同じ制御プログラムを実行し、それぞれの演算結果
を相互に比較判定して制御を行う高信頼性のプログラマ
ブルコントローラに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention 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 operation results with each other for control.

【0002】[0002]

【従来の技術】プログラマブルコントローラは、加工、
組立て等のマシン制御、製造ラインの制御、鉄鋼や製紙
などのプラント制御、上下水道、ビル管理などの制御な
ど、産業システムの制御に広く利用されている。特に公
共システム、交通システムなど信頼性が要求される場合
には、複数のコントローラを用いて同じ制御プログラム
を実行させ、それぞれの演算結果を相互に比較し、正し
い演算結果を判定して制御を行う高信頼性のプログラマ
ブルコントローラが用いられる。
2. Description of the Related Art Programmable controllers are
It is widely used for control of industrial systems such as machine control for assembly and the like, control for production lines, plant control for steel and paper manufacturing, water and sewerage, building management, and so on. Especially when reliability is required for public systems and transportation systems, the same control program is executed using multiple controllers, the results of each operation are compared with each other, and the correct operation results are determined to perform control. A highly reliable programmable controller is used.

【0003】この種の高信頼性のプログラマブルコント
ローラの例を図4に示す。この例は、3つのプログラマ
ブルコントローラを用いた場合の例で、プログラマブル
コントローラ1、2、3は同じプログラムを実行してそ
れぞれの演算結果を相互比較し、多数決論理で正しい演
算結果を判断してプログラム制御を行う。
An example of a highly reliable programmable controller of this type is shown in FIG. In this example, three programmable controllers are used, and the programmable controllers 1, 2, and 3 execute the same program and mutually compare the respective operation results, and judge the correct operation result by the majority logic and execute the program. Take 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とから構成される。
Each programmable controller 1, 2, 3
Is a processor 1-1, 2-1, 3-1 that performs control calculation
And the processor of the programmable controller itself writes the operation result, and each processor of the other two programmable controllers writes the operation result 2
Two 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 the dual port memories 1-2 and 1-3 and the dual port memories 2-2 and 3-2 via the bus 1-12. The processor 2-1 is connected to the dual port memories 2-2 and 2-3 and the dual port memories 1-2 and 3-3 via the bus 2-12. 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. Therefore, the processor 1-1 outputs the operation result to the dual port memories 1-2, 1
-3 while writing to the dual port memory 2-2,
3-2, the processor 2-1 can write the calculation result to the dual-port memories 2-2 and 2-3 and the dual-port memories 1-2 and 3-3, and the processor 3- 1 can write the calculation result to the dual port memories 3-2 and 3-3 and the dual port memories 1-3 and 2-3.

【0006】各プロセッサ1−1、2−1、3−1は、
図示しないプログラムメモリに格納された制御プログラ
ムに基づいてプログラムの制御演算(スキャン)を行
い、スキャンを行う度に互いに演算結果を照合して多数
決で決定した演算結果でプログラム制御を実行する。
Each of the processors 1-1, 2-1, 3-1 is
A control calculation (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 calculation results are collated with each other and the program control is executed with the calculation result determined by the majority vote.

【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 verification process of the processor 1-1. When the control operation (process 10) for one scan is completed, the operation result is written (transferred) to the dual port memories 2-2 and 3-2. (Processing 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). , Comparison (comparison) with the calculation 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 result is normally performed, and when two operation results out of the three operation results are equal and only one operation result is different, The calculation result is discarded, two equal calculation results are adopted, and one calculation result is decided by majority vote. The processors 2-1 and 3-1 also perform the same matching process 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. Comparison (judgment)
Processing is performed, one operation result is determined by majority, and program control is executed based on the determined operation result. As described above, program control is performed by majority voting of the calculation results of the three programmable controllers.

【0009】[0009]

【発明が解決しようとする課題】上述したように、従来
のプログラマブルコントローラでは、1スキャンの制御
演算が終了した後、互いに演算結果の転送処理を行い、
その後、演算結果の比較判定処理を行うのでスキャン時
間が長くなり、リアルタイム制御性が損なわれるという
問題がある。
As described above, in the conventional programmable controller, after the control operation for 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, the scanning time becomes long, and there is a problem that the real-time controllability is impaired.

【0010】本発明は上記問題に鑑みてなされたもの
で、その目的とするところは、比較判定に要する処理時
間を短くして高速スキャンを可能とし、リアルタイム制
御性の向上したプログラマブルコントローラを提供する
ことにある。
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 shortens the processing time required for comparison and determination, enables high-speed scanning, and has improved real-time controllability. Especially.

【0011】[0011]

【課題を解決するための手段】上記目的を達成するた
め、本発明のプログラマブルコントローラは、制御プロ
グラムをスキャンして制御演算を繰り返すプロセッサを
備えたプログラマブルコントローラにおいて、前記プロ
セッサは制御演算が終了する度に前記制御演算で求めた
複数の演算結果をアドレスの小さい順にデュアルポート
メモリに書き込み、前記プロセッサから出力される前記
アドレスと他のプログラマブルコントローラから同様に
して出力されるアドレスとを比較して値の小さい方のア
ドレスを選択し、前記デュアルポートメモリの選択され
たアドレスに書き込まれた演算結果を読み出す読出手段
と、読み出された演算結果と他のプログラマブルコント
ローラから同様にして読み出された演算結果が等しいと
き正常動作と判定する判定手段を備え、2台のプログラ
マブルコントローラが同じ制御プログラムに基づいて制
御演算を行い、スキャンの開始時点を同期させ、複数の
演算結果の書き込みと読み出し及び比較判定を平行して
行う。(請求項1) また、制御プログラムをスキャンして制御演算を繰り返
すプロセッサを備えたプログラマブルコントローラにお
いて、前記プロセッサは制御演算が終了する度に前記制
御演算で求めた複数の演算結果をアドレスの小さい順に
デュアルポートメモリに書き込み、前記プロセッサから
出力される前記アドレスと他の複数のプログラマブルコ
ントローラから同様にして出力される複数のアドレスと
を比較して最も小さい値のアドレスを選択し、前記デュ
アルポートメモリの選択されたアドレスに書き込まれた
演算結果を読み出す読出手段と、読み出された演算結果
と他の複数のプログラマブルコントローラから同様にし
て読み出された複数の演算結果とを比較して多数決論理
により1つの演算結果を決定する判定手段を備え、少な
くとも3台のプログラマブルコントローラが同じ制御プ
ログラムに基づいて制御演算を行い、スキャンの開始時
点を同期させ、複数の演算結果の書き込みと読み出し及
び比較判定を平行して行う。(請求項2) 更に、前記読出手段は、入力側が前記プロセッサが前記
デュアルポートメモリに演算結果を書き込むためのアド
レスバスと制御バス及び他のプログラマブルコントロー
ラから引き出された同様のアドレスバスと制御バスに接
続され、出力側が前記デュアルポートメモリから演算結
果を読み出すためのアドレスバスと制御バスに接続さ
れ、入力された複数のアドレスを比較して最小値のアド
レスを選択出力すると共に、リードコマンドを出力する
アドレス・コマンド生成手段を備えて構成する。(請求
項3) 更に、前記判定手段は、前記デュアルポートメモリから
演算結果を読み出すためのデータバス及び他のプログラ
マブルコントローラから引き出された同様のデータバス
に接続され、読み出された複数の演算結果を比較判定し
て1つの演算結果を決定するデータ比較手段を備えて構
成する。(請求項4) 更に、前記プロセッサが制御演算を終了して前記デュア
ルポートメモリに複数の演算結果の書き込みを行う場
合、書き込み開始が他のプログラマブルコントローラの
書き込み開始より早いとき、他のプログラマブルコント
ローラからアドレスが与えられるまで演算結果の読み出
しを待ち状態とする調停手段を備え、演算結果の読み出
しを同期させる。(請求項5) 更に、前記判定手段が複数の演算結果を比較して演算結
果に相違があると判定した場合、デュアルポートメモリ
の読み出しアドレスと各演算結果と該演算結果を出力し
たプログラマブルコントローラを区別する種別データを
保存するメンテナンスメモリを備える。(請求項6)
In order to achieve the above object, the programmable controller of the present invention is a programmable controller including a processor that scans a control program and repeats a control operation. In the dual port memory, the plurality of calculation results obtained by the control calculation are written in the ascending order of addresses, and the addresses output from the processor are compared with the addresses output in the same manner from other programmable controllers to calculate the values. Reading means for selecting the smaller address and reading out the operation result written in the selected address of the dual port memory, and the operation result read out and the operation result similarly read from another programmable controller If they are equal, it is judged as normal operation 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. According to another aspect of the present invention, in a programmable controller including a processor that scans a control program and repeats a control operation, the processor obtains a plurality of operation results obtained by the control operation each time the control operation ends, in ascending order of address. Write to a dual port memory, compare the address output from the processor with a plurality of addresses output from other programmable controllers in the same manner, and select the smallest value address. The reading means for reading out the operation result written at the selected address and the read operation result and the plurality of operation results similarly read out from the other plurality of programmable controllers are compared, and the result is 1 by the majority logic. Equipped with a determination means that determines one calculation result, Also, three programmable controllers perform control calculation based on the same control program, synchronize the start time of scanning, and perform writing and reading of a plurality of calculation results and comparison determination in parallel. (Claim 2) Furthermore, the reading means uses an address bus and a control bus for the processor to write an operation result in the dual port memory on the input side and a similar address bus and control bus drawn from another programmable controller. Connected, the output side is connected to the address bus and the control bus for reading the operation result from the dual port memory, compares the plurality of input addresses, selectively outputs the minimum value address, and outputs the read command. An address / command generating means is provided. (Claim 3) Further, the determination means is connected to a data bus for reading out the operation result from the dual port memory and a similar data bus drawn from another programmable controller, and a plurality of operation results read out. And a data comparison means for determining one calculation result. (Claim 4) Further, when the processor ends the control operation and writes a plurality of operation results to the dual port memory, when the write start is earlier than the write start of the other programmable controller, the other programmable controller An arbitration unit that waits for the reading of the calculation result until the address is given is provided, and the reading of the calculation result is synchronized. (Claim 5) Further, when the determination means compares a plurality of operation results and determines that the operation results are different, a read address of the dual port memory, each operation result, and a programmable controller which outputs the operation result 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つの演算結果を決定する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment of the programmable controller of the present invention is shown in FIG. This embodiment is an example using three programmable controllers 1, 2, and 3.
Each programmable controller 1, 2, 3 includes a processor 1-1, 2-1, 3-1 and a dual port memory 1
-2, 2-2, 3-2, address / command generation circuit (reading means) 1-4, 2-4, 3-4, and data comparison circuit (determination means) 1-5, 2-5, 3 Each processor 1 is provided with -5, and 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 each dual port memory 2 each time the scan is performed. . Each address
The command generation circuit 4 receives three write commands via the control buses 1-6, 2-6, and 3-6 when each processor 1 writes the operation result, and also receives the address bus 1-7, Three addresses are input via 2-7 and 3-7, the address of the smallest value is output via address buses 1-10, 2-10, 3-10, and control buses 1-9, 2 A read command is output via -9 and 3-9 to read the operation result written in the dual port memory 2. Each data comparison circuit 5
The operation result of each processor read from each dual port memory 2 is the data bus 1-11, 2-11, 3-1.
1 is input via 1 and one operation result is determined from the three operation results by the 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 structure, each processor 1 scans based on the same control program stored in a program memory (not shown), and executes the control calculation of the program. In this case, synchronize the start time of the scan,
Each time scanning is performed, as shown in FIG. 2, the operation results are collated with each other, and the program control is executed with the operation result determined by the majority vote. That is, when the control calculation (process 20) in one scan is completed, each processor 1 outputs the plurality of calculation results obtained by the control calculation to each data bus 1-8, 2-.
Writing is performed 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 for writing output from each processor 1 are control buses 1-6, 2-6, 3-6.
And address bus 1-7, 2-7, 3-7 to each address command generation circuit 4, each address command generation circuit 4 compares each address and selects the smallest address, Bus 1-10, 2-10, 3
-10, and at the same time control buses 1-9, 2-
The read command is output via 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, 3-11. (Processing 24). In this case, if the timings at the start of writing of the respective processors 1 are all the same, all the addresses input to the respective address / command generating circuits 4 are the same, and immediately after the writing of the operation result, the reading is performed and the writing Reading is performed in parallel.

【0014】しかし、何らかの原因により各プロセッサ
1の書き込み開始時点のタイミングに時間差が生じたと
き、各アドレス・コマンド生成回路4は全てのプロセッ
サからアドレスが与えられるまで機能を停止し(処理2
3)、先行のプロセッサは演算結果の書き込みのみを行
う。最後に書き込みを開始したプロセッサからアドレス
が与えられると各アドレス・コマンド生成回路4は最も
小さいアドレスを選択し、最後に書き込みを開始したプ
ロセッサから与えられたアドレスを出力し演算結果の読
み出しが行われる。また、先行のプロセッサが書き込み
を終了したとき、そのアドレス・コマンド生成回路4は
全てのアドレスが一致するまで最後のアドレスを保持す
る。従って、この場合、演算結果の書き込み後、数ステ
ップ遅れて読み出しが行われ、書き込みと読み出しが平
行して行われる。図3はこの場合のタイミング図を示し
たものである。
However, when there is a time difference in the timing of the writing start time of each processor 1 for some reason, each address / command generation circuit 4 stops its function until addresses are given from all the processors (process 2).
3), the preceding processor only writes the calculation result. When an address is given from the processor that started writing last, each address / command generation circuit 4 selects the smallest address, outputs the address given from the processor that 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 the addresses match. Therefore, in this case, after writing the calculation result, 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 calculation 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 outputs a plurality of calculations. 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, the clocks of the instruction execution levels of the processors are not completely synchronized. The calculation results of the programmable controllers can be compared with each other, and the determination processing time can be performed within substantially the transfer (write) processing time.

【0017】なお、各データ比較回路5が複数の演算結
果を比較して演算結果に相違があると判定した場合、デ
ュアルポートメモリ2の読み出しアドレスと各演算結果
と該演算結果を出力したプログラマブルコントローラを
区別する種別データを格納するメンテナンスメモリを設
け、格納されたデータを監視することで異常動作のプロ
グラマブルコントローラの発見を容易にし保全性を良く
することができる。
When the data comparison circuits 5 compare a plurality of operation results and determine that the operation results are different, the read address of the dual port memory 2, each operation result, and the programmable controller that outputs the operation result. By providing the maintenance memory for storing the type data for distinguishing between the two types and monitoring the stored data, it is possible to easily find the programmable controller having the 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, but three or more programmable controllers can be used. Further, the data comparison circuits 1-5 and 2-
5 and 3-5 are compared with each other by comparing the two calculation results, and when they match, it is determined to be normal, and when they do not match, processing such as referring to past calculation results is performed and one calculation result is output. It is also possible to implement by 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 point of the control program, it becomes possible to perform writing and reading of a plurality of calculation results and comparison judgment in parallel without completely synchronizing the instruction execution level clocks of the processor. It is possible to provide a programmable controller that can compare the calculation results simultaneously in the background that transfers the calculation results, shorten the processing time for mutual comparison, enable high-speed scan execution, and improve real-time controllability. .

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

【図1】本発明によるプログラマブルコントローラの一
実施例の構成図。
FIG. 1 is a configuration diagram of an embodiment of a programmable controller according to the present invention.

【図2】上記実施例の作用を説明するためのフローチャ
ート。
FIG. 2 is a flow chart for explaining the operation of the above embodiment.

【図3】上記実施例の作用を説明するためのタイミング
図。
FIG. 3 is a timing chart for explaining the operation of the above embodiment.

【図4】従来のプログラマブルコントローラの構成図。FIG. 4 is a block 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.

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

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 (determination 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)

【特許請求の範囲】[Claims] 【請求項1】制御プログラムをスキャンして制御演算を
繰り返すプロセッサを備えたプログラマブルコントロー
ラにおいて、前記プロセッサは制御演算が終了する度に
前記制御演算で求めた複数の演算結果をアドレスの小さ
い順にデュアルポートメモリに書き込み、前記プロセッ
サから出力される前記アドレスと他のプログラマブルコ
ントローラから同様にして出力されるアドレスとを比較
して値の小さい方のアドレスを選択し、前記デュアルポ
ートメモリの選択されたアドレスに書き込まれた演算結
果を読み出す読出手段と、読み出された演算結果と他の
プログラマブルコントローラから同様にして読み出され
た演算結果が等しいとき正常動作と判定する判定手段を
備え、2台のプログラマブルコントローラが同じ制御プ
ログラムに基づいて制御演算を行い、スキャンの開始時
点を同期させ、複数の演算結果の書き込みと読み出し及
び比較判定を平行して行うことを特徴とするプログラマ
ブルコントローラ。
1. A programmable controller including a processor that scans a control program and repeats a control operation, wherein the processor is a dual-port processor that outputs a plurality of operation results obtained by the control operation each time the control operation ends. Write to the memory, compare the address output from the processor with the address similarly output from another programmable controller, select the address with the smaller value, and select the selected address of the dual port memory. Two programmable controllers are provided with a reading means for reading out the written operation result and a determining means for judging a normal operation when the read operation result and the operation result similarly read from another programmable controller are equal. 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.
【請求項2】制御プログラムをスキャンして制御演算を
繰り返すプロセッサを備えたプログラマブルコントロー
ラにおいて、前記プロセッサは制御演算が終了する度に
前記制御演算で求めた複数の演算結果をアドレスの小さ
い順にデュアルポートメモリに書き込み、前記プロセッ
サから出力される前記アドレスと他の複数のプログラマ
ブルコントローラから同様にして出力される複数のアド
レスとを比較して最も小さい値のアドレスを選択し、前
記デュアルポートメモリの選択されたアドレスに書き込
まれた演算結果を読み出す読出手段と、読み出された演
算結果と他の複数のプログラマブルコントローラから同
様にして読み出された複数の演算結果とを比較して多数
決論理により1つの演算結果を決定する判定手段を備
え、少なくとも3台のプログラマブルコントローラが同
じ制御プログラムに基づいて制御演算を行い、スキャン
の開始時点を同期させ、複数の演算結果の書き込みと読
み出し及び比較判定を平行して行うことを特徴とするプ
ログラマブルコントローラ。
2. A programmable controller having a processor for scanning a control program and repeating control operations, wherein said processor is a dual port processor which outputs a plurality of operation results obtained by the control operation each time the control operation is completed. Writing to the memory, comparing the address output from the processor with a plurality of addresses similarly output from a plurality of other programmable controllers, selecting the address having the smallest value, and selecting the address of the dual port memory. Read out means for reading out the operation result written in the address, and the operation result read out is compared with a plurality of operation results similarly read out from a plurality of other programmable controllers to perform one operation by the majority logic. At least 3 units equipped with judgment means to determine the result 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】請求項1又は請求項2に記載のプログラマ
ブルコントローラにおいて、前記読出手段は、入力側が
前記プロセッサが前記デュアルポートメモリに演算結果
を書き込むためのアドレスバスと制御バス及び他のプロ
グラマブルコントローラから引き出された同様のアドレ
スバスと制御バスに接続され、出力側が前記デュアルポ
ートメモリから演算結果を読み出すためのアドレスバス
と制御バスに接続され、入力された複数のアドレスを比
較して最小値のアドレスを選択出力すると共に、リード
コマンドを出力するアドレス・コマンド生成手段を備え
て構成することを特徴とするプログラマブルコントロー
ラ。
3. The programmable controller according to claim 1, wherein the read means has an address bus and a control bus for inputting an arithmetic result to the dual port memory by the processor on the input side, and another programmable controller. Connected to the same address bus and control bus derived from the output side, the output side is connected to the address bus and the control bus for reading the operation result from the dual port memory, and a plurality of input addresses are compared to determine the minimum value. A programmable controller characterized by comprising address / command generating means for selectively outputting an address and outputting a read command.
【請求項4】請求項1又は請求項2に記載のプログラマ
ブルコントローラにおいて、前記判定手段は、前記デュ
アルポートメモリから演算結果を読み出すためのデータ
バス及び他のプログラマブルコントローラから引き出さ
れた同様のデータバスに接続され、読み出された複数の
演算結果を比較判定して1つの演算結果を決定するデー
タ比較手段を備えて構成することを特徴とするプログラ
マブルコントローラ。
4. The programmable controller according to claim 1 or 2, wherein the determination means is a data bus for reading out an operation result from the dual port memory and a similar data bus derived from another programmable controller. A programmable controller comprising: a data comparison unit connected to the CPU, and comparing and determining a plurality of read operation results to determine one operation result.
【請求項5】請求項1又は請求項2に記載のプログラマ
ブルコントローラにおいて、前記プロセッサが制御演算
を終了して前記デュアルポートメモリに複数の演算結果
の書き込みを行う場合、書き込み開始が他のプログラマ
ブルコントローラの書き込み開始より早いとき、他のプ
ログラマブルコントローラからアドレスが与えられるま
で演算結果の読み出しを待ち状態とする調停手段を備
え、演算結果の読み出しを同期させることを特徴とする
プログラマブルコントローラ。
5. The programmable controller according to claim 1 or 2, wherein when the processor finishes a control operation and writes a plurality of operation results to the dual port memory, the start of writing is another programmable controller. A programmable controller characterized by comprising arbitration means for putting the reading of the operation result in a waiting state until an address is given from another programmable controller when the writing of the operation result is started, and synchronizing the reading of the operation result.
【請求項6】請求項1又は請求項2に記載のプログラマ
ブルコントローラにおいて、前記判定手段が複数の演算
結果を比較して演算結果に相違があると判定した場合、
デュアルポートメモリの読み出しアドレスと各演算結果
と該演算結果を出力したプログラマブルコントローラを
区別する種別データを保存するメンテナンスメモリを備
えたことを特徴とするプログラマブルコントローラ。
6. The programmable controller according to claim 1 or 2, wherein the determination means compares a plurality of operation results and determines that the operation results are different from each other.
A programmable controller comprising: a read address of a dual-port memory, a maintenance memory for storing each operation result, and type data for distinguishing a programmable controller outputting the operation result.
JP14379796A 1996-06-06 1996-06-06 Programmable controller Expired - Fee Related JP3308813B2 (en)

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 true JPH09325803A (en) 1997-12-16
JP3308813B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081700A (en) * 2012-10-15 2014-05-08 Fuji Electric Co Ltd Programmable controller, data backup method of programmable controller, and starting method of programmable controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081700A (en) * 2012-10-15 2014-05-08 Fuji Electric Co Ltd Programmable controller, data backup method of programmable controller, and starting method of programmable controller

Also Published As

Publication number Publication date
JP3308813B2 (en) 2002-07-29

Similar Documents

Publication Publication Date Title
JPS63238630A (en) Interruption controller for microprocessor
CN113741166B (en) Industrial control logic redundancy implementation method based on multi-CPU industrial system controller
JP3308813B2 (en) Programmable controller
JPH01295355A (en) Interruption control circuit for multi-master bus
US7191359B2 (en) Fail-safe controller
JP5537140B2 (en) SAFETY CONTROL DEVICE AND SAFETY CONTROL PROGRAM
JPH05173986A (en) Programmable controller
JP2970082B2 (en) Virtual intercluster communication processor
JPH0750661A (en) Data transmitting method and device and asynchronization control system
JP4137387B2 (en) Fail-safe computer system
JP7325658B2 (en) Program execution device and communication method
JP2003076569A (en) Bus synchronized duplex computer
JPS62135038A (en) Data communications system for slave processor
JP2008234058A (en) Saved data determination method, saved data determination program and saved data determination device
JPH05342172A (en) Multiprocessor system
JPH02264352A (en) Multi-processor synchronizing system
JPH05225114A (en) Io controller
JPH04158451A (en) Trace control system
JPH0612277A (en) Method for inspecting information processing system
JPH08286998A (en) Address setting method, board and data processing system
JP2000347885A (en) Duplex process controller
JPH1115794A (en) Parallel data processor
JPH04283804A (en) Programmable controller
JPH06223046A (en) Bus tracing execution method
JPS61107460A (en) Multiprocessor system

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