[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2019016170A - Controller device, and synchronization method of dual system - Google Patents

Controller device, and synchronization method of dual system Download PDF

Info

Publication number
JP2019016170A
JP2019016170A JP2017133161A JP2017133161A JP2019016170A JP 2019016170 A JP2019016170 A JP 2019016170A JP 2017133161 A JP2017133161 A JP 2017133161A JP 2017133161 A JP2017133161 A JP 2017133161A JP 2019016170 A JP2019016170 A JP 2019016170A
Authority
JP
Japan
Prior art keywords
control
controller device
data
input data
plan
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
JP2017133161A
Other languages
Japanese (ja)
Other versions
JP6937626B2 (en
Inventor
光洋 今井
Mitsuhiro Imai
光洋 今井
亮 平兮
Ryo Heikei
亮 平兮
仲野谷 仁茂
Kimishige Nakanoya
仁茂 仲野谷
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.)
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Industry and Control Solutions Co Ltd
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 Hitachi Industry and Control Solutions Co Ltd filed Critical Hitachi Industry and Control Solutions Co Ltd
Priority to JP2017133161A priority Critical patent/JP6937626B2/en
Publication of JP2019016170A publication Critical patent/JP2019016170A/en
Application granted granted Critical
Publication of JP6937626B2 publication Critical patent/JP6937626B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

To provide a controller device and a synchronization method of a dual system capable of suppressing increase in execution time of a control application, and maintaining periodic control of a control target device even when switching between a control system and a standby system, in the dual system of the controller device.SOLUTION: A controller device 10A constitutes a dual system 1 together with another controller device 10B. The controller device 10A comprises a control execution part 130 executing control processing for a control target device 30 in a predetermined control cycle, and a plan receiving part 110 receiving input data transmitted from the outside (for example, a plan server 20) at a timing different from the control cycle. When the plan receiving part 110 receives the input data, the control execution part 130 sets the input data to the controller device 10A, and applies the input data to actual control processing after confirming that the input data is set in both the controller devices 10A, 10B.SELECTED DRAWING: Figure 1

Description

本発明は、コントローラ装置、及び二重化システムの同期化方法に関し、特に、制御対象装置を制御する制御システムなどにおいて異常発生時等に系を切り替えるコントローラ装置、及び二重化システムの同期化方法に適用して好適なものである。   The present invention relates to a controller device and a synchronization method of a duplex system, and more particularly to a controller device that switches a system when an abnormality occurs in a control system that controls a control target device and a synchronization method of a duplex system. Is preferred.

従来、コントローラ装置は、シーケンス制御装置、モーション制御装置、プログラマブル・ロジック・コントローラ(PLC:Programmable Logic Controller)若しくはPCベースコントローラとも呼ばれ、ラダー・ロジック(LD言語)、シーケンシャル・ファンクション・チャート(SFC言語)、ファンクション・ブロック(FBD言語)、ストラクチャード・テキスト(ST言語)、インストラクション・リスト(IL言語)のような制御装置特有のプログラミング言語や、汎用PCでも使われるC言語等によって制御内容が記述される。そして、このような制御内容を実行するアプリケーションプログラムは制御アプリと呼ばれる。   Conventionally, a controller device is also called a sequence control device, a motion control device, a programmable logic controller (PLC) or a PC-based controller, and includes a ladder logic (LD language), a sequential function chart (SFC language). ), Function block (FBD language), structured text (ST language), instruction list (IL language) and other programming languages specific to the control device, C language used in general-purpose PCs, etc. The And the application program which performs such control content is called a control application.

また、このようなコントローラ装置は、高度の信頼性を要求されるシステム等において、2系統のCPUモジュールのうち、第1のCPUモジュールを制御系、第2のCPUモジュールを待機系とし、制御系である第1のCPUモジュールに異常が発生した場合には、待機系である第2のCPUモジュールを制御系に切り替えてシステムダウンを防止する二重化システムを構成することがある。このような二重化システムにおいては、第1のCPUモジュールと第2のCPUモジュールとが互いに同一プログラムを同一内容で実行することを保証する「同期化」を行う必要がある。   Further, such a controller device has a control system in which a first CPU module is a control system and a second CPU module is a standby system among two CPU modules in a system or the like that requires a high degree of reliability. When an abnormality occurs in the first CPU module, the redundant CPU system may be configured to prevent system down by switching the second CPU module, which is a standby system, to the control system. In such a duplex system, it is necessary to perform “synchronization” that guarantees that the first CPU module and the second CPU module execute the same program with the same contents.

ここで、典型的なコントローラ装置では、制御アプリが定周期で実行されることにより、コントローラ装置に接続された制御対象装置に対して定周期制御を行っている。具体的には、各周期において、IOモジュール等からの入力(インプット)、制御アプリに記述される制御内容の実行、及び制御内容の実行結果のIOモジュール等への出力(アウトプット)が実施される。そしてこの典型的なコントローラ装置によって二重化システムを構成する場合、上記インプットと制御内容の実行との間に、第1のCPUモジュールと第2のCPUモジュールとでインプットが同一であることを確認し、さらに、上記制御の実行とアウトプットとの間に互いに死活監視を行ってどちらが制御系として出力処理を実行するかを確認することによって、同期化を実現することができる。   Here, in a typical controller device, the control application is executed in a fixed cycle, thereby performing a fixed cycle control on the control target device connected to the controller device. Specifically, in each cycle, input (input) from an IO module or the like, execution of control contents described in a control application, and output (output) of an execution result of control contents to an IO module or the like are performed. The When a duplex system is constituted by this typical controller device, it is confirmed that the input is the same between the first CPU module and the second CPU module between the input and execution of the control contents. Further, synchronization can be realized by performing life monitoring between the execution of the control and the output and confirming which one executes the output process as the control system.

また、特許文献1には、上記の典型的なコントローラ装置による二重化システムの同期化方法よりも制御アプリの実行時間の増加を抑制することに期待できる二重化プログラマブルコントローラが開示されている。   Further, Patent Document 1 discloses a duplex programmable controller that can be expected to suppress an increase in the execution time of a control application rather than a method for synchronizing a duplex system using the above typical controller device.

具体的には、特許文献1には、第1のCPUモジュール(CPUユニット)において、制御アプリにおける割込み命令などの実行内容を第1のプログラムカウンタ値を対応付けて同期化情報として格納し、第1のCPUモジュールから第2のCPUモジュールへ送信し、第2のCPUモジュールにおいて、この同期化情報に基づいて制御アプリを実行することが開示されている。このようにすることで、第2のCPUモジュールが第1のCPUモジュールと同一内容の制御アプリを追随して実行できるようにしており、特許文献1に開示された二重化プログラマブルコントローラによれば、同期化情報を通信するための時間の増大による制御アプリの実行時間の増加を抑制することができる。   Specifically, in Patent Document 1, in the first CPU module (CPU unit), execution contents such as an interrupt instruction in the control application are stored as synchronization information in association with the first program counter value. It is disclosed that data is transmitted from one CPU module to a second CPU module, and the second CPU module executes a control application based on this synchronization information. In this way, the second CPU module can follow and execute the control application having the same content as the first CPU module. According to the duplex programmable controller disclosed in Patent Document 1, the synchronization is synchronized. The increase in the execution time of the control application due to the increase in the time for communicating the control information can be suppressed.

特開2014−137795号公報JP 2014-137795 A

しかし、特許文献1の二重化プログラマブルコントローラは、同期化情報を通信するための時間の増大による制御アプリの実行時間の増加を抑制することはできるものの、第1のCPUモジュールにおける制御アプリの実行によって作成された同期化情報をもとに第2のCPUモジュールが追随して制御アプリを実行するため、第1のCPUモジュールと第2のCPUモジュールとでは制御アプリの実行時間(実行タイミング)にずれが生じてしまう。そのため、障害発生時に制御系と待機系とを切替える場合等において、制御対象装置に対する定周期制御が崩れてしまう可能性があるという問題があった。   However, the duplex programmable controller disclosed in Patent Document 1 is created by executing the control application in the first CPU module, although it can suppress an increase in the execution time of the control application due to an increase in the time for communicating the synchronization information. Since the second CPU module follows the synchronized information and executes the control application, the first CPU module and the second CPU module have a difference in the execution time (execution timing) of the control application. It will occur. For this reason, there is a problem that the fixed-cycle control for the device to be controlled may be disrupted when the control system and the standby system are switched when a failure occurs.

本発明は以上の点を考慮してなされたもので、制御対象装置を定周期制御するコントローラ装置による二重化システムにおいて、制御アプリの実行時間の増加を抑制するとともに、制御系と待機系との切替え時などにおいても制御対象装置の定周期制御を維持することが可能なコントローラ装置、及び二重化システムの同期化方法を提案しようとするものである。   The present invention has been made in consideration of the above points, and in a duplex system using a controller device that periodically controls a device to be controlled, suppresses an increase in the execution time of a control application and switches between a control system and a standby system. It is an object of the present invention to propose a controller device capable of maintaining constant cycle control of a control target device even at times, and a synchronization method of a duplex system.

かかる課題を解決するため本発明においては、制御対象装置を制御し、二重化対象とする別のコントローラ装置とともに二重化システムを構成可能なコントローラ装置であって、外部からの入力データを受信する計画受信部と、所定の制御周期で前記制御対象装置に対する制御処理を実行する制御実行部と、を備え、前記計画受信部が前記制御周期とは異なるタイミングで入力された入力データを受信した場合に、前記制御実行部は、前記計画受信部が受信した前記入力データを自コントローラ装置に設定し、前記自コントローラ装置と前記別のコントローラ装置との双方において当該入力データが設定されたことを確認するための二重化動作処理を行い、前記二重化動作処理での確認が得られた場合に、前記制御処理に当該入力データを適用することを特徴とするコントローラ装置が提供される。   In order to solve such a problem, in the present invention, a controller device that controls a control target device and can configure a duplex system together with another controller device to be duplexed, and receives a plan input unit that receives input data from the outside And a control execution unit that executes a control process for the control target device at a predetermined control cycle, and when the plan reception unit receives input data input at a timing different from the control cycle, The control execution unit sets the input data received by the plan receiving unit in the own controller device, and confirms that the input data is set in both the own controller device and the other controller device. When the duplication operation process is performed and the confirmation in the duplication operation process is obtained, the input data is applied to the control process. The controller device is provided which is characterized in that.

また、かかる課題を解決するため本発明においては、制御対象装置を制御し、二重化対象とする別のコントローラ装置とともに二重化システムを構成可能なコントローラ装置による二重化システムの同期化方法であって、前記コントローラ装置は、外部からの入力データを受信する計画受信部と、所定の制御周期で前記制御対象装置に対する制御処理を実行する制御実行部と、を有し、前記外部から前記制御周期とは異なるタイミングで前記入力データが入力された場合に、前記計画受信部が前記入力データを受信するデータ受信ステップと、前記制御実行部が、前記計画受信部が受信した前記入力データを自コントローラ装置に設定するデータ設定ステップと、前記制御実行部が、前記自コントローラ装置と前記別のコントローラ装置との双方において当該入力データが設定されたことを確認する二重化動作処理ステップと、前記制御実行部が、前記二重化動作処理ステップでの確認が得られた場合に、前記制御処理に当該入力データを適用するデータ適用ステップと、を備えることを特徴とする二重化システムの同期化方法が提供される。   Further, in order to solve such a problem, in the present invention, there is provided a duplex system synchronization method by a controller device that controls a control target device and can configure a duplex system together with another controller device to be duplexed. The apparatus includes a plan receiving unit that receives input data from the outside, and a control execution unit that executes a control process for the control target device at a predetermined control cycle, and a timing different from the control cycle from the outside. When the input data is input, the data receiving step in which the plan receiving unit receives the input data, and the control execution unit sets the input data received by the plan receiving unit in its own controller device. A data setting step, and the control execution unit is configured such that the own controller device and the other controller device On the other hand, a duplexing operation processing step for confirming that the input data has been set, and the control execution unit applies the input data to the control processing when confirmation in the duplexing operation processing step is obtained. And a data application step. A method of synchronizing a duplex system is provided.

本発明によれば、コントローラ装置の二重化システムにおいて、制御アプリの実行時間の増加を抑制するとともに、コントローラ装置の制御系と待機系を切替える場合でも制御対象装置の定周期制御を維持することができる。   ADVANTAGE OF THE INVENTION According to this invention, in the duplication system of a controller apparatus, while suppressing the increase in the execution time of a control application, even when switching the control system and standby system of a controller apparatus, the fixed period control of a control object apparatus can be maintained. .

本実施の形態に係るコントローラ装置によって構成される二重化システムの機能構成の一例を示す図である。It is a figure which shows an example of a function structure of the duplex system comprised by the controller apparatus which concerns on this Embodiment. 図1に示した二重化システムのハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the duplex system shown in FIG. データ一致化情報のテーブル構造の一例を説明するための図である。It is a figure for demonstrating an example of the table structure of data matching information. 動作状態管理テーブルの構成例を説明するための図である。It is a figure for demonstrating the structural example of an operation state management table. フラグ管理テーブルの構成例を説明するための図である。It is a figure for demonstrating the structural example of a flag management table. データ管理テーブルの構成例を説明するための図である。It is a figure for demonstrating the structural example of a data management table. 制御実行処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a control execution process. 二重化処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a duplication process. 二重化システムにおける動作状態の状態遷移を説明するための図である。It is a figure for demonstrating the state transition of the operation state in a duplex system. 単独動作処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a single operation process. 二重化動作処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a duplication operation | movement process. 同期化データ送信処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a synchronous data transmission process. 同期化データ受信処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a synchronous data reception process. 同期化データ受信における処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence in synchronous data reception. 出力データ書込みにおける処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence in output data writing. 計画データ設定処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a plan data setting process.

