JP2012168635A - Duplex control device - Google Patents
Duplex control device Download PDFInfo
- Publication number
- JP2012168635A JP2012168635A JP2011027511A JP2011027511A JP2012168635A JP 2012168635 A JP2012168635 A JP 2012168635A JP 2011027511 A JP2011027511 A JP 2011027511A JP 2011027511 A JP2011027511 A JP 2011027511A JP 2012168635 A JP2012168635 A JP 2012168635A
- Authority
- JP
- Japan
- Prior art keywords
- controller
- input
- memory
- output
- data
- 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
Links
Images
Landscapes
- Safety Devices In Control Systems (AREA)
- Hardware Redundancy (AREA)
- Programmable Controllers (AREA)
Abstract
Description
本発明の実施形態は、二重化制御装置に関する。 Embodiments described herein relate generally to a duplex control device.
工場や公共施設等の各種プラントの動作を制御するコントローラには、このコントローラに何等かの異常が発生して、制御対象のプラントが停止すると重大な事故に至る恐れがある。 A controller that controls the operation of various plants such as factories and public facilities may cause a serious accident if an abnormality occurs in the controller and the plant to be controlled stops.
一般に、このような制御対象に対しては、同一構成の2つのコントローラを接続して、いずれか一方を稼動系、他方を待機系として、通常は稼動系のみで制御対象を制御し、稼動系に異常が生じたときに、待機系を稼動系用に切り替え、制御を続行するように構成される待機冗長型の二重化制御装置がある。 Generally, for such a control target, two controllers having the same configuration are connected, and one of them is an active system and the other is a standby system. There is a standby redundant type redundant control device configured to switch the standby system to the active system and continue the control when an abnormality occurs in the system.
このような二重化制御装置においては、2つのコントローラのうち、一方が稼動状態で、かつ他方がバックアップに備えて待機状態となり、コントローラ間で互いに相手の運転状態を監視し、稼動系がダウンしたら待機系がそれを検知し、待機系を稼動系に切替えて制御を継続して実行している。 In such a redundant control device, one of the two controllers is in an operating state and the other is in a standby state in preparation for backup, and the other controller's operating state is monitored between the controllers, and the controller is on standby when the operating system goes down. The system detects this, switches the standby system to the active system, and continues control.
そのため、従来の二重化制御装置は、互いに相手のコントローラの状態を検知及び通知するためのステータス伝送路(バス)とそれをインタフェースするステータス伝送路(バス)入出力ポートと、コントローラがバックアップ時に制御を継続して実行するためのデータとなる実行結果情報を相手のコントローラに転送するためのデータ伝送路(バス)とそれをインタフェースするデータ伝送路(バス)インタフェースと、実行結果情報を受信及び送信するためのバッファとを備えるようにしている。 For this reason, the conventional duplex control device detects and notifies the status of each other's controller with each other, a status transmission path (bus) input / output port that interfaces with the status transmission path (bus), and the controller controls at the time of backup. A data transmission path (bus) for transferring execution result information, which is data to be continuously executed, to the partner controller, a data transmission path (bus) interface for interfacing with the data transmission path (bus), and receiving and transmitting execution result information And a buffer for this purpose.
このような構成によれば、システムダウンの確率が軽減され、信頼度の高い二重化制御装置を構成することができる。 According to such a configuration, the probability of system down is reduced and a highly reliable duplex control device can be configured.
従来の二重化機能を備えたコントローラは、その重要性から専用の二重化制御部を備え、その二重化制御部を使用して二重化情報を専用にやりとりしながら二重化方式を実現していた。 A controller having a conventional duplex function is provided with a dedicated duplex control unit because of its importance, and the duplexing method is realized by exchanging duplex information exclusively by using the duplex control unit.
従来の二重化機能を備えたコントローラは、専用の二重化制御部により高速で大量の二重化情報のやりとりを可能とするため、二重化制御部の構成が複雑になり且つ比較的高価になる。そのため小規模なプラントや製造ライン等の産業分野で使用されるコントローラでは、高価な仕組みを採用することが困難であった。 Since a conventional controller having a duplex function enables a large amount of duplex information to be exchanged at a high speed by a dedicated duplex control unit, the configuration of the duplex control unit is complicated and relatively expensive. Therefore, it is difficult to adopt an expensive mechanism in a controller used in an industrial field such as a small plant or a production line.
本発明は、上記事情を鑑みて成されたものであって、構成が複雑になることを回避し、安価な二重化制御装置を提供することを目的とする。 The present invention has been made in view of the above circumstances, and it is an object of the present invention to avoid a complicated configuration and to provide an inexpensive duplexing control device.
実施形態による二重化制御装置は、第1コントローラと、第2コントローラと、外部機器と接続可能なI/Oモジュールと、前記第1コントローラが実装される第1スロット、前記第2コントローラが実装される第2スロット、および、前記I/Oモジュールが実装される複数のスロット、を備えた入出力バスと、を備え、前記第1コントローラおよび前記第2コントローラのそれぞれは、制御部と、前記入出力バスへデータを出力するおよび前記入出力バスからデータが入力されるインタフェース部と、前記制御部および前記インタフェース部からアクセス可能なメモリと、を備え、前記入出力バスはパラレルバスである。 In the duplex control device according to the embodiment, a first controller, a second controller, an I / O module connectable to an external device, a first slot in which the first controller is mounted, and the second controller are mounted. An input / output bus including a second slot and a plurality of slots in which the I / O modules are mounted, and each of the first controller and the second controller includes a control unit and the input / output An interface unit that outputs data to the bus and receives data from the input / output bus; and a memory accessible from the control unit and the interface unit, wherein the input / output bus is a parallel bus.
以下、実施形態について、図面を参照して説明する。
図1に、本実施形態の二重化制御装置の一構成例を示す。本実施形態に係る二重化制御装置は、プライマリ側コントローラ10と、セカンダリ側コントローラ11と、I/O出力モジュール12と、I/O入力モジュール13と、入出力バス1と、を備えている。プライマリ側コントローラ10、セカンダリ側コントローラ11と、I/O出力モジュール12と、I/O入力モジュール13とは、それぞれが入出力バス1に設けたスロットに実装され、入出力バス1により互いに信号を送受信することが可能に構成されている。
Hereinafter, embodiments will be described with reference to the drawings.
FIG. 1 shows an example of the configuration of the duplex control device of this embodiment. The duplex control device according to the present embodiment includes a
プライマリ側コントローラ10は、入出力バス1への信号の送信および入出力バス1からの信号の受信を行うためのインタフェース部101と、メモリMEMP100と、インタフェース部101およびメモリMEMP100を制御するCPU部102と、を備えている。
The primary-
メモリMEMP100は、インタフェース部101と接続されている。したがって、プライマリ側コントローラ10は、セカンダリ側コントローラ11、I/O出力モジュール12、および、I/O入力モジュール13から受信されるデータの書き込み、および、データの読み出しが可能である。またCPU部102からメモリMEMP100へのデータの書き込みおよびメモリMEMS110からCPU部102へのデータの読み出しも可能である。
The memory MEMP 100 is connected to the
インタフェース部101とCPU部102とは、内部バス103で接続されている。CPU部102は、内部バス103、インタフェース部101および入出力バス1を介して、他のモジュール11、12、13のメモリMEMS110、MEMO120、MEMI130を直接読み書きすることができる。
The
CPU部102は、入出力バス1に実装されたスロット位置で、プライマリ側であるかセカンダリ側であるかを判断する手段(図示せず)と、相手の運転モード等から自身が稼動系であるか待機系であるかを判断する手段(図示せず)と、を備えている。
The
プライマリ側コントローラ10、すなわち、CPU部102が、稼動系コントローラに搭載される場合には、さらに、I/O入力モジュール12、13にデータを入出力する手段(図示せず)と、ユーザ制御プログラムを実行する手段(図示せず)と、待機系コントローラと実行結果データを等値化するために待機系コントローラのメモリに実行結果データを書き込む手段(図示せず)と、自身の運転モードを待機系コントローラのメモリに書き込み、且つ、相手の運転モードを待機系コントローラのメモリから読み出す手段(図示せず)と、を備える。
When the primary-
CPU部102が、待機系コントローラに搭載される場合には、さらに、自分の運転モードを自分のメモリに書き込み、相手から自分のメモリに書き込まれた相手の運転モードを読み出し次の運転モードを判定する手段(図示せず)と、自分を稼動系として運転する手段(図示せず)とを備える。
When the
セカンダリ側コントローラ11は、プライマリ側コントローラ10と同様の構成である。すなわち、セカンダリ側コントローラ11は、入出力バス1への信号の送信および入出力バス1からの信号の受信を行うためのインタフェース部111と、メモリMEMS110と、インタフェース部111およびメモリMEMS110を制御するCPU部112と、を備えている。
The
メモリMEMS110は、インタフェース部111と接続されている。したがって、セカンダリ側コントローラ11は、プライマリ側コントローラ10、I/O出力モジュール12、および、I/O入力モジュール13から受信されるデータの書き込み、および、データの読み出しが可能である。またCPU部112からメモリMEMS110へのデータの書き込みおよびメモリMEMS110からCPU部112へのデータの読み出しも可能である。
The memory MEMS 110 is connected to the
インタフェース部111とCPU部112とは、内部バス113で接続されている。CPU部112は、内部バス113、インタフェース部111および入出力バス1を介して、他のモジュール10、12、13のメモリMEMP100、MEMO120、MEMI130を直接読み書きすることができる。
The
CPU部112は、入出力バス1に実装されたスロット位置で、プライマリ側であるかセカンダリ側であるかを判断する手段(図示せず)と、相手の運転モード等から自身が稼動系であるか待機系であるかを判断する手段(図示せず)と、を備えている。ここでの判断方法については初期化処理として後に説明する。
The
セカンダリ側コントローラ10、すなわち、CPU部112が、稼動系コントローラに搭載される場合には、さらに、I/O入力モジュール12、13にデータを入出力する手段(図示せず)と、ユーザ制御プログラムを実行する手段(図示せず)と、待機系コントローラと実行結果データを等値化するために待機系コントローラのメモリに実行結果データを書き込む手段(図示せず)と、自身の運転モードを待機系コントローラのメモリに書き込み、且つ、相手の運転モードを待機系コントローラのメモリから読み出す手段(図示せず)と、を備える。
When the secondary-
CPU部112が、待機系コントローラに搭載される場合には、さらに、自分の運転モードを自分のメモリに書き込み、相手から自分のメモリに書き込まれた相手の運転モードを読み出し次の運転モードを判定する手段(図示せず)と、自分を稼動系として運転する手段(図示せず)とを備える。
When the
上記プライマリ側コントローラ10およびセカンダリ側コントローラ11は、入出力バス1のプライマリ側用スロットとセカンダリ側用スロットに実装し、その他のスロットにはI/Oモジュールを実装する。
The
入出力バス1は、コントローラやI/O入力モジュール、I/O出力モジュールを実装するための複数のスロット1−1〜1−Nを備えている。スロット1−1は、プライマリ側コントローラ10を実装し、スロット1−2は、セカンダリ側コントローラ11を実装する。スロット1−3以降のスロットには、I/O出力モジュール12やI/O入力モジュール13を実装可能としている。入出力バス1は、例えば、PCI(Peripheral Component Interconnect)バスやISA(Industry Standard Architecture)バス等のパラレルバスである。なお、入出力バス1は、シリアルバスであってもよく、イーサネット(登録商標)ケーブル等のローカルエリアネットワーク(LAN)ケーブルであってもよい。
The input /
I/O出力モジュール12には、入出力バス1とインタフェースを行うためのインタフェース部121と、外部出力機器14へデータを出力する出力インタフェース部122と、インタフェース部121を介してプライマリ側コントローラ10およびセカンダリ側コントローラ11からデータの読み書きが可能で、且つ、出力インタフェース部122からもデータの読み書きが可能なメモリMEMO120と、を備えている。メモリMEMO120は、インタフェース部121と、出力インタフェース部122とに接続されている。出力インタフェース部122は、常時、メモリMEMO120に書き込まれた出力データを外部出力機器14へ出力する。
The I /
I/O入力モジュール13には、入出力バス1とインタフェースを行うためのインタフェース部131と、外部入力機器15からのデータが入力される入力インタフェース部132と、インタフェース部131を介してプライマリ側コントローラ10およびセカンダリ側コントローラ11からデータの読み書きが可能で、且つ、入力インタフェース部132からもデータの読み書きが可能なメモリMEMI130と、を備えている。メモリMEMI130は、インタフェース部131と入力インタフェース部132とに接続されている。及び、入力インタフェース部132は、常時、外部入力機器15から入力された入力データをメモリMEMI130に書き込む。
The I /
図4に、入出力バス1のI/O空間40とスロット1−1〜1−Nの割り付けの一例を示す。スロット1−1〜1−Nそれぞれに、一定のI/O空間が割り当てられ、該当スロットの空間内に該当スロットのインタフェース部に接続されたメモリMEMP100、MEMS110、MEMO120、MEMI130が割り付けられている。
FIG. 4 shows an example of allocation of the I / O space 40 and the slots 1-1 to 1-N of the input /
スロット1−1のメモリ空間には、プライマリ側コントローラ10のメモリMEMP100が割り付けられ、スロット1−2のメモリ空間には、セカンダリ側コントローラ11のメモリMEMS110が割り付けられている。スロット1−3以降には、実装されているI/O出力モジュール12のメモリMEMO120、I/O入力モジュール13のメモリMEMI130が各々割り付けられている。
The
スロット1−1とスロット1−2のI/O空間に割り付けられているメモリ空間は、二重化情報部46、47として、稼動系コントローラと待機系コントローラとで二重化情報のやりとりを行うためのメモリとして使用する。
The memory space allocated to the I / O space of the slot 1-1 and the slot 1-2 is used as a
I/O空間の二重化情報部46、47は、自身の運転モードを明示するメモリ410と、相手の運転モードを明示するメモリ411と、実行結果を等値化するために相手から実行結果データ書き込まれるメモリ412と、を含む。
The I / O space
これら二重化情報部46、47は、稼動系コントローラと待機系コントローラとの間で相手のコントローラから互いに読み書きができ、自信のコントローラ内でも読み書きができる。
These
スロット1−3以降のスロットに割り付けられたI/O空間に割り付けられているメモリMEMO120、MEMI130は、I/O出力モジュール12のメモリMEMO120であれば、出力レジスタ部48で構成され、各出力レジスタ0〜Mに稼動系コントローラから出力データが書き込まれ、この出力レジスタの出力データは、出力インタフェース部122により外部出力機器14に出力される。
If the
I/O入力モジュール13のメモリMRMI130であれば、入力レジスタ部49で構成され、各入力レジスタ0〜Nには、入力インタフェース部132により外部入力機器15から入力した入力データが書き込まれ、稼動系コントローラから入力データとして読み出される。
The
上記のように、プライマリ側コントローラ10およびセカンダリ側コントローラ11は、I/O空間にアクセスすることで、プライマリ側コントローラ10、セカンダリ側コントローラ11、I/O出力モジュール12、および、I/O入力モジュール13に具備されたインタフェース部101、111、121、131に接続されたメモリMEMP100、MEMS110、MEMO120、MEMI130に自由にアクセスできる。
As described above, the primary-
図2は、プライマリ側コントローラ10が稼動系コントローラで、セカンダリ側コントローラ11が待機系コンロトーラである場合の、データの流れの一例を示している。稼動系コントローラ10から、I/O出力モジュール12へ出力データを出力する時のデータの流れ2−1は、先ず、CPU部102からデータが、内部バス103を介してインタフェース部101へ出力される。インタフェース部101へ出力されたデータは、更に、入出力バス1を通って、I/O出力モジュール12のインタフェース部121に出力される。次に、インタフェース部121を介して、メモリMEMO120の出力レジスタ部48の各出力レジスタ413、414、415、416に書き込まれる。
FIG. 2 shows an example of the data flow when the
更に、常時、出力インタフェース部122により、出力レジスタ部48の各出力レジスタ413、414、415、416に書き込まれた出力データを、外部出力機器14に出力する(2−2)。
Further, the output data written in the output registers 413, 414, 415, and 416 of the
次に、稼動系コントローラ10により、I/O入力モジュール13の入力データを入力する時のデータの流れ2−3について説明する。先ず、CPU部102から、入力するレジスタの読み出しを要求すると、読み出し要求が、内部バス103を介して、インタフェース部101へ出力され、更に、入出力バス1を通って、I/O入力モジュール13のインタフェース部131に出力される。インタフェース部131が読み出し要求に従って、メモリMEMI130の入力レジスタ部49の各入力レジスタ417、418、419、420から読み出した入力データを、今度は、入出力バス1を介して、稼動系コントローラ10のインタフェース部101へ入力し、インタフェース部101から、内部バス103を介して、CPU部102へ入力データが入力される。
Next, a data flow 2-3 when the input data of the I /
更に、常時、入力インタフェース部132により、外部入力機器15から入力した入力データを、入力レジスタ部49の各出力レジスタ417、418、419、420に書き込む(2−4)。
Furthermore, the input data input from the
次に、稼動系コントローラ10から、待機系コントローラ11のメモリMEMS110にデータを書き込む時のデータの流れ2−5の一例を説明する。先ず、CPU部102から、出力データが、内部バス103を介して、インタフェース部101へ出力され、更に、入出力バス1を通って、待機系コントローラ11のインタフェース部111に出力される。次に、インタフェース部111を介して、メモリMEMS110に書き込まれる。更に、メモリMEMS110に書き込まれたデータはCPU部112により読み出し可能である(2−6)。
Next, an example of the data flow 2-5 when data is written from the
次に、稼動系コントローラ10から、待機系コントローラ11のデータを読み出す時のデータの流れ2−7の一例を説明する。先ず、CPU部102からメモリの読み出しを要求すると、読み出し要求が、内部バス103を介して、インタフェース部101へ出力され、更に、入出力バス1を通って、待機系コントローラ11のインタフェース部111に出力される。次に、インタフェース部111が読み出し要求に従って、メモリMEMS110から読み出したデータを、今度は、入出力バス1を介して、コントローラ10のインタフェース部101へ入力し、インタフェース部101から、内部バス103を介して、CPU部102へデータが読み込まれる。なお、CPU部112から自身のメモリMEMS110へデータの書き込むことも可能である(2−8)。
Next, an example of the data flow 2-7 when reading the data of the
図3は、セカンダリ側コントローラ11が稼動系コントローラで、プライマリ側コントローラ10が待機系コントローラである場合のデータの流れの一例を示している。稼動系コントローラ11から、I/O出力モジュール12へ出力データを出力する時のデータの流れ3−1の一例について説明する。先ず、CPU部112から、出力データが、内部バス113を介して、インタフェース部111へ出力され、更に、入出力バス1を通って、I/O出力モジュール12のインタフェース部121に出力される。次に、インタフェース部121を介して、メモリMEMO120の出力レジスタ部48の各出力レジスタ413、414、415、416に書き込まれる。更に、常時、出力インタフェース部122により、出力レジスタ部48の各出力レジスタ413、414、415、416に書き込まれた出力データを、外部出力機器14に出力する(3−2)。
FIG. 3 shows an example of the data flow when the
次に、稼動系コントローラ11から、I/O入力モジュール13の入力データを入力する時のデータの流れ3−3の一例について説明する。先ず、CPU部112から、入力するレジスタの読み出しを要求すると、読み出し要求が、内部バス113を介して、インタフェース部111へ出力され、更に、入出力バス1を通って、I/O入力モジュール13のインタフェース部131に出力される。次に、インタフェース部131が読み出し要求に従って、メモリMEMI130の入力レジスタ部49の各入力レジスタ417、418、419、420から読み出した入力データを、今度は、入出力バス1を介して、コントローラ11のインタフェース部111へ入力し、インタフェース部111から、内部バス113を介して、CPU部112へ入力データが入力される。更に、常時、入力インタフェース部132により、外部入力機器15から入力した入力データを、入力レジスタ部49の各出力レジスタ417、418、419、420に書き込む(3−4)。
Next, an example of the data flow 3-3 when inputting the input data of the I /
次に、稼動系コントローラ11から、待機系コントローラ10のメモリMEMP100にデータを書き込む時のデータの流れ3−5の一例について説明する。先ず、CPU部112から、出力データが、内部バス113を介して、インタフェース部111へ出力され、更に、入出力バス1を通って、待機系コントローラ10のインタフェース部101に出力される。次に、インタフェース部101を介して、メモリMEMP100に書き込まれる。更に、メモリMEMP100に書き込まれたデータはCPU部102で読み出し可能である(3−6)。
Next, an example of a data flow 3-5 when data is written from the
次に、稼動系コントローラ11から、待機系コントローラ10のデータを読み出す時のデータの流れ3−7の一例について説明する。先ず、CPU部112からメモリの読み出しを要求すると、読み出し要求が、内部バス113を介して、インタフェース部111へ出力され、更に、入出力バス1を通って、待機系コントローラ10のインタフェース部101に出力される。次に、インタフェース部101が読み出し要求に従って、メモリMEMP100から読み出したデータを、今度は、入出力バス1を介して、稼動系コントローラ11のインタフェース部111へ入力し、インタフェース部111から、内部バス113を介して、CPU部112へデータが読み込まれる。
Next, an example of the data flow 3-7 when reading data of the
図5は、プライマリ側コントローラ10およびセカンダリ側コントローラ11のCPU部102、112において、稼動系と待機系との選択する初期化処理(ステップ5−1)の一例を示すフローチャートである。プライマリ側コントローラ10およびセカンダリ側コントローラ11のCPU部102、112は、最初に自分がプライマリ側であるかセカンダリ側であるかを判断し、相手の運転モードにより自分を稼動系に立ち上げるか、待機系に立ち上げるかを以下のように判断する。
FIG. 5 is a flowchart showing an example of the initialization process (step 5-1) for selecting the active system and the standby system in the
先ず、相手監視時間をクリアする(ステップ5−2)。次に相手のメモリの二重化情報部46、47から相手の運転モードを読み出す(ステップ5−3)。次に、相手の運転モードが稼動系の運転であれば(既に稼動系で運転中であれば)、待機系処理(ステップ7−1)へ移行する(ステップ5−4)。
First, the partner monitoring time is cleared (step 5-2). Next, the other party's operation mode is read from the
次に、自分がプライマリ側であれば稼動系処理(ステップ6−1)へ移行する(ステップ5−5)。次に、相手監視時間を更新する(ステップ5−6)。相手監視時間が所定の時間をオーバーしていなければ、再度、相手のメモリの二重化情報部46、47から相手の運転モードを読み出し、同じ動作を繰り返す。相手監視時間が所定の時間をオーバーしていれば、稼動系処理(ステップ6−1)へ移行する(ステップ5−7)。
Next, if it is the primary side, it shifts to active system processing (step 6-1) (step 5-5). Next, the partner monitoring time is updated (step 5-6). If the partner monitoring time does not exceed the predetermined time, the partner's operation mode is read again from the
図6は、プライマリ側コントローラ10およびセカンダリ側コントローラ11のCPU部102、112に実装されている稼動系処理(ステップ6−1)と二重化トラッキング処理(ステップ6−7)と停止処理(ステップ6−12)との一例を示すフローチャートである。稼動系処理(ステップ6−1)と二重化トラッキング処理(ステップ6−7)とはスキャン周期に従って定期的に実行される。
FIG. 6 shows active system processing (step 6-1), duplex tracking processing (step 6-7), and stop processing (step 6) implemented in the
稼動系処理(ステップ6−1)では、先ず、自分の運転モード(稼動系を示す運転モード)を相手(待機系側)のメモリの二重化情報部46、47の相手の運転モードメモリ411に書き込む(ステップ6−2)。
In the active system process (step 6-1), first, the user's own operation mode (operation mode indicating the active system) is written into the
次に、I/O入力モジュール13のメモリMRMI(メモリ49)から入力データを読み出す(ステップ6−3)。次に、読み出した入力データを元にユーザ制御プログラムを実行する(ステップ6−4)。次に、ユーザ制御プログラムの実行で得られた出力データをI/O出力モジュール12のメモリMEMO120(メモリ48)へ書き込む(ステップ6−5)。 Next, input data is read from the memory MRMI (memory 49) of the I / O input module 13 (step 6-3). Next, a user control program is executed based on the read input data (step 6-4). Next, the output data obtained by executing the user control program is written into the memory MEMO 120 (memory 48) of the I / O output module 12 (step 6-5).
以上の処理の中で異常が発生していなければ、二重化トラッキング処理(ステップ6−7)へ移行し、異常が発生していれば、停止処理(ステップ6−12)へ移行する(ステップ6−6)。 If no abnormality occurs in the above processing, the process proceeds to the duplex tracking process (step 6-7), and if an abnormality occurs, the process proceeds to the stop process (step 6-12) (step 6-6). 6).
二重化トラッキング処理(ステップ6−7)では、先ず、相手(待機系側)のメモリの二重化情報部46、47の自分の運転モードメモリ410から運転モードを読み出し、相手が待機系の運転モードであれば(ステップ6−9)、稼動系処理(ステップ6−1)でユーザ制御プログラムを実行した時の実行結果データを、相手(待機系側)のメモリの二重化情報部46、47の等値化用の実行結果データメモリ412へ書き込み、稼動系と待機系との実行状態を等値化する(ステップ6−10)。
In the duplex tracking process (step 6-7), first, the operation mode is read from the own
次に、次のスキャン周期に達するまで実行を待ち、次のスキャン周期に達したら、繰り返し稼動系処理を実行する(ステップ6−11)。 Next, execution is waited until the next scan cycle is reached, and when the next scan cycle is reached, the active system process is repeatedly executed (step 6-11).
停止処理(ステップ6−12)では、自分の停止モードを相手のメモリの二重化情報部46、47の相手の運転モードメモリ411へ書き込む(ステップ6−13)。次に、再スタートの要求がなければ停止処理を最初から実行し、再スタート要求があれば、図5で示した初期化処理(ステップ5−1)から実行を開始する(ステップ6−14)。
In the stop process (step 6-12), the own stop mode is written in the partner
図7は、プライマリ側コントローラ10およびセカンダリ側コントローラ11のCPU部102、112での待機系処理(ステップ7−1)の一例を示すフローチャートである。待機系処理(ステップ7−1)では、先ず、自分のメモリの二重化情報部46、47の自分の運転モードメモリ410に自分の運転モード(待機系を示す運転モード)を書き込む、(ステップ7−2)。この運転モードは、稼動系コントローラの稼動系処理(ステップ6−1)の中で読み出される(ステップ6−8)。
FIG. 7 is a flowchart illustrating an example of standby processing (step 7-1) in the
次に、自分メモリの二重化情報部46,47の相手の運転モードメモリ411から、相手の運転モードを読み出す(ステップ7−3)。相手が、稼動系を示す運転モードであれば、待機系処理を繰り返し実行する(ステップ7−4)。相手が、停止を示す運転モードであれば、自分のメモリの二重化情報46、47の等値化用の実行結果データメモリ412から等値化のための実行結果データを読み出し自分の実行データに取り込む(ステップ7−5)。次に稼動系処理(ステップ6−1)へ移行し、稼動系としてコントローラを実行する。
Next, the other party's operation mode is read from the other party's
図8は、上記二重化制御装置における通常の二重化運転の一例を説明するタイミングチャートを示す。稼動系側コントローラ810は、スキャン周期89に従って定周期で稼動系処理(ステップ6−1)を実行する。
FIG. 8 is a timing chart for explaining an example of normal duplex operation in the duplex control device. The active
稼動系処理(ステップ6−1)では、先ず、タイミング81において、自分の運転モードを待機系側コントローラ811の二重化情報部813の相手の運転モードメモリ411に書き込む820。次に、タイミング82において、稼動系側コントローラ810はI/O入力モジュール13から入力データを読み出す(ステップ6−3)。次に、タイミング83において、入力データを入力情報としてユーザ制御プログラムを実行する(ステップ6−4)。次に、タイミング84において、ユーザ制御プログラムで生成した出力データを、I/O出力モジュール12へ書き込む(ステップ6−5)。次に、タイミング85において、待機系側コントローラ811の二重化情報部813の自分の運転モードメモリ410から、待機系側コントローラ811の運転モードを読み出す823(ステップ6−8)。待機系側コントローラ811の運転モードが、待機系を示す運転モードであれば、次に、タイミング86において、ユーザ制御プログラムの実行結果データを等値化するために、待機系側811の二重化情報部813の等値化用の実行結果データメモリ412へ書き込む824(ステップ6−10)。
In the active system process (step 6-1), first, at timing 81, the user's operation mode is written 820 in the other party's
待機系側コントローラ811は、少なくとも、スキャン周期89よりも短い周期で、待機系処理(ステップ7−1)を一定周期で実行する。待機系処理(ステップ7−1)では、先ず、タイミング87において、自分の二重化情報部813の自分の運転モードメモリ410に、待機モードを示す運転モードを書き込む821(ステップ7−2)。次に、タイミング88において、自分の二重化情報部813の相手の運転モードメモリ411から、相手の運転モードを読み出す822(ステップ7−3)。相手の運転モードが稼動系を示す運転モードであれば、次の周期でも上記の待機系処理(ステップ7−1)を繰り返し実行する。
The
以上のように、稼動系側810は、一定周期で、I/Oデータの入出力(タイミング82、84)とユーザ制御プログラムを実行し(タイミング83)、制御対象を制御しながら、二重化情報である自分の運転モードと等値化用の実行結果データとを待機系側コントローラ811に書き込む(タイミング81、86)ことで、二重化の稼動系の運転を維持している。
As described above, the
一方、待機系側コントローラ811は、常時、待機系側コントローラ810から書き込まれる運転モードを監視し(タイミング88)、及び、同時に稼動系側コントローラ810から書き込まれる等値化用の実行結果データ412を保持し、いつでも稼動系側コントローラ810に切り替われるように二重化の待機系の運転を維持している。
On the other hand, the
なお、二重化運転中においても、稼動系側コントローラ810から待機系側811のメモリをアクセスするのみで、待機系側コントローラ811は、稼動系側コントローラ810のメモリをアクセスしないため、メモリアクセスの経路である入出力バス1とインタフェース部101、111、121、131との負荷を低減することが可能となり、それを構成する回路を簡素化することが可能である。
Even during the duplex operation, the
図9は、稼動系側コントローラ811での異常発生による二重化の切り替わりのタイミングチャートを示す。稼動系側コントローラ810は、あるスキャン周期91の稼動系処理(ステップ6−1)において、タイミング82、84でのI/Oデータの入出力(ステップ6−3、6−5)やタイミング83でのユーザ制御プログラムの実行(ステップ6−4)で、異常を検出すると(タイミング92)、直ちに停止処理(ステップ6−12)95へ移行する。
FIG. 9 shows a timing chart of switching of duplex due to occurrence of an abnormality in the active
停止処理(ステップ6−12)では、先ず、タイミング93において停止モードを示す運転モードを、相手(待機系側コントローラ)の二重化情報部813の相手の運転モードメモリ411に書き込む(ステップ6−13)。稼動系側コントローラ810は、次に、新たな再スタート要求がなければ、この停止モードを維持する。
In the stop process (step 6-12), first, the operation mode indicating the stop mode at the
一方、待機系側コントローラ811は、待機系処理(ステップ7−1)の中で、タイミング96において、自分の二重化情報部813の相手の運転モードメモリ411から、相手の運転モードを読み出し(ステップ7−3)、相手が停止モードを示していれば、タイミング98において自分の二重化情報部813の実行結果データメモリ412から、相手が等値化用に書き込んだユーザ制御プログラムの実行結果データを読み出し、自分の実行データに取り込み(ステップ7−5)、タイミング910より直ちに、稼動系処理(ステップ6−1)へ移行し稼動系側911として運転を継続実行する。
On the other hand, the
以上のように、図1で示したハード構成と、図4で示したスロットとI/O空間との割り付けとを備え、図5で示した初期化処理の手段と、図6で示した稼動系処理と二重化トラッキング処理と停止処理の手段と、図7で示した待機系処理の手段を備え、それらを組み合わせることで、専用の二重化制御部を必要としない、簡易で安価な二重化制御装置を実現することが可能になった。すなわち、本実施形態によれば、構成が複雑になることを回避し、安価な二重化制御装置を提供することができる。 As described above, the hardware configuration shown in FIG. 1, the slot and I / O space allocation shown in FIG. 4, and the initialization processing means shown in FIG. 5 and the operation shown in FIG. System processing, duplex tracking processing and stop processing means, and standby system processing means shown in FIG. 7 are combined, and by combining them, a simple and inexpensive duplex control device that does not require a dedicated duplex control unit It became possible to realize. That is, according to the present embodiment, it is possible to avoid a complicated configuration and to provide an inexpensive duplexing control device.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
100、110、120、130…メモリ、1…入出力バス、10…プライマリ側コントローラ、11…セカンダリ側コントローラ、12…I/O出力モジュール、12…O入力モジュール、13…I/O入力モジュール、14…外部出力機器、15…外部入力機器、40…I/O空間、46、47…二重化情報部、410…自分の運転モードメモリ、411…相手の運転モードメモリ、48…出力レジスタ部、413、414、415、416…出力レジスタ、49…入力レジスタ部、413、414、415、416…入力レジスタ、89、91、910…スキャン周期、101、111、121、131…インタフェース部、102、112…CPU部(制御部)、103、113、123、133…内部バス、122…出力インタフェース部、132…入力インタフェース部、89、91、910…スキャン周期、810…稼動系、811,911…待機系、812…稼動系側の二重化情報部、813…待機系側の二重化情報部、95…停止。
100, 110, 120, 130 ... Memory, 1 ... I / O bus, 10 ... Primary side controller, 11 ... Secondary side controller, 12 ... I / O output module, 12 ... O input module, 13 ... I / O input module, DESCRIPTION OF
Claims (3)
第2コントローラと、
外部機器と接続可能なI/Oモジュールと、
前記第1コントローラが実装される第1スロット、前記第2コントローラが実装される第2スロット、および、前記I/Oモジュールが実装される複数のスロット、を備えた入出力バスと、を備え、
前記第1コントローラおよび前記第2コントローラのそれぞれは、制御部と、前記入出力バスへデータを出力するおよび前記入出力バスからデータが入力されるインタフェース部と、前記制御部および前記インタフェース部からアクセス可能なメモリと、を備え、
前記入出力バスはパラレルバス、シリアルバス、および、LANケーブルのいずれかである
ことを特徴とする二重化制御装置。 A first controller;
A second controller;
An I / O module connectable to an external device;
An input / output bus comprising a first slot in which the first controller is mounted, a second slot in which the second controller is mounted, and a plurality of slots in which the I / O modules are mounted;
Each of the first controller and the second controller includes a control unit, an interface unit that outputs data to the input / output bus and receives data from the input / output bus, and an access from the control unit and the interface unit With possible memory,
The duplex control device, wherein the input / output bus is any one of a parallel bus, a serial bus, and a LAN cable.
を備えたことを特徴とする請求項1記載の二重化制御装置。 The I / O module can read and write data via an external device interface unit for interfacing with an external device, an interface unit for interfacing with the input / output bus, and the interface unit. Memory that can
The duplex control apparatus according to claim 1, further comprising:
前記入出力バスに実装されたスロット位置でプライマリ側とセカンダリ側とを判断する手段と、
相手の運転モード等から自分が稼動系か待機系かを判断する手段と、
稼動系であれば、前記I/Oモジュールにデータを入出力する手段と、ユーザ制御プログラムを実行する手段と、待機系と実行結果データを等値化するために待機系のメモリに実行結果データを書き込む手段と、自分の運転モードを待機系のメモリに書き込み、且つ、相手の運転モードを待機系のメモリから読み出す手段と、
待機系であれば、相手から書き込まれた運転モードをメモリから読み出し次の運転モードを判定する手段と、自分を稼動系として運転継続する手段と、
を備えることを特徴とした請求項1又は請求項2記載の二重化制御装置。 The control units of the first controller and the second controller are:
Means for determining a primary side and a secondary side at a slot position mounted on the input / output bus;
A means for judging whether it is an active system or a standby system from the operation mode of the other party,
If it is an active system, means for inputting / outputting data to / from the I / O module, means for executing a user control program, and execution result data in a standby system memory for equalizing the standby system and execution result data And means for writing one's operation mode to the standby memory and reading the other party's operation mode from the standby memory;
If it is a standby system, the operation mode written from the other party is read from the memory, the means for determining the next operation mode, the means for continuing the operation as the active system,
The duplex control device according to claim 1, further comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011027511A JP5583046B2 (en) | 2011-02-10 | 2011-02-10 | Redundant controller |
CN201210001127.6A CN102636987B (en) | 2011-02-10 | 2012-01-04 | Dual control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011027511A JP5583046B2 (en) | 2011-02-10 | 2011-02-10 | Redundant controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012168635A true JP2012168635A (en) | 2012-09-06 |
JP5583046B2 JP5583046B2 (en) | 2014-09-03 |
Family
ID=46621406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011027511A Expired - Fee Related JP5583046B2 (en) | 2011-02-10 | 2011-02-10 | Redundant controller |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5583046B2 (en) |
CN (1) | CN102636987B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016035700A (en) * | 2014-08-04 | 2016-03-17 | 東芝三菱電機産業システム株式会社 | Programmable logic controller |
JP2016057911A (en) * | 2014-09-10 | 2016-04-21 | 株式会社東芝 | Duplex control system |
JP2020087179A (en) * | 2018-11-29 | 2020-06-04 | オムロン株式会社 | Controller and controller control method |
WO2022059269A1 (en) * | 2020-09-16 | 2022-03-24 | 株式会社東芝 | Controller and controller system |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6139386B2 (en) | 2013-11-27 | 2017-05-31 | 株式会社東芝 | Programmable controller |
JP6517474B2 (en) * | 2014-05-12 | 2019-05-22 | 株式会社東芝 | Programmable controller and arithmetic processing system |
US11016449B2 (en) * | 2015-07-23 | 2021-05-25 | Mitsubishi Electric Corporation | Duplexing process control device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04195202A (en) * | 1990-11-22 | 1992-07-15 | Omron Corp | Shared memory structure of programmable control system |
JPH05173986A (en) * | 1991-12-24 | 1993-07-13 | Matsushita Electric Works Ltd | Programmable controller |
JPH05173985A (en) * | 1991-12-24 | 1993-07-13 | Matsushita Electric Works Ltd | Programmable controller |
JPH09190407A (en) * | 1996-01-10 | 1997-07-22 | Omron Corp | Controller |
JP2004013647A (en) * | 2002-06-07 | 2004-01-15 | Omron Corp | Programmable controller and cpu unit, and processing method for programmable controller |
JP2004062872A (en) * | 2002-06-07 | 2004-02-26 | Omron Corp | Programmable controller, central processing unit unit, special function module and duplex processing method |
JP2006197522A (en) * | 2005-01-17 | 2006-07-27 | Meidensha Corp | Network communication system between computers |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3291729B2 (en) * | 1989-04-20 | 2002-06-10 | 横河電機株式会社 | Redundant computer system |
JP2000330815A (en) * | 1999-05-24 | 2000-11-30 | Matsushita Electric Ind Co Ltd | Duplexed switching control device and method |
JP2002063047A (en) * | 2000-08-18 | 2002-02-28 | Matsushita Electric Ind Co Ltd | Doubling system switching device and switching method therefor |
JP4776374B2 (en) * | 2005-12-27 | 2011-09-21 | 株式会社東芝 | Redundant supervisory control system and redundant switching method for the same system |
US8359112B2 (en) * | 2006-01-13 | 2013-01-22 | Emerson Process Management Power & Water Solutions, Inc. | Method for redundant controller synchronization for bump-less failover during normal and program mismatch conditions |
JP2010102565A (en) * | 2008-10-24 | 2010-05-06 | Mitsubishi Electric Corp | Duplex controller |
-
2011
- 2011-02-10 JP JP2011027511A patent/JP5583046B2/en not_active Expired - Fee Related
-
2012
- 2012-01-04 CN CN201210001127.6A patent/CN102636987B/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04195202A (en) * | 1990-11-22 | 1992-07-15 | Omron Corp | Shared memory structure of programmable control system |
JPH05173986A (en) * | 1991-12-24 | 1993-07-13 | Matsushita Electric Works Ltd | Programmable controller |
JPH05173985A (en) * | 1991-12-24 | 1993-07-13 | Matsushita Electric Works Ltd | Programmable controller |
JPH09190407A (en) * | 1996-01-10 | 1997-07-22 | Omron Corp | Controller |
JP2004013647A (en) * | 2002-06-07 | 2004-01-15 | Omron Corp | Programmable controller and cpu unit, and processing method for programmable controller |
JP2004062872A (en) * | 2002-06-07 | 2004-02-26 | Omron Corp | Programmable controller, central processing unit unit, special function module and duplex processing method |
JP2006197522A (en) * | 2005-01-17 | 2006-07-27 | Meidensha Corp | Network communication system between computers |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016035700A (en) * | 2014-08-04 | 2016-03-17 | 東芝三菱電機産業システム株式会社 | Programmable logic controller |
JP2016057911A (en) * | 2014-09-10 | 2016-04-21 | 株式会社東芝 | Duplex control system |
JP2020087179A (en) * | 2018-11-29 | 2020-06-04 | オムロン株式会社 | Controller and controller control method |
JP7047728B2 (en) | 2018-11-29 | 2022-04-05 | オムロン株式会社 | Controller and controller control method |
WO2022059269A1 (en) * | 2020-09-16 | 2022-03-24 | 株式会社東芝 | Controller and controller system |
JP2022049441A (en) * | 2020-09-16 | 2022-03-29 | 株式会社東芝 | Controller and controller system |
JP7326239B2 (en) | 2020-09-16 | 2023-08-15 | 株式会社東芝 | Controller and controller system |
Also Published As
Publication number | Publication date |
---|---|
CN102636987A (en) | 2012-08-15 |
CN102636987B (en) | 2014-12-17 |
JP5583046B2 (en) | 2014-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5583046B2 (en) | Redundant controller | |
KR101951072B1 (en) | Inter-core communication apparatus and method | |
JP3807250B2 (en) | Cluster system, computer and program | |
US7849235B2 (en) | DMA controller, node, data transfer control method and storage medium | |
WO2011089660A1 (en) | Bus arbitration device | |
US7633856B2 (en) | Multi-node system, internodal crossbar switch, node and medium embodying program | |
US20060159115A1 (en) | Method of controlling information processing system, information processing system, direct memory access control device and program | |
US20060182040A1 (en) | Device and method for diagnosis in multi-channel-CAN-applications | |
WO2015131516A1 (en) | Distributed intelligent platform management bus connection method and atca frame | |
JP2012063828A (en) | Fault-tolerant system, master ft control lsi, slave ft control lsi, and fault-tolerant control method | |
JP2008176360A (en) | Multiprocessor system | |
US20060236032A1 (en) | Data storage system having memory controller with embedded CPU | |
CN104854845B (en) | Use the method and apparatus of efficient atomic operation | |
JP2009282917A (en) | Interserver communication mechanism and computer system | |
JP2008046996A (en) | Data processor, and mode management device and method | |
US9710409B2 (en) | Interrupt control apparatus and interrupt control method | |
JPH07287064A (en) | Radar signal processor | |
JP2016206891A (en) | Access interruption circuit, semiconductor integrated circuit, and access interruption method | |
JP2016058835A (en) | Relay system and switch device | |
US20020174282A1 (en) | Multiprocessor system | |
US20140365629A1 (en) | Information processing system | |
JP2009251652A (en) | Multi-core system | |
JP2016151949A (en) | Dma controller | |
JPH08171528A (en) | Data processor | |
JP2012038260A (en) | Bus transfer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131205 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131212 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131226 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140110 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140320 |
|
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: 20140617 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140715 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5583046 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |