JP5900360B2 - Duplex programmable controller and synchronization method thereof - Google Patents
Duplex programmable controller and synchronization method thereof Download PDFInfo
- Publication number
- JP5900360B2 JP5900360B2 JP2013007559A JP2013007559A JP5900360B2 JP 5900360 B2 JP5900360 B2 JP 5900360B2 JP 2013007559 A JP2013007559 A JP 2013007559A JP 2013007559 A JP2013007559 A JP 2013007559A JP 5900360 B2 JP5900360 B2 JP 5900360B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu unit
- program
- cpu
- synchronization information
- control system
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 65
- 238000004891 communication Methods 0.000 claims description 52
- 238000012545 processing Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 22
- 230000001360 synchronised effect Effects 0.000 claims description 20
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 description 17
- 230000026676 system process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
Description
この発明は、監視制御システムなどにおいて、CPUユニットの異常発生時等に系の切替を行う二重化プログラマブルコントローラに関するものである。 The present invention relates to a duplex programmable controller that performs system switching when an abnormality occurs in a CPU unit in a monitoring control system or the like.
二重化プログラマブルコントローラは、互いに並列に動作可能な2系統のCPUユニット(Central Processing Unit)を有するもので、システムダウンにより甚大な損害を生ずるような高度の信頼性を要求されるプロセス制御等の用途に広く使用されている。 The dual programmable controller has two CPU units (Central Processing Units) that can operate in parallel with each other, and is used for processes such as process control that require a high degree of reliability that causes serious damage due to system down. Widely used.
二重化プログラマブルコントローラは2系統のCPUユニットのうち、第1のCPUユニットが制御系に、第2のCPUユニットが待機系に設定され、制御系の第1のCPUユニットに異常が発生した場合には、待機系の第2のCPUユニットが制御系に自動的に切り替えられてシステムダウンを防止し、自動的にシステムを継続する機能を備えている。 In the dual programmable controller, when the first CPU unit is set to the control system and the second CPU unit is set to the standby system among the two CPU units, an abnormality occurs in the first CPU unit of the control system. The second CPU unit of the standby system is automatically switched to the control system to prevent the system from going down, and has a function of automatically continuing the system.
二重化プログラマブルコントローラでは、第1のCPUユニットと第2のCPUユニットとが互いに同一プログラムを同一内容で実行することを保証する同期化を行う必要がある。プログラムを実行している途中に、外部からの割込みイベントを実行する割込み命令があった場合、制御系と待機系で割込みイベント結果を反映した同一プログラムを実行するためには、制御系と待機系がそれぞれ外部にアクセスするタイミングのずれが発生していないことを確認する必要がある。つまり、実行中のプログラムのプログラムカウンタが異なる時点で割込みイベントを実行し、制御系と待機系で異なるプログラム結果が得られてしまうことを防ぐために、割込みイベントを実行するタイミングとなるプログラムカウンタを確認し、制御系と待機系を同一のプログラムカウンタに合わせて外部からの割込み命令を実行する必要がある。 In the duplex programmable controller, it is necessary to perform synchronization to ensure that the first CPU unit and the second CPU unit execute the same program with the same contents. If there is an interrupt instruction that executes an interrupt event from the outside during program execution, the control system and standby system must be executed in order to execute the same program that reflects the interrupt event result in the control system and standby system. It is necessary to confirm that there is no deviation in the timing of accessing the outside. In other words, the interrupt counter is executed when the program counter of the program being executed is different, and the program counter that is the timing to execute the interrupt event is checked in order to prevent different program results from being obtained in the control system and standby system. However, it is necessary to execute an interrupt instruction from the outside in accordance with the same program counter in the control system and the standby system.
そのため、従来の二重化プログラマブルコントローラでは、外部から割込み命令があった際に、第1のCPUユニットと第2のCPUユニットに対して、割込み命令が同じプログラムカウンタで発生したかを確認し、同じでない場合にはプログラムカウンタを同一にしてから、それぞれ外部から割込み命令に対応した割込みイベントを実行している(例えば、特許文献1参照)。 Therefore, in the conventional dual programmable controller, when there is an interrupt instruction from the outside, the first CPU unit and the second CPU unit are checked whether the interrupt instruction is generated by the same program counter and are not the same. In some cases, the same program counter is used, and then an interrupt event corresponding to the interrupt instruction is executed from the outside (see, for example, Patent Document 1).
つまり、外部からの割込み命令が発生する度に実行中のプログラムを中断し、第1のCPUユニットと第2のCPUユニットで同じ割込みイベントが同じタイミングで実行されることを確認してから割込みイベントを実行した後、プログラムを再開する。このようにすることによって、従来の二重化プログラマブルコントローラでは、第1のCPUユニットと第2のCPUユニットを同一内容でプログラムを実行することを保証する同期化を行っている。 In other words, every time an external interrupt instruction is generated, the program being executed is interrupted, and after confirming that the same interrupt event is executed at the same timing in the first CPU unit and the second CPU unit, the interrupt event After executing, restart the program. By doing so, in the conventional duplex programmable controller, the first CPU unit and the second CPU unit are synchronized to ensure that the program is executed with the same contents.
従来の二重化プログラマブルコントローラでは、外部からの割込み命令が発生するたびに第1のCPUユニットと第2のCPUユニットの両方がプログラムを中断して同期化を行う。つまり、第1のCPUユニットと第2のCPUユニットで同じ割込みイベントが同じプログラムカウンタで実行されることを確認する間、第1のCPUユニットと第2のCPUユニットの両方がプログラムを中断する時間が発生する。CPUユニット処理能力向上によるコントローラの大容量化に伴い、プログラムの処理時間は大幅に短縮できるにも関わらず、第1のCPUユニットから第2のCPUユニットにネットワークを介して同期化処理に必要な同期化情報を通信するための時間が増加している。そのため、第1のCPUユニットと第2のCPUユニットの両方がプログラムを中断する時間が増加し、プログラム実行時間が長くなるという問題があった。 In the conventional duplex programmable controller, each time an external interrupt command is generated, both the first CPU unit and the second CPU unit interrupt the program and perform synchronization. That is, the time during which both the first CPU unit and the second CPU unit interrupt the program while confirming that the same interrupt event is executed by the same program counter in the first CPU unit and the second CPU unit. Will occur. Although the processing time of the program can be greatly shortened as the capacity of the controller is increased by improving the CPU processing capacity, it is necessary for the synchronization processing from the first CPU unit to the second CPU unit via the network. Time to communicate synchronization information is increasing. For this reason, there is a problem that the time for both the first CPU unit and the second CPU unit to interrupt the program increases and the program execution time becomes long.
この発明は、上記のような問題点を解決するためになされたものであり、同期化情報を通信するための時間の増大によるプログラム実行時間の増加を抑制した、二重化プログラムコントローラ及びその同期化方法を提供することを目的とする。 The present invention has been made in order to solve the above-described problems, and a duplicated program controller and a synchronization method thereof that suppress an increase in program execution time due to an increase in time for communicating synchronization information. The purpose is to provide.
この発明に係る二重化プログラマブルコントローラは、第1のプログラムカウンタと、第1のCPUと、イベントに応じた制御プログラムを実行すると、イベントの内容を第1のプログラムカウンタの値及び第1の分岐回数カウンタの値と対応付けて同期化情報として格納する第1の送受信バッファと、が設けられた第1のCPUユニットと、第2のプログラムカウンタと、第2のCPUと、第1の送受信バッファから送信された同期化情報を格納する第2の送受信バッファと、第2のプログラムカウンタの値と第2の送受信バッファに格納された同期化情報とを常に比較する比較部と、が設けられた第2のCPUユニットと、第1の送受信バッファから第2の送受信バッファに同期化情報を送信する通信路と、を備える。イベントは、第1のCPUによる同期対象命令及び割込み命令の少なくとも一方の実行、あるいは割込みの受付けであって、さらに、第2のCPUユニットは、比較部による比較結果が一致した場合に、一致した第1のプログラムカウンタ及び第1の分岐回数カウンタの値に対応付けられた同期化情報に応じた制御プログラムを実行することを特徴とする。 When the duplex programmable controller according to the present invention executes the first program counter, the first CPU, and the control program corresponding to the event, the contents of the event are changed to the value of the first program counter and the first branch counter. A first transmission / reception buffer that is stored as synchronization information in association with the value of the first CPU unit, a second program counter, a second CPU, and a transmission from the first transmission / reception buffer. A second transmission / reception buffer for storing the synchronized information, and a comparison unit that always compares the value of the second program counter with the synchronization information stored in the second transmission / reception buffer. And a communication path for transmitting synchronization information from the first transmission / reception buffer to the second transmission / reception buffer. Event, at least one of the execution of the synchronized instruction and interrupt command by the first CPU, or a is accepted interrupt, further second CPU unit, if the comparison result of the ratio較部match, match A control program corresponding to the synchronization information associated with the values of the first program counter and the first branch number counter is executed.
この発明によれば、制御系の第1のCPUユニットが実行した内容を同期化情報として第1の送受信バッファから待機系の第2のCPUユニットに設けられた第2の送受信バッファに送信し、第2のCPUユニットは同期化情報に基づいた同期化プログラムを実行するので、第2のCPUユニットは第1のCPUユニットと同一内容のプログラムを追随して実行でき、同期化が行える。つまり、第2のCPUユニットは、第1のCPUユニットが実行した内容であり、外部割込み命令を反映した同期化情報に基づいた同期化プログラムを実行できるので、外部割込み命令が発生するたびに同期化のための通信時間を必要とせず、プログラム実行時間を短縮することができるという効果が得られる。 According to this invention, the contents executed by the first CPU unit of the control system are transmitted as synchronization information from the first transmission / reception buffer to the second transmission / reception buffer provided in the second CPU unit of the standby system, Since the second CPU unit executes the synchronization program based on the synchronization information, the second CPU unit can follow the program having the same contents as the first CPU unit and can perform synchronization. In other words, the second CPU unit is the content executed by the first CPU unit and can execute a synchronization program based on the synchronization information reflecting the external interrupt instruction. Therefore, the second CPU unit is synchronized every time an external interrupt instruction is generated. Therefore, there is an effect that the program execution time can be shortened without requiring communication time for making the program.
実施の形態1.
図1は、この発明の実施の形態1における二重化プログラマブルコントローラの構成を示すブロック図である。本実施の形態の二重化プログラマブルコントローラは、同一の制御プログラムであるプログラム50(図1には図示せず図2で示す)を実行するための、制御系である第1のコントローラ10aと待機系である第2のコントローラ10bとを備える。つまり、本実施の形態の図1では、第1のコントローラ10aが制御系として、第2のコントローラ10bが待機系としてそれぞれ機能している状態を示している。第1のコントローラ10aは、第1のCPUユニット11aと第1の通信ユニット12aとからなり、第2のコントローラ10bは、第2のCPUユニット11bと第2の通信ユニット12bとからなる。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a duplex programmable controller according to Embodiment 1 of the present invention. The duplex programmable controller of the present embodiment includes a
図1に示すように、本実施の形態の二重化プログラマブルコントローラでは、制御系の第1のCPUユニット11a内に第1の送受信バッファ13aが、第2のCPUユニット11b内に第2の送受信バッファ13bが、それぞれ専用領域として設けられている。これらの専用領域は、制御系と待機系間で行う同期化転送用に設けられたRAM(Randam Access Memory)で構成されている。
As shown in FIG. 1, in the duplex programmable controller of the present embodiment, the first transmission /
また、第1のCPUユニット11aは、第1のCPU(図示せず)と、第1のプログラムカウンタ(PC:Program Counter)16aと、第1の比較部17aと、第1の分岐回数カウンタ15aとを備える。第1の比較部17aは、第1の送受信バッファ13aに内蔵されたデータである後述する同期化情報と当該データと対応する第1のプログラムカウンタ16aの値(さらに、必要に応じて第1の分岐回数カウンタ15aの値)とをそれぞれ比較する機能を備える。
The first CPU unit 11a includes a first CPU (not shown), a first program counter (PC) 16a, a
さらに、第2のCPUユニット11bは、第2のCPU(図示せず)と、第2のプログラムカウンタ(PC:Program Counter)16bと、第2の比較部17bと、第2の分岐回数カウンタ15bとを備える。第2の比較部17bは、第2の送受信バッファ13bに内蔵されたデータと第2のプログラムカウンタ16bの値(さらに、必要に応じて第2の分岐回数カウンタ15bの値)とを比較する機能を備える。
Further, the
第1のCPUユニット11aと第2のCPUユニット11bとは、第1のコネクタ14aと第2のコネクタ14bとにより通信路で接続されている。つまり、本実施の形態の二重化プログラマブルコントローラでは、通信路を通じて第1のコントローラ10aと第2のコントローラ10bとの間で同期化用のデータ転送が可能な構成を有している。本実施の形態の図1では、通信路としてトラッキングケーブル20を用いているが、同一バス上に制御系と待機系の2つのCPUユニットを接続し、バス経由で同期化用のデータ転送を行う構成にしても良い。
The first CPU unit 11a and the
第1のコントローラ10aの第1の通信ユニット12a及び第2のコントローラ10bの第2の通信ユニット12bは通信ネットワーク21に接続されている。例えば図1では、外部コントローラ30の外部CPUユニット31から出される割込みイベント実行などの割込み命令が、外部通信ユニット32を介して通信ネットワーク21から二重化プログラマブルコントローラに出される。
The
図2は、本実施の形態の二重化プログラマブルコントローラにおいて、プログラム50を実行する際の動作を示すタイムチャートである。図2では、上から下に向かって時間が進んでいる。なお、以下では、制御系処理40のプログラム50を前から順に区分して、プログラム50の処理AをステップS100、プログラム50の処理BをステップS102、プログラム50の処理CをステップS105というように順に呼んでいる。また、ステップS101及びステップS104の同期化情報送信命令は、制御系処理40の割込み処理プログラムに相当する。このような呼び方は、待機系41でも同様である。ステップS120、ステップS121及びステップS124は、待機系処理41の割込み処理プログラムに相当する。
FIG. 2 is a time chart showing an operation when the
また、第1の送受信バッファ13aと第2の送受信バッファ13bとの間で、通信路を介して通信系処理42が行われる。この通信系処理42では、ステップS110及びステップS112は制御系から待機系への情報の転送の処理を意味し、ステップS111及びステップS113は待機系から制御系への情報の転送を意味する。ここでの転送される情報としては、同期化情報及び応答信号が含まれる。
Further, a
図2において、さらに詳細に説明すると、ステップS100からステップS106は制御系処理40として、第1のコントローラ10aが行う動作を示している。ステップS120からステップS125は待機系処理41として、第2のコントローラ10bが行う動作を示している。さらに、トラッキングケーブル20が、第1のコントローラ10aの第1のCPUユニット11aと、第2のコントローラ10bの第2のCPUユニット11bとの間でデータ転送する処理を、通信系処理42としてステップS110からステップ113に示している。
Referring to FIG. 2 in more detail, steps S100 to S106 show operations performed by the
図3、図4及び図5は、本実施の形態の二重化プログラマブルコントローラにおいて、制御系の第1のCPUユニット11bが同期化が必要な同期化命令を実行する際に必要なデータ(同期化情報)を送受信バッファ13aに格納するときの例を説明するためのブロック図である。
3, 4, and 5 show data (synchronization information) that is necessary when the
図2から図5を用いて、本実施の形態における二重化プログラマブルコントローラの動作フローを説明する。 The operation flow of the duplex programmable controller in the present embodiment will be described with reference to FIGS.
図2のステップS100において、制御系の第1のCPUユニット11aは、プログラム50を実行している。ステップS100において、プログラム50の内容に外部コントローラ30にデータをリードしに行くという、外部機器に対するアクセス命令(図3中の同期対象命令51)がある場合、第1のCPUユニット11aは外部コントローラ30へのリード命令を実行して通信ネットワーク21を介してリードデータR1を取得する。その後、図3に示すように、第1の送受信バッファ13aに、同期対象命令51を実行したプログラムカウンタ値X1とリードデータR1とリードデータR1のデータ量D1とを同期化情報として格納する。
In step S100 in FIG. 2, the first CPU unit 11a of the control system executes the
さらに、図2のステップS100において、図4に示すように外部コントローラ30から割込み命令52を受けた場合、制御系の第1のCPUユニット11aは、外部からの割込み命令52を受け、割込みイベント(割込み処理Z1)を実行するときのプログラムカウンタ値X2と、分岐回数Y2とを、第1のプログラムカウンタ16aと第1の分岐回数カウンタ15aとから読み込んで、第1の送受信バッファ13aへ格納する。また、割込み処理Z2の内容も、図4のように第1の送受信バッファ13aへ格納する。つまり、外部コントローラ30から割込み命令52が発生したとき、第1のプログラムカウンタ16aの値と、第1の分岐回数カウンタ15aの値と、割込み処理Z2の内容とを同期化情報として第1の送受信バッファ13aに格納する。
Further, in step S100 of FIG. 2, when the interrupt
外部コントローラ30からの割込みイベントを実行した後は、割込み命令52を実行した結果を反映させて、中断したプログラムを再開する。
After executing the interrupt event from the
ステップS100において、同期割込みタイマ設定時間43が経過して同期タイマ割込み53があったとき、制御系の第1のCPUユニットユニット11aは同期タイマ割込み53によりプログラム50を中断して、図5に示すようにプログラムカウンタ16aの値であるプログラムカウンタ値X3と分岐回数カウンタ15aの値である分岐回数Y3と同期タイマ割込み53による割込み処理Z3の内容とを同期化情報として第1の送受信バッファ13aに格納する。
In step S100, when the synchronous interrupt timer set time 43 has elapsed and there is a synchronous timer interrupt 53, the first CPU unit unit 11a of the control system interrupts the
次に、図2のステップS101において、同期化情報送信命令を実行することによって第1のCPUユニット11aは、第1の送受信バッファ13aに内蔵されたデータを同期化情報としてトラッキングケーブル20に送信する送信命令を実行する。同期化情報の送信命令実行後、第2のCPUユニット11bから同期化したことの応答受信(ステップS103)を待たずにプログラム50の実行を再開し、ステップS102に移行する。
Next, in step S101 of FIG. 2, by executing a synchronization information transmission command, the first CPU unit 11a transmits data stored in the first transmission /
ステップS102において、第1のCPUユニット11aは、ステップS100と同様にプログラム50を継続して実行する。
In step S102, the first CPU unit 11a continues to execute the
ステップS103において、第1のCPUユニット11aは、待機系の第2のCPUユニット11bから送信された同期化の応答信号を受信する。ここで、ステップS103で行う応答信号の受信は、具体的には、第2のCPUユニット11bから送信された同期化の応答信号が第1の送受信バッファ13aに格納されたことをいう。通信路であるトラッキングケーブル20の通信系処理42が主体的に応答信号を転送するので、第1のCPUユニット11aがプログラム50の実行中であっても応答信号を第1の送受信バッファ13aに格納することができる。つまり、ステップS102と並列に、ステップS103の同期化の応答信号を受信することができる。
In step S103, the first CPU unit 11a receives the synchronization response signal transmitted from the standby
ステップS102で同期割込みタイマ設定時間43が経過すると、制御系の第1のCPUユニット11aは同期タイマ割込み53によりプログラム50を中断し、ステップS104において、ステップS103における待機系の第2のCPUユニット11bからの同期化の応答信号を認識する。そこで、待機系の第2のCPUユニット11bの処理が第1のCPUユニット11aの処理に追随していることを確認し、ステップS101と同様に同期化情報を送信する送信命令を実行する。
When the synchronous interrupt timer set time 43 elapses in step S102, the first CPU unit 11a in the control system interrupts the
なお、ステップS103で同期化応答信号を受信しなかった場合、第1のCPUユニット11aは、プログラム50を停止した状態で、同期化応答受信待ちとなる。つまり、第1のCPUユニット11aはステップS102で同期タイマ割込み53が発生してステップS104に移行するまでにステップS103が発生しなかった場合、ステップS104に進まずにステップS103が発生するまで待つ。
If the synchronization response signal is not received in step S103, the first CPU unit 11a waits for the synchronization response reception with the
但し、同期割込みタイマ設定時間43を、後述するステップS110に要する時間とステップS111に要する時間の合計より長い時間に設定すれば、ステップS102と並列にステップS103が行われることになるので、ステップS103を待つ時間は発生しない。 However, if the synchronous interrupt timer setting time 43 is set to a time longer than the sum of the time required for step S110 described later and the time required for step S111, step S103 is performed in parallel with step S102. There is no time to wait.
以上の様にして第1のCPUユニット11aは制御系処理40のステップを継続する。
As described above, the first CPU unit 11a continues the step of the
次に、待機系の第2のCPUユニット11bが行う待機系処理41と、第1のCPUユニット11aと第2のCPUユニット11b間のデータ転送を行う通信系処理42について説明する。待機系の第2のCPUユニット11bは、第1のCPUユニット11aから送信された同期化情報に基づいて、同期化プログラムを実行する。
Next, standby processing 41 performed by the standby
図2のステップS101で第1のCPUユニット11aが送信命令を実行して送信された同期化情報が、トラッキングケーブル20を介して第1の送受信バッファ13aから第2の送受信バッファ13bに転送される。この転送処理であるステップS110はトラッキングケーブル20を用いた通信系が主体となって行う。
The synchronization information transmitted by the first CPU unit 11a executing the transmission command in step S101 of FIG. 2 is transferred from the first transmission /
ステップS120において、待機系の第2のCPUユニット11bは、制御系の第1のCPUユニット11aからの同期化情報を受信する。ここで、ステップS120の同期化情報受信とは、第1の送受信バッファ13aに格納されていたデータがトレッキングケーブル20を介して転送され、第2の送受信バッファ13bへの格納が完了することを言う。
In step S120, the
通信系が主体となって行う通信系処理42に要する時間が、CPUユニット処理能力向上によるコントローラの大容量化に伴い長くなっている。本実施の形態では、第1のCPUユニット11aは、通信系処理42と並列にプログラム50を処理できるので、プログラム50が開始してから終了するまでのプログラム実行時間に、通信系処理が行うステップS110やステップS112などにかかる通信時間が加算されない。そのため、プログラム実行時間を短縮することができる。
The time required for the
次に、ステップS121において、第2のCPUユニット11bは、同期化の応答信号を送信する送信命令を実行する。ここで、応答信号とは同期化情報を確認したという内容であればよく、例えば、同期化情報の受信を完了したことと、第2のCPUユニット11Bが中断しているプログラム50の第2のプログラムカウンタの値とすればよい。
Next, in step S121, the
ステップS121において応答送信命令が出されると、通信系処理42において、ステップS111でトラッキングケーブル20を介して第2の送受信バッファ13bから第1の送受信バッファ13aに応答信号が転送される。この転送処理であるステップS111はトラッキングケーブル20を用いた通信系が主体となって行う。
When a response transmission command is issued in step S121, a response signal is transferred from the second transmission /
次に、第2のCPUユニット11bはステップS122に移行し、プログラム50を実行する。ここで、第1のCPUユニット11aが実行するプログラム50と第2のCPUユニット11bが実行するプログラム50は同一である。
Next, the
ステップS122において、待機系の第2のCPUユニット11bは、プログラム50を実行し、図3の第1のCPUユニット11aの同期対象命令51と同じ、プログラム50の内容に外部コントローラ30からデータをリードする外部機器命令があると、第2のCPUユニット11b自身が待機系であることを認識し、制御系の第1のCPUユニット11aとは異なって外部コントローラ30へのアクセスを行わず、第2の送受信バッファ13bに格納されているリードデータR1を読み込み、ステップS100で制御系の第1のCPUユニット11aが同期対象命令51を実行した時に獲得したリードデータR1を取得する。
In step S122, the standby
第1のCPUユニット11aと第2のCPUユニット11bにおいて、プログラム50の進行度が異なり、外部コントローラ30のデータをリードするというプログラムカウンタ値X1を実行する時の時間が異なる場合がある。外部コントローラ30のデータが時間ごとに変動していてる場合、外部コントローラ30にアクセスする時間が異なると、異なるデータを読み込んでしまう場合が生じる。
In the first CPU unit 11a and the
本実施の形態では、第1のCPUユニット11aがプログラムカウンタ値X1で読み込んだリードデータR1を第2のCPUユニット11bの第2の送受信バッファ13bへ同期化情報として転送し、第2のCPUユニット11bがプログラムカウンタ値X1を実行するときに、第2の送受信バッファ13bのリードデータR1を読み込むので、第1のCPUユニット11aと第2のCPUユニット11bともに外部コントローラ30の同じリードデータR1をプログラム50に反映させることができる。
In this embodiment, the read data R 1 in which the first CPU unit 11a is read in the program counter value X 1 transfers as the synchronization information to the second transmission and
また、ステップS122において、待機系の第2のCPUユニット11bは、同期対象命令51が、外部コントローラ30への外部ライト命令であったとしても、待機系CPUユニット11bは、第2のCPUユニット11b自身が待機系であることを認識し、制御系の第1のCPUユニット11aと異なり、外部コントローラ30へのアクセスを行わない。これは既に制御系がステップS100において外部ライト命令である同期対象命令51を実行しているためである。
In step S122, the standby
さらに、ステップS122において、プログラム50を実行中、第1の送受信バッファ13aから転送されて第2の送受信バッファ13bに格納されている、図5で第1のCPUユニット11aに外部からの割込み命令52が発生した時のプログラムカウンタ値X2と分岐回数Y2とが、それぞれ第2のCPUユニット11b内蔵の第2のプログラムカウンタ16bの値と第2の分岐回数カウンタ15bの値と一致するかを第2の比較部17bで常に比較する。
Further, in step S122, during execution of the
図6に第2のCPUユニット11bが同期化情報に基づいて、ステップS122で行う待機系処理41を説明するためのブロック図を示す。第2のCPUユニット11bはプログラム50を実行し、プログラムカウンタ値X1においてプログラム50の内容に外部リード命令である同期対象命令51があった場合、上述したように第2のCPUユニット11b自身が待機系であることを認識すると、外部コントローラ30にはアクセスせず、第2の送受信バッファ13bに格納されているプログラムカウンタ値X1のリードデータR1を読み出す。つまり、第1のCPUユニット11aがプログラムカウンタ値X1でリードし、同期化情報として送信していたリードデータR1を読み出す。
FIG. 6 shows a block diagram for explaining the standby processing 41 performed by the
その後、第2のCPUユニット11bはプログラム50を続行するが、第2のプログラムカウンタ16bの値及び第2の分岐回数カウンタ15bの値と、第2の送受信バッファ13bに格納された同期化情報におけるプログラムカウンタ値Xn及び分岐回数Ynとを比較部で常に比較している。
Thereafter, the
たとえば図6で、第2の比較部17bにより、第2のプログラムカウンタ16bの値がプログラムカウンタ値X2に一致し、第2の分岐回数カウンタ15bの値が分岐回数Y2に一致したことを確認すると、第2のCPUユニット11bはプログラム50を中断し、割込み処理Z2を実行する。図6の割込み命令52は、図5で第1のCPUユニット11aが割込み命令52が発生した際に行った割込みイベントの内容と同じである。つまり、第1のCPUユニット11aが割込み命令52が発生した際に行った割込み処理Z2を、第1のCPUユニット11aが実行した同じプログラムカウンタ値X2及び分岐回数Y2で、第2のCPUユニット11bが追随して行う。
For example, in Figure 6, by the
本実施の形態では、外部から割込み命令が発生した際に、第1のCPUユニット11aが割込みイベントを実行するプログラムカウンタの値と分岐回数と割込み処理内容とを第2のCPUユニット11bに同期化情報として送信し、第2のCPUユニット11bが同期化情報に基づいてプログラム50及び外部からの割込み命令に対応する割込みイベントを実行する。そのため、外部から割込み命令が発生した際に、第1のCPUユニット11aと第2のCPUユニット11bが同じプログラムカウンタの値まで進んだことを確認し、それぞれが個々に外部にアクセスして外部からの割込み命令を実行する必要がない。
In the present embodiment, when an interrupt instruction is generated from the outside, the value of the program counter for executing the interrupt event by the first CPU unit 11a, the number of branches, and the interrupt processing contents are synchronized with the
したがって、外部からの割込み命令が発生するたびに第1のCPUユニット11aと第2のCPUユニット11bが同じプログラムカウンタの値に進むまで一方がプログラムを中断して他方が同じプログラムカウンタの値に進むまで待ち、さらに同じプログラムカウンタの値であることを互いに確認し合う通信時間が不要なので、プログラムの中断時間を短縮でき、プログラム実行時間の短縮につながる。
Accordingly, each time an external interrupt instruction is generated, one of the programs is interrupted until the first CPU unit 11a and the
次に、図6では、図5で第1のCPUユニット11aに同期タイマ割込み53が発生したプログラムカウンタ値X3及び分岐回数Y3と第2のプログラムカウンタ16bの値及び第2の分岐回数カウンタ15bの値がそれぞれ一致したことを第2の比較部17により確認すると、第2CPUユニット11bに同期タイマ割込み53を実行する。つまり、図2において第2のCPUユニット11bがステップS124に進む。
Next, in FIG. 6, the value and the second branch counter and the program counter value X 3 and branch number Y 3 which alignment timer interrupt 53 occurs in the first CPU unit 11a in FIG. 5 the
以上のステップで、第2のCPUユニット11bではステップS122において、第1のCPUユニット11aがステップS100で実行したのと同じ制御プログラム内容を実行したことになる。つまり、第2のCPUユニット11bは第1のCPUユニット11aから送信された同期化情報に基づいて、同期化プログラムを実行する。
In the above steps, the
図6において、第2のCPUユニット11bが実行する同期化プログラムは、プログラム50と同期対象命令51と割込み命令52と同期タイマ割込み53である。つまり、第2のCPUユニット11bが同期化プログラムを実行することによって、第1のCPUユニット11aが制御プログラムを実行したのと同一内容の結果が得られる。そのため、ステップS100直後の制御系の第1のCPUユニット11aとステップS122直後の待機系の第2のCPUユニット11bは、同一の状態となる。本実施の形態では、このようにして第1のCPUユニット11aと第2のCPUユニット11bの同期化を行っている。
In FIG. 6, the synchronization programs executed by the
図6に示すように、第2の比較部17は第2の送受信バッファ13bに格納された同期化情報のプログラムカウンタの値及び分岐回数と第2のプログラムカウンタ16bの値及び第2の分岐回数カウンタ15bの値との比較を行い、一致する度に、第2のCPUユニット11bはプログラムを中断し、第2の送受信バッファ13bに格納された割込み処理を実施し、その割込み処理の終了後にプログラム50を再開する。
As shown in FIG. 6, the second comparison unit 17 includes the value of the program counter and the number of branches of the synchronization information stored in the second transmission /
第1のCPUユニット11aがステップ102で実行した処理内容は、ステップS104で同期化情報の送信命令が実行され、通信系処理42によりトラッキングケーブル20を介した同期化情報の転送であるステップS112が実行される。図2では、ステップS123が、この同期化情報の第2の送受信バッファへの格納が完了したときを示す。
The processing content executed by the first CPU unit 11a in step 102 is that the synchronization information transmission command is executed in step S104, and the
ステップS123がステップS122終了時に完了していれば、第2のCPUユニット11bはステップS124に進む。ステップS122終了時にステップS123が完了していなければ、第2のCPUユニット11bはステップS123が完了するまで待ち状態となる。
If step S123 is completed at the end of step S122, the
第2のCPUユニット11bがステップS124に進むと、ステップS121と同様に同期化情報を受信したことを知らせる同期化処理の応答信号を送信する。
When the
その後、ステップS125へ進み、ステップS122と同様に、第1のCPUユニット11aがステップS102で実行した内容を送信してきた同期化情報に基づいて、同期化プログラムの実行を継続する。 Then, it progresses to step S125 and continues execution of a synchronization program based on the synchronization information which transmitted the content which the 1st CPU unit 11a performed by step S102 similarly to step S122.
以上の様にして、待機系の第2のCPUユニット11bは待機系処理41を継続し、制御系処理40に追随して同期化プログラムを実行する。
As described above, the
制御系の第1のCPUユニット11aは、プログラム50終了後、実行したプログラム50の演算結果を、監視システムなどの制御に反映(通信ユニット12a、通信ネットワーク21を介して外部機器へ送信)すると共に、待機系の第2のCPUユニット11bへプログラム50が終了したことを送信する。その後、待機系の第2のCPUユニット11bも同期化プログラムを終了するが、第2のCPUユニット11bは同期化プログラムの実行結果を送信しない。
The first CPU unit 11a of the control system reflects the calculation result of the executed
また、制御系の第1のCPUユニット11aは、プログラム50を終了後、通信ユニット12a、通信ネットワーク21を介して外部機器から入力データを受け取り、待機系の第2のCPUユニット11bへ入力データを送信すると共に自身のメモリの更新などの所定の処理を実行する。
The first CPU unit 11a of the control system receives the input data from the external device via the
待機系の第2のCPUユニット11bは、制御系の第1のCPUユニット11aから入力データを受信し、自身のメモリの更新などの所定の処理を実行する。これにより、次のサイクルで別途プログラムを実行する時も、待機系の第2のCPUユニット11bは、制御系の第1のCPUユニット11aと同じ状態を維持してプログラムを開始することが可能となる。
The
次に、この発明の実施の形態1に係る二重化プログラマブルコントローラの制御系の第1のCPUユニット11aが故障した際の系切替方式について説明する。 Next, a system switching method when the first CPU unit 11a of the control system of the duplex programmable controller according to the first embodiment of the present invention fails will be described.
図7は、実施の形態1に係る二重化プログラマブルコントローラにおいて、故障による系切替方法を説明するタイムチャートである。図7において、二重化プログラマブルコントローラは、制御系の故障が発生するまでは、図2と同様のシーケンスを行う。ステップS100、S101、S102、S107は制御系の動作に対応し、ステップS130からステップS135は待機系の動作に対応する。 FIG. 7 is a time chart for explaining a system switching method due to a failure in the duplex programmable controller according to the first embodiment. In FIG. 7, the duplex programmable controller performs the same sequence as in FIG. 2 until a failure of the control system occurs. Steps S100, S101, S102, and S107 correspond to the operation of the control system, and steps S130 to S135 correspond to the operation of the standby system.
ステップS102においてプログラム50の実行中に制御系の第1のCPUユニット11aが故障したとする。第1のCPUユニット11aは自身のハードウエアの故障を検知するとステップS107において実行中のプログラム50を停止する。制御系の第1のCPUユニット11aはトラッキングケーブル20を通じて、待機系に制御系が故障した旨の故障通知を転送すると同時に、待機系を制御系に切り替える系切替指令を通知する。
Assume that the first CPU unit 11a of the control system fails during execution of the
ステップS130、S131、S132において、待機系の第2のCPUユニット11bは図2のステップS120、121、S122と同様に処理をする。ステップS132において同期化プログラムの実行と並列に、ステップS133の制御系の第1のCPUユニット11aからの故障通知を受信する。
In steps S130, S131, and S132, the standby
ステップS132で第1のCPUユニット11aが実行したステップS100と同じ内容の同期化プログラムを実行した後、ステップS134において、待機系の第2のCPUユニット11bはステップS133からの故障通知があったことを条件に、待機系から制御系に切り替わる処理を実行し、ステップS135に移行する。
After executing the synchronization program having the same contents as step S100 executed by the first CPU unit 11a in step S132, the standby
ステップS135において、待機系であった第2のCPUユニット11bは制御系としてプログラム50を実行する。この時、二重化プログラマブルコントローラは、制御系として第2のCPUユニット11bのみが動作するモードとなり、制御系、待機系の両系でのプログラム実行はせず、制御系(旧待機系)のみでプログラムが継続して実行できるようになる。なお、第2のCPUユニット11bは、第1のCPUユニット11aと同じ構成であるため、制御系としてプログラム50を実行することが可能である。
In step S135, the
以上の動作により、制御系であった第1のCPUユニット11aが故障した場合には、待機系であった第2のCPUユニット11bが制御系に切り替わって実際の制御等の動作を行うため、システムが停止することなく継続して運転でき、信頼性が向上する。
With the above operation, when the first CPU unit 11a that was the control system fails, the
本実施の形態によれば、制御系の第1のCPUユニット11aが同期割込みタイマ設定時間毎に制御プログラムを中断して、割込みイベント内容など第2のCPUユニット11bが追随して実行するために必要な情報を第2のCPUユニット11bに同期化情報として送信し、制御プログラムを再開してから第2のCPUユニット11bからの応答信号を受信する。つまり、外部からの割込み命令が発生するたびに第1のCPUユニット11aと第2のCPUユニット11bとで割込みイベントが同じ結果が得られることの確認を行うために実行中のプログラムを中断する必要がなく、同期化に要する時間を短縮でき、プログラム実行時間を短縮することができる。
According to the present embodiment, the first CPU unit 11a of the control system interrupts the control program at every set time of the synchronous interrupt timer, and the
また、本実施の形態では通信系処理41がトラッキングケーブル20などの通信路を介してデータ転送を行っている間に、第1のCPUユニット11aはプログラム50を再開する。つまり、データ転送を行うのと並列に第1のCPUユニット11aはプログラム50を再開するので、データ転送するための通信時間を待つ必要がなく、プログラム実行時間を短縮することができる。
In the present embodiment, the first CPU unit 11a resumes the
CPUユニット処理能力向上によるコントローラの大容量化に伴い、プログラムの処理時間は大幅に短縮できるにも関わらず、外部からの割込み命令発生時の同期化のための通信に係る時間が増加してプログラム実行開始から終了までのプログラム実行時間において大きな割合を占め、プログラム実行時間が長くなるという問題があったが、本実施の形態を用いれば、上記のようにプログラム実行時間を短縮することが可能になる。 Although the processing time of the program can be greatly shortened as the capacity of the controller is increased due to the improved processing capacity of the CPU unit, the time required for communication for synchronization when an external interrupt command is generated increases. There was a problem that the program execution time accounted for a large proportion of the program execution time from the start to the end and the program execution time became long. However, by using this embodiment, the program execution time can be shortened as described above. Become.
特に、プログラム処理時間に対し、データ転送の通信時間が長いという問題があった。従来の方法では、制御系と待機系が同じプログラムカウンタであるかどうか等のデータを互いにやり取りして確認するため、データ転送の間はプログラムを停止している必要があった。しかし、本実施の形態を用いればデータ転送の間もプログラムを実行できるので、プログラム実行時間を大幅に短縮することができる。 In particular, there is a problem that the data transfer communication time is longer than the program processing time. In the conventional method, since data such as whether or not the control system and the standby system are the same program counter are exchanged and checked, the program needs to be stopped during the data transfer. However, if this embodiment is used, the program can be executed even during the data transfer, so that the program execution time can be greatly reduced.
また、本実施の形態では、第2のCPUユニット11bは第1のCPUユニット11aから送信された同期化情報に基づいて同期化プログラムを実行することで、第2のCPUユニット11bと第1のCPUユニット11aとが同じ内容のプログラムを行うことの保証である同期化が行われている。そのため、第1のCPUユニット11aと第2のCPUユニット11bのそれぞれが外部にアクセスすることがなく、第1のCPUユニット11aと第2のCPUユニット11bのそれぞれが外部にアクセスする場合に、外部アクセスを行った結果が同一であるかどうかを確認する動作も省略できる。
In the present embodiment, the
以上のように、本実施の形態を用いれば、同期化に要する時間を省略でき、プログラム実行時間を短縮するという効果が得られる。 As described above, by using this embodiment, the time required for synchronization can be omitted, and the effect of shortening the program execution time can be obtained.
実施の形態2.
図8に、本発明の実施の形態2に係る二重化プログラマブルコントローラにおいて、系切替命令実行による系切替方法を説明するためのタイムチャートを示す。本実施の形態は、制御系の第1のCPUユニット11aに故障が発生しなくても、系切替命令を実行すれば、待機系の第2のCPUユニット11bを制御系に切り得られることを特徴とする。それ以外については、実施の形態1と同様である。本実施の形態によれば、第1のCPUユニット11aの寿命が近付いてきたとき等に、故障が発生しなくても切替命令を実行することで、自由に系切替が可能になる。
FIG. 8 shows a time chart for explaining a system switching method by executing a system switching instruction in the duplex programmable controller according to the second embodiment of the present invention. In the present embodiment, even if a failure does not occur in the first CPU unit 11a in the control system, the
図8において、二重化プログラマブルコントローラは、制御系の系切替命令が発生するまでは、図2と同様のシーケンスを行う。ステップS140からステップS144は制御系処理40として第1のCPUユニット11aの動作に対応し、ステップS150からステップS155は待機系の動作に対応する。それ以外は実施の形態1と同様である。
In FIG. 8, the duplex programmable controller performs the same sequence as in FIG. 2 until a system switching command for the control system is generated. Steps S140 to S144 correspond to the operation of the first CPU unit 11a as the
図8のステップS140において、制御系の第1のCPUユニット11aに系切替命令が発生すると、第1のCPUユニット11aは実行中のプログラム50を停止し、停止前までのプログラム50の実行内容であるデータと系切替命令が発生したことを第1の送受信バッファ13aに格納する。さらに、第1のCPUユニット11aは第1の送受信バッファ13aに格納された同期化情報及び系切替命令を送信する送信命令を実行する。また、第1のCPUユニット11aは自身を待機系に切り替える。
In step S140 of FIG. 8, when a system switching command is generated in the first CPU unit 11a of the control system, the first CPU unit 11a stops the
ステップS140の送信命令に従って、通信系処理42は、トラッキングケーブル20を介して第2の送受信バッファ13b宛に同期化情報と系切替命令を転送しする。
In accordance with the transmission command in step S140, the
待機系であった第2のCPUユニット11bは、ステップS150において、系切替情報を同期化情報と同時に受信する。
In step S150, the
ステップS151において、第2のCPUユニット11bは系切替情報と同期化情報を受信したことを新待機系となった第1のCPUユニット11aへ通知し、ステップS152に移行する。
In step S151, the
ステップS152において、第2のCPUユニット11bはS120と同様に待機系として、第1のCPUユニット11aが実行したプログラム内容と同一内容を実行し終わるまで同期化プログラムを実行した後、ステップS153に移行する。
In step S152, the
ステップS153において、待機系であった第2のCPUユニット11bは制御系へ系を切り替えて、ステップS154に移行する。このとき、二重化プログラマブルコントローラは、両系の系切替が終了し、第2のCPUユニット11bが新しく制御系になり、第1のCPUユニット11aが新しく待機系となってプログラム実行を再開する。
In step S153, the
以上の操作により、系切替命令実行後、制御系と待機系が継続してプログラム50を実行することが可能となり、系切替命令を実行すれば、いずれかのCPUユニットに故障が発生しなくても制御系と待機系を切り替えることができる。
With the above operation, after the system switching instruction is executed, the control system and the standby system can continuously execute the
本実施の形態は、デバッグ等の用途にも用いることができ、系切替に要する時間などを計測することが可能となる。 This embodiment can also be used for debugging and the like, and can measure the time required for system switching.
尚、本発明の実施の形態2では本発明の実施の形態1と相違する部分について説明し、同一または対応する部分についての説明は省略した。 In the second embodiment of the present invention, portions different from the first embodiment of the present invention are described, and descriptions of the same or corresponding portions are omitted.
10a 第1のコントローラ、10b 第2のコントローラ、11a 第1のCPUユニット、11b 第2のCPUユニット、12a 第1の通信ユニット、12b 第2の通信ユニット、13a 第1の送受信バッファ、13b 第2の送受信バッファ、14a 第1のコネクタ、14b 第2のコネクタ、15a 第1の分岐回数カウンタ、15b 第2の分岐回数カウンタ、16a 第1のプログラムカウンタ、16b 第2のプログラムカウンタ、17a 第1の比較部、17b 第2の比較部、20 トラッキングケーブル、21 通信ネットワーク、30 外部コントローラ、31 外部CPUユニット、32 外部通信ユニット、40 制御系処理、41 待機系処理、42 通信系処理、43 同期割込みタイマ設定時間、50 プログラム、51 同期対象命令、52 割込み命令、53 同期タイマ割込み。 10a 1st controller, 10b 2nd controller, 11a 1st CPU unit, 11b 2nd CPU unit, 12a 1st communication unit, 12b 2nd communication unit, 13a 1st transmission / reception buffer, 13b 2nd Transmission / reception buffer, 14a first connector, 14b second connector, 15a first branch number counter, 15b second branch number counter, 16a first program counter, 16b second program counter, 17a first Comparison unit, 17b Second comparison unit, 20 Tracking cable, 21 Communication network, 30 External controller, 31 External CPU unit, 32 External communication unit, 40 Control system process, 41 Standby system process, 42 Communication system process, 43 Synchronous interrupt Timer setting time, 50 programs , 51 Synchronization target instruction, 52 Interrupt instruction, 53 Synchronization timer interrupt.
Claims (10)
第2のプログラムカウンタと、第2のCPUと、前記第1の送受信バッファから送信された前記同期化情報を格納する第2の送受信バッファと、前記第2のプログラムカウンタの値と前記第2の送受信バッファに格納された前記同期化情報とを常に比較する比較部と、が設けられた第2のCPUユニットと、
前記第1の送受信バッファから前記第2の送受信バッファに前記同期化情報を送信する通信路と
を備え、
前記イベントは、前記第1のCPUによる同期対象命令及び割込み命令の少なくとも一方の実行、あるいは割込みの受付けであって、
前記第2のCPUユニットは、前記比較部による比較結果が一致した場合に、一致した第1のプログラムカウンタ及び第1の分岐回数カウンタの値に対応付けられた前記同期化情報に応じた前記制御プログラムを実行すること
を特徴とする二重化プログラマブルコントローラ。 A first program counter, a first CPU, when executing the control program corresponding to the event, and the previous contents of SL events associated with the value and the value of the first branch counter of the first program counter A first CPU unit provided with a first transmission / reception buffer for storing synchronization information;
A second program counter; a second CPU; a second transmission / reception buffer for storing the synchronization information transmitted from the first transmission / reception buffer; a value of the second program counter; A second CPU unit provided with a comparison unit that constantly compares the synchronization information stored in the transmission / reception buffer;
A communication channel and for transmitting the synchronization information to the second reception buffer from said first transmission and reception buffer,
The event is execution of at least one of a synchronization target instruction and an interrupt instruction by the first CPU, or acceptance of an interrupt,
The second CPU units, the comparison result by the previous SL ratio較部is if they match, corresponding to the matched first program counter and the first branch counter the synchronization information associated with the value of redundant programmable controller characterized that you run the control program.
を特徴とする請求項1に記載の二重化プログラマブルコントローラ。 The first CPU unit, child stored in the first reception buffer and the value of the first program counter to execute the interrupt processing and the contents of the interrupt processing for the interrupt command from the outside as synchronization information redundant programmable controller according to claim 1, wherein the door.
を特徴とする請求項1または2に記載の二重化プログラマブルコントローラ。 When the second CPU unit stores the synchronization information in the second transmission / reception buffer, the second CPU unit transmits a response signal to the first CPU unit via the communication path, and the first CPU unit redundant programmable controller according to claim 1 or 2, characterized that you store the response signal to said first transmission and reception buffer.
を特徴とする請求項1乃至3のいずれか1項に記載の二重化プログラマブルコントローラ。 The first CPU unit is a control system, the second CPU unit is a standby system, and the second CPU unit is notified when a failure notification is given from the first CPU unit to the second CPU unit. redundant programmable controller according to any one of claims 1 to 3 but wherein the Rukoto switch to the control system.
を特徴とする請求項1乃至4のいずれか1項に記載の二重化プログラマブルコントローラ。 When the first CPU unit is a control system, the second CPU unit is a standby system, the first CPU unit issues a switching notification, and the second CPU unit receives the switching notification, redundant programmable controller according to any one of claims 1 to 4 wherein the second CPU unit is characterized Rukoto switch to the control system.
を特徴とする請求項1乃至5のいずれか1項に記載の二重化プログラマブルコントローラ。 It said communication path, redundant programmable controller according to any one of claims 1 to 5, wherein the tracking cables der Rukoto.
を特徴とする請求項1乃至5のいずれか1項に記載の二重化プログラマブルコントローラ。 Said communication path, redundant programmable controller according to any one of claims 1 to 5, characterized in Oh Rukoto bus.
前記プログラム中断後に、前記第1のCPUユニットが、前記同期割込みタイマ設定時間内の実行内容を第1のプログラムカウンタの値及び第1の分岐回数カウンタの値と関連付けて同期化情報として通信路に送信する第1の送信命令を実行する工程と、
前記第1のCPUユニットが、前記第1の送信命令を実行する工程の後に前記プログラムを再開する工程と、
第2のCPUユニットが、前記通信路に送信された前記同期化情報を受信する工程と、
前記第2のCPUユニットが前記同期化情報を受信したことを応答する応答信号を前記通信路に送信する第2の送信命令を実行する工程と、
前記第1のCPUユニットが、前記プログラムを再開した後に、前記応答信号を受信する工程と、
前記第2のCPUユニットが、送信された前記同期化情報と前記第2のCPUユニットの第2のプログラムカウンタ及び第2の分岐回数カウンタとを常に比較し、比較した比較結果が一致した場合に、一致した第1のプログラムカウンタの値及び第1の分岐回数カウンタの値に対応付けられた前記同期化情報に応じた前記プログラムを実行する工程と
を備えた二重化プログラマブルコントローラの同期化方法。 A step in which the first CPU unit interrupts the program being executed at every synchronous interrupt timer set time;
After the program is interrupted, the first CPU unit associates the execution contents within the set time of the synchronous interrupt timer with the value of the first program counter and the value of the first branch number counter as synchronization information on the communication path. Executing a first transmission instruction to transmit;
The first CPU unit restarting the program after the step of executing the first transmission command;
A second CPU unit receiving the synchronization information transmitted to the communication path;
Executing a second transmission command for transmitting a response signal to the communication path in response to the second CPU unit receiving the synchronization information ;
Receiving the response signal after the first CPU unit resumes the program; and
When the second CPU unit always compares the transmitted synchronization information with the second program counter and the second branch number counter of the second CPU unit, and the compared result of comparison is coincident Executing the program according to the synchronization information associated with the matched first program counter value and the first branch number counter value;
Method for synchronizing a dual programmable controller with
記第1のCPUユニットから前記第2のCPUユニットに故障通知があったとき、前記第When there is a failure notification from the first CPU unit to the second CPU unit,
2のCPUユニットを制御系に切り替える工程を備えた請求項8に記載の二重化プログラマブルコントローラの同期化方法。The method for synchronizing a duplex programmable controller according to claim 8, further comprising a step of switching the two CPU units to a control system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013007559A JP5900360B2 (en) | 2013-01-18 | 2013-01-18 | Duplex programmable controller and synchronization method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013007559A JP5900360B2 (en) | 2013-01-18 | 2013-01-18 | Duplex programmable controller and synchronization method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014137795A JP2014137795A (en) | 2014-07-28 |
JP5900360B2 true JP5900360B2 (en) | 2016-04-06 |
Family
ID=51415237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013007559A Active JP5900360B2 (en) | 2013-01-18 | 2013-01-18 | Duplex programmable controller and synchronization method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5900360B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766188B (en) * | 2017-10-13 | 2020-09-25 | 交控科技股份有限公司 | Memory detection method and device in train control system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62214465A (en) * | 1986-03-17 | 1987-09-21 | Hitachi Ltd | Control method for dual controller |
JPH10326199A (en) * | 1997-05-27 | 1998-12-08 | Yaskawa Electric Corp | Interruption synchronizing device in dual system |
JP2001005684A (en) * | 1999-06-17 | 2001-01-12 | Mitsubishi Electric Corp | Controller and control system using the control device |
JP4836979B2 (en) * | 2008-03-07 | 2011-12-14 | 三菱電機株式会社 | Duplex programmable controller |
-
2013
- 2013-01-18 JP JP2013007559A patent/JP5900360B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014137795A (en) | 2014-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809291B2 (en) | Method and apparatus for redundancy in active-active cluster system | |
US7467322B2 (en) | Failover method in a cluster computer system | |
US20080040552A1 (en) | Duplex system and processor switching method | |
JP6431197B2 (en) | Snapshot processing methods and associated devices | |
US10025682B2 (en) | Control system and processing method thereof | |
JP2011076130A (en) | Remote copy control method and system in storage cluster environment | |
US20060150002A1 (en) | Starting control method, duplex platform system, and information processor | |
JP6159077B2 (en) | How to provide high integrity processing | |
JP2011158995A (en) | Computer device and bios update method for the same | |
JP5900360B2 (en) | Duplex programmable controller and synchronization method thereof | |
CN110764829B (en) | Multi-path server CPU isolation method and system | |
KR102023164B1 (en) | Method for monitoring os task of twin micom in rtos | |
JP6066748B2 (en) | System management device and system | |
CN109308234B (en) | Method for controlling multiple controllers on board card to carry out active/standby switching | |
JP5469637B2 (en) | Redundant controller | |
EP3663923B1 (en) | Independent and interlocking redundancy system | |
US11232197B2 (en) | Computer system and device management method | |
CN112534411B (en) | CPU unit, control method and computer readable recording medium | |
JP6381501B2 (en) | Redundant system | |
JP2013254333A (en) | Multiple system control system and control method therefor | |
US20100169688A1 (en) | Disk array unit, and method and program for controlling power source in disk array unit | |
JPH0736720A (en) | Duplex computer equipment | |
JPH0462081B2 (en) | ||
JP4640359B2 (en) | Fault tolerant computer and synchronization control method in fault tolerant computer | |
JPS61128302A (en) | Programmable controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151027 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151210 |
|
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: 20160209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160222 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5900360 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
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 |