以下図面について、本発明の一実施の形態を詳述する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

まず、本発明の実施の形態について説明する前に、従来の典型的な2台のコントローラ装置によって二重化システムを構成しようとするときに、コントローラ装置間の同期のために必要となる制御について説明する。   First, before describing an embodiment of the present invention, control required for synchronization between controller devices when a dual system is configured by two conventional typical controller devices will be described. .

本明細書の背景技術でも述べたように、典型的なコントローラ装置では、制御アプリが定周期に実行されることによって、コントローラ装置に接続された制御対象装置に対して定周期制御を行っており、具体的には、毎周期、次の(i)〜(iii)の処理が順に実行される。
(i)IOモジュールやフィールドバスからの情報の入力(インプット)
(ii)制御アプリに記述された制御内容の実行
(iii)制御処理の実行結果のIOモジュールやフィールドバスへの出力(アウトプット)
As described in the background art of this specification, in a typical controller device, a control application is executed at a fixed cycle, thereby performing a fixed cycle control on a control target device connected to the controller device. Specifically, the following processes (i) to (iii) are executed in order every cycle.
(I) Input of information from IO module or fieldbus (input)
(Ii) Execution of control contents described in control application (iii) Output of execution result of control processing to IO module or fieldbus (output)

このような2台のコントローラ装置を用いて二重化システムを構成する場合、2台のコントローラ装置の双方で、常に同じタイミングで同じインプットを用いて制御処理が行われることで、常に同じ演算結果を得ることが可能となる。具体的には、上記(i)と(ii)の処理の間に、両コントローラ装置におけるインプットが同一であることを確認し、上記(ii)と(iii)の処理の間に、互いに死活監視を行ってどちらが制御系としてアウトプットを実行するかを確認することができれば、二重化システムの同期化を実現することができる。   When a duplex system is configured by using such two controller devices, the same calculation result is always obtained by performing control processing using the same input at the same timing in both of the two controller devices. It becomes possible. Specifically, during the processes (i) and (ii), it is confirmed that the inputs in both controller devices are the same, and during the processes (ii) and (iii), the life and death are monitored. If it is possible to confirm which is executing the output as the control system, synchronization of the duplex system can be realized.

ここで、上記(i)のインプットに関して、IOモジュールやフィールドバスからの情報入力は、定期的な制御周期による制御処理と同期して実施されるのであれば、2台のコントローラ装置で同じ入力情報を取得することができれば、同期化通信等によって確認を行わなくても、インプットが常に同一と推定することができる。具体的には例えば、フィールドバスプロトコルの1つであるEtherCATを利用した場合、2台のコントローラ装置と制御対象装置(スレーブ機器)とをスイッチングハブを介して接続すると、制御対象装置からのインプットデータは、Ethernetのブロードキャスト宛(宛先MACアドレスが「FF:FF:FF:FF:FF:FF」)に送信されるため、2台のコントローラ装置で同一のインプットを同時に取得することができる。   Here, regarding the input of (i) above, if the information input from the IO module or the field bus is performed in synchronization with the control processing by the periodic control cycle, the same input information is used by the two controller devices. Can be obtained, it is possible to estimate that the inputs are always the same without confirmation by synchronized communication or the like. Specifically, for example, when EtherCAT, which is one of the fieldbus protocols, is used, if two controller devices and a control target device (slave device) are connected via a switching hub, input data from the control target device Is transmitted to the broadcast address of Ethernet (destination MAC address is “FF: FF: FF: FF: FF: FF”), the same input can be acquired simultaneously by two controller devices.

しかし、上記(i)のインプットについては、制御処理の制御周期とは異なるタイミングで外部から入力されることが考えられる。具体的には例えば、上位システムからの制御対象装置への設定の変更を指示する計画情報(計画データ)の受信や、制御対象装置からのセンサ発報受信等である。このような制御周期と異なるタイミングの入力に対しては、制御系と待機系との切替え時でも制御対象装置に対する定周期制御を維持するためには、当該入力に基づくコントローラ装置への設定、並びに制御対象装置への適用について、二重化システム内で入力データを一致化させた状況で実施されることが必要となる。さらに、制御アプリの実行時間の増加を抑制することも求められることから、従来の典型的なコントローラ装置ではこれらの要求を満たす二重化システムを構築することは困難であった。   However, it is conceivable that the input (i) is input from the outside at a timing different from the control cycle of the control process. Specifically, for example, reception of plan information (plan data) instructing a change in setting to the control target device from the host system, reception of sensor notification from the control target device, or the like. In order to maintain the constant cycle control for the control target device even when switching between the control system and the standby system, for the input at a timing different from the control cycle, setting to the controller device based on the input, and Application to a control target device needs to be performed in a situation where input data is matched in a duplex system. Furthermore, since it is also required to suppress an increase in the execution time of the control application, it has been difficult to construct a duplex system that satisfies these requirements with a conventional typical controller device.

このような状況を踏まえて、本発明は、上記のように制御処理の制御周期とは異なるタイミングでの入力が行われたとしても、二重化システムを構成するコントローラ装置間でインプットを一致化させて定周期の制御処理に安全に反映させることができ、コントローラ装置の制御系と待機系とを切替える場合でも制御対象装置の定周期制御を維持することができる二重化システムを提案するものであり、以下にその一実施の形態を説明する。   Based on such a situation, the present invention makes the inputs coincide between the controller devices constituting the duplex system even if the input is performed at a timing different from the control cycle of the control processing as described above. Proposes a duplex system that can be safely reflected in fixed-cycle control processing and can maintain the fixed-cycle control of the control target device even when the control system of the controller device and the standby system are switched. One embodiment will be described below.

(1)二重化システムの構成
(1−1)機能構成
図1は、本実施の形態に係るコントローラ装置によって構成される二重化システムの機能構成の一例を示す図である。
(1) Configuration of Redundant System (1-1) Functional Configuration FIG. 1 is a diagram illustrating an example of a functional configuration of a redundant system configured by a controller device according to the present embodiment.

図1に示したように、二重化システム1は、2つのコントローラ装置10(個別にはコントローラ装置10A,10B)を備えて構成される。コントローラ装置10A,10Bは、機能構成及びハードウェア構成は同一であってよく、以下では、一方のコントローラ装置10Aについて詳細な構成を説明し、他方のコントローラ装置10Bについての構成の説明は省略する。また、本実施の形態では、特段の説明がない限り、二重化システム1において、主にコントローラ装置10Aが制御系として動作し、コントローラ装置10Bが待機系として動作するものとする。   As shown in FIG. 1, the duplex system 1 includes two controller devices 10 (individually, controller devices 10A and 10B). The controller devices 10A and 10B may have the same functional configuration and hardware configuration, and in the following, the detailed configuration of one controller device 10A will be described, and the description of the configuration of the other controller device 10B will be omitted. Further, in the present embodiment, unless otherwise specified, in the duplex system 1, the controller device 10A mainly operates as a control system, and the controller device 10B operates as a standby system.

まず、各コントローラ装置10A,10Bは、情報制御ネットワーク40(40A,40B)を介して計画サーバ20と通信可能に接続され、コントローラ装置10Aとコントローラ装置10Bとの間は、同期化通信路140によって通信可能に接続される。それぞれの接続ケーブルには、例えばEthernetケーブル等が利用される。計画サーバ20は、例えば上位システムであって、設定変更等の計画情報をコントローラ装置10(10A,10B)に送信する計画送信部210を備えている。なお、計画送信部210による計画情報(計画データ)の送信は、コントローラ装置10A,10Bにおける制御処理の制御周期とは関連せず、独自のタイミング(異なるタイミング)で行われるものとする。   First, the controller devices 10A and 10B are communicably connected to the planning server 20 via the information control network 40 (40A and 40B), and a synchronization communication path 140 is used between the controller device 10A and the controller device 10B. It is connected so that it can communicate. For example, an Ethernet cable or the like is used for each connection cable. The plan server 20 is, for example, a host system, and includes a plan transmission unit 210 that transmits plan information such as setting changes to the controller device 10 (10A, 10B). The transmission of the plan information (plan data) by the plan transmission unit 210 is not related to the control cycle of the control processing in the controller devices 10A and 10B, and is performed at a unique timing (different timing).

また、各コントローラ装置10A,10Bは、フィールドバス50を介して、制御対象装置30(個別には制御対象装置30A,30B,30C,・・・)と通信可能に接続される。制御対象装置30は、具体的には例えばインバータやサーボモータ等であって、コントローラ装置10A,10Bに制御されて動作することから、スレーブ機器ともいえる。コントローラ装置10A,10Bは、所定の制御周期(例えば定周期)で制御対象装置30に対する制御処理を実行することができる。二重化システム1では、制御系のコントローラ装置10Aが、実際に制御対象装置30に対して制御処理を実行する。また、接続ケーブルにはEthernetケーブル等が利用される。詳細は図2を参照して後述するが、各制御対象装置30からコントローラ装置10A,10Bへのインプットデータは、Ethernet(登録商標)のブロードキャスト送信で行われ、コントローラ装置10A,10Bが、同時に同じ入力を取得することができる。   Each controller device 10A, 10B is connected to the control target device 30 (individually, the control target devices 30A, 30B, 30C,...) Via the field bus 50 so as to be communicable. Specifically, the control target device 30 is, for example, an inverter, a servo motor, or the like, and operates under the control of the controller devices 10A and 10B. Controller device 10A, 10B can perform the control process with respect to the control object apparatus 30 with a predetermined | prescribed control period (for example, fixed period). In the duplex system 1, the controller device 10 </ b> A of the control system actually executes control processing for the control target device 30. As the connection cable, an Ethernet cable or the like is used. Although details will be described later with reference to FIG. 2, input data from each control target device 30 to the controller devices 10A and 10B is performed by broadcast transmission of Ethernet (registered trademark), and the controller devices 10A and 10B are simultaneously the same. Input can be obtained.

そして図1に示したように、コントローラ装置10Aは、計画受信部110、データ一致化情報120、及び制御実行部130を備える。   As illustrated in FIG. 1, the controller device 10 </ b> A includes a plan receiving unit 110, data matching information 120, and a control execution unit 130.

計画受信部110は、計画サーバ20の計画送信部210から送信された計画情報を受信し、該受信した計画情報をデータ一致化情報120に登録する。また、計画受信部110は、当該計画情報がコントローラ装置10Aにおける制御処理に反映されたかを確認し、計画サーバ20に通知する機能も有する。   The plan receiving unit 110 receives the plan information transmitted from the plan transmitting unit 210 of the plan server 20 and registers the received plan information in the data matching information 120. The plan receiving unit 110 also has a function of confirming whether or not the plan information has been reflected in the control processing in the controller device 10 </ b> A and notifying the plan server 20.

データ一致化情報120は、コントローラ装置10A側で二重化システム1の二重化(コントローラ装置10Bとの同期化)を制御するために必要な情報であり、計画受信部110及び制御実行部130(より詳細には、後述するデータ一致化処理部133)の双方からアクセス可能なメモリ(共有メモリ)に記憶される。図3を参照して後述するように、データ一致化情報120は、例えば、動作状態管理テーブル121、フラグ管理テーブル122、及びデータ管理テーブル123から構成される。   The data matching information 120 is information necessary for controlling duplexing of the duplexing system 1 (synchronization with the controller device 10B) on the controller device 10A side, and the plan reception unit 110 and the control execution unit 130 (in more detail). Is stored in a memory (shared memory) accessible from both of the data matching processing unit 133) described later. As will be described later with reference to FIG. 3, the data matching information 120 includes, for example, an operation state management table 121, a flag management table 122, and a data management table 123.

制御実行部130は、コントローラ装置10における全般的な制御処理を実行する処理部であって、計画受信部110が外部から入力データ(例えば計画データ)を受信したときには、当該入力データに基づいた制御実行処理を行う。図1に示したように、制御実行部130は制御アプリ131と二重化処理部132とを有する。制御実行処理の具体的な内容については、図7等を参照しながら後述する。   The control execution unit 130 is a processing unit that executes general control processing in the controller device 10. When the plan receiving unit 110 receives input data (for example, plan data) from the outside, control based on the input data is performed. Perform execution processing. As shown in FIG. 1, the control execution unit 130 includes a control application 131 and a duplex processing unit 132. The specific contents of the control execution process will be described later with reference to FIG.

制御アプリ131には、制御周期、制御内容(制御ロジック)、入出力データの情報、及び二重化処理部132による処理に必要なパラメータ等が設定され、制御実行部130によって実行される。   The control application 131 is set with a control cycle, control content (control logic), information on input / output data, parameters necessary for processing by the duplex processing unit 132, and the like, and is executed by the control execution unit 130.

二重化処理部132は、制御実行部130による制御実行処理のうち、二重化動作(同期化)の制御に関する処理(二重化処理)を行う。二重化処理部132は、二重化処理における詳細な処理担当に基づいて、データ一致化処理部133、死活監視部134、状態管理部135、及び同期化通信部136に分類できる。具体的には、データ一致化処理部133は、二重化の相手先との間でデータを一致させる処理(データ一致化処理)を担当し、死活監視部134は、二重化の相手先との死活監視に関する処理を担当し、状態管理部135は、二重化の動作状態の管理に関する処理を担当する。また、同期化通信部136は、データ一致化処理のなかで、同期化通信路140を介して行う同期化データの送受信を担当する。   The duplexing processing unit 132 performs processing (duplexing processing) related to control of duplexing operation (synchronization) among the control execution processing performed by the control execution unit 130. The duplexing processing unit 132 can be classified into a data matching processing unit 133, a life / death monitoring unit 134, a state management unit 135, and a synchronization communication unit 136 based on detailed processing responsibility in the duplexing processing. Specifically, the data matching processing unit 133 is in charge of processing for matching data with the duplexing partner (data matching processing), and the life and death monitoring unit 134 is monitoring the life and death with the duplexing partner. The state management unit 135 is in charge of processing relating to management of the duplex operation state. Further, the synchronization communication unit 136 is responsible for transmission / reception of the synchronization data performed via the synchronization communication path 140 in the data matching process.

