JP2019016170A - Controller device, and synchronization method of dual system - Google Patents
Controller device, and synchronization method of dual system Download PDFInfo
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Safety Devices In Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
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,
具体的には、特許文献1には、第1のCPUモジュール(CPUユニット)において、制御アプリにおける割込み命令などの実行内容を第1のプログラムカウンタ値を対応付けて同期化情報として格納し、第1のCPUモジュールから第2のCPUモジュールへ送信し、第2のCPUモジュールにおいて、この同期化情報に基づいて制御アプリを実行することが開示されている。このようにすることで、第2のCPUモジュールが第1のCPUモジュールと同一内容の制御アプリを追随して実行できるようにしており、特許文献1に開示された二重化プログラマブルコントローラによれば、同期化情報を通信するための時間の増大による制御アプリの実行時間の増加を抑制することができる。
Specifically, in
しかし、特許文献1の二重化プログラマブルコントローラは、同期化情報を通信するための時間の増大による制御アプリの実行時間の増加を抑制することはできるものの、第1のCPUモジュールにおける制御アプリの実行によって作成された同期化情報をもとに第2のCPUモジュールが追随して制御アプリを実行するため、第1のCPUモジュールと第2のCPUモジュールとでは制御アプリの実行時間(実行タイミング)にずれが生じてしまう。そのため、障害発生時に制御系と待機系とを切替える場合等において、制御対象装置に対する定周期制御が崩れてしまう可能性があるという問題があった。
However, the duplex programmable controller disclosed in
本発明は以上の点を考慮してなされたもので、制御対象装置を定周期制御するコントローラ装置による二重化システムにおいて、制御アプリの実行時間の増加を抑制するとともに、制御系と待機系との切替え時などにおいても制御対象装置の定周期制御を維持することが可能なコントローラ装置、及び二重化システムの同期化方法を提案しようとするものである。 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. .
以下図面について、本発明の一実施の形態を詳述する。 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
まず、各コントローラ装置10A,10Bは、情報制御ネットワーク40(40A,40B)を介して計画サーバ20と通信可能に接続され、コントローラ装置10Aとコントローラ装置10Bとの間は、同期化通信路140によって通信可能に接続される。それぞれの接続ケーブルには、例えばEthernetケーブル等が利用される。計画サーバ20は、例えば上位システムであって、設定変更等の計画情報をコントローラ装置10(10A,10B)に送信する計画送信部210を備えている。なお、計画送信部210による計画情報(計画データ)の送信は、コントローラ装置10A,10Bにおける制御処理の制御周期とは関連せず、独自のタイミング(異なるタイミング)で行われるものとする。
First, the
また、各コントローラ装置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
そして図1に示したように、コントローラ装置10Aは、計画受信部110、データ一致化情報120、及び制御実行部130を備える。
As illustrated in FIG. 1, the
計画受信部110は、計画サーバ20の計画送信部210から送信された計画情報を受信し、該受信した計画情報をデータ一致化情報120に登録する。また、計画受信部110は、当該計画情報がコントローラ装置10Aにおける制御処理に反映されたかを確認し、計画サーバ20に通知する機能も有する。
The
データ一致化情報120は、コントローラ装置10A側で二重化システム1の二重化(コントローラ装置10Bとの同期化)を制御するために必要な情報であり、計画受信部110及び制御実行部130(より詳細には、後述するデータ一致化処理部133)の双方からアクセス可能なメモリ(共有メモリ)に記憶される。図3を参照して後述するように、データ一致化情報120は、例えば、動作状態管理テーブル121、フラグ管理テーブル122、及びデータ管理テーブル123から構成される。
The
制御実行部130は、コントローラ装置10における全般的な制御処理を実行する処理部であって、計画受信部110が外部から入力データ(例えば計画データ)を受信したときには、当該入力データに基づいた制御実行処理を行う。図1に示したように、制御実行部130は制御アプリ131と二重化処理部132とを有する。制御実行処理の具体的な内容については、図7等を参照しながら後述する。
The
制御アプリ131には、制御周期、制御内容(制御ロジック)、入出力データの情報、及び二重化処理部132による処理に必要なパラメータ等が設定され、制御実行部130によって実行される。
The
二重化処理部132は、制御実行部130による制御実行処理のうち、二重化動作(同期化)の制御に関する処理(二重化処理)を行う。二重化処理部132は、二重化処理における詳細な処理担当に基づいて、データ一致化処理部133、死活監視部134、状態管理部135、及び同期化通信部136に分類できる。具体的には、データ一致化処理部133は、二重化の相手先との間でデータを一致させる処理(データ一致化処理)を担当し、死活監視部134は、二重化の相手先との死活監視に関する処理を担当し、状態管理部135は、二重化の動作状態の管理に関する処理を担当する。また、同期化通信部136は、データ一致化処理のなかで、同期化通信路140を介して行う同期化データの送受信を担当する。
The
(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
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
このようなコントローラ装置10において、ハードウェア構成と機能構成(図1参照)との対応を例示すると、計画受信部110はCPU11等によって実行されるOSの機能で実現され、制御実行部130はCPU11等によって実行されるPLCの機能で実現される。また、データ一致化情報120は例えば主記憶装置12に記憶され、特に、OS及びPLC何れの機能においてもアクセス可能な記憶領域に記憶される。
In such a
また、計画サーバ20は、CPU21、主記憶装置22、補助記憶装置23、入力装置24、出力装置25、及びネットワークI/F26(26a,26b)がバス27によって相互に接続されて構成される。
The
計画サーバ20は、例えば上位システムの計算機であり、上記各構成は、一般的な計算機の構成要素と考えてよい。具体的には例えば、CPU21は、補助記憶装置23に記憶されたオペレーティングシステム(OS)や各種プログラム及び各種ファイルを主記憶装置22に展開し、各種の演算等を実行する。また、キーボードやマウス等による入力装置24は、ユーザからの入力操作に基づいて情報を受け付け、モニタやスピーカ等による出力装置25は、ユーザに情報を出力する。ネットワークI/F26は、ネットワーク通信のためのインタフェースであって、Ethernetケーブル等を用いて所定の手順に従って他の機器と情報の送受信を行う。具体的には、ネットワークI/F26aは情報制御ネットワーク40Aを介したコントローラ装置10Aとの通信を可能にし、ネットワークI/F26bは情報制御ネットワーク40Bを介したコントローラ装置10Bとの通信を可能にする。
The
また、コントローラ装置10A,10Bと制御対象装置30(30A,30B,30C)との間には、スイッチングハブ51が配置される。本実施の形態では、フィールドバス通信プロトコルとして例えばEtherCATを利用するとし、このとき、図2に示したように、コントローラ装置10A,10Bと制御対象装置30とをスイッチングハブ51を介してEthernetケーブルで接続することによって構成することができる。
Moreover, the switching
(1−3)構成の補足
ここでは、上述したコントローラ装置10において保持されるデータ一致化情報の詳細について補足する。
(1-3) Supplementary Configuration Here, the details of the data matching information held in the
図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
図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
図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
より具体的には、本例において、「データ一致化フラグ」は、データ一致化処理(同期化処理)の実施状態について、「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
そして、フラグ管理テーブル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
したがって、フラグ管理テーブル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
(2)制御実行処理
制御実行部130によって実行される制御実行処理について詳述する。前述したように、制御アプリ131には、制御周期、制御内容(制御ロジック)、入力データや出力データの情報、並びに、二重化処理部132による処理に必要なパラメータ等が予め設定されている。上記パラメータを参照しながら制御実行部130が制御アプリ131を実行することによって、制御実行処理が行われる。
(2) Control execution process The control execution process executed by the
図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
図7に示したように、制御実行部130は、まず、制御アプリ131に設定される入力データ(計画データ)をデータ一致化情報120から読込み(ステップS101)、読込んだ計画データを用いて、制御アプリ131に記載された制御ロジックを実行する(ステップS102)。ステップS101,S102の処理によって、計画受信部110によって受信された計画情報(計画データ)が、コントローラ装置10A(より詳しくは制御アプリ131)に設定される。
As shown in FIG. 7, the
次に、制御実行部130は、二重化処理部132を呼び出して二重化処理を実行する(ステップS103)。詳細は図8〜図14を参照して後述するが、二重化処理では、二重化システム1におけるコントローラ装置10の動作状態に応じて、異なる処理が実行される。例えば、二重化システム1を構成する2台のコントローラ装置10A,10Bにおける動作状態が「Active」と「Standby」であった場合には、両コントローラ装置10A,10Bの間でデータを同期化する二重化動作処理が行われる。
Next, the
その後、ステップS104において、制御実行部130は、ステップS102における制御ロジックの実行結果等に基づいて、出力データの書込みを行う(ステップS104)。なお、出力データの書込みは、自コントローラ装置10(例えばコントローラ装置10A)が制御系である場合に行われ、待機系である場合には行われない。出力データの書込みの詳細は、図15を参照して後述する。
Thereafter, in step S104, the
そして、ステップ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
まずステップS201において、二重化処理部132は、自コントローラ装置10(コントローラ装置10A)における二重化の動作状態を確認する。より具体的には、二重化処理部132は、データ一致化情報120の動作状態管理テーブル121を参照し、同テーブルに記録された動作状態1211の値を取得する。例えば図4の場合は「Active」の動作状態が確認される。
First, in step S201, the
次いで、二重化処理部132は、ステップS201で確認された動作状態に応じて、ステップS202〜S204の何れかの処理を実行し、二重化処理を終了する。具体的には、動作状態が「Bootup」であった場合は、ステップS202において初期化用の所定の処理を実行する(初期化処理)。動作状態が「Standalone」であった場合は、ステップS203において単独動作用の所定の処理を実行する(単独動作処理)。動作状態が「Active」または「Standby」であった場合はステップS204において二重化動作用の所定の処理を実行する(二重化動作処理)。ステップS203の単独動作処理の詳細は、図10を参照しながら後述し、ステップS204の二重化動作処理の詳細は、図11〜図14を参照して後述する。
Next, the
ここで、二重化システム1におけるコントローラ装置10の動作状態について補足する。図4でも前述したように、二重化システム1におけるコントローラ装置10の動作状態は、動作状態管理テーブル121の動作状態1211に記録されており、具体的には、「Bootup」、「Standalone」、「Active」、「Standby」の4つの動作状態の何れかが記録される。
Here, it supplements about the operation state of the
図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 (
また、図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
そして、上記二重化が構成されているときに、第2のコントローラ装置10Bが異常の発生によって停止すると、二重化が維持できなくなるため、第1のコントローラ装置10Aの動作状態はStandalone902に遷移する(遷移908)。一方、上記二重化が構成されているときに、第1のコントローラ装置10Aが異常の発生によって停止すると、二重化が維持できなくなるため、第2のコントローラ装置10Bの動作状態がStandalone902に遷移する(遷移910)。なお、停止したコントローラ装置10は、動作状態「なし」となり、再起動時にBootup901に遷移する。
If the
以上、図9に示したように、二重化システム1において、各コントローラ装置10の動作状態は、二重化の構成状況に応じて4つ(「なし」を含めれば5つ)の動作状態の何れかとなり、例えば、二重化の制御系であるActive903に遷移するためには必ずStandby904(二重化の待機系)を経由しなければならない等の特徴を有する。
As described above, as shown in FIG. 9, in the
(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
ステップ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
(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
図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
まず、同期化データ送信処理について詳しく説明する。図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
ステップ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
一方、ステップ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
第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
第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
そして二重化処理部132は、ステップS503で作成したSetコマンドとハートビート(HB)を含む同期化データをコントローラ装置10Bに送信し(ステップS504)、送信済みフラグを「true」に変更し(ステップS505)、同期化データ送信処理を終了する。なお、ステップS504で送信する同期化データには、Setコマンド及びHBの他に、ステップS101,S102でコントローラ装置10A(より詳しくは制御アプリ131)に設定された計画データ(またはその内容を示す情報)が含まれる。
Then, the
第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
そして二重化処理部132は、ステップS506で作成したAckコマンドとハートビート(HB)とからなる同期化データをコントローラ装置10Bに送信し(ステップS507)、送信済みフラグを「true」に変更する(ステップS508)。なお、ステップS507で送信する同期化データには、Ackコマンド及びHBの他に、ステップS101,S102でコントローラ装置10A(より詳しくは制御アプリ131)に設定された計画データ(またはその内容を示す情報)が含まれる。
Then, the
そして、ステップ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
次に、同期化データ受信処理について詳しく説明する。図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
次いで、二重化処理部132は、同期化データ受信の結果がタイムアウトであったか否かを確認し(ステップS602)、タイムアウトであった場合は(ステップS602のYES)、動作状態管理テーブル121の動作状態1211をStandaloneに変更し(ステップS610)、同期化データ受信処理を終了する。なお、ステップS602におけるタイムアウトの確認は、ステップS601の同期化データ受信のなかで行われるタイムアウトの判定(図14のステップS701参照)に基づいて行われる。
Next, the
同期化データ受信の結果がタイムアウトでなかった場合は(ステップS602のNO)、二重化処理部132はステップS601で受信した同期化データの種類を確認する(ステップS603)。
If the result of the synchronization data reception is not a timeout (NO in step S602), the
ステップ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
また、ステップ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
また、ステップ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
ステップ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
ここで、図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
ステップ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
(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
図15によれば、まず、制御実行部130は、動作状態管理テーブル121を参照して、自コントローラ装置10(例えばコントローラ装置10A)の動作状態1211を確認する(ステップS801)。
According to FIG. 15, first, the
次に、ステップS801において動作状態1211が「Bootup」または「Standby」であった場合には、コントローラ装置10Aは出力データの書込みを行う必要または資格がなく、特段の処理を行わずに出力データ書込みを終了する。一方、ステップS801において動作状態1211が「Active」または「Standalone」であった場合には、コントローラ装置10Aは出力データの書込みを行う立場であるため、制御ロジックの実行に基づく結果等(出力データ)の書込みを実行し(ステップS802)、出力データ書込みを終了する。
Next, when the
(3)計画データ設定処理
前章までに説明してきたように、本実施の形態に係るコントローラ装置10Aでは、計画サーバ20から計画情報(計画データ)を受信した場合に、制御実行部130が制御実行処理を行うことによって、同じ計画データを受信したコントローラ装置10Bとの間でデータを一致化させ、データ一致化の完了後、計画データに基づく制御アプリ131の実行結果をスレーブ機器(制御対象装置30)に出力することで当該計画データが設定される。
(3) Plan data setting process As described above, in the
さらに、本実施の形態に係るコントローラ装置10Aでは、上記の制御実行部130による制御実行処理とは別に、計画受信部110が、受信した計画データがコントローラ装置10A,10Bに設定された(当該計画データが制御実行部130による定周期の制御処理に適切に反映された)か否かを確認し、計画データの送信元に通知することができる(計画データ設定処理)。本章ではこの計画データ設定処理について詳しく説明する。
Further, in the
図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
図16に示したように、ステップS901において、計画受信部110は計画情報(計画データ)を受信する。次に、計画受信部110はフラグ管理テーブル122を参照し、「データ一致化フラグ」の値1222を確認する(ステップS902)。
As shown in FIG. 16, in step S901, the
ステップ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
このような場合、計画サーバ20は、データ一致化処理中エラーを受信することによって、コントローラ装置10Aにおいて、送信した計画データに基づくデータ一致化の処理中であって、当該計画データの設定が完了していないことを認識できる。そこで計画サーバ20では、例えば次の計画データの送信が準備されていた場合に、次の計画データの送信を待機させる等の判断が可能となる。
In such a case, the
一方、ステップ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
そして、計画受信部110は、予め設定された所定のタイムアウト時間が経過したか否かを確認する(ステップS905)。上記タイムアウト時間は、制御実行部130によるデータ一致化の全体処理に関するタイムアウトを規定した時間である。
Then, the
ステップS905の確認においてタイムアウトであれば(ステップS905のYES)、計画受信部110は、タイムアウトエラーを計画サーバ20に送信し(ステップS909)、計画データ設定処理を終了する。
If it is time-out in the confirmation in step S905 (YES in step S905), the
このような場合、計画サーバ20は、タイムアウトエラーを受信することによって、コントローラ装置10Aにおいて、送信した計画データに基づくデータ一致化処理が正常に完了せず、当該計画データがコントローラ装置10Aに適切に設定されなかったことを認識できる。そこで、計画サーバ20では、先の計画データを再送信するよう判断したり、または、コントローラ装置10A,10Bにおける故障や不具合の可能性を推測したりすることができる。
In such a case, the
一方、ステップ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
このような場合、計画サーバ20は、設定OKコマンドを受信することによって、コントローラ装置10A,10Bにおいて、送信した計画データに基づくデータ一致化処理が正常に完了し、当該計画データがコントローラ装置10A,10Bに設定されたことを認識できる。そこで、計画サーバ20では、設定OKコマンドを受信済みであることを条件として、次回の計画データの送信を許可するといった制御が可能となる。コントローラ装置10A,10Bの双方から設定OKコマンドを受信済みであることを条件とすれば、さらに安定性を高めることができる。
In such a case, the
以上のように、図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
(4)まとめ
本実施の形態に係るコントローラ装置10は、EtherCAT等のフィールドバス通信プロトコルを利用して、フィールドバス経由の入力データ(例えば計画データ)を制御系のコントローラ装置10A及び待機系のコントローラ装置10Bで常に一致させた場合、制御実行部130による制御実行処理において計画データを死活監視情報(ハートビート)と合わせて送信可能とすることによって、同期化情報を通信するために必要な同期化通信の回数は、1制御周期あたり1回(同期化データ送信のみ)となり、同期化通信の時間の増大に伴う制御アプリの実行時間の増加を抑制することができる。
(4) Summary The
さらに、本実施の形態によれば、定周期で制御アプリ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
また、本実施の形態に係るコントローラ装置10は、上述したように、制御実行部130(二重化処理部132)による二重化動作処理において、コントローラ装置10A,10Bでデータ一致化が完了した場合(データ一致化フラグ、送信済みフラグ、受信済みフラグが全て「true」になった場合)に初めて、データ管理テーブル123に記録された仮変数値1233を実際の変数にコピーする。すなわち、コントローラ装置10が、制御処理の制御周期とは異なるタイミングで外部から入力データ(例えば、計画サーバ20からの計画データ)を受信したとしても、二重化システム1における同期化が確定するまでは、制御対象装置30への実際の制御処理に当該入力データが反映されず、二重化システム1の二重化の信頼性や安定性を高めることができる。
Further, as described above, the
また、本実施の形態に係る二重化システム1において、上述した制御実行処理は、制御処理の制御周期とは異なるタイミングで外部から入力される入力データ(例えば、計画サーバ20からの計画情報)を受信した場合に行うものとし、制御処理の制御周期と同じタイミングで入力される入力データを受信した場合には、一部の処理を行わないようにすることができる。
In the
具体的には例えば、制御アプリ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
なお、本発明は、上記の実施の形態で説明した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記の実施の形態で説明した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。したがって実施例の構成の一部について、削除や他の構成の追加・置換をしてもよい。 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)
12
15
22
27 Bus 30 (30A, 30B, 30C) Control target device 40 (40A, 40B)
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に記載のコントローラ装置。 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.
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)
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 |
-
2017
- 2017-07-06 JP JP2017133161A patent/JP6937626B2/en active Active
Cited By (5)
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 |