JP2012168635A - Duplex control device - Google Patents

Duplex control device Download PDF

Info

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
Application number
JP2011027511A
Other languages
Japanese (ja)
Other versions
JP5583046B2 (en
Inventor
Koichi Kai
浩一 甲斐
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 JP2011027511A priority Critical patent/JP5583046B2/en
Priority to CN201210001127.6A priority patent/CN102636987B/en
Publication of JP2012168635A publication Critical patent/JP2012168635A/en
Application granted granted Critical
Publication of JP5583046B2 publication Critical patent/JP5583046B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Safety Devices In Control Systems (AREA)
  • Hardware Redundancy (AREA)
  • Programmable Controllers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a low-cost duplex control device avoiding complication of the structure.SOLUTION: A duplex control device comprises: a first controller 10; a second controller 11; I/O modules 12 and 13 that are connectable to external devices 14 and 15; and an input-output bus 1 including a first slot 1-1 in which the controller 10 is mounted, a second slot 1-2 in which the second controller 11 is mounted, and a plurality of slots 1-3 through 1-N in which the I/O modules 12 and 13 are mounted. The first controller 10 and the second controller 11 include: control units 102 and 112; interface units 101 and 111 for outputting/inputting data to/from the input-output bus 1; and memories 100 and 110 that are accessible from the control units 102 and 112 and the interface units 101 and 111, respectively. The input-output bus 1 is a parallel bus, a serial bus, or a LAN cable.

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.

特開2008−146239号公報JP 2008-146239 A

従来の二重化機能を備えたコントローラは、専用の二重化制御部により高速で大量の二重化情報のやりとりを可能とするため、二重化制御部の構成が複雑になり且つ比較的高価になる。そのため小規模なプラントや製造ライン等の産業分野で使用されるコントローラでは、高価な仕組みを採用することが困難であった。   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.

実施形態の二重化制御装置の一構成例を説明するための図である。It is a figure for demonstrating the example of 1 structure of the duplication control apparatus of embodiment. 図1に示す二重化制御装置のデータの流れの一例を説明するための図である。It is a figure for demonstrating an example of the data flow of the duplication control apparatus shown in FIG. 図1に示す二重化制御装置のデータの流れの一例を説明するための図である。It is a figure for demonstrating an example of the data flow of the duplication control apparatus shown in FIG. 図1に示す入出力バスのスロットおよびI/O空間の割り付けの一例を示す図である。It is a figure which shows an example of allocation of the slot of the input / output bus shown in FIG. 1, and I / O space. 図1に示す二重化制御装置の初期化処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the initialization process of the duplication control apparatus shown in FIG. 図1に示す二重化制御装置の稼動系処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the active system process of the duplication control apparatus shown in FIG. 図1に示す二重化制御装置の待機系処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the standby type | system | group process of the duplication control apparatus shown in FIG. 図1に示す二重化制御装置の稼動系処理および待機系処理の一例を説明するためのタイミングチャートである。3 is a timing chart for explaining an example of an active system process and a standby system process of the duplex control apparatus shown in FIG. 1. 図1に示す二重化制御装置の切り替わり動作の一例を説明するためのタイミングチャートである。It is a timing chart for demonstrating an example of the switching operation | movement of the duplication control apparatus shown in FIG.

以下、実施形態について、図面を参照して説明する。
図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 primary controller 10, a secondary controller 11, an I / O output module 12, an I / O input module 13, and an input / output bus 1. The primary side controller 10, the secondary side controller 11, the I / O output module 12, and the I / O input module 13 are each mounted in a slot provided in the input / output bus 1, and signals are transmitted to each other via the input / output bus 1. It is configured to be able to send and receive.

プライマリ側コントローラ10は、入出力バス1への信号の送信および入出力バス1からの信号の受信を行うためのインタフェース部101と、メモリMEMP100と、インタフェース部101およびメモリMEMP100を制御するCPU部102と、を備えている。   The primary-side controller 10 includes an interface unit 101 for transmitting signals to the input / output bus 1 and receiving signals from the input / output bus 1, a memory MEMP 100, and a CPU unit 102 that controls the interface unit 101 and the memory MEMS 100. And.

メモリMEMP100は、インタフェース部101と接続されている。したがって、プライマリ側コントローラ10は、セカンダリ側コントローラ11、I/O出力モジュール12、および、I/O入力モジュール13から受信されるデータの書き込み、および、データの読み出しが可能である。またCPU部102からメモリMEMP100へのデータの書き込みおよびメモリMEMS110からCPU部102へのデータの読み出しも可能である。   The memory MEMP 100 is connected to the interface unit 101. Therefore, the primary-side controller 10 can write and read data received from the secondary-side controller 11, the I / O output module 12, and the I / O input module 13. In addition, data can be written from the CPU unit 102 to the memory MEMS 100 and data can be read from the memory MEMS 110 to the CPU unit 102.

インタフェース部101とCPU部102とは、内部バス103で接続されている。CPU部102は、内部バス103、インタフェース部101および入出力バス1を介して、他のモジュール11、12、13のメモリMEMS110、MEMO120、MEMI130を直接読み書きすることができる。   The interface unit 101 and the CPU unit 102 are connected by an internal bus 103. The CPU unit 102 can directly read and write the memories MEMS 110, MEMO 120, and MEMI 130 of the other modules 11, 12, and 13 via the internal bus 103, the interface unit 101, and the input / output bus 1.

CPU部102は、入出力バス1に実装されたスロット位置で、プライマリ側であるかセカンダリ側であるかを判断する手段(図示せず)と、相手の運転モード等から自身が稼動系であるか待機系であるかを判断する手段(図示せず)と、を備えている。   The CPU unit 102 itself is an active system based on a means (not shown) for determining whether the slot is mounted on the input / output bus 1 to be the primary side or the secondary side, and the operation mode of the other party. And a means (not shown) for determining whether the system is a standby system.

プライマリ側コントローラ10、すなわち、CPU部102が、稼動系コントローラに搭載される場合には、さらに、I/O入力モジュール12、13にデータを入出力する手段(図示せず)と、ユーザ制御プログラムを実行する手段(図示せず)と、待機系コントローラと実行結果データを等値化するために待機系コントローラのメモリに実行結果データを書き込む手段(図示せず)と、自身の運転モードを待機系コントローラのメモリに書き込み、且つ、相手の運転モードを待機系コントローラのメモリから読み出す手段(図示せず)と、を備える。   When the primary-side controller 10, that is, the CPU unit 102 is mounted on the active system controller, means for inputting / outputting data to the I / O input modules 12 and 13 (not shown), and a user control program , Means for writing the execution result data in the memory of the standby system controller to equalize the execution result data with the standby system controller, and waiting for its own operation mode Means (not shown) for writing into the memory of the system controller and reading out the operation mode of the other party from the memory of the standby system controller.

CPU部102が、待機系コントローラに搭載される場合には、さらに、自分の運転モードを自分のメモリに書き込み、相手から自分のメモリに書き込まれた相手の運転モードを読み出し次の運転モードを判定する手段(図示せず)と、自分を稼動系として運転する手段(図示せず)とを備える。   When the CPU unit 102 is mounted on the standby controller, it further writes its own operation mode to its own memory, reads the other's operation mode written to its own memory from the other party, and determines the next operation mode. And a means (not shown) for operating as a working system.

セカンダリ側コントローラ11は、プライマリ側コントローラ10と同様の構成である。すなわち、セカンダリ側コントローラ11は、入出力バス1への信号の送信および入出力バス1からの信号の受信を行うためのインタフェース部111と、メモリMEMS110と、インタフェース部111およびメモリMEMS110を制御するCPU部112と、を備えている。   The secondary side controller 11 has the same configuration as the primary side controller 10. In other words, the secondary controller 11 includes an interface unit 111 for transmitting signals to the input / output bus 1 and receiving signals from the input / output bus 1, a memory MEMS 110, and a CPU that controls the interface unit 111 and the memory MEMS 110. Part 112.

メモリMEMS110は、インタフェース部111と接続されている。したがって、セカンダリ側コントローラ11は、プライマリ側コントローラ10、I/O出力モジュール12、および、I/O入力モジュール13から受信されるデータの書き込み、および、データの読み出しが可能である。またCPU部112からメモリMEMS110へのデータの書き込みおよびメモリMEMS110からCPU部112へのデータの読み出しも可能である。   The memory MEMS 110 is connected to the interface unit 111. Therefore, the secondary-side controller 11 can write and read data received from the primary-side controller 10, the I / O output module 12, and the I / O input module 13. In addition, data can be written from the CPU unit 112 to the memory MEMS 110 and data can be read from the memory MEMS 110 to the CPU unit 112.

インタフェース部111とCPU部112とは、内部バス113で接続されている。CPU部112は、内部バス113、インタフェース部111および入出力バス1を介して、他のモジュール10、12、13のメモリMEMP100、MEMO120、MEMI130を直接読み書きすることができる。   The interface unit 111 and the CPU unit 112 are connected by an internal bus 113. The CPU unit 112 can directly read and write the memories MEMP100, MEMO120, and MEMI130 of the other modules 10, 12, and 13 via the internal bus 113, the interface unit 111, and the input / output bus 1.

CPU部112は、入出力バス1に実装されたスロット位置で、プライマリ側であるかセカンダリ側であるかを判断する手段(図示せず)と、相手の運転モード等から自身が稼動系であるか待機系であるかを判断する手段(図示せず)と、を備えている。ここでの判断方法については初期化処理として後に説明する。   The CPU unit 112 is an active system based on a means (not shown) for determining whether the slot is mounted on the input / output bus 1 to be the primary side or the secondary side, and the operation mode of the other party. And a means (not shown) for determining whether the system is a standby system. This determination method will be described later as an initialization process.

セカンダリ側コントローラ10、すなわち、CPU部112が、稼動系コントローラに搭載される場合には、さらに、I/O入力モジュール12、13にデータを入出力する手段(図示せず)と、ユーザ制御プログラムを実行する手段(図示せず)と、待機系コントローラと実行結果データを等値化するために待機系コントローラのメモリに実行結果データを書き込む手段(図示せず)と、自身の運転モードを待機系コントローラのメモリに書き込み、且つ、相手の運転モードを待機系コントローラのメモリから読み出す手段(図示せず)と、を備える。   When the secondary-side controller 10, that is, the CPU unit 112 is mounted on the active system controller, means for inputting / outputting data to the I / O input modules 12 and 13 (not shown), and a user control program , Means for writing the execution result data in the memory of the standby system controller to equalize the execution result data with the standby system controller, and waiting for its own operation mode Means (not shown) for writing into the memory of the system controller and reading out the operation mode of the other party from the memory of the standby system controller.

CPU部112が、待機系コントローラに搭載される場合には、さらに、自分の運転モードを自分のメモリに書き込み、相手から自分のメモリに書き込まれた相手の運転モードを読み出し次の運転モードを判定する手段(図示せず)と、自分を稼動系として運転する手段(図示せず)とを備える。   When the CPU unit 112 is mounted on the standby system controller, it further writes its own operation mode to its own memory, reads the other party's operation mode written to its own memory from the opponent, and determines the next operation mode. And a means (not shown) for operating as a working system.

上記プライマリ側コントローラ10およびセカンダリ側コントローラ11は、入出力バス1のプライマリ側用スロットとセカンダリ側用スロットに実装し、その他のスロットにはI/Oモジュールを実装する。   The primary side controller 10 and the secondary side controller 11 are mounted in the primary side slot and the secondary side slot of the input / output bus 1, and I / O modules are mounted in the other slots.

入出力バス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 / output bus 1 includes a plurality of slots 1-1 to 1-N for mounting a controller, an I / O input module, and an I / O output module. The slot 1-1 mounts the primary side controller 10, and the slot 1-2 mounts the secondary side controller 11. The I / O output module 12 and the I / O input module 13 can be mounted in slots after the slot 1-3. The input / output bus 1 is, for example, a parallel bus such as a PCI (Peripheral Component Interconnect) bus or an ISA (Industry Standard Architecture) bus. The input / output bus 1 may be a serial bus or a local area network (LAN) cable such as an Ethernet (registered trademark) cable.

I/O出力モジュール12には、入出力バス1とインタフェースを行うためのインタフェース部121と、外部出力機器14へデータを出力する出力インタフェース部122と、インタフェース部121を介してプライマリ側コントローラ10およびセカンダリ側コントローラ11からデータの読み書きが可能で、且つ、出力インタフェース部122からもデータの読み書きが可能なメモリMEMO120と、を備えている。メモリMEMO120は、インタフェース部121と、出力インタフェース部122とに接続されている。出力インタフェース部122は、常時、メモリMEMO120に書き込まれた出力データを外部出力機器14へ出力する。   The I / O output module 12 includes an interface unit 121 for interfacing with the input / output bus 1, an output interface unit 122 that outputs data to the external output device 14, and the primary controller 10 and the interface unit 121 via the interface unit 121. A memory MEMO 120 that can read and write data from the secondary controller 11 and can also read and write data from the output interface unit 122 is provided. The memory MEMO 120 is connected to the interface unit 121 and the output interface unit 122. The output interface unit 122 always outputs the output data written in the memory MEMO 120 to the external output device 14.

I/O入力モジュール13には、入出力バス1とインタフェースを行うためのインタフェース部131と、外部入力機器15からのデータが入力される入力インタフェース部132と、インタフェース部131を介してプライマリ側コントローラ10およびセカンダリ側コントローラ11からデータの読み書きが可能で、且つ、入力インタフェース部132からもデータの読み書きが可能なメモリMEMI130と、を備えている。メモリMEMI130は、インタフェース部131と入力インタフェース部132とに接続されている。及び、入力インタフェース部132は、常時、外部入力機器15から入力された入力データをメモリMEMI130に書き込む。   The I / O input module 13 includes an interface unit 131 for interfacing with the input / output bus 1, an input interface unit 132 for inputting data from the external input device 15, and a primary controller via the interface unit 131. 10 and the secondary-side controller 11 and a memory MEMI 130 capable of reading and writing data from the input interface unit 132. The memory MEMI 130 is connected to the interface unit 131 and the input interface unit 132. And the input interface part 132 always writes the input data input from the external input apparatus 15 in the memory MEMI130.

図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 / output bus 1. A fixed I / O space is allocated to each of the slots 1-1 to 1 -N, and the memories MEMS 100, MEMS 110, MEMS 120, and MEMI 130 connected to the interface unit of the corresponding slot are allocated in the corresponding slot space.

スロット1−1のメモリ空間には、プライマリ側コントローラ10のメモリMEMP100が割り付けられ、スロット1−2のメモリ空間には、セカンダリ側コントローラ11のメモリMEMS110が割り付けられている。スロット1−3以降には、実装されているI/O出力モジュール12のメモリMEMO120、I/O入力モジュール13のメモリMEMI130が各々割り付けられている。   The memory MEMS 100 of the primary controller 10 is allocated to the memory space of the slot 1-1, and the memory MEMS 110 of the secondary controller 11 is allocated to the memory space of the slot 1-2. In the slots 1-3 and later, the memory MEMO 120 of the mounted I / O output module 12 and the memory MEMI 130 of the I / O input module 13 are respectively allocated.

スロット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 duplex information unit 46, 47 as a memory for exchanging duplex information between the active system controller and the standby system controller. use.

I/O空間の二重化情報部46、47は、自身の運転モードを明示するメモリ410と、相手の運転モードを明示するメモリ411と、実行結果を等値化するために相手から実行結果データ書き込まれるメモリ412と、を含む。   The I / O space duplication information units 46 and 47 include a memory 410 for specifying its own operation mode, a memory 411 for specifying the operation mode of the other party, and writing execution result data from the other party in order to equalize the execution result. Memory 412.

これら二重化情報部46、47は、稼動系コントローラと待機系コントローラとの間で相手のコントローラから互いに読み書きができ、自信のコントローラ内でも読み書きができる。   These duplex information units 46 and 47 can read / write from / to each other between the active controller and the standby controller from the partner controller, and can also be read / written in the controller of the confidence.

スロット1−3以降のスロットに割り付けられたI/O空間に割り付けられているメモリMEMO120、MEMI130は、I/O出力モジュール12のメモリMEMO120であれば、出力レジスタ部48で構成され、各出力レジスタ0〜Mに稼動系コントローラから出力データが書き込まれ、この出力レジスタの出力データは、出力インタフェース部122により外部出力機器14に出力される。   If the memory MEMO 120 and the MEMI 130 allocated to the I / O space allocated to the slots after the slot 1-3 are the memory MEMO 120 of the I / O output module 12, the output register unit 48 is configured. Output data is written from 0 to M from the active system controller, and the output data of the output register is output to the external output device 14 by the output interface unit 122.

I/O入力モジュール13のメモリMRMI130であれば、入力レジスタ部49で構成され、各入力レジスタ0〜Nには、入力インタフェース部132により外部入力機器15から入力した入力データが書き込まれ、稼動系コントローラから入力データとして読み出される。   The memory MRMI 130 of the I / O input module 13 includes an input register unit 49, and input data input from the external input device 15 by the input interface unit 132 is written in each of the input registers 0 to N. Read as input data from the controller.

上記のように、プライマリ側コントローラ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-side controller 10 and the secondary-side controller 11 access the I / O space, so that the primary-side controller 10, the secondary-side controller 11, the I / O output module 12, and the I / O input module 13 can freely access the memories MEMS100, MEMS110, MEMO120, and MEMI130 connected to the interface units 101, 111, 121, and 131.

図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 primary controller 10 is an active controller and the secondary controller 11 is a standby controller. In the data flow 2-1 when the output data is output from the active controller 10 to the I / O output module 12, first, data is output from the CPU unit 102 to the interface unit 101 via the internal bus 103. . The data output to the interface unit 101 is further output to the interface unit 121 of the I / O output module 12 through the input / output bus 1. Next, the data is written into the output registers 413, 414, 415, and 416 of the output register unit 48 of the memory MEMO 120 via the interface unit 121.

更に、常時、出力インタフェース部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 output register unit 48 is always output to the external output device 14 by the output interface unit 122 (2-2).

次に、稼動系コントローラ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 / O input module 13 is input by the active system controller 10 will be described. First, when the CPU unit 102 requests reading of an input register, a read request is output to the interface unit 101 via the internal bus 103 and further passes through the input / output bus 1 to the I / O input module 13. Is output to the interface unit 131. In response to the read request, the interface unit 131 reads the input data read from each of the input registers 417, 418, 419, 420 of the input register unit 49 of the memory MEMI 130 via the input / output bus 1 this time. The data is input to the unit 101, and input data is input from the interface unit 101 to the CPU unit 102 via the internal bus 103.

更に、常時、入力インタフェース部132により、外部入力機器15から入力した入力データを、入力レジスタ部49の各出力レジスタ417、418、419、420に書き込む(2−4)。   Furthermore, the input data input from the external input device 15 is always written to the output registers 417, 418, 419, 420 of the input register unit 49 by the input interface unit 132 (2-4).

次に、稼動系コントローラ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 active controller 10 to the memory MEMS 110 of the standby controller 11 will be described. First, output data is output from the CPU unit 102 to the interface unit 101 via the internal bus 103, and further output to the interface unit 111 of the standby controller 11 through the input / output bus 1. Next, the data is written into the memory MEMS 110 via the interface unit 111. Furthermore, the data written in the memory MEMS 110 can be read out by the CPU unit 112 (2-6).

次に、稼動系コントローラ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 standby controller 11 from the active controller 10 will be described. First, when a memory read request is issued from the CPU unit 102, the read request is output to the interface unit 101 via the internal bus 103, and further to the interface unit 111 of the standby controller 11 via the input / output bus 1. Is output. Next, the data read from the memory MEMS 110 by the interface unit 111 according to the read request is input to the interface unit 101 of the controller 10 via the input / output bus 1 and from the interface unit 101 via the internal bus 103. Thus, the data is read into the CPU unit 102. It is also possible to write data from the CPU unit 112 to its own memory MEMS 110 (2-8).

図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 secondary controller 11 is an active controller and the primary controller 10 is a standby controller. An example of the data flow 3-1 when outputting output data from the active controller 11 to the I / O output module 12 will be described. First, output data is output from the CPU unit 112 to the interface unit 111 via the internal bus 113, and further output to the interface unit 121 of the I / O output module 12 through the input / output bus 1. Next, the data is written into the output registers 413, 414, 415, and 416 of the output register unit 48 of the memory MEMO 120 via the interface unit 121. Further, the output data written in the output registers 413, 414, 415, and 416 of the output register unit 48 is always output to the external output device 14 by the output interface unit 122 (3-2).

次に、稼動系コントローラ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 / O input module 13 from the active system controller 11 will be described. First, when the CPU unit 112 requests reading of an input register, a read request is output to the interface unit 111 via the internal bus 113, and further through the input / output bus 1 to the I / O input module 13. Is output to the interface unit 131. Next, according to the read request, the interface unit 131 reads the input data read from the input registers 417, 418, 419, and 420 of the input register unit 49 of the memory MEMI 130 this time through the input / output bus 1 and The data is input to the interface unit 111, and input data is input from the interface unit 111 to the CPU unit 112 via the internal bus 113. Furthermore, the input data input from the external input device 15 is always written to the output registers 417, 418, 419, and 420 of the input register unit 49 by the input interface unit 132 (3-4).

次に、稼動系コントローラ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 active controller 11 to the memory MEMP 100 of the standby controller 10 will be described. First, output data is output from the CPU unit 112 to the interface unit 111 via the internal bus 113, and further output to the interface unit 101 of the standby controller 10 through the input / output bus 1. Next, the data is written into the memory MEMP 100 via the interface unit 101. Furthermore, the data written in the memory MEMP 100 can be read out by the CPU unit 102 (3-6).

次に、稼動系コントローラ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 standby controller 10 from the active controller 11 will be described. First, when the CPU unit 112 requests a memory read, the read request is output to the interface unit 111 via the internal bus 113 and further to the interface unit 101 of the standby controller 10 via the input / output bus 1. Is output. Next, in accordance with the read request, the interface unit 101 inputs the data read from the memory MEMP 100 to the interface unit 111 of the active system controller 11 via the input / output bus 1 and from the interface unit 111 to the internal bus 113. The data is read into the CPU unit 112 via

図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 CPU units 102 and 112 of the primary controller 10 and the secondary controller 11. The CPU units 102 and 112 of the primary side controller 10 and the secondary side controller 11 first determine whether they are the primary side or the secondary side, and set themselves up to the active system according to the operation mode of the other party, or wait Whether to start up the system is determined as follows.

先ず、相手監視時間をクリアする(ステップ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 duplication information parts 46 and 47 of the other party's memory (step 5-3). Next, if the other party's operation mode is an operation system operation (if it is already operating in the operation system), the process proceeds to a standby system process (step 7-1) (step 5-4).

次に、自分がプライマリ側であれば稼動系処理(ステップ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 duplexing information units 46 and 47 of the partner's memory, and the same operation is repeated. If the other party monitoring time exceeds a predetermined time, the process proceeds to the active system process (step 6-1) (step 5-7).

図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 CPU units 102 and 112 of the primary controller 10 and the secondary controller 11. 12) is a flowchart showing an example. The active system process (step 6-1) and the duplex tracking process (step 6-7) are periodically executed according to the scan cycle.

稼動系処理(ステップ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 operation mode memory 411 of the other party (standby side) memory duplex information section 46, 47. (Step 6-2).

次に、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 operation mode memory 410 of the duplication information section 46, 47 of the other party (standby system side) memory, and the other party is in the standby operation mode. (Step 6-9), the execution result data when the user control program is executed in the active system process (step 6-1) is made equal to the duplex information units 46 and 47 of the other party (standby system side) memory. Is written into the execution result data memory 412, and the execution states of the active system and the standby system are equalized (step 6-10).

次に、次のスキャン周期に達するまで実行を待ち、次のスキャン周期に達したら、繰り返し稼動系処理を実行する(ステップ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 operation mode memory 411 of the duplex information section 46, 47 of the partner memory (step 6-13). Next, if there is no restart request, the stop process is executed from the beginning, and if there is a restart request, the execution is started from the initialization process (step 5-1) shown in FIG. 5 (step 6-14). .

図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 CPU units 102 and 112 of the primary controller 10 and the secondary controller 11. In the standby system process (step 7-1), first, the own operation mode (operation mode indicating the standby system) is written in the own operation mode memory 410 of the duplication information section 46, 47 of the own memory (step 7- 2). This operation mode is read out in the operation system process (step 6-1) of the operation system controller (step 6-8).

次に、自分メモリの二重化情報部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 operation mode memory 411 of the duplication information part 46, 47 of own memory (step 7-3). If the other party is the operation mode indicating the active system, the standby system process is repeatedly executed (step 7-4). If the other party is in the operation mode indicating stop, the execution result data for equalization is read from the execution result data memory 412 for equalization of the duplex information 46 and 47 of its own memory, and is taken into its own execution data. (Step 7-5). Next, the process proceeds to the active system process (step 6-1), and the controller is executed as the active system.

図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 system side controller 810 executes the active system processing (step 6-1) at regular intervals according to the scan period 89.

稼動系処理(ステップ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 operation mode memory 411 of the duplexing information unit 813 of the standby system controller 811. Next, at timing 82, the active system side controller 810 reads input data from the I / O input module 13 (step 6-3). Next, at timing 83, the user control program is executed using the input data as input information (step 6-4). Next, at timing 84, the output data generated by the user control program is written to the I / O output module 12 (step 6-5). Next, at timing 85, the operation mode of the standby system side controller 811 is read out 823 from its own operation mode memory 410 of the duplex information section 813 of the standby system side controller 811 (step 6-8). If the operation mode of the standby system side controller 811 is an operation mode indicating the standby system, then at time 86, in order to equalize the execution result data of the user control program, the duplexing information section of the standby system side 811 In step 8-10, data 813 is written into the execution result data memory 412 for equalization.

待機系側コントローラ811は、少なくとも、スキャン周期89よりも短い周期で、待機系処理(ステップ7−1)を一定周期で実行する。待機系処理(ステップ7−1)では、先ず、タイミング87において、自分の二重化情報部813の自分の運転モードメモリ410に、待機モードを示す運転モードを書き込む821(ステップ7−2)。次に、タイミング88において、自分の二重化情報部813の相手の運転モードメモリ411から、相手の運転モードを読み出す822(ステップ7−3)。相手の運転モードが稼動系を示す運転モードであれば、次の周期でも上記の待機系処理(ステップ7−1)を繰り返し実行する。   The standby system controller 811 executes standby system processing (step 7-1) at a constant cycle at least at a cycle shorter than the scan cycle 89. In the standby system process (step 7-1), first, at timing 87, the operation mode indicating the standby mode is written 821 in the own operation mode memory 410 of the own duplex information section 813 (step 7-2). Next, at the timing 88, the other party's operation mode is read out 822 from the other party's operation mode memory 411 of the own duplexing information part 813 (step 7-3). If the other party's operation mode is an operation mode indicating an active system, the standby system process (step 7-1) is repeatedly executed in the next cycle.

以上のように、稼動系側810は、一定周期で、I/Oデータの入出力(タイミング82、84)とユーザ制御プログラムを実行し(タイミング83)、制御対象を制御しながら、二重化情報である自分の運転モードと等値化用の実行結果データとを待機系側コントローラ811に書き込む(タイミング81、86)ことで、二重化の稼動系の運転を維持している。   As described above, the active system side 810 executes I / O data input / output (timing 82, 84) and the user control program (timing 83) at a constant cycle, and controls the control target while using the duplex information. By writing a certain own operation mode and execution result data for equalization into the standby system side controller 811 (timing 81, 86), the operation of the duplex operation system is maintained.

一方、待機系側コントローラ811は、常時、待機系側コントローラ810から書き込まれる運転モードを監視し(タイミング88)、及び、同時に稼動系側コントローラ810から書き込まれる等値化用の実行結果データ412を保持し、いつでも稼動系側コントローラ810に切り替われるように二重化の待機系の運転を維持している。   On the other hand, the standby system controller 811 constantly monitors the operation mode written from the standby system controller 810 (timing 88), and simultaneously executes the equalization execution result data 412 written from the active system controller 810. The redundant standby system operation is maintained so that the system controller 810 is switched to the active system side controller 810 at any time.

なお、二重化運転中においても、稼動系側コントローラ810から待機系側811のメモリをアクセスするのみで、待機系側コントローラ811は、稼動系側コントローラ810のメモリをアクセスしないため、メモリアクセスの経路である入出力バス1とインタフェース部101、111、121、131との負荷を低減することが可能となり、それを構成する回路を簡素化することが可能である。   Even during the duplex operation, the standby controller 811 only accesses the memory of the standby controller 811 from the active controller 810, and the standby controller 811 does not access the memory of the active controller 810. It is possible to reduce the load on a certain input / output bus 1 and the interface units 101, 111, 121, and 131, and it is possible to simplify the circuits constituting the bus.

図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 system side controller 811. The active system side controller 810 inputs / outputs I / O data at timings 82 and 84 (steps 6-3 and 6-5) and at timing 83 in the active system processing (step 6-1) of a certain scan cycle 91. When an abnormality is detected in the execution of the user control program (step 6-4) (timing 92), the process immediately proceeds to a stop process (step 6-12) 95.

停止処理(ステップ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 timing 93 is written in the partner operation mode memory 411 of the duplexing information unit 813 of the partner (standby system side controller) (step 6-13). . Next, the active system side controller 810 maintains this stop mode unless there is a new restart request.

一方、待機系側コントローラ811は、待機系処理(ステップ7−1)の中で、タイミング96において、自分の二重化情報部813の相手の運転モードメモリ411から、相手の運転モードを読み出し(ステップ7−3)、相手が停止モードを示していれば、タイミング98において自分の二重化情報部813の実行結果データメモリ412から、相手が等値化用に書き込んだユーザ制御プログラムの実行結果データを読み出し、自分の実行データに取り込み(ステップ7−5)、タイミング910より直ちに、稼動系処理(ステップ6−1)へ移行し稼動系側911として運転を継続実行する。   On the other hand, the standby controller 811 reads out the other party's operation mode from the other party's operation mode memory 411 of the duplex information section 813 at the timing 96 in the standby process (step 7-1) (step 7). -3) If the partner indicates the stop mode, the execution result data of the user control program written by the partner for equalization is read from the execution result data memory 412 of the duplex information section 813 at timing 98; It takes in the execution data of itself (step 7-5), and immediately after timing 910, shifts to operation system processing (step 6-1) and continues operation as the operation system side 911.

以上のように、図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 SYMBOLS 14 ... External output device, 15 ... External input device, 40 ... I / O space, 46, 47 ... Duplex information part, 410 ... Own operation mode memory, 411 ... Opponent operation mode memory, 48 ... Output register part, 413 414, 415, 416 ... output register, 49 ... input register unit, 413, 414, 415, 416 ... input register, 89, 91, 910 ... scan cycle, 101, 111, 121, 131 ... interface unit, 102, 112 ... CPU unit (control unit), 103, 113, 123, 133 ... internal bus, 122 ... output interface , 132: Input interface unit, 89, 91, 910 ... Scan cycle, 810 ... Active system, 811, 911 ... Standby system, 812 ... Duplex information section on active system side, 813 ... Duplex information section on standby system side 95 ... Stop.

Claims (3)

第1コントローラと、
第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.
前記I/Oモジュールは、外部機器とインタフェースする外部機器インタフェース部と、前記入出力バスとインタフェースするためのインタフェース部と、前記インタフェース部を介してデータの読み書きが可能で、且つ、自分自身でも読み書きが可能なメモリと、
を備えたことを特徴とする請求項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:
前記第1コントローラおよび前記第2コントローラの制御部は、
前記入出力バスに実装されたスロット位置でプライマリ側とセカンダリ側とを判断する手段と、
相手の運転モード等から自分が稼動系か待機系かを判断する手段と、
稼動系であれば、前記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:
JP2011027511A 2011-02-10 2011-02-10 Redundant controller Expired - Fee Related JP5583046B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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