(1−2)ハードウェア構成
図2は、図1に示した二重化システムのハードウェア構成の一例を示す図である。
(1-2) Hardware Configuration FIG. 2 is a diagram illustrating an example of a hardware configuration of the duplex system illustrated in FIG.

図2に示したように、コントローラ装置10(10A,10B)は、CPU(Central Processing Unit)11、主記憶装置12、補助記憶装置13、及びネットワークI/F14(14a,14b,14c)がバス15によって相互に接続されて構成される。コントローラ装置10は、例えばPLC(Programmable Logic Controller)の機能を備えた計算機である。   As shown in FIG. 2, the controller device 10 (10A, 10B) has a CPU (Central Processing Unit) 11, a main storage device 12, an auxiliary storage device 13, and a network I / F 14 (14a, 14b, 14c) as a bus. 15 are connected to each other. The controller device 10 is a computer having a function of, for example, a PLC (Programmable Logic Controller).

CPU11は、自コントローラ装置10(例えばコントローラ装置10A)の全体的な制御を司るプロセッサである。主記憶装置12は、CPU11が直接アクセス可能な記憶装置であって、具体的にはRAM(Random Access Memory)やROM(Read Only Memory)等である。補助記憶装置13は、二次的な記憶装置であって、具体的にはHDD(Hard Disk Drive)やフラッシュメモリ等である。CPU11は、補助記憶装置13に記憶されたオペレーティングシステム(OS)や各種プログラム及び各種ファイルを主記憶装置12に展開し、各種の演算等を実行する。ネットワークI/F14は、ネットワーク通信のためのインタフェースであって、Ethernetケーブル等を用いて所定の手順に従って他の機器と情報の送受信を行う。具体的には、ネットワークI/F14aは情報制御ネットワーク40(例えば情報制御ネットワーク40A)を介した計画サーバ20との通信を可能にし、ネットワークI/F14bは同期化通信路140を介した二重化対象のコントローラ装置10(例えばコントローラ装置10B)との通信を可能にし、ネットワークI/F14cはスイッチングハブ51を介した制御対象装置30(30A,30B,30C)との通信を可能にする。   The CPU 11 is a processor that performs overall control of the controller device 10 (for example, the controller device 10A). The main storage device 12 is a storage device that can be directly accessed by the CPU 11. Specifically, the main storage device 12 is a RAM (Random Access Memory), a ROM (Read Only Memory), or the like. The auxiliary storage device 13 is a secondary storage device, specifically, an HDD (Hard Disk Drive), a flash memory, or the like. The CPU 11 expands the operating system (OS), various programs, and various files stored in the auxiliary storage device 13 to the main storage device 12, and executes various calculations. The network I / F 14 is an interface for network communication, and transmits / receives information to / from other devices according to a predetermined procedure using an Ethernet cable or the like. Specifically, the network I / F 14a enables communication with the planning server 20 via the information control network 40 (for example, the information control network 40A), and the network I / F 14b is a duplex target via the synchronization communication path 140. Communication with the controller device 10 (for example, the controller device 10B) is enabled, and the network I / F 14c enables communication with the control target device 30 (30A, 30B, 30C) via the switching hub 51.

このようなコントローラ装置10において、ハードウェア構成と機能構成(図1参照)との対応を例示すると、計画受信部110はCPU11等によって実行されるOSの機能で実現され、制御実行部130はCPU11等によって実行されるPLCの機能で実現される。また、データ一致化情報120は例えば主記憶装置12に記憶され、特に、OS及びPLC何れの機能においてもアクセス可能な記憶領域に記憶される。   In such a controller device 10, when the correspondence between the hardware configuration and the functional configuration (see FIG. 1) is exemplified, the plan receiving unit 110 is realized by the function of the OS executed by the CPU 11 and the like, and the control execution unit 130 is the CPU 11 It is realized by the function of the PLC executed by, for example. The data matching information 120 is stored in, for example, the main storage device 12, and is stored in a storage area that can be accessed by any of the functions of the OS and the PLC.

また、計画サーバ20は、CPU21、主記憶装置22、補助記憶装置23、入力装置24、出力装置25、及びネットワークI/F26(26a,26b)がバス27によって相互に接続されて構成される。   The planning server 20 is configured by connecting a CPU 21, a main storage device 22, an auxiliary storage device 23, an input device 24, an output device 25, and a network I / F 26 (26 a, 26 b) to each other via a bus 27.

計画サーバ20は、例えば上位システムの計算機であり、上記各構成は、一般的な計算機の構成要素と考えてよい。具体的には例えば、CPU21は、補助記憶装置23に記憶されたオペレーティングシステム(OS)や各種プログラム及び各種ファイルを主記憶装置22に展開し、各種の演算等を実行する。また、キーボードやマウス等による入力装置24は、ユーザからの入力操作に基づいて情報を受け付け、モニタやスピーカ等による出力装置25は、ユーザに情報を出力する。ネットワークI/F26は、ネットワーク通信のためのインタフェースであって、Ethernetケーブル等を用いて所定の手順に従って他の機器と情報の送受信を行う。具体的には、ネットワークI/F26aは情報制御ネットワーク40Aを介したコントローラ装置10Aとの通信を可能にし、ネットワークI/F26bは情報制御ネットワーク40Bを介したコントローラ装置10Bとの通信を可能にする。   The plan server 20 is, for example, a host system computer, and each of the above-described configurations may be considered as a component of a general computer. Specifically, for example, the CPU 21 develops an operating system (OS), various programs, and various files stored in the auxiliary storage device 23 in the main storage device 22 and executes various calculations and the like. An input device 24 such as a keyboard or a mouse receives information based on an input operation from the user, and an output device 25 such as a monitor or a speaker outputs information to the user. The network I / F 26 is an interface for network communication, and transmits / receives information to / from other devices according to a predetermined procedure using an Ethernet cable or the like. Specifically, the network I / F 26a enables communication with the controller device 10A via the information control network 40A, and the network I / F 26b enables communication with the controller device 10B via the information control network 40B.

また、コントローラ装置10A,10Bと制御対象装置30(30A,30B,30C)との間には、スイッチングハブ51が配置される。本実施の形態では、フィールドバス通信プロトコルとして例えばEtherCATを利用するとし、このとき、図2に示したように、コントローラ装置10A,10Bと制御対象装置30とをスイッチングハブ51を介してEthernetケーブルで接続することによって構成することができる。   Moreover, the switching hub 51 is arrange | positioned between controller apparatus 10A, 10B and the control object apparatus 30 (30A, 30B, 30C). In the present embodiment, for example, EtherCAT is used as the fieldbus communication protocol. At this time, as shown in FIG. 2, the controller devices 10A and 10B and the control target device 30 are connected via the switching hub 51 with an Ethernet cable. It can be configured by connecting.

(1−3)構成の補足
ここでは、上述したコントローラ装置10において保持されるデータ一致化情報の詳細について補足する。
(1-3) Supplementary Configuration Here, the details of the data matching information held in the controller device 10 described above will be supplemented.

図3は、データ一致化情報のテーブル構造の一例を説明するための図である。データ一致化情報120は、二重化(同期化)の制御に必要な複数の情報テーブルを保持している。具体的には図3の例示において、データ一致化情報120は、二重化の動作状態を管理する動作状態管理テーブル121、二重化(同期化)の処理で用いられる各種のフラグを管理するフラグ管理テーブル122、及び制御アプリ131が扱う変数の一部についての情報を管理するデータ管理テーブル123から構成されている。   FIG. 3 is a diagram for explaining an example of a table structure of data matching information. The data matching information 120 holds a plurality of information tables necessary for duplex (synchronization) control. Specifically, in the example of FIG. 3, the data matching information 120 includes an operation state management table 121 that manages the operation state of duplication, and a flag management table 122 that manages various flags used in duplication (synchronization) processing. , And a data management table 123 that manages information about some of the variables handled by the control application 131.

図4は、動作状態管理テーブルの構成例を説明するための図である。図4の例示において、動作状態管理テーブル121は、動作状態1211の項目を有する。動作状態1211には、当該テーブルが保持されたコントローラ装置10(例えばコントローラ装置10A)における二重化の動作状態が記録される。具体的な動作状態としては、例えば、初期化中であることを意味する「Bootup」、単独動作中であることを意味する「Standalone」、制御系(主系)で動作中であることを意味する「Active」、待機系(従系)で動作中であることを意味する「Standby」等がある。動作状態管理テーブル121は、二重化処理(図8)において主に参照される。   FIG. 4 is a diagram for explaining a configuration example of the operation state management table. In the example of FIG. 4, the operation state management table 121 has an operation state 1211 item. The operation state 1211 records the operation state of duplication in the controller device 10 (for example, the controller device 10A) that holds the table. Specific operating states include, for example, “Bootup”, which means initializing, “Standalone”, which means that it is operating independently, and that it is operating in the control system (main system) "Active" to be active, and "Standby" to mean that the system is operating in the standby system (secondary system). The operation state management table 121 is mainly referred to in the duplex processing (FIG. 8).

図5は、フラグ管理テーブルの構成例を説明するための図である。図5の例示において、フラグ管理テーブル122は、フラグ名1221及び値1222の項目を有する。フラグ名1221には、データ一致化に関する各種フラグ(例えば、データ一致化フラグ、送信済みフラグ、受信済みフラグ)が予め登録されており、値1222には、各種フラグの値が記録される。   FIG. 5 is a diagram for explaining a configuration example of the flag management table. In the example of FIG. 5, the flag management table 122 includes items of a flag name 1221 and a value 1222. Various flags relating to data matching (for example, a data matching flag, a transmitted flag, and a received flag) are registered in advance in the flag name 1221, and values of various flags are recorded in a value 1222.

より具体的には、本例において、「データ一致化フラグ」は、データ一致化処理(同期化処理)の実施状態について、「true(データ一致化が必要/実施中)」または「false(データ一致化が不要/実施中でない)」の値で示し、計画サーバ20から計画情報を受信したときに、「true」に設定される。「送信済みフラグ」は、データ一致化コマンドを二重化対象に送信済みであるか否かについて、「true(送信済み)」または「false(未送信)」の値で示す。「受信済みフラグ」は、データ一致化コマンドを二重化対象から受信済みであるか否かについて、「true(受信済み)」または「false(未送信)」の値で示す。   More specifically, in this example, the “data matching flag” is “true (data matching is required / in progress)” or “false (data) for the execution state of the data matching process (synchronization process). This value is set to “true” when the plan information is received from the plan server 20. The “sent flag” indicates whether or not the data matching command has been sent to the duplex target by a value of “true (sent)” or “false (not sent)”. “Received flag” indicates whether or not the data matching command has been received from the duplication target by a value of “true (received)” or “false (not transmitted)”.

そして、フラグ管理テーブル122において「データ一致化フラグ」、「送信済みフラグ」、及び「受信済みフラグ」のすべてのフラグ値が「true」となった場合には、二重化システム1におけるデータ一致化が完了したことを意味するので、コントローラ装置10が計画サーバ20から受信した計画情報に基づく制御(例えば設定変更等)をスレーブ機器である制御対象装置30に対して適用可能な状況となる。本例ではこのような場合に、フラグ管理テーブル122におけるすべてのフラグの値を「false」にリセットする処理を行う(図12のステップS510,図13のステップS609)。   When all the flag values of “data matching flag”, “sent flag”, and “received flag” are “true” in the flag management table 122, data matching in the duplex system 1 is performed. This means that the controller device 10 can apply control (for example, setting change) based on the plan information received from the plan server 20 to the control target device 30 that is a slave device. In this example, in such a case, a process of resetting all the flag values in the flag management table 122 to “false” is performed (step S510 in FIG. 12, step S609 in FIG. 13).

したがって、フラグ管理テーブル122は、同期化データ送信処理(図12)、同期化データ受信処理(図13)、及び計画データ設定処理(図16)等において参照・書込される。   Therefore, the flag management table 122 is referred to and written in the synchronized data transmission process (FIG. 12), the synchronized data reception process (FIG. 13), the plan data setting process (FIG. 16), and the like.

図6は、データ管理テーブルの構成例を説明するための図である。図6の例示において、データ管理テーブル123は、変数名1231、データ型1232、仮変数値1233、及び一致化対象フラグ1234の項目を有する。変数名1231には、制御アプリ131が扱う変数のうち、計画サーバ20から設定可能なものが記載される。データ型1232は、変数名1231に記載された変数のデータ型であり、具体的には例えば、PLC用標準規格であるIEC61131−3で定義されたプログラム言語のデータ型が記載される。仮変数値1233には、二重化システム1を構成するコントローラ装置10(10A,10B)の間で変数値が共有されるまでの期間、計画サーバ20から送信された計画データの設定値が保持される。一致化対象フラグ1234には、対応する変数がデータ一致化の対象であるか否かを指定するためのフラグ値が記載され、具体的には例えば「true(対象である)」または「false(対象ではない)」によって指定される。データ管理テーブル123は、同期化データ送信処理(図12)及び計画データ設定処理(図16)等において参照・書込される。   FIG. 6 is a diagram for explaining a configuration example of the data management table. In the example of FIG. 6, the data management table 123 includes items of a variable name 1231, a data type 1232, a temporary variable value 1233, and a matching target flag 1234. The variable name 1231 describes variables that can be set from the plan server 20 among the variables handled by the control application 131. The data type 1232 is a data type of a variable described in the variable name 1231. Specifically, for example, a data type of a programming language defined in IEC 61131-3 which is a standard for PLC is described. The temporary variable value 1233 holds the set value of the plan data transmitted from the plan server 20 for a period until the variable value is shared between the controller devices 10 (10A, 10B) constituting the duplex system 1. . The matching target flag 1234 describes a flag value for designating whether or not the corresponding variable is a data matching target. Specifically, for example, “true (target)” or “false ( Not specified) ”. The data management table 123 is referred to and written in the synchronized data transmission process (FIG. 12) and the plan data setting process (FIG. 16).

(2)制御実行処理
制御実行部130によって実行される制御実行処理について詳述する。前述したように、制御アプリ131には、制御周期、制御内容(制御ロジック)、入力データや出力データの情報、並びに、二重化処理部132による処理に必要なパラメータ等が予め設定されている。上記パラメータを参照しながら制御実行部130が制御アプリ131を実行することによって、制御実行処理が行われる。
(2) Control execution process The control execution process executed by the control execution unit 130 will be described in detail. As described above, the control application 131 is preset with a control cycle, control contents (control logic), information on input data and output data, parameters necessary for processing by the duplex processing unit 132, and the like. A control execution process is performed by the control execution unit 130 executing the control application 131 while referring to the parameters.

図7は、制御実行処理の処理手順の一例を示すフローチャートである。制御実行部130による制御実行処理は定周期で実行され、図7には、その1周期分について処理内容の概要が例示されている。   FIG. 7 is a flowchart illustrating an example of a processing procedure of the control execution process. The control execution process by the control execution unit 130 is executed at regular intervals, and FIG. 7 illustrates an outline of the processing contents for one period.

図7に示したように、制御実行部130は、まず、制御アプリ131に設定される入力データ(計画データ)をデータ一致化情報120から読込み(ステップS101)、読込んだ計画データを用いて、制御アプリ131に記載された制御ロジックを実行する(ステップS102)。ステップS101,S102の処理によって、計画受信部110によって受信された計画情報(計画データ)が、コントローラ装置10A(より詳しくは制御アプリ131)に設定される。   As shown in FIG. 7, the control execution unit 130 first reads input data (plan data) set in the control application 131 from the data matching information 120 (step S101), and uses the read plan data. Then, the control logic described in the control application 131 is executed (step S102). Through the processing in steps S101 and S102, the plan information (plan data) received by the plan receiving unit 110 is set in the controller device 10A (more specifically, the control application 131).

次に、制御実行部130は、二重化処理部132を呼び出して二重化処理を実行する(ステップS103)。詳細は図8〜図14を参照して後述するが、二重化処理では、二重化システム1におけるコントローラ装置10の動作状態に応じて、異なる処理が実行される。例えば、二重化システム1を構成する2台のコントローラ装置10A,10Bにおける動作状態が「Active」と「Standby」であった場合には、両コントローラ装置10A,10Bの間でデータを同期化する二重化動作処理が行われる。   Next, the control execution unit 130 calls the duplex processing unit 132 to execute the duplex processing (step S103). Although details will be described later with reference to FIGS. 8 to 14, in the duplex processing, different processing is executed according to the operation state of the controller device 10 in the duplex system 1. For example, when the operation states of the two controller devices 10A and 10B constituting the duplex system 1 are “Active” and “Standby”, the duplex operation for synchronizing data between the controller devices 10A and 10B. Processing is performed.

その後、ステップS104において、制御実行部130は、ステップS102における制御ロジックの実行結果等に基づいて、出力データの書込みを行う(ステップS104)。なお、出力データの書込みは、自コントローラ装置10(例えばコントローラ装置10A)が制御系である場合に行われ、待機系である場合には行われない。出力データの書込みの詳細は、図15を参照して後述する。   Thereafter, in step S104, the control execution unit 130 writes the output data based on the execution result of the control logic in step S102 (step S104). Note that the output data is written when the controller device 10 (for example, the controller device 10A) is a control system, and is not performed when the controller device 10 is a standby system. Details of the output data writing will be described later with reference to FIG.

そして、ステップS104の処理が終了した後は、次周期の制御実行処理が行われるまでの間、処理を休止(スリープ)させる(ステップS105)。   And after the process of step S104 is complete | finished, a process is paused (sleep) until the control execution process of the next period is performed (step S105).

(2−1)二重化処理
以下では、二重化処理(図7のステップS103)について詳しく説明する。図8は、二重化処理の処理手順の一例を示すフローチャートである。前述したように、二重化処理は、制御実行処理のなかで制御実行部130が二重化処理部132を呼び出して実行させる処理であり、制御実行処理のサブルーチンと考えてもよい。
(2-1) Duplexing process The duplexing process (step S103 in FIG. 7) will be described in detail below. FIG. 8 is a flowchart illustrating an example of the processing procedure of the duplex processing. As described above, the duplexing process is a process in which the control execution unit 130 calls and executes the duplexing processing unit 132 in the control execution process, and may be considered as a subroutine of the control execution process.

まずステップS201において、二重化処理部132は、自コントローラ装置10(コントローラ装置10A)における二重化の動作状態を確認する。より具体的には、二重化処理部132は、データ一致化情報120の動作状態管理テーブル121を参照し、同テーブルに記録された動作状態1211の値を取得する。例えば図4の場合は「Active」の動作状態が確認される。   First, in step S201, the duplexing processing unit 132 checks the duplexing operation state in the controller device 10 (controller device 10A). More specifically, the duplex processing unit 132 refers to the operation state management table 121 of the data matching information 120 and acquires the value of the operation state 1211 recorded in the table. For example, in the case of FIG. 4, the operating state of “Active” is confirmed.

次いで、二重化処理部132は、ステップS201で確認された動作状態に応じて、ステップS202〜S204の何れかの処理を実行し、二重化処理を終了する。具体的には、動作状態が「Bootup」であった場合は、ステップS202において初期化用の所定の処理を実行する(初期化処理)。動作状態が「Standalone」であった場合は、ステップS203において単独動作用の所定の処理を実行する(単独動作処理)。動作状態が「Active」または「Standby」であった場合はステップS204において二重化動作用の所定の処理を実行する(二重化動作処理)。ステップS203の単独動作処理の詳細は、図10を参照しながら後述し、ステップS204の二重化動作処理の詳細は、図11〜図14を参照して後述する。   Next, the duplexing processing unit 132 executes any of the processes in steps S202 to S204 according to the operation state confirmed in step S201, and ends the duplexing process. Specifically, when the operation state is “Bootup”, a predetermined process for initialization is executed in step S202 (initialization process). When the operation state is “Standalone”, a predetermined process for the single operation is executed in step S203 (single operation process). If the operation state is “Active” or “Standby”, a predetermined process for duplex operation is executed in step S204 (duplex operation process). Details of the single operation process in step S203 will be described later with reference to FIG. 10, and details of the duplex operation process in step S204 will be described later with reference to FIGS.

ここで、二重化システム1におけるコントローラ装置10の動作状態について補足する。図4でも前述したように、二重化システム1におけるコントローラ装置10の動作状態は、動作状態管理テーブル121の動作状態1211に記録されており、具体的には、「Bootup」、「Standalone」、「Active」、「Standby」の4つの動作状態の何れかが記録される。   Here, it supplements about the operation state of the controller apparatus 10 in the duplex system 1. FIG. As described above in FIG. 4, the operation state of the controller device 10 in the duplex system 1 is recorded in the operation state 1211 of the operation state management table 121. Specifically, “Bootup”, “Standalone”, “Active ”And“ Standby ”are recorded.

図9は、二重化システムにおける動作状態の状態遷移を説明するための図である。図9に示した各動作状態(Bootup901、Standalone902、Active903、及びStandby904)は、上記の4つの動作状態に対応している。すなわち、Bootup901は、初期化中を意味する動作状態であり、Standalone902は、自コントローラ装置10が単独動作中(すなわち、二重化されていない)を意味する動作状態であり、Active903は、自コントローラ装置10が二重化システム1において制御系(主系)で動作中であることを意味する動作状態であり、Standby904は、自コントローラ装置10が二重化システム1において待機系(従系)で動作中であることを意味する動作状態である。   FIG. 9 is a diagram for explaining the state transition of the operation state in the duplex system. Each operation state (Bootup 901, Standalone 902, Active 903, and Standby 904) illustrated in FIG. 9 corresponds to the above four operation states. In other words, Bootup 901 is an operation state that means initialization is in progress, Standalone 902 is an operation state that means that the controller device 10 is operating independently (that is, is not duplexed), and Active 903 is an operation state that the controller device 10 itself is in. Is an operation state that means that the redundant system 1 is operating in the control system (primary system), and Standby 904 indicates that the controller device 10 is operating in the standby system (secondary system) in the redundant system 1. It is an operational state that means.

また、図9の遷移905〜910は、各動作状態間における状態遷移の関係が示されている。図9に示された状態遷移について具体的に説明する。   In addition, transitions 905 to 910 in FIG. 9 indicate the relationship of state transitions between the respective operation states. The state transition shown in FIG. 9 will be specifically described.

まず、第1のコントローラ装置10Aにおいて、制御実行部130による動作開始時にBootup901に遷移する(遷移905)。Bootup901では、二重化対象となる第2のコントローラ装置10(例えばコントローラ装置10B)を探索し、見つからずにタイムアウトすると、単独動作となるためStandalone902に遷移する(遷移906)。Standalone902では、単独動作処理を行いながら二重化対象となる第2のコントローラ装置10Bの起動を待ち受ける。第1のコントローラ装置10AがStandalone902である際に二重化対象となる第2のコントローラ装置10BがBootup901の動作状態になると、二重化システムを構成する初期化処理が実行され、二重化が構成されると第1のコントローラ装置10Aの動作状態はActive903となり(遷移907)、第2のコントローラ装置10Bの動作状態はStandby904となる(遷移909)。   First, in the first controller device 10A, transition to Bootup 901 is made when the operation is started by the control execution unit 130 (Transition 905). In the Bootup 901, the second controller device 10 (for example, the controller device 10B) to be duplexed is searched for, and when timed out without being found, the operation goes to Standalone 902 because of a single operation (Transition 906). The Standalone 902 waits for the activation of the second controller device 10B to be duplexed while performing the single operation process. When the first controller device 10A is Standalone 902 and the second controller device 10B to be duplexed is in the operation state of Bootup 901, initialization processing that configures the duplex system is executed, and the first is configured when duplex is configured. The operation state of the controller device 10A is Active 903 (transition 907), and the operation state of the second controller device 10B is Standby 904 (transition 909).

そして、上記二重化が構成されているときに、第2のコントローラ装置10Bが異常の発生によって停止すると、二重化が維持できなくなるため、第1のコントローラ装置10Aの動作状態はStandalone902に遷移する(遷移908)。一方、上記二重化が構成されているときに、第1のコントローラ装置10Aが異常の発生によって停止すると、二重化が維持できなくなるため、第2のコントローラ装置10Bの動作状態がStandalone902に遷移する(遷移910)。なお、停止したコントローラ装置10は、動作状態「なし」となり、再起動時にBootup901に遷移する。   If the second controller device 10B stops due to the occurrence of an abnormality when the duplexing is configured, the duplexing cannot be maintained, and the operating state of the first controller device 10A transitions to the Standalone 902 (transition 908). ). On the other hand, if the first controller device 10A stops due to the occurrence of an abnormality when the duplexing is configured, the duplexing cannot be maintained, and the operation state of the second controller device 10B transitions to Standalone 902 (transition 910). ). Note that the stopped controller device 10 enters the operation state “None”, and transitions to Bootup 901 upon restart.

以上、図9に示したように、二重化システム1において、各コントローラ装置10の動作状態は、二重化の構成状況に応じて4つ(「なし」を含めれば5つ)の動作状態の何れかとなり、例えば、二重化の制御系であるActive903に遷移するためには必ずStandby904(二重化の待機系)を経由しなければならない等の特徴を有する。   As described above, as shown in FIG. 9, in the duplex system 1, the operation state of each controller device 10 is one of four operation states (5 if “none” is included) depending on the duplex configuration status. For example, in order to make a transition to Active 903, which is a duplex control system, it must always pass through Standby 904 (duplex standby system).

(2−1−1)単独動作処理
単独動作処理(図8のステップS203)について、詳しく説明する。図10は、単独動作処理の処理手順の一例を示すフローチャートである。単独動作処理は、二重化処理部132(主にデータ一致化処理部133)によって実行される。
(2-1-1) Single Operation Process The single operation process (step S203 in FIG. 8) will be described in detail. FIG. 10 is a flowchart illustrating an example of the processing procedure of the single operation processing. The single operation processing is executed by the duplex processing unit 132 (mainly the data matching processing unit 133).

図10によれば、まず、二重化処理部132は、データ一致化処理が必要かどうかを判断するために、図5に例示したフラグ管理テーブル122を参照し、「データ一致化フラグ」の値1222を確認する(ステップS301)。ステップS301で確認したデータ一致化フラグが「false(データ一致化が不要)」であった場合は(ステップS301のfalse)、二重化処理部132は単独動作処理を終了する。   According to FIG. 10, first, the duplexing processing unit 132 refers to the flag management table 122 illustrated in FIG. 5 in order to determine whether the data matching processing is necessary, and the value 1222 of “data matching flag”. Is confirmed (step S301). When the data matching flag confirmed in step S301 is “false (data matching is not required)” (false in step S301), the duplexing processing unit 132 ends the single operation process.

ステップS301で確認したデータ一致化フラグが「true(データ一致化が必要)」であった場合は(ステップS301のtrue)、二重化処理部132は、データ管理テーブル123に記録された仮変数値1233を対応する実際の変数にコピーし(ステップS302)、その後、フラグ管理テーブル122におけるデータ一致化フラグをリセットして(ステップS303)、単独動作処理を終了する。なお、ステップS302における仮変数値のコピーでは、データ管理テーブル123において一致化対象フラグ1234が「true」である変数のみを対象として行うことが想定できる。   If the data matching flag confirmed in step S301 is “true (data matching required)” (true in step S301), the duplex processing unit 132 sets the temporary variable value 1233 recorded in the data management table 123. Is copied to the corresponding actual variable (step S302), then the data matching flag in the flag management table 122 is reset (step S303), and the single operation process is terminated. It should be noted that the temporary variable value copying in step S302 can be assumed to be performed only for variables whose matching target flag 1234 is “true” in the data management table 123.

(2−1−2)二重化動作処理
ここでは、二重化動作処理(図8のステップS204)について説明する。二重化動作処理は、二重化システム1を構成する2台のコントローラ装置10A,10Bとの間でデータ一致化(同期化)を実現するために行われる処理であって、二重化システム1を構成するコントローラ装置10A,10Bのそれぞれにおいて実行される。二重化動作処理は、データ一致化のための同期化データの送信に関する同期化データ送信処理と、同期化データの受信に関する同期化データ受信処理とに大別される。
(2-1-2) Duplexing Operation Processing Here, the duplexing operation processing (step S204 in FIG. 8) will be described. The duplexing operation process is a process performed in order to realize data matching (synchronization) between the two controller devices 10A and 10B constituting the duplexing system 1, and the controller device configuring the duplexing system 1 It is executed in each of 10A and 10B. The duplex operation process is roughly divided into a synchronized data transmission process related to transmission of synchronized data for data matching and a synchronized data reception process related to reception of synchronized data.

図11は、二重化動作処理の処理手順の一例を示すフローチャートである。図11に示したように、二重化処理部132は、同期化データ送信処理を実行し(ステップS401)、次いで同期化データ受信処理を実行し(ステップS402)、その後、二重化動作処理を終了する。   FIG. 11 is a flowchart illustrating an example of a processing procedure of the duplex operation processing. As illustrated in FIG. 11, the duplex processing unit 132 executes a synchronized data transmission process (step S401), then executes a synchronized data reception process (step S402), and then ends the duplex operation process.

まず、同期化データ送信処理について詳しく説明する。図12は、同期化データ送信処理の処理手順の一例を示すフローチャートである。   First, the synchronized data transmission process will be described in detail. FIG. 12 is a flowchart illustrating an example of a processing procedure of the synchronized data transmission process.

図12によれば、ステップS501において、二重化処理部132は、データ一致化処理が必要かどうかを判断するために、フラグ管理テーブル122の「データ一致化フラグ」の値1222を確認する。   According to FIG. 12, in step S501, the duplexing processing unit 132 checks the value 1222 of the “data matching flag” in the flag management table 122 in order to determine whether data matching processing is necessary.

ステップS501で確認したデータ一致化フラグが「false(データ一致化が不要)」であった場合(ステップS501のfalse)、二重化処理部132は、死活監視のためにハートビート(HB)のみを同期化データとして二重化対象のコントローラ装置10Bに送信し(ステップS511)、同期化データ送信処理を終了する。なお、同期化データの送信は、二重化処理部132の同期化通信部136によって行なわれ、コントローラ装置10Aから送信された同期化データは、同期化通信路140を介してコントローラ装置10Bで受信される。これは、ステップS511の同期化データ送信だけでなく、後述する他の同期化データ送信(ステップS504,S507)でも同様である。   If the data matching flag confirmed in step S501 is “false (data matching is not required)” (false in step S501), the duplex processing unit 132 synchronizes only the heartbeat (HB) for alive monitoring. Data is transmitted to the controller device 10B to be duplexed (step S511), and the synchronized data transmission process is terminated. The transmission of the synchronization data is performed by the synchronization communication unit 136 of the duplex processing unit 132, and the synchronization data transmitted from the controller device 10A is received by the controller device 10B via the synchronization communication path 140. . This applies not only to the synchronized data transmission in step S511, but also to other synchronized data transmissions (steps S504 and S507) described later.

一方、ステップS501で確認したデータ一致化フラグが「true(データ一致化が必要)」であった場合は(ステップS501のtrue)、ステップS502に進む。   On the other hand, if the data matching flag confirmed in step S501 is “true (data matching required)” (true in step S501), the process proceeds to step S502.

ステップS502において、二重化処理部132は、データ一致化の進捗状況を確認するために、フラグ管理テーブル122を参照し、「送信済みフラグ」と「受信済フラグ」の値1222の組み合わせを確認する。ステップS502の確認結果は以下の3通りが想定され、それぞれの確認結果に応じた処理が行なわれる。   In step S <b> 502, the duplex processing unit 132 refers to the flag management table 122 in order to confirm the progress of data matching, and confirms the combination of the “transmitted flag” and “received flag” values 1222. The following three confirmation results are assumed in step S502, and processing corresponding to each confirmation result is performed.

第1に、ステップS502の確認結果について、送信済みフラグが「true(データ一致化コマンド送信済み)」かつ受信済みフラグが「false(データ一致化コマンド未受信)」の組み合わせであった場合は、二重化対象のコントローラ装置10Bからの応答待ちの状況であることを意味する。そこで、二重化処理部132は、ステップS511において、死活状態を伝えるためのハートビート(HB)のみを同期化データとして二重化対象のコントローラ装置10Bに送信し、同期化データ送信処理を終了する。なお、ステップS511で送信する同期化データには、コントローラ装置10A,10B間で二重化を構成するために必要な主従のデータ等を含めてもよいが、後述する第2,第3の処理における同期化データ送信とは異なり、ステップS101,S102でコントローラ装置10A(より詳しくは制御アプリ131)に設定された計画データ(またはその内容を示す情報)は送信されない。   First, regarding the confirmation result in step S502, if the transmitted flag is a combination of “true (data matching command transmitted)” and the received flag is “false (data matching command not received)”, This means that it is waiting for a response from the controller device 10B to be duplicated. Therefore, in step S511, the duplexing processing unit 132 transmits only the heartbeat (HB) for transmitting the alive state as synchronization data to the controller device 10B to be duplexed, and ends the synchronization data transmission processing. Note that the synchronization data transmitted in step S511 may include master-slave data and the like necessary for configuring the duplex between the controller devices 10A and 10B, but synchronization in second and third processing described later. Unlike the data transmission, the plan data (or information indicating the contents) set in the controller device 10A (more specifically, the control application 131) in steps S101 and S102 is not transmitted.

第2に、ステップS502の確認結果について、送信済みフラグが「false(データ一致化コマンド未送信)」かつ受信済みフラグが「false(データ一致化コマンド未受信)」の組み合わせであった場合は、二重化処理部132は、二重化対象のコントローラ装置10Bに送信するデータ一致化コマンドとして、Setコマンドを作成する(ステップS503)。Setコマンドは、データ管理テーブル123を参照し、一致化対象フラグ1234が「true(一致化対象)」である変数に関して、変数名1231及び仮変数値1233をまとめることによって作成される。   Second, regarding the confirmation result in step S502, if the transmitted flag is a combination of “false (data matching command not transmitted)” and the received flag is “false (data matching command not received)”, The duplex processing unit 132 creates a Set command as a data matching command to be transmitted to the controller device 10B to be duplexed (step S503). The Set command is created by referring to the data management table 123 and collecting the variable name 1231 and the temporary variable value 1233 for the variable whose matching target flag 1234 is “true (matching target)”.

そして二重化処理部132は、ステップS503で作成したSetコマンドとハートビート(HB)を含む同期化データをコントローラ装置10Bに送信し(ステップS504)、送信済みフラグを「true」に変更し(ステップS505)、同期化データ送信処理を終了する。なお、ステップS504で送信する同期化データには、Setコマンド及びHBの他に、ステップS101,S102でコントローラ装置10A(より詳しくは制御アプリ131)に設定された計画データ(またはその内容を示す情報)が含まれる。   Then, the duplex processing unit 132 transmits the synchronization data including the Set command and the heartbeat (HB) created in step S503 to the controller device 10B (step S504), and changes the transmitted flag to “true” (step S505). ), And finishes the synchronized data transmission process. In addition to the Set command and HB, the synchronization data transmitted in step S504 includes plan data (or information indicating the contents) set in the controller device 10A (more specifically, the control application 131) in steps S101 and S102. ) Is included.

第3に、ステップS502の確認結果について、送信済みフラグが「false(データ一致化コマンド未送信)」かつ受信済みフラグが「true(データ一致化コマンド受信済み)」の組み合わせであった場合は、二重化処理部132は、二重化対象のコントローラ装置10Bに返信するためのデータ一致化コマンドとして、Ackコマンドを作成する(ステップS506)。   Third, regarding the confirmation result of step S502, if the transmitted flag is a combination of “false (data matching command not transmitted)” and the received flag is “true (data matching command received)”, The duplexing processing unit 132 creates an Ack command as a data matching command to be returned to the controller device 10B to be duplexed (step S506).

そして二重化処理部132は、ステップS506で作成したAckコマンドとハートビート(HB)とからなる同期化データをコントローラ装置10Bに送信し(ステップS507)、送信済みフラグを「true」に変更する(ステップS508)。なお、ステップS507で送信する同期化データには、Ackコマンド及びHBの他に、ステップS101,S102でコントローラ装置10A(より詳しくは制御アプリ131)に設定された計画データ(またはその内容を示す情報)が含まれる。   Then, the duplexing processing unit 132 transmits the synchronization data composed of the Ack command and the heartbeat (HB) created in Step S506 to the controller device 10B (Step S507), and changes the transmitted flag to “true” (Step S507). S508). In addition to the Ack command and HB, the synchronization data transmitted in step S507 includes plan data (or information indicating the contents) set in the controller device 10A (more specifically, the control application 131) in steps S101 and S102. ) Is included.

そして、ステップS508の処理が完了したとき、データ一致化フラグ、送信済みフラグ、及び受信済みフラグがすべて「true」となり、図5の説明でも前述したように、二重化対象とのデータ一致化が完了したことを意味する。このとき、二重化処理部132は、データ管理テーブル123に記録された仮変数値1233を対応する実際の変数にコピーする(ステップS509)。ステップS509において、計画データに基づいて設定された仮変数値1233が実際の変数にコピーされることによって、制御対象装置30に対する実際の制御処理に当該計画データが適用される。なお、図10のステップS302と同様に、ステップS509における仮変数値のコピーでは、一致化対象フラグ1234が「true」である変数のみを対象として行うことが想定できる。その後、二重化処理部132は、フラグ管理テーブル122におけるデータ一致化フラグ、送信済みフラグ、及び受信済みフラグのすべてを「false」にリセットし(ステップS510)、同期化データ送信処理を終了する。   When the processing in step S508 is completed, the data matching flag, the transmitted flag, and the received flag are all “true”, and as described above with reference to FIG. 5, data matching with the duplex target is completed. Means that At this time, the duplex processing unit 132 copies the temporary variable value 1233 recorded in the data management table 123 to the corresponding actual variable (step S509). In step S509, the temporary variable value 1233 set based on the plan data is copied to the actual variable, whereby the plan data is applied to the actual control processing for the control target device 30. Similar to step S302 in FIG. 10, it can be assumed that the temporary variable value copy in step S509 is performed only for variables for which the matching target flag 1234 is “true”. Thereafter, the duplex processing unit 132 resets all of the data matching flag, the transmitted flag, and the received flag in the flag management table 122 to “false” (step S510), and ends the synchronized data transmission process.

次に、同期化データ受信処理について詳しく説明する。図13は、同期化データ受信処理の処理手順の一例を示すフローチャートである。   Next, the synchronized data reception process will be described in detail. FIG. 13 is a flowchart illustrating an example of a processing procedure of the synchronization data reception process.

図13によれば、ステップS601において、二重化処理部132は同期化データ受信を行う。同期化データ受信の詳細は、図14を参照して後述する。   According to FIG. 13, in step S601, the duplex processing unit 132 receives synchronized data. Details of the synchronization data reception will be described later with reference to FIG.

次いで、二重化処理部132は、同期化データ受信の結果がタイムアウトであったか否かを確認し(ステップS602)、タイムアウトであった場合は(ステップS602のYES)、動作状態管理テーブル121の動作状態1211をStandaloneに変更し(ステップS610)、同期化データ受信処理を終了する。なお、ステップS602におけるタイムアウトの確認は、ステップS601の同期化データ受信のなかで行われるタイムアウトの判定(図14のステップS701参照)に基づいて行われる。   Next, the duplex processing unit 132 confirms whether or not the result of the synchronization data reception is a timeout (step S602), and if it is a timeout (YES in step S602), the operation state 1211 of the operation state management table 121 is determined. Is changed to Standalone (step S610), and the synchronization data receiving process is terminated. The time-out confirmation in step S602 is performed based on the time-out determination (see step S701 in FIG. 14) performed during the reception of the synchronization data in step S601.

同期化データ受信の結果がタイムアウトでなかった場合は(ステップS602のNO)、二重化処理部132はステップS601で受信した同期化データの種類を確認する(ステップS603)。   If the result of the synchronization data reception is not a timeout (NO in step S602), the duplex processing unit 132 confirms the type of the synchronization data received in step S601 (step S603).

ステップS603の確認において、受信した同期化データがハートビートのみであった場合は(ステップS603のHB)、図12のステップS511で説明した同期化データ送信を二重化対象のコントローラ装置10Bから受信したことを意味する。このとき、二重化処理部132は、現状を維持するため、特段の処理を行わずに同期化データ受信処理を終了する。   In the confirmation in step S603, when the received synchronization data is only the heartbeat (HB in step S603), the synchronization data transmission described in step S511 in FIG. 12 has been received from the controller device 10B to be duplexed. Means. At this time, the duplex processing unit 132 ends the synchronized data reception process without performing any special process in order to maintain the current state.

また、ステップS603の確認において、受信した同期化データがSetコマンド及びハートビートであった場合は(ステップS603のSetコマンド+HB)、図12のステップS504に示した同期化データ送信を二重化対象のコントローラ装置10Bから受信したことを意味する。このとき、二重化処理部132は、Setコマンド情報をデータ管理テーブル123にコピーする(ステップS604)。さらに、二重化処理部132は、フラグ管理テーブル122においてデータ一致化フラグを「true(データ一致化実施中)」に設定し(ステップS605)、受信済みフラグを「true(データ一致化コマンド受信済み)」に設定し(ステップS606)、同期化データ受信処理を終了する。   In the confirmation in step S603, if the received synchronization data is a Set command and a heartbeat (Set command + HB in step S603), the synchronization data transmission shown in step S504 in FIG. It means that it has been received from the device 10B. At this time, the duplex processing unit 132 copies the Set command information to the data management table 123 (step S604). Further, the duplexing processing unit 132 sets the data matching flag to “true (data matching in progress)” in the flag management table 122 (step S605) and sets the received flag to “true (data matching command received)”. "(Step S606), and the synchronized data reception process ends.

また、ステップS603の確認において、受信した同期化データがAckコマンド及びハートビートであった場合は(ステップS603のAckコマンド+HB)、図12のステップS507に示した同期化データ送信を二重化対象のコントローラ装置10Bから受信したことを意味する。このとき、二重化処理部132は、フラグ管理テーブル122の受信済みフラグを「true(データ一致化コマンド受信済み)」に設定する(ステップS607)。   In the confirmation in step S603, if the received synchronization data is an Ack command and a heartbeat (Ack command + HB in step S603), the synchronization data transmission shown in step S507 in FIG. It means that it has been received from the device 10B. At this time, the duplex processing unit 132 sets the received flag of the flag management table 122 to “true (data matching command received)” (step S607).

ステップS607の処理が完了したとき、データ一致化フラグ、送信済みフラグ、及び受信済みフラグがすべて「true」となる(二重化対象とのデータ一致化が完了したことを意味する)。そこで二重化処理部132は、データ管理テーブル123に記録された仮変数値1233を対応する実際の変数にコピーし(ステップS608)、フラグ管理テーブル122におけるデータ一致化フラグ、送信済みフラグ、及び受信済みフラグのすべてを「false」にリセットし(ステップS609)、同期化データ送信処理を終了する。ステップS608〜S609の処理は、同期化データ送信処理(図12)におけるステップS509〜S510の処理と同様である。特に、ステップS608において、計画データに基づいて設定された仮変数値1233が実際の変数にコピーされることによって、制御対象装置30に対する実際の制御処理に当該計画データが適用される。   When the processing in step S607 is completed, the data matching flag, the transmitted flag, and the received flag are all “true” (meaning that data matching with the duplex target has been completed). Therefore, the duplication processing unit 132 copies the temporary variable value 1233 recorded in the data management table 123 to the corresponding actual variable (step S608), and the data matching flag, the transmitted flag, and the received flag in the flag management table 122 are received. All of the flags are reset to “false” (step S609), and the synchronized data transmission process ends. The process of steps S608 to S609 is the same as the process of steps S509 to S510 in the synchronized data transmission process (FIG. 12). In particular, in step S608, the temporary variable value 1233 set based on the plan data is copied to the actual variable, so that the plan data is applied to the actual control processing for the control target device 30.

ここで、図14を参照しながら、ステップS601における同期化データ受信の詳細を説明する。図14は、同期化データ受信における処理手順の一例を示すフローチャートである。   Here, the details of the synchronization data reception in step S601 will be described with reference to FIG. FIG. 14 is a flowchart illustrating an example of a processing procedure in receiving synchronized data.

図14によれば、まず、二重化処理部132は、予め設定された所定のタイムアウト時間が経過したか否かを確認する(ステップS701)。ステップS701においてタイムアウトした場合は(ステップS701のYES)、同期化データの受信がなかったとして同期化データ受信を終了する。   According to FIG. 14, first, the duplex processing unit 132 confirms whether or not a predetermined time-out time set in advance has elapsed (step S701). If time-out occurs in step S701 (YES in step S701), the reception of the synchronization data is terminated because no synchronization data has been received.

ステップS701においてタイムアウトしていない場合は(ステップS701のNO)、同期化データの受信を実行し(ステップS702)、受信データの有無を確認する(ステップS703)。ステップS703において受信データがあった場合は(ステップS703のYES)、同期化データ受信を終了する。ステップS703において受信データがなかった場合は(ステップS703のNO)、一定時間スリープさせ(ステップS704)、その後再びステップS701の処理に戻る。   If the time-out has not occurred in step S701 (NO in step S701), the synchronization data is received (step S702), and the presence or absence of the received data is confirmed (step S703). If there is reception data in step S703 (YES in step S703), the synchronization data reception ends. If there is no received data in step S703 (NO in step S703), the device sleeps for a predetermined time (step S704), and then returns to the processing in step S701 again.

以上、図14に示した同期化データ受信によれば、タイムアウトまでに同期化データを受信するか、または、同期化データを受信せずにタイムアウトするまで、同期化データの受信が行われる。   As described above, according to the synchronization data reception shown in FIG. 14, the synchronization data is received until the synchronization data is received before the timeout or until the timeout occurs without receiving the synchronization data.

以上、二重化システム1を構成するコントローラ装置10A,10Bのそれぞれにおいて図11〜図14に示した処理が行われることによって、コントローラ装置10Aは二重化対象のコントローラ装置10Bとの間でデータを同期化することができる。   As described above, the processing shown in FIGS. 11 to 14 is performed in each of the controller devices 10A and 10B configuring the duplex system 1, whereby the controller device 10A synchronizes data with the controller device 10B to be duplexed. be able to.

(2−2)出力データ書込み
以下では、出力データ書込み(図7のステップS104)について詳しく説明する。図15は、出力データ書込みにおける処理手順の一例を示すフローチャートである。
(2-2) Output Data Writing In the following, output data writing (step S104 in FIG. 7) will be described in detail. FIG. 15 is a flowchart illustrating an example of a processing procedure in writing output data.

図7のステップS104で述べたように、図7の説明で前述したように、出力データ書込みは、コントローラ装置10の制御実行部130が、制御ロジックの実行(ステップS102)に基づく結果等を出力する処理であって、二重化処理(図7のステップS103)の完了後に実行される。したがって、コントローラ装置10A,10Bによって二重化システム1が構成されている場合、二重化処理によって両コントローラ装置10A,10Bの間でデータ一致化が完了するまでは、制御系のコントローラ装置10Aの制御実行部130は、出力データの書込みを開始しない。   As described in step S104 in FIG. 7, as described above in the description of FIG. 7, in the output data writing, the control execution unit 130 of the controller device 10 outputs a result based on the execution of the control logic (step S <b> 102). Which is executed after completion of the duplexing process (step S103 in FIG. 7). Therefore, when the duplex system 1 is configured by the controller devices 10A and 10B, the control execution unit 130 of the controller device 10A of the control system until the data matching is completed between the controller devices 10A and 10B by the duplex processing. Does not start writing output data.

図15によれば、まず、制御実行部130は、動作状態管理テーブル121を参照して、自コントローラ装置10(例えばコントローラ装置10A)の動作状態1211を確認する(ステップS801)。   According to FIG. 15, first, the control execution unit 130 refers to the operation state management table 121 and confirms the operation state 1211 of the own controller device 10 (for example, the controller device 10A) (step S801).

次に、ステップS801において動作状態1211が「Bootup」または「Standby」であった場合には、コントローラ装置10Aは出力データの書込みを行う必要または資格がなく、特段の処理を行わずに出力データ書込みを終了する。一方、ステップS801において動作状態1211が「Active」または「Standalone」であった場合には、コントローラ装置10Aは出力データの書込みを行う立場であるため、制御ロジックの実行に基づく結果等(出力データ)の書込みを実行し(ステップS802)、出力データ書込みを終了する。   Next, when the operation state 1211 is “Bootup” or “Standby” in step S801, the controller device 10A does not need or qualify to write the output data, and writes the output data without performing special processing. Exit. On the other hand, if the operation state 1211 is “Active” or “Standalone” in step S801, the controller device 10A is in a position to write the output data, so the result based on the execution of the control logic (output data) Is written (step S802), and the output data writing is terminated.

(3)計画データ設定処理
前章までに説明してきたように、本実施の形態に係るコントローラ装置10Aでは、計画サーバ20から計画情報(計画データ)を受信した場合に、制御実行部130が制御実行処理を行うことによって、同じ計画データを受信したコントローラ装置10Bとの間でデータを一致化させ、データ一致化の完了後、計画データに基づく制御アプリ131の実行結果をスレーブ機器(制御対象装置30)に出力することで当該計画データが設定される。
(3) Plan data setting process As described above, in the controller device 10A according to the present embodiment, when the plan information (plan data) is received from the plan server 20, the control execution unit 130 executes the control execution. By performing the process, the data is matched with the controller device 10B that has received the same plan data, and after the data match is completed, the execution result of the control application 131 based on the plan data is displayed as a slave device (control target device 30). ) To set the plan data.

さらに、本実施の形態に係るコントローラ装置10Aでは、上記の制御実行部130による制御実行処理とは別に、計画受信部110が、受信した計画データがコントローラ装置10A,10Bに設定された(当該計画データが制御実行部130による定周期の制御処理に適切に反映された)か否かを確認し、計画データの送信元に通知することができる(計画データ設定処理)。本章ではこの計画データ設定処理について詳しく説明する。   Further, in the controller device 10A according to the present embodiment, the plan receiving unit 110 sets the received plan data in the controller devices 10A and 10B separately from the control execution processing by the control execution unit 130 (the plan It is possible to confirm whether or not the data is appropriately reflected in the control processing of the fixed period by the control execution unit 130 and notify the plan data transmission source (plan data setting processing). This chapter will explain this plan data setting process in detail.

図16は、計画データ設定処理の処理手順の一例を示すフローチャートである。以下、コントローラ装置10Aの計画受信部110が実行するものとして図16の各処理を説明するが、実際には、コントローラ装置10Bでも同様に、計画受信部110が計画データ設定処理を行う。   FIG. 16 is a flowchart illustrating an example of a processing procedure of the plan data setting process. Hereinafter, each process of FIG. 16 will be described as being executed by the plan receiving unit 110 of the controller device 10A, but actually, the plan receiving unit 110 performs the plan data setting process similarly in the controller device 10B.

図16に示したように、ステップS901において、計画受信部110は計画情報(計画データ)を受信する。次に、計画受信部110はフラグ管理テーブル122を参照し、「データ一致化フラグ」の値1222を確認する(ステップS902)。   As shown in FIG. 16, in step S901, the plan receiving unit 110 receives plan information (plan data). Next, the plan receiving unit 110 refers to the flag management table 122 and checks the value 1222 of the “data matching flag” (step S902).

ステップS902の確認においてデータ一致化フラグが「true(データ一致化実施中)」であった場合、計画受信部110は、自コントローラ装置10Aにおいてデータ一致化の処理中であることを示す信号(データ一致化処理中エラー)を計画サーバ20に送信し(ステップS910)、計画データ設定処理を終了する。   When the data matching flag is “true (data matching is in progress)” in the confirmation in step S902, the plan receiving unit 110 receives a signal (data) indicating that data matching processing is being performed in the controller device 10A. An error during matching process) is transmitted to the plan server 20 (step S910), and the plan data setting process is terminated.

このような場合、計画サーバ20は、データ一致化処理中エラーを受信することによって、コントローラ装置10Aにおいて、送信した計画データに基づくデータ一致化の処理中であって、当該計画データの設定が完了していないことを認識できる。そこで計画サーバ20では、例えば次の計画データの送信が準備されていた場合に、次の計画データの送信を待機させる等の判断が可能となる。   In such a case, the plan server 20 receives the error during data matching processing, so that the controller device 10A is in the process of data matching based on the transmitted plan data, and the setting of the plan data is completed. You can recognize that they are not. Therefore, the plan server 20 can determine whether to wait for transmission of the next plan data, for example, when transmission of the next plan data is prepared.

一方、ステップS902の確認においてデータ一致化フラグが「false(データ一致化実施中でない)」であった場合、ステップS901の計画データの受信に基づいてデータ一致化を実行可能な状態であることから、計画受信部110は、受信した計画データをデータ管理テーブル123に設定し(ステップS903)、フラグ管理テーブル122のデータ一致化フラグを「true(データ一致化実施中)」に設定する(ステップS904)。   On the other hand, if the data matching flag is “false (data matching is not in progress)” in the confirmation in step S902, the data matching can be executed based on the reception of the plan data in step S901. The plan receiving unit 110 sets the received plan data in the data management table 123 (step S903), and sets the data matching flag of the flag management table 122 to “true (data matching in progress)” (step S904). ).

そして、計画受信部110は、予め設定された所定のタイムアウト時間が経過したか否かを確認する(ステップS905)。上記タイムアウト時間は、制御実行部130によるデータ一致化の全体処理に関するタイムアウトを規定した時間である。   Then, the plan receiving unit 110 checks whether or not a predetermined time-out time set in advance has elapsed (step S905). The time-out time is a time that defines a time-out related to the entire data matching process by the control execution unit 130.

ステップS905の確認においてタイムアウトであれば(ステップS905のYES)、計画受信部110は、タイムアウトエラーを計画サーバ20に送信し(ステップS909)、計画データ設定処理を終了する。   If it is time-out in the confirmation in step S905 (YES in step S905), the plan receiving unit 110 transmits a time-out error to the plan server 20 (step S909) and ends the plan data setting process.

このような場合、計画サーバ20は、タイムアウトエラーを受信することによって、コントローラ装置10Aにおいて、送信した計画データに基づくデータ一致化処理が正常に完了せず、当該計画データがコントローラ装置10Aに適切に設定されなかったことを認識できる。そこで、計画サーバ20では、先の計画データを再送信するよう判断したり、または、コントローラ装置10A,10Bにおける故障や不具合の可能性を推測したりすることができる。   In such a case, the plan server 20 receives the time-out error, whereby the data matching process based on the transmitted plan data is not normally completed in the controller device 10A, and the plan data is appropriately sent to the controller device 10A. You can recognize that it was not set. Therefore, the plan server 20 can determine to retransmit the previous plan data, or can estimate the possibility of failure or malfunction in the controller devices 10A and 10B.

一方、ステップS905の確認においてタイムアウトでなければ(ステップS905のNO)、計画受信部110はフラグ管理テーブル122を参照し、「データ一致化フラグ」の値1222を確認する(ステップS906)。ステップS906の確認においてデータ一致化フラグが「true(データ一致化実施中)」であれば、一定時間のスリープを経て(ステップS908)、再度ステップS905に戻ってタイムアウトの確認を行う。また、ステップS906の確認においてデータ一致化フラグが「false(データ一致化実施中でない)」となっていた場合は、二重化システム1のコントローラ装置10A,10B間でデータ一致化が完了し、当該計画データが適切に反映された(設定された)ことを意味している。そこで計画受信部110は、計画データの設定が完了したことを示す設定OKコマンドを計画サーバ20に送信し(ステップS907)、計画データ設定処理を終了する。   On the other hand, if the timeout is not confirmed in the confirmation in step S905 (NO in step S905), the plan receiving unit 110 refers to the flag management table 122 and confirms the value 1222 of the “data matching flag” (step S906). If the data matching flag is “true (data matching is in progress)” in the confirmation in step S906, after a predetermined time of sleep (step S908), the process returns to step S905 to check the timeout. If the data matching flag is “false (data matching is not in progress)” in the confirmation in step S906, the data matching is completed between the controller devices 10A and 10B of the duplex system 1, and the plan It means that the data was properly reflected (set). Therefore, the plan receiving unit 110 transmits a setting OK command indicating that the setting of the plan data is completed to the plan server 20 (step S907), and ends the plan data setting process.

このような場合、計画サーバ20は、設定OKコマンドを受信することによって、コントローラ装置10A,10Bにおいて、送信した計画データに基づくデータ一致化処理が正常に完了し、当該計画データがコントローラ装置10A,10Bに設定されたことを認識できる。そこで、計画サーバ20では、設定OKコマンドを受信済みであることを条件として、次回の計画データの送信を許可するといった制御が可能となる。コントローラ装置10A,10Bの双方から設定OKコマンドを受信済みであることを条件とすれば、さらに安定性を高めることができる。   In such a case, the plan server 20 receives the setting OK command, whereby the controller device 10A, 10B normally completes the data matching process based on the transmitted plan data, and the plan data is stored in the controller device 10A, 10B. It can be recognized that 10B is set. Therefore, the plan server 20 can perform control such as permitting transmission of the next plan data on the condition that the setting OK command has been received. If the setting OK command has been received from both the controller devices 10A and 10B, the stability can be further improved.

以上のように、図16のステップS901〜S910の処理が行われることによって、計画受信部110は、制御実行部130による制御処理の制御周期とは異なるタイミングで外部(例えば計画サーバ20)から受信した計画データについて、当該計画データのコントローラ装置10A,10Bへの設定状況(制御処理に適切に反映されたか否か)を、当該計画データの送信元に通知することができる。かくして、二重化システム1における計画データの設定に関する確実性を高め、安定した二重化システム1の運用に貢献する。   As described above, the process of steps S901 to S910 in FIG. 16 is performed, so that the plan receiving unit 110 receives from the outside (for example, the plan server 20) at a timing different from the control cycle of the control process by the control execution unit 130. With respect to the plan data, the setting status of the plan data in the controller devices 10A and 10B (whether or not it is appropriately reflected in the control process) can be notified to the transmission source of the plan data. In this way, the certainty regarding the setting of the plan data in the duplex system 1 is improved, and it contributes to the stable operation of the duplex system 1.

(4)まとめ
本実施の形態に係るコントローラ装置10は、EtherCAT等のフィールドバス通信プロトコルを利用して、フィールドバス経由の入力データ(例えば計画データ)を制御系のコントローラ装置10A及び待機系のコントローラ装置10Bで常に一致させた場合、制御実行部130による制御実行処理において計画データを死活監視情報(ハートビート)と合わせて送信可能とすることによって、同期化情報を通信するために必要な同期化通信の回数は、1制御周期あたり1回(同期化データ送信のみ)となり、同期化通信の時間の増大に伴う制御アプリの実行時間の増加を抑制することができる。
(4) Summary The controller device 10 according to the present embodiment uses a fieldbus communication protocol such as EtherCAT to convert input data (for example, plan data) via the fieldbus into a control system controller device 10A and a standby system controller. The synchronization required for communicating the synchronization information by enabling the plan data to be transmitted together with the alive monitoring information (heartbeat) in the control execution process by the control execution unit 130 when the device 10B always matches. The number of times of communication is once per control cycle (synchronized data transmission only), and an increase in the execution time of the control application accompanying an increase in the time of synchronized communication can be suppressed.

さらに、本実施の形態によれば、定周期で制御アプリ131が実行される制御処理の1周期目において、二重化動作処理の同期化データ送信処理及び同期化データ受信処理によってコントローラ装置10A,10Bに設定された計画データのデータ一致化が完了し、2周期目の制御処理の開始時には、当該計画データの実際の制御処理への適用(仮変数値の実際の変数への適用:図12のステップS509,図13のステップS608)が可能になる。このように制御周期に合わせた制御が行われることにより、制御系・待機系双方のコントローラ装置10A,10Bにおいて制御実行タイミングがずれないため、制御系と待機系を切替えるとき等であっても、制御対象装置30に対する定周期制御を維持することができ、安定的に制御系と待機系を切替えることが可能となる。   Further, according to the present embodiment, in the first cycle of the control process in which the control application 131 is executed at a fixed cycle, the controller devices 10A and 10B are made to perform synchronization data transmission processing and synchronization data reception processing of duplex operation processing. When the data matching of the set plan data is completed and the control process of the second cycle is started, the plan data is applied to the actual control process (application of the temporary variable value to the actual variable: step of FIG. 12 S509, step S608 of FIG. 13) becomes possible. By performing control in accordance with the control cycle in this way, the control execution timing does not shift in the controller devices 10A and 10B of both the control system and the standby system, so even when the control system and the standby system are switched, It is possible to maintain the constant cycle control for the control target device 30, and to stably switch between the control system and the standby system.

また、本実施の形態に係るコントローラ装置10は、上述したように、制御実行部130(二重化処理部132)による二重化動作処理において、コントローラ装置10A,10Bでデータ一致化が完了した場合(データ一致化フラグ、送信済みフラグ、受信済みフラグが全て「true」になった場合)に初めて、データ管理テーブル123に記録された仮変数値1233を実際の変数にコピーする。すなわち、コントローラ装置10が、制御処理の制御周期とは異なるタイミングで外部から入力データ(例えば、計画サーバ20からの計画データ)を受信したとしても、二重化システム1における同期化が確定するまでは、制御対象装置30への実際の制御処理に当該入力データが反映されず、二重化システム1の二重化の信頼性や安定性を高めることができる。   Further, as described above, the controller device 10 according to the present embodiment, when the data matching is completed in the controller devices 10A and 10B in the duplexing operation processing by the control execution unit 130 (duplexing processing unit 132) (data matching The temporary variable value 1233 recorded in the data management table 123 is copied to the actual variable for the first time (when the conversion flag, the transmitted flag, and the received flag are all “true”). That is, even if the controller device 10 receives input data (for example, plan data from the plan server 20) from the outside at a timing different from the control cycle of the control process, until the synchronization in the duplex system 1 is determined. The input data is not reflected in the actual control process to the control target device 30, and the duplexing reliability and stability of the duplexing system 1 can be improved.

また、本実施の形態に係る二重化システム1において、上述した制御実行処理は、制御処理の制御周期とは異なるタイミングで外部から入力される入力データ(例えば、計画サーバ20からの計画情報)を受信した場合に行うものとし、制御処理の制御周期と同じタイミングで入力される入力データを受信した場合には、一部の処理を行わないようにすることができる。   In the duplex system 1 according to the present embodiment, the control execution process described above receives input data (for example, plan information from the plan server 20) input from the outside at a timing different from the control cycle of the control process. When the input data input at the same timing as the control cycle of the control process is received, a part of the process can be prevented from being performed.

具体的には例えば、制御アプリ131に入力データを設定してから(図7のステップS101,S102)、二重化動作処理(同ステップS103)を行わずに、出力データ書込み(同ステップS104)を行うようにすることができる。これは、二重化システム1を構成する2台のコントローラ装置10A,10Bの双方で、常に同じタイミングで同じインプットを用いて制御処理が行われる場合には、常に同じ演算結果を得ることが可能となるためであり、制御処理の制御周期に合わせて上記入力が行われる場合には、二重化動作処理を省略することができる。このようにすることで、二重化システム1では、コントローラ装置10A,10B間の同期化通信の通信量を削減し、同期化処理に伴う制御処理時間の増大を抑制することができる。但し、この場合でも、ハートビートを用いた死活監視通信は行うようにしてもよい。   Specifically, for example, after input data is set in the control application 131 (steps S101 and S102 in FIG. 7), output data writing (step S104) is performed without performing the duplication operation process (step S103). Can be. This is because it is possible to always obtain the same calculation result when the control processing is always performed using the same input at the same timing in both of the two controller devices 10A and 10B constituting the duplex system 1. For this reason, when the above input is performed in accordance with the control cycle of the control process, the duplex operation process can be omitted. By doing in this way, in the duplex system 1, it is possible to reduce the amount of synchronization communication between the controller devices 10A and 10B, and to suppress an increase in control processing time associated with the synchronization processing. However, even in this case, alive monitoring communication using a heartbeat may be performed.

なお、本発明は、上記の実施の形態で説明した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記の実施の形態で説明した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。したがって実施例の構成の一部について、削除や他の構成の追加・置換をしてもよい。   In addition, this invention is not limited to the Example demonstrated by said embodiment, Various modifications are included. For example, the examples described in the above embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Therefore, a part of the configuration of the embodiment may be deleted or another configuration may be added or replaced.

また、上記の実施の形態において説明した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。   In addition, each configuration, function, processing unit, processing unit, and the like described in the above embodiments may be realized in hardware by designing a part or all of them, for example, with an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function can be stored in a recording device such as a memory, a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.

また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実施には殆ど全ての構成が相互に接続されていると考えてもよい。   Further, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. In practice, it may be considered that almost all components are connected to each other.

本発明は、コントローラによって構成される二重化システムにおいて、同期化通信回数の削減と、制御系及び待機系における制御タイミングの一致化とを同時に満たすことができ、制御システムや社会インフラシステムにおける制御の高信頼化に有用な技術である。   The present invention, in a duplex system composed of controllers, can simultaneously satisfy the reduction in the number of synchronized communications and the coincidence of the control timings in the control system and the standby system. This technology is useful for reliability.

1 二重化システム
10(10A,10B) コントローラ
11 CPU
12 主記憶装置
13 補助記憶装置
14(14a,14b,14c) ネットワークI/F
15 バス
20 計画サーバ
21 CPU
22 主記憶装置
23 補助記憶装置
24 入力装置
25 出力装置
26(26a,26b) ネットワークI/F
27 バス
30(30A,30B,30C) 制御対象装置
40(40A,40B) 情報制御ネットワーク
50 フィールドバス
51 スイッチングハブ
110 計画受信部
120 データ一致化情報
121 動作状態管理テーブル
122 フラグ管理テーブル
123 データ管理テーブル
130 制御実行部
131 制御アプリ
132 二重化処理部
133 データ一致化処理部
134 死活監視部
135 状態管理部
136 同期化通信部
140 同期化通信路
210 計画送信部
1211 動作状態
1221 フラグ名
1222 値
1231 変数名
1232 データ型
1233 仮変数値
1234 一致化対象フラグ
1 Redundant system 10 (10A, 10B) Controller 11 CPU
12 Main storage device 13 Auxiliary storage device 14 (14a, 14b, 14c) Network I / F
15 bus 20 planning server 21 CPU
22 Main storage device 23 Auxiliary storage device 24 Input device 25 Output device 26 (26a, 26b) Network I / F
27 Bus 30 (30A, 30B, 30C) Control target device 40 (40A, 40B) Information control network 50 Fieldbus 51 Switching hub 110 Plan receiving unit 120 Data matching information 121 Operation state management table 122 Flag management table 123 Data management table DESCRIPTION OF SYMBOLS 130 Control execution part 131 Control application 132 Duplication process part 133 Data matching process part 134 Life monitoring part 135 State management part 136 Synchronization communication part 140 Synchronization communication path 210 Plan transmission part 1211 Operation state 1221 Flag name 1222 Value 1231 Variable name 1232 Data type 1233 Temporary variable value 1234 Matching target flag

Claims (12)

制御対象装置を制御し、二重化対象とする別のコントローラ装置とともに二重化システムを構成可能なコントローラ装置であって、
外部からの入力データを受信する計画受信部と、
所定の制御周期で前記制御対象装置に対する制御処理を実行する制御実行部と、
を備え、
前記計画受信部が前記制御周期とは異なるタイミングで入力された入力データを受信した場合に、
前記制御実行部は、
前記計画受信部が受信した前記入力データを自コントローラ装置に設定し、
前記自コントローラ装置と前記別のコントローラ装置との双方において当該入力データが設定されたことを確認するための二重化動作処理を行い、
前記二重化動作処理での確認が得られた場合に、前記制御処理に当該入力データを適用する
ことを特徴とするコントローラ装置。
A controller device that controls a control target device and can configure a duplex system together with another controller device to be duplexed.
A plan receiving unit for receiving input data from the outside;
A control execution unit that executes control processing on the control target device at a predetermined control period;
With
When the plan receiving unit receives input data input at a timing different from the control cycle,
The control execution unit
Set the input data received by the plan receiving unit in its own controller device,
Performing a duplication operation process for confirming that the input data is set in both the own controller device and the other controller device,
The controller device, wherein the input data is applied to the control process when confirmation in the duplex operation process is obtained.
前記計画受信部が前記制御周期とは異なるタイミングで入力された前記入力データを受信してから、前記制御実行部が前記制御処理に当該入力データを適用するまでの処理は、複数の前記制御周期を跨いで行われる
ことを特徴とする請求項1に記載のコントローラ装置。
A process from when the plan receiving unit receives the input data input at a timing different from the control cycle until the control execution unit applies the input data to the control processing is a plurality of control cycles. The controller device according to claim 1, wherein the controller device is performed across the two.
前記二重化動作処理は、
前記自コントローラ装置に設定した前記入力データを前記別のコントローラ装置に送信する同期化データ送信と、
前記別のコントローラ装置で設定された前記入力データを当該別のコントローラ装置から受信する同期化データ受信と、
を含み、
前記同期化データ送信及び前記同期化データ受信と同時に、前記二重化システムの死活監視通信が行われる
ことを特徴とする請求項1に記載のコントローラ装置。
The duplex operation process is:
Synchronized data transmission for transmitting the input data set in the controller device to the other controller device;
Synchronized data reception for receiving the input data set by the another controller device from the other controller device;
Including
The controller device according to claim 1, wherein life-and-death monitoring communication of the duplex system is performed simultaneously with the transmission of the synchronization data and the reception of the synchronization data.
前記外部から前記制御周期と同じタイミングで入力される入力データが、前記自コントローラ装置と前記別のコントローラ装置とで常に一致するとき、
前記計画受信部が前記制御周期と同じタイミングで入力された入力データを受信した場合に、
前記制御実行部は、
前記計画受信部が受信した前記入力データを前記自コントローラ装置に設定し、
前記二重化動作処理を行うことなく、前記制御処理に当該入力データを適用する
ことを特徴とする請求項1に記載のコントローラ装置。
When input data that is input from the outside at the same timing as the control cycle is always the same between the controller device and the other controller device,
When the plan receiving unit receives input data input at the same timing as the control cycle,
The control execution unit
The input data received by the plan receiving unit is set in the own controller device,
The controller device according to claim 1, wherein the input data is applied to the control process without performing the duplex operation process.
前記計画受信部が前記制御周期とは異なるタイミングで入力された入力データを受信した場合に、
前記計画受信部は、前記制御実行部によって前記制御処理に当該入力データが適用されたか否かを、当該入力データの送信元に通知する
ことを特徴とする請求項1に記載のコントローラ装置。
When the plan receiving unit receives input data input at a timing different from the control cycle,
The controller device according to claim 1, wherein the plan receiving unit notifies a transmission source of the input data whether or not the input data is applied to the control processing by the control execution unit.
前記二重化動作処理に用いられるフラグを管理するための一致化情報を保持し、
前記一致化情報は、前記計画受信部及び前記制御実行部からアクセス可能とされる
ことを特徴とする請求項1に記載のコントローラ装置。
Holding matching information for managing flags used in the duplex operation processing;
The controller device according to claim 1, wherein the matching information is accessible from the plan receiving unit and the control execution unit.
スイッチングハブを介して1以上の前記制御対象装置と通信可能に接続される
ことを特徴とする請求項1に記載のコントローラ装置。
The controller device according to claim 1, wherein the controller device is communicably connected to one or more of the control target devices via a switching hub.
制御対象装置を制御し、二重化対象とする別のコントローラ装置とともに二重化システムを構成可能なコントローラ装置による二重化システムの同期化方法であって、
前記コントローラ装置は、外部からの入力データを受信する計画受信部と、所定の制御周期で前記制御対象装置に対する制御処理を実行する制御実行部と、を有し、
前記外部から前記制御周期とは異なるタイミングで前記入力データが入力された場合に、
前記計画受信部が前記入力データを受信するデータ受信ステップと、
前記制御実行部が、前記計画受信部が受信した前記入力データを自コントローラ装置に設定するデータ設定ステップと、
前記制御実行部が、前記自コントローラ装置と前記別のコントローラ装置との双方において当該入力データが設定されたことを確認する二重化動作処理ステップと、
前記制御実行部が、前記二重化動作処理ステップでの確認が得られた場合に、前記制御処理に当該入力データを適用するデータ適用ステップと、
を備えることを特徴とする二重化システムの同期化方法。
A method for synchronizing a duplex system by a controller device that controls a control target device and can configure a duplex system together with another controller device to be duplexed,
The controller device includes a plan receiving unit that receives input data from the outside, and a control execution unit that executes a control process on the control target device at a predetermined control cycle,
When the input data is input from the outside at a timing different from the control cycle,
A data receiving step in which the plan receiving unit receives the input data;
A data setting step in which the control execution unit sets the input data received by the plan receiving unit in its own controller device;
The control execution unit confirms that the input data is set in both the own controller device and the other controller device, and a duplex operation processing step,
A data applying step of applying the input data to the control process when the control execution unit obtains confirmation in the duplex operation process step;
A synchronization method of a duplex system, comprising:
前記外部から前記制御周期とは異なるタイミングで前記入力データが入力された場合に、
前記データ受信ステップから前記データ適用ステップまでの処理は、複数の前記制御周期を跨いで行われる
ことを特徴とする請求項8に記載の二重化システムの同期化方法。
When the input data is input from the outside at a timing different from the control cycle,
The method from the data reception step to the data application step is performed across a plurality of the control cycles. The synchronization method of a duplex system according to claim 8.
前記二重化動作処理ステップは、
前記データ設定ステップにおいて前記自コントローラ装置に設定した前記入力データを前記別のコントローラ装置に送信する同期化データ送信ステップと、
前記別のコントローラ装置で設定された前記入力データを当該別のコントローラ装置から受信する同期化データ受信ステップと、
を含み、
前記同期化データ送信ステップ及び前記同期化データ受信ステップでは、前記二重化システムの死活監視通信が同時に行われる
ことを特徴とする請求項8に記載の二重化システムの同期化方法。
The duplex operation processing step includes:
Synchronized data transmission step of transmitting the input data set in the controller device in the data setting step to the other controller device;
A synchronization data receiving step of receiving the input data set by the another controller device from the other controller device;
Including
The synchronization method of the duplex system according to claim 8, wherein the alive monitoring communication of the duplex system is simultaneously performed in the synchronized data transmission step and the synchronized data reception step.
前記外部から前記制御周期と同じタイミングで入力される入力データが、前記自コントローラ装置と前記別のコントローラ装置とで常に一致するとき、
前記外部から前記制御周期と同じタイミングで前記入力データが入力された場合に、
前記計画受信部は、前記データ受信ステップにおいて前記入力データを受信し、
前記制御実行部は、前記データ設定ステップの後に、前記二重化動作処理ステップを行うことなく、前記データ適用ステップにおいて前記制御処理に当該入力データを適用する
ことを特徴とする請求項8に記載の二重化システムの同期化方法。
When input data that is input from the outside at the same timing as the control cycle is always the same between the controller device and the other controller device,
When the input data is input from the outside at the same timing as the control cycle,
The plan receiving unit receives the input data in the data receiving step,
9. The duplexing according to claim 8, wherein the control execution unit applies the input data to the control processing in the data application step without performing the duplexing operation processing step after the data setting step. How to synchronize the system.
前記外部から前記制御周期とは異なるタイミングで前記入力データが入力された場合に、
前記計画受信部が、前記データ適用ステップによって前記制御処理に当該入力データが適用されたか否かを、当該入力データの送信元に通知する適用通知ステップを、さらに備える
ことを特徴とする請求項8に記載の二重化システムの同期化方法。
When the input data is input from the outside at a timing different from the control cycle,
The said plan receiving part is further provided with the application notification step which notifies the transmission source of the said input data whether the said input data was applied to the said control process by the said data application step. The synchronization method of the duplex system described in 1.
JP2017133161A 2017-07-06 2017-07-06 How to synchronize the controller device and the redundant system Active JP6937626B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017133161A JP6937626B2 (en) 2017-07-06 2017-07-06 How to synchronize the controller device and the redundant system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017133161A JP6937626B2 (en) 2017-07-06 2017-07-06 How to synchronize the controller device and the redundant system

Publications (2)

Publication Number Publication Date
JP2019016170A true JP2019016170A (en) 2019-01-31
JP6937626B2 JP6937626B2 (en) 2021-09-22

Family

ID=65357524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017133161A Active JP6937626B2 (en) 2017-07-06 2017-07-06 How to synchronize the controller device and the redundant system

Country Status (1)

Country Link
JP (1) JP6937626B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021105792A (en) * 2019-12-26 2021-07-26 アズビル株式会社 Controller and facility monitoring system
WO2021157134A1 (en) * 2020-02-04 2021-08-12 株式会社日立製作所 Control system
JP7501383B2 (en) 2021-01-18 2024-06-18 株式会社明電舎 MEMORY EQUALIZATION SYSTEM FOR PROGRAMMABLE LOGIC CONTROLLER, MEMORY EQUALIZATION METHOD FOR PROGRAMMABLE LOGIC CONTROLLER, MEMORY EQUALIZATION PROGRAM FOR PROGRAMMABLE LOGIC CONTROLLER

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021105792A (en) * 2019-12-26 2021-07-26 アズビル株式会社 Controller and facility monitoring system
WO2021157134A1 (en) * 2020-02-04 2021-08-12 株式会社日立製作所 Control system
JP2021124907A (en) * 2020-02-04 2021-08-30 株式会社日立製作所 Control system
US11734201B2 (en) 2020-02-04 2023-08-22 Hitachi, Ltd. Control system
JP7501383B2 (en) 2021-01-18 2024-06-18 株式会社明電舎 MEMORY EQUALIZATION SYSTEM FOR PROGRAMMABLE LOGIC CONTROLLER, MEMORY EQUALIZATION METHOD FOR PROGRAMMABLE LOGIC CONTROLLER, MEMORY EQUALIZATION PROGRAM FOR PROGRAMMABLE LOGIC CONTROLLER

Also Published As

Publication number Publication date
JP6937626B2 (en) 2021-09-22

Similar Documents

Publication Publication Date Title
US9983957B2 (en) Failover mechanism in a distributed computing system
JP6937626B2 (en) How to synchronize the controller device and the redundant system
US9323823B2 (en) Method for operating a redundant automation system
WO2016018262A1 (en) Storage transactions
WO2020047780A1 (en) Redundant hot standby control system and control device, redundant hot standby method and computer-readable storage medium
EP3200079A1 (en) Snapshot processing method and related device
JP2016110458A (en) Programmable logic controller, basic unit, control method and program
CN112486740A (en) Master-slave relationship confirmation method and system among multiple controllers and related device
JP4099816B2 (en) Redundant controller
JP2014067357A (en) Data transfer device
JP2007280313A (en) Redundant system
CN112751693B (en) Data processing method and device of distributed storage system and electronic equipment
JP4320314B2 (en) Computer system, synchronization processing method, and program
US10534597B2 (en) Information processing apparatus that preforms set value synchronization process, control method therefor, storage medium storing control program therefor, and information processing system
CN109906440B (en) Multi-core device with split redundancy scheme in a process control system
CN116909678A (en) Implementation method and system of containerized PLC and management server
JP6555353B2 (en) Cluster system, information processing apparatus, cluster system synchronization method, and program
JP6988863B2 (en) Protocol converters, data transmission methods, data transmission programs, and data transmission systems
US10809939B2 (en) Disk synchronization
JP7091928B2 (en) Support equipment, support programs, control systems
JP6056801B2 (en) Fault tolerant server, synchronization method, and program
JP2017010102A (en) Duplex system
CN110855505B (en) High-availability rule stacking implementation system and method
TWI788085B (en) Synchronization management server, synchronization management system and synchronization management method
JPH0736720A (en) Duplex computer equipment

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20190213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200203

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20200203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210326

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: 20210824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210831

R150 Certificate of patent or registration of utility model

Ref document number: 6937626

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150