JP7358819B2 - IO module duplication control device and method - Google Patents
IO module duplication control device and method Download PDFInfo
- Publication number
- JP7358819B2 JP7358819B2 JP2019136898A JP2019136898A JP7358819B2 JP 7358819 B2 JP7358819 B2 JP 7358819B2 JP 2019136898 A JP2019136898 A JP 2019136898A JP 2019136898 A JP2019136898 A JP 2019136898A JP 7358819 B2 JP7358819 B2 JP 7358819B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- module
- identification information
- control device
- latest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Safety Devices In Control Systems (AREA)
Description
本発明は、IOモジュール二重化制御装置及び方法に関する。 The present invention relates to an IO module duplication control device and method.
従来、プラントなどの監視制御システムにおいて、コントロールステーションなどの制御装置(コントローラともいう)と、モータ、ポンプなどの被制御装置(フィールド機器ともいう)との間での信号の送受信を制御するためのIOモジュールユニットが設けられている。 Conventionally, in monitoring and control systems for plants, etc., it is used to control the transmission and reception of signals between control devices (also called controllers) such as control stations and controlled devices (also called field devices) such as motors and pumps. An IO module unit is provided.
このような監視制御システムの冗長性を高めるため、制御装置でのプロセッサの二重化、及び、IOモジュールユニットでのIOモジュールの二重化を行うことが知られている(特許文献1など参照)。
In order to increase the redundancy of such a supervisory control system, it is known to duplicate processors in a control device and duplicate IO modules in an IO module unit (see
しかしながら、制御装置のプロセッサの動作周期と、IOモジュールユニットにおけるIOモジュールの動作周期とは異なっている。また、二重化されたIOモジュールのそれぞれは、異なる基準発振器の基準周波数に従って動作するため、非同期で動作している。 However, the operating cycle of the processor of the control device and the operating cycle of the IO module in the IO module unit are different. Furthermore, each of the duplicated IO modules operates in accordance with the reference frequency of a different reference oscillator, and thus operates asynchronously.
すなわち、IOモジュールにおいて、制御装置から入力され、被制御装置へ出力される入出力信号(以下、IOデータと記載する)は、プロセッサの動作周期とかかわりなく、IOモジュールのそれぞれの動作周期に従って、新たに制御装置から入力されたIOデータに更新される。この結果、二重化されたIOモジュールにおけるIOデータの更新タイミングにずれが生じる可能性がある。このような状態を、IOデータの更新が非同期であるという。 That is, in the IO module, input/output signals (hereinafter referred to as IO data) input from the control device and output to the controlled device are processed according to the respective operation cycles of the IO module, regardless of the operation cycle of the processor. It is updated to the IO data newly input from the control device. As a result, there is a possibility that there will be a shift in the update timing of IO data in the duplicated IO module. Such a state is said to be an asynchronous update of IO data.
制御装置からIOモジュールへIOデータが入力されるタイミングと、それがIOモジュールから被制御装置へのIOデータへ反映されるタイミングとが異なり、且つ、IOモジュール間でもIOデータへの反映のタイミングが異なっているので、故障などにより、一方のIOモジュールで稼動から待機への切り替えが行われたとき、被制御装置へ出力されるIOデータの値xが、一つ前に被制御装置からIOモジュールへ入力されたIOデータの値に戻ってしまうことがあり得る。この結果、制御処理の誤作動が発生する可能性があるという問題がある。 The timing at which IO data is input from the control device to the IO module is different from the timing at which it is reflected in the IO data from the IO module to the controlled device, and the timing at which it is reflected in the IO data between IO modules is also different. Because they are different, when one IO module switches from operating to standby due to a failure, etc., the value x of the IO data output to the controlled device will be There is a possibility that the value of the IO data may be returned to the value input to the IO data. As a result, there is a problem that a malfunction of the control processing may occur.
本発明はかかる点に鑑みてなされたものであり、二重化されたIOモジュールから出力されるデータの同期化を簡易な構成で実現できるIOモジュール二重化制御装置及び方法を提供することを目的の1つとする。 The present invention has been made in view of the above, and one of the objects is to provide an IO module duplication control device and method that can realize synchronization of data output from duplexed IO modules with a simple configuration. do.
本発明に係るIOモジュール二重化制御装置の一態様は、上位の制御装置から入力された複数のデータを下位の被制御装置へ出力するIOモジュールを2つの系で二重化した二重化制御装置であって、二重化された、前記2つの系のIOモジュールのそれぞれは、前記制御装置から入力された前記複数のデータのうち最新のものに識別情報を付与し、記憶部に自らの系の最新上位データとして記憶させる上位データ処理部と、前記自らの系の最新上位データに付与された自らの系の識別情報、及び、他の系のIOモジュールにおいて他の系の最新上位データに付与された他の系の識別情報を取得する取得部と、前記自らの系の識別情報と前記他の系の識別情報とを比較し、両者が一致するときは、前記自らの系の最新上位データで、前記記憶部に記憶された、自らのIOモジュールから前記被制御装置へ出力させるための出力用データを更新し、両者が一致しないときは、前記出力用データを更新せずにそのまま保持させるデータ更新処理部と、を具備し、前記識別情報は、前記自らの系の前記最新上位データ及び前記他の系の前記最新上位データに対して同一の値であり、前記複数のデータのうち連続する2つの前記データに互いに異なる値であることを特徴とする。 One aspect of the IO module duplication control device according to the present invention is a duplication control device in which an IO module that outputs a plurality of data input from a higher-level control device to a lower-level controlled device is duplicated in two systems, comprising: Each of the duplicated IO modules of the two systems gives identification information to the latest data among the plurality of data inputted from the control device, and stores it in the storage unit as the latest upper data of its own system. and the identification information of the own system attached to the latest upper-level data of the own system, and the identification information of the other system attached to the latest upper-level data of the other system in the IO module of the other system. An acquisition unit that acquires identification information compares the identification information of the own system with the identification information of the other system, and when the two match, stores the latest upper data of the own system in the storage unit. a data update processing unit that updates stored output data for outputting from its own IO module to the controlled device, and when the two do not match, holds the output data as it is without updating; The identification information has the same value for the latest upper data of the own system and the latest upper data of the other system, and the identification information has the same value for the latest upper data of the own system and the latest upper data of the other system, and the identification information has the same value for the latest upper data of the own system and the latest upper data of the other system, and They are characterized by having mutually different values .
本発明に係るIOモジュール二重化制御方法の一態様は、上位の制御装置から入力された複数のデータを下位の被制御装置へ出力するIOモジュールを2つの系で二重化した二重化制御方法であって、二重化された、前記2つの系のIOモジュールの演算装置のそれぞれに、前記制御装置から入力された前記複数のデータのうち最新のものに識別情報を付与し、記憶部に自らの系の最新上位データとして記憶させる上位データ処理工程と、前記自らの系の最新上位データに付与された自らの系の識別情報、及び、他の系のIOモジュールにおいて他の系の最新上位データに付与された他の系の識別情報を取得する取得工程と、前記自らの系の識別情報と前記他の系の識別情報とを比較し、両者が一致するときは、前記自らの系の最新上位データで、前記記憶部に記憶された、自らのIOモジュールから前記被制御装置へ出力させるための出力用データを更新し、両者が一致しないときは、前記出力用データを更新せずにそのまま保持させるデータ更新処理工程と、を実施させ、前記識別情報は、前記自らの系の前記最新上位データ及び前記他の系の前記最新上位データに対して同一の値であり、前記複数のデータのうち連続する2つの前記データに互いに異なる値であることを特徴とする。 One aspect of the IO module duplication control method according to the present invention is a duplication control method in which an IO module that outputs a plurality of data input from a higher-level control device to a lower-level controlled device is duplicated in two systems, comprising: Each of the redundant computing units of the IO modules of the two systems is given identification information to the latest data among the plurality of data inputted from the control unit, and the latest upper-level data of the own system is stored in the storage unit. Upper data processing step to store it as data, identification information of the own system given to the latest upper data of the own system, and other information given to the latest upper data of the other system in the IO module of the other system. an acquisition step of acquiring identification information of the own system, and comparing the identification information of the own system with the identification information of the other system, and when the two match, the latest upper data of the own system is used. A data update process that updates output data stored in a storage unit for outputting from its own IO module to the controlled device, and when the two do not match, the output data is held as is without being updated. and the identification information has the same value for the latest upper data of the own system and the latest upper data of the other system, and the identification information is the same value for the latest upper data of the own system and the latest upper data of the other system, and The data may have different values .
本発明によれば、二重化されたIOモジュールから出力されるデータの同期化を簡易な構成で実現できるIOモジュール二重化制御装置及び方法を提供することができる。 According to the present invention, it is possible to provide an IO module duplication control device and method that can realize synchronization of data output from duplexed IO modules with a simple configuration.
図1~図9を参照して、本実施の形態に係るIOモジュール二重化制御装置及び方法について詳細に説明する。 The IO module duplication control device and method according to the present embodiment will be described in detail with reference to FIGS. 1 to 9.
<第1の実施の形態>
図1は、第1の実施の形態に係るIOモジュール二重化装置が適用された制御システムを示す概略図である。図1に示すように、第1の実施の形態に係る制御システム1は、本発明の制御装置の一例であるコントローラ3と、コントローラ3から出力された制御データが入力されるIOモジュールユニット5と、IOモジュールユニット5に接続され、コントローラ3から制御を受ける、本発明の被制御装置の一例である、複数の外部機器7a、7b、7cと、で構成されている。
<First embodiment>
FIG. 1 is a schematic diagram showing a control system to which an IO module duplication device according to a first embodiment is applied. As shown in FIG. 1, the
コントローラ3は、二重化された構成をとり、A系のプロセッサ3aと、B系のプロセッサ3bと、を備えている。プロセッサ3a、3bは、外部機器7a、7b、7cを制御するための制御データを生成し、出力するように構成されている。制御データは、本発明の複数のデータの一例であり、プロセッサ3a、3bの動作周期に従って一定の周期で順次出力される。プロセッサ3a、3bは、例えば、CPU(Central Processing Unit)であるが、特に限定されない。
The
また、IOモジュールユニット5は、A系5a及びB系5bで、二重化された構成をとる。まず、A系5aを構成する要素について説明する。A系5aにおいて、コントローラ3のA系及びB系のプロセッサ3a、3bに通信可能に接続されたA系のI/Fモジュール9、11が備えられている。プロセッサ3a、3bと、I/Fモジュール9、11との間の通信は、例えば、Ethernet(登録商標)のような上位ネットワーク13を経由して行われるが、特に限定されない。
Further, the
I/Fモジュール9、11は、プロセッサ3a、3bから入力された制御データのうち最新のものを一時的に記憶するバッファメモリ47(図3参照)を備えている。
The I/
また、A系5aにおいて、複数のIOモジュール15、17、19が、I/Fモジュール9、11に、内部バス21を介して通信可能に接続されている。ここでは、便宜上3つのIOモジュール15、17、19を例示しているが、一つの系に属するIOモジュールの数は特に限定されず少なくとも1つあればよい。
Further, in the
複数のIOモジュール15、17、19には、複数の外部機器7a、7b、7cが、下位ネットワーク23におり、通信可能に接続されている。
A plurality of
B系5bも、上述のようなA系5aと同様の構成になっている。すなわち、B系において、2つのI/Fモジュール25、27に、複数のIOモジュール29、31、33が内部バス35を介して通信可能に接続されている。
The
また、B系5bの2つI/Fモジュール25、27は、通信線37、39により、A系5aのI/Fモジュール9、11と通信可能にそれぞれ接続されている。これにより、コントローラ3のA系及びB系のプロセッサ3a、3bから、A系5aのI/Fモジュール9、11に入力された制御データが、B系5bの2つのI/Fモジュール25、27に受け渡される。
Further, the two I/
複数のIOモジュール29、31、33には、複数の外部機器7a、7b、7cが、下位ネットワーク23を介して、通信可能に接続されている。外部機器7a、7b、7cの数は、第1の実施の形態では3つであるが、特に限定されない。
A plurality of
上述のような構成により、IOモジュールユニット5は、A系5a及びB系5bに二重化される。このようなIOモジュールユニット5に対し、コントローラ3から制御データが入力され、外部機器7a、7b、7cのいずれか一つに出力されるまでの処理の流れを、図2を参照して説明する。以下の説明では、制御データが、図1に示すコントローラ3のA系のプロセッサ3aからIOモジュールユニット5に入力され、外部機器7aに出力される経路が、A系5aのIOモジュール15及びB系5bのIOモジュール29によって二重化されている場合を例に挙げて説明する。
With the above configuration, the
図2A及び図2Bは、従来の二重化されたIOモジュールにおけるデータ更新のタイミングと稼動及び待機の切り替えのタイミングとの関係を示す模式図である。図2A及び図2Bは、二重化されたIOモジュール15、29が常に非同期で動作している場合を示している。図2Aは、B系5bのIOモジュール29で遅延が発生している場合を示し、図2Bは、A系5aのIOモジュール15で遅延が発生している場合を示す。
FIGS. 2A and 2B are schematic diagrams showing the relationship between data update timing and operation/standby switching timing in a conventional duplex IO module. FIGS. 2A and 2B show a case where the duplicated
図2A及び図2Bにおいて、最上段は、A系のプロセッサ3aから入力され、I/Fモジュール9、25のバッファメモリ47(図3参照)に記憶された制御データの値(以下、上位バスデータ値と記載する)を示している。
2A and 2B, the uppermost stage shows the value of control data (hereinafter referred to as upper bus data) input from the
2段目は、A系5aのIOモジュール15が、外部機器7aに出力するためにメモリ57(図3参照)に記憶しているデータの値(以下、IOデータ値と記載する)を示している。3段目は、B系5bのIOモジュール29が、外部機器7aに出力するためにメモリ57(図3参照)に記憶しているIOデータ値を示している。
The second row shows data values (hereinafter referred to as IO data values) stored in the memory 57 (see FIG. 3) by the
4段目は、稼動中のIOモジュールが、A系5aのIOモジュール15又はB系5bのIOモジュール29のいずれであるかを示している。なお、第1の明細書において、IOモジュールが稼動中であるとは、外部機器7aに対して制御データを出力している状態であることをいい、待機中とは、外部機器7aに対して制御データを出力していない状態であることをいう。
The fourth row shows whether the IO module in operation is the
最下段は、IOモジュールユニット5から外部機器7aに出力されるデータの値(以下、下位出力データ値と記載する)を示す。
The bottom row shows the value of data output from the
また、図2A及び図2B中、太い下向きの矢印は、A系5a又はB系5bのIOデータ値のいずれが、下位出力データ値に反映されているかを示しているが、反映のタイミングを正確に示すものではない。
In addition, in FIGS. 2A and 2B, the thick downward arrow indicates which of the IO data values of the
まず、図2Aを参照し、B系5bのIOモジュール29で遅延が発生している場合について説明する。
First, a case where a delay occurs in the
図2Aに示すように、上位バスデータ値は、プロセッサ3aの動作周期(例えば、10ms)で更新されている。
As shown in FIG. 2A, the upper bus data value is updated at the operating cycle of the
A系5a及びB系5bにおいて、IOモジュール15、29は、後述するようにA系5aのIOモジュール15及びB系5bのIOモジュール29は、それぞれ基準発振器59を備え、それが発振する動作クロックに従って動作する。
In the
このため、IOモジュール15、29が、上位バスデータ値をバッファメモリ47から読み取って、メモリ57(図3参照)に記憶したIOデータ値を書き換える処理(以下、データ更新処理と記載する)は、一定の動作周期(例えば、10ms)で行われるが、プロセッサ3aの動作周期とは同期していない。また、A系5aのIOモジュール15とB系5bのIOモジュール29との間でも同期していない。
Therefore, the process (hereinafter referred to as data update process) in which the
さらに、ここでは、B系5bのIOモジュール29は、A系5aのIOモジュール15よりも遅れたタイミングでIOデータ更新処理を行っている。このため、図2Aに示すように、B系5bのIOデータ値は、A系5aのIOデータ値よりも遅れて更新されている。
Furthermore, here, the
図2Aに示すように、A系5aのIOモジュール15が稼動中で、A系5aのIOデータ値が、下位出力データ値に反映されている状態で、A系5aで異常が発生すると、A系5aのIOモジュール15が待機中に、B系5bのIOモジュール29が待機中から稼動中に切り替わる。
As shown in FIG. 2A, when an abnormality occurs in the
このようにB系5bが遅延しているときに、A系→B系の切り替えが行われると、そのタイミングで、B系5bのIOデータ値が下位出力データ値に反映されるため、下位出力データ値が現在の値「BD」から一つ前の値「81」に戻ってしまっている。このような下位出力データ値の後戻りが発生すると、外部機器7aの誤制御が発生するおそれがある。
If the A system → B system is switched while the
なお、その後、A系5aのIOモジュール15が復帰したときは、そのまま、B系5bのIOモジュール29が稼動を続ける。B系5bのIOモジュール29に異常が発生すると、B系→A系の切り替えが発生する。しかし、この場合には、B系5bでの遅延による影響はない。
Note that, after that, when the
次に、図2Bを参照し、A系5aのIOモジュール15で遅延が発生している場合について説明する。図2Aと同様な処理等については説明を省略している。
Next, a case where a delay occurs in the
図2Bに示すように、A系5aのIOモジュール15は、B系5bのIOモジュール29よりも遅れたタイミングでデータ更新処理を行っている。このため、A系5aのIOデータ値は、B系5bのIOデータ値よりも遅れて更新されている。
As shown in FIG. 2B, the
図2Bに示すように、A系5aのIOモジュール15が稼動中で、A系5aのIOデータ値が、下位出力データ値に反映されている状態で、A系5aで異常が発生すると、A系5aのIOモジュール15が待機中に、B系5bのIOモジュール29が待機中から稼動中に切り替わる。しかし、このとき、A系5aでの遅延による影響はない。
As shown in FIG. 2B, when an abnormality occurs in the
その後、A系5aのIOモジュール15が復帰したときは、そのまま、B系5bのIOモジュール29が稼動を続けるが、B系5bのIOモジュール29に異常が発生すると、B系→A系の切り替えが発生する。
After that, when the
上述のようにA系5aが遅延しているときに、B系→A系の切り替えが行われると、そのタイミングで、A系5aのIOデータ値が下位出力データ値に反映されるため、下位出力データ値が現在の値「10」から一つ前の値「EC」に戻ってしまっている。このような下位出力データ値の後戻りが発生すると、外部機器7aの誤制御が発生するおそれがある。
As mentioned above, when switching from B system to A system is performed while A
本発明者は、上述のように、A系5aとB系5bとの切り替わり時に下位出力データ値に後戻りが発生し、外部機器7aの誤作動が発生することを防ぐため、鋭意検討した結果、A系5aのIOモジュール15、17、19と、B系5bのIOモジュール29、31、33とのそれぞれにおいて、メモリ57に記憶されたIOデータ値に識別情報を付与し、且つ、図1に示すように、A系5aのIOモジュール15、17、19と、B系5bのIOモジュール29、31、33との間を、二重化制御信号線41、43、45で接続して互いに通信可能とし、互いがメモリ57に記憶しているIOデータ値に付与された識別情報を知らせ合い、両者が一致しているか否かに応じて、IOデータ値を、コントローラ3から新たに入力された最新の制御データの値で更新するか否かを判定することにより、A系5a及びB系5bにおける制御データの更新を同期させることができることを見出し、本発明を完成した。
As mentioned above, the inventor of the present invention has made extensive studies to prevent the occurrence of a backtracking in the lower output data value at the time of switching between the
すなわち、第1の実施の形態に係るIOモジュール二重化制御装置は、上位の制御装置から入力された複数のデータを下位の被制御装置へ出力するIOモジュールを2つの系で二重化した二重化制御装置であって、二重化された、前記2つの系のIOモジュールのそれぞれは、前記制御装置から入力された前記複数のデータのうち最新のものに識別情報を付与し、記憶部に自らの系の最新上位データとして記憶させる上位データ処理部と、前記自らの系の最新上位データに付与された自らの系の識別情報、及び、他の系のIOモジュールにおいて他の系の最新上位データに付与された他の系の識別情報を取得する取得部と、前記自らの系の識別情報と前記他の系の識別情報とを比較し、両者が一致するときは、前記自らの系の最新上位データで、前記記憶部に記憶された、自らのIOモジュールから前記被制御装置へ出力させるための出力用データを更新し、両者が一致しないときは、前記出力用データを更新せずにそのまま保持させるデータ更新処理部と、を具備することを特徴とする。 That is, the IO module duplication control device according to the first embodiment is a duplication control device in which the IO module that outputs a plurality of data input from a higher-level control device to a lower-level controlled device is duplicated in two systems. Each of the duplicated IO modules of the two systems adds identification information to the latest data among the plurality of data inputted from the control device, and stores the latest upper-level data of its own system in the storage unit. A higher-level data processing unit that stores the data as data, the own system's identification information given to the latest upper-level data of the own system, and the other system's identification information given to the latest higher-level data of the other system in the IO module of the other system. An acquisition unit that obtains the identification information of the own system compares the identification information of the own system with the identification information of the other system, and when the two match, the latest upper data of the own system is used. A data update process that updates output data stored in a storage unit for outputting from its own IO module to the controlled device, and when the two do not match, the output data is held as is without being updated. It is characterized by comprising: and.
第1の実施の形態に係るIOモジュール二重化制御装置において、前記2つの系のIOモジュールのいずれか一方を稼動状態に切り替える二重化切替処理部をさらに備えることが好ましい。 The IO module duplexing control device according to the first embodiment preferably further includes a duplexing switching processing section that switches either one of the two systems of IO modules into an operating state.
この場合において、前記データ更新処理部は、前記二重化切替処理部により前記自らの系のIOモジュールが待機状態から稼動状態に切り替えられたときは、前記自らの系の識別情報と前記他の系の識別情報との比較結果に関わらずに、前記記憶部が記憶する前記出力用データを前記最新上位データで更新することが好ましい。 In this case, when the IO module of the own system is switched from the standby state to the active state by the duplexing switching processing part, the data update processing section includes the identification information of the own system and the other system's identification information. It is preferable that the output data stored in the storage unit be updated with the latest higher-order data regardless of the comparison result with the identification information.
また、第1の実施の形態に係るIOモジュール二重化制御装置において、前記2つの系のIOモジュールのそれぞれは、基準発振器を備え、基準発信器が発振する動作クロックに従って動作している場合、本発明の効果はより顕著になるので、好ましい。 Further, in the IO module duplication control device according to the first embodiment, each of the IO modules of the two systems is provided with a reference oscillator, and when operating according to the operation clock oscillated by the reference oscillator, the present invention This is preferable because the effect becomes more pronounced.
また、第1の実施の形態に係るIOモジュール二重化制御方法は、上位の制御装置から入力された複数のデータを下位の被制御装置へ出力するIOモジュールを2つの系で二重化した二重化制御方法であって、二重化された、前記2つの系のIOモジュールの演算装置のそれぞれに、前記制御装置から入力された前記複数のデータのうち最新のものに識別情報を付与し、記憶部に自らの系の最新上位データとして記憶させる上位データ処理工程と、前記自らの系の最新上位データに付与された自らの系の識別情報、及び、他の系のIOモジュールにおいて他の系の最新上位データに付与された他の系の識別情報を取得する取得工程と、前記自らの系の識別情報と前記他の系の識別情報とを比較し、両者が一致するときは、前記自らの系の最新上位データで、前記記憶部に記憶された、自らのIOモジュールから前記被制御装置へ出力させるための出力用データを更新し、両者が一致しないときは、前記出力用データを更新せずにそのまま保持させるデータ更新処理工程と、を実施させることを特徴とする。 Further, the IO module duplication control method according to the first embodiment is a duplication control method in which the IO module that outputs a plurality of data input from a higher-level control device to a lower-level controlled device is duplicated in two systems. Then, each of the redundant computing units of the IO modules of the two systems gives identification information to the latest data among the plurality of data inputted from the control unit, and stores its own system in the storage unit. an upper-level data processing step for storing the latest upper-level data of the own system, identification information of the own system given to the latest upper-level data of the own system, and added to the latest upper-level data of the other system in the IO module of the other system; an acquisition step of acquiring the identification information of the other system that has been identified, and comparing the identification information of the own system with the identification information of the other system, and when the two match, the latest upper data of the own system Then, the output data stored in the storage unit for outputting from the own IO module to the controlled device is updated, and when the two do not match, the output data is held as is without being updated. A data update processing step is performed.
以下、図3を参照して、第1の実施の形態に係るIOモジュール二重化制御装置について詳細に説明する。図3は、第1の実施の形態に係るIOモジュール二重化制御装置が適用された制御システム1の要部を示す模式図である。
Hereinafter, with reference to FIG. 3, the IO module duplication control device according to the first embodiment will be described in detail. FIG. 3 is a schematic diagram showing main parts of the
図3に示すA系5aのIOモジュール15と、B系5bのIOモジュール29とは、同じ構成をしている。以下、A系5aを例に挙げて説明する。A系5aのIOモジュール15は、本発明の演算装置の一例であるFPGA(Field Programmable Gate Array)51を備えている。FPGAは、他の演算装置としては、ソフトウエアで処理を行うマイコン、CPUを例示できるが、特に限定されない。
The
FPGA51は、ハードウエアで処理を行うが、回路構成を変更可能なデバイスであり、以降で説明する各種機能を回路構成を適宜設定することで実現可能である。
Although the
FPGA51の上位側には、内部バス53を介して、バスI/F制御部55、メモリ57及び基準発振器59が接続されている。
A bus I/
バスI/F制御部55は、I/Fモジュール9との間の制御データの入出力を制御する。なお、I/Fモジュール9には、プロセッサ3a、3bから入力された制御データのうち最新のものを記憶するためのバッファメモリ47が設けられている。
The bus I/
また、メモリ57には、プロセッサ3a、3bから入力されたデータを記憶するためのメモリ空間が用意されている。
Further, the
メモリ57は、本発明の記憶部の一例であり、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)、RAM(Random Access Memory)、その他の適切な記憶媒体の少なくとも1つで構成されてもよい。メモリ57は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。
The
基準発振器59は、FPGA51が動作の基準とする動作クロックを発振するデバイスであり、例えば、水晶発振器である。第1の実施の形態では、演算装置の一例であるFPGA51の外に設けられているが、演算装置の一部であってもよい。
The
FPGA51の下位側には、IOデータを外部機器7aへ出力を制御するための入出力回路61が電気的に接続されている。入出力回路61は、外部機器7aへ入力されるデータの制御も行うことができる。
An input/
入出力回路61と外部機器7aとの間には、IOモジュール15の稼動及び待機を切り替えるための切替スイッチ63が設けられている。
A
また、FPGA51には、B系5bのIOモジュール29との間で、二重化制御信号線41を介して二重化のためのデータ(後述のシリアル番号及び異常レベルデータを含む)のやり取りを行う二重化通信部65が設けられている。
The
B系5bのIOモジュール29については、A系5aのIOモジュール29と同様の構成について同一の番号を付与し、説明を省略する。
Regarding the
図4は、図3に示すFPGA51が実現する機能を示す機能ブロック図である。FPGA51は、上位データ処理部71、下位データ処理部73、取得部75、データ更新処理部77、二重化切替処理部79及び異常レベル検出部81を実現するような回路構成になっている。
FIG. 4 is a functional block diagram showing functions realized by the
上位データ処理部71は、プロセッサ3a、3bから入力された制御データのうち最新のもの(以下、最新上位データと記載する)に、本発明の自ら系の識別情報の一例であるシリアル番号を付与し、メモリ57内に記憶する処理を行う。より具体的には、上位データ処理部71は、I/Fモジュール9のバッファメモリ47に記憶された最新上位データを読み出し、これにシリアル番号を付与し、メモリ57内に書き込む。
The higher-level
下位データ処理部73は、IOモジュール15から外部機器7aへ出力させるためにメモリ57に記憶された最新上位データ(以下、出力用データと記載する)を、入出力回路61に出力する処理を行う。下位データ処理部73は、IOモジュール15が稼動状態であるとき、出力用データを出力する。
The lower
取得部75は、メモリ57内に記憶された最新上位データに付与されたシリアル番号と、B系5bのIOモジュール29のメモリ57に記憶された最新上位データに付与されたシリアル番号を取得する処理を行う。
The
データ更新処理部77は、A系5aの最新上位データに付与されたシリアル番号と、B系5bの最新上位データに付与されたシリアル番号とを比較し、両者が一致するときはメモリ57に記憶された出力用データを、プロセッサ3aから新たに入力された最新上位データで更新し、両者が一致しないときはメモリ57に記憶された出力用データを、最新データで更新せずに前回値のままで保持する処理(以下、同期データ更新処理と記載する)を行う。
The data
また、データ更新処理部77は、シリアル番号を比較せず、メモリ57に記憶された最新上位データを、プロセッサ3aから新たに入力された最新上位データで更新する処理(以下、非同期データ更新処理と記載する)も行う。つまり、データ更新処理部77は、同期データ更新処理、及び、非同期データ更新処理の2つのデータ更新処理を行うことができる。
The data
二重化切替処理部79は、A系5aのIOモジュール15、及び、B系5bのIOモジュール29のいずれか一方を稼動状態に切り替え、他方を待機状態に切り替える処理を行う。
The duplication
異常レベル検出部81は、A系5aのIOモジュール15における異常を検出し、異常レベルを決定する処理を行う。また、異常レベル検出部81は、二重化通信部65を介して、B系5bのIOモジュール29の二重化切替処理部79に異常レベルを示すデータ(以下、異常レベルデータと記載する)を送信する。第1の実施の形態では、異常レベルデータは2ビットであり、低レベルから「00」、「01」、「10」及び「11」の4段階で異常レベルを表現しているが、特に4段階に限定されない。例えば、異常レベルデータは1ビットであり、異常レベルは、異常なしを示す「LOW(0)」と、異常ありを示す「High(1)」の2段階であってもよい。
The abnormality
次に、図5~図7のフローチャートを参照して、FPGA51の各機能が行う処理について説明する。以下の説明では、A系5aのIOモジュール15における処理を例に挙げて説明するが、B系5bのIOモジュール29も同じ処理を行う。図5は、第1の実施の形態に係るIOモジュール二重化制御装置における二重化切替処理を示すフローチャートである。
Next, the processing performed by each function of the
図5に示すように、まず、二重化切替処理部79は、二重化通信部65により、B系5bのIOモジュール29の異常レベル検出部81から、異常レベルデータを受信し、B系5bのIOモジュール(他モジュール)29の異常レベルを取得する(S101)。
As shown in FIG. 5, first, the duplication
次に、二重化切替処理部79は、自らの異常レベル検出部81から、異常レベルデータを受け取り、A系5aのIOモジュール(自モジュール)15の異常レベルを取得する(S102)。S101とS102の順番は逆になってもよい。
Next, the duplication
次に、二重化切替処理部79は、A系5aのIOモジュール(自モジュール)15が稼動中か否かを判定する(S103)。二重化切替処理部79は、例えば、メモリ57に稼動状態及び待機状態のいずれであるかを示すデータ(以下、状態データと記載する)を記憶している。状態データは、例えば1ビットであり、稼動状態を「High(1)」と、待機状態を「Low(0)」と、それぞれ表現するが、特に限定されない。
Next, the duplication
二重化切替処理部79は、S103で判定がYesである場合、異常レベルは、A系5aのIOモジュール15が、B系5bのIOモジュール29よりも高いか否か判定する(S104)。
If the determination is Yes in S103, the duplication
二重化切替処理部79は、S104で判定がYesである場合、切替スイッチ63(図3参照)をONのままで維持する(S105)。
If the determination is Yes in S104, the duplication
一方、二重化切替処理部79は、S104で判定がNoである場合、切替スイッチ63をOFFに切り替える(S106)。二重化切替処理部79は、この切り替えに伴い、状態データを、稼動状態から待機状態に変更する。
On the other hand, if the determination in S104 is No, the duplication
また、二重化切替処理部79は、S103で判定がNoである場合、異常レベルは、B系5bのIOモジュール29が、A系5aのIOモジュール15よりも高いか否か判定する(S107)。
Moreover, when the determination is No in S103, the duplication
二重化切替処理部79は、S107で判定がYesである場合、切替スイッチ63をOFFに切り替える(S108)。二重化切替処理部79は、この切り替えに伴い、状態データを、稼動状態から待機状態に変更する。
If the determination in S107 is Yes, the duplication
一方、二重化切替処理部79は、S107で判定がNoである場合、切替スイッチ63(図3参照)をONのままで維持する(S109)。
On the other hand, if the determination in S107 is No, the duplication
二重化切替処理部79は、上述のS101~S109の処理を、例えば、定期的に行い、IOモジュール15、29での異常発生に応じて稼動又は待機の切り替えを行う。そして、稼動状態から待機状態へ、及び、待機状態から稼動状態への切り替えがなかった場合(S105、S107)、データ更新処理部77に、同期データ更新処理を実行させる。一方、稼動状態から待機状態へ、及び、待機状態から稼動状態への切り替えがあった場合(S106、S108)、データ更新処理部77に、非同期データ更新処理を実行させる。
The duplication
まず、同期データ更新処理について説明する。図6は、第1の実施の形態に係るIOモジュール二重化制御装置における同期データ更新処理を示すフローチャートである。 First, the synchronous data update process will be explained. FIG. 6 is a flowchart showing synchronous data update processing in the IO module duplication control device according to the first embodiment.
データ更新処理部77は、I/Fモジュール9のバッファメモリ47に記憶された最新上位データを読み出し、これにシリアル番号を付与し、メモリ57内に書き込む(S201)。
The data
次に、取得部75は、二重化通信部65により、B系5bのIOモジュール29の上位データ処理部71から、メモリ57内に書き込まれた最新上位データに付与されたシリアル番号を受信し、B系5bのIOモジュール(他モジュール)29のシリアル番号を取得する(S202)。
Next, the
次に、取得部75は、A系5aのIOモジュール15の上位データ処理部71から、メモリ57内に書き込まれた最新上位データに付与されたシリアル番号を受信することにより、A系5aのIOモジュール(自モジュール)15のシリアル番号を取得する(S203)。S202とS203の順番は逆になってもよい。
Next, the
データ更新処理部77は、S203で取得したA系5aの最新上位データに付与されたシリアル番号と、S202で取得したB系5bの最新上位データに付与されたシリアル番号とを比較し、一致しているか否か判定する(S204)。
The data
S204で判定がYesである場合、データ更新処理部77は、メモリ57に記憶された出力用データを、プロセッサ3aから新たに入力された最新上位データで更新する(S205)。
If the determination is Yes in S204, the data
S204で判定がNoである場合は、データ更新処理部77は、メモリ57に記憶された出力用データを、最新データで更新せずに前回値のままで保持する(S206)。
If the determination in S204 is No, the data
S205又はS206が完了した後、下位データ処理部73(図3参照)は、メモリ57に記憶された出力用データを入出力回路61へ出力する(S207)。ただし、下位データ処理部73は、A系5aのIOモジュール(自モジュール)15が稼動状態であるときに出力用データを出力する。
After S205 or S206 is completed, the lower data processing unit 73 (see FIG. 3) outputs the output data stored in the
次に、非同期データ更新処理について説明する。図7は、第1の実施の形態に係るIOモジュール二重化制御装置における非同期データ更新処理を示すフローチャートである。 Next, asynchronous data update processing will be explained. FIG. 7 is a flowchart showing asynchronous data update processing in the IO module duplication control device according to the first embodiment.
まず、データ更新処理部77は、I/Fモジュール9のバッファメモリ47に記憶された最新上位データを読み出し、これにシリアル番号を付与し、メモリ57内に書き込む(S301)。ここで、シリアル番号の付与は必須ではない。
First, the data
次に、データ更新処理部77は、メモリ57に記憶された出力用データを、プロセッサ3aから新たに入力された最新上位データで更新する(S302)。
Next, the data
S302が完了した後、下位データ処理部73(図3参照)は、メモリ57に記憶された出力用データを入出力回路61へ出力する(S303)。ただし、下位データ処理部73は、A系5aのIOモジュール(自モジュール)15が稼動状態であるときに出力用データを出力する。
After S302 is completed, the lower data processing unit 73 (see FIG. 3) outputs the output data stored in the
次に、第1の実施の形態に係るIOモジュール二重化制御装置が適用された制御システム1(図1参照)におけるコントローラ3から制御データが入力され、外部機器7a、7b、7cのいずれか一つに出力されるまでの処理の流れを、図8及び図9を参照して説明する。
Next, control data is input from the
図8及び図9は、第1の実施の形態に係るIOモジュール二重化制御装置が適用された制御システム1におけるデータ更新のタイミングと稼動及び待機の切り替えのタイミングとの関係を示す模式図である。図8は、B系5bのIOモジュール29で遅延が発生している場合を示し、図9は、A系5aのIOモジュール15で遅延が発生している場合を示す。
8 and 9 are schematic diagrams showing the relationship between data update timing and operation/standby switching timing in the
図8及び図9において、最上段は、A系のプロセッサ3aから入力され、I/Fモジュール9、25のバッファメモリ47(図3参照)に記憶された上位バスデータ値を示している。
In FIGS. 8 and 9, the uppermost row shows the upper bus data value input from the
2段目は、A系5aのIOモジュール15(図3参照)が取り扱うデータを示している。2段目のうち、第1行は、最上位データに付与されたシリアル番号を、第2行は、メモリ57に記憶された最上位データの値(以下、最新上位データ値と記載する)を、第3行は、最新上位データの一つ前のデータの値(以下、前回値と記載する)を、第4行は、メモリ57に記憶された出力用データの値(以下、出力用データ値と記載する)を、それぞれ示している。
The second row shows data handled by the IO module 15 (see FIG. 3) of the
3段目は、B系5bのIOモジュール29(図3参照)が取り扱うデータを示している。3段目のうち、第1行は、最上位データに付与されたシリアル番号を、第3行は、メモリ57に記憶された最新上位データ値を、第3行は、最新上位データの一つ前の前回値を、第4行は、メモリ57に記憶された出力用データ値を、それぞれ示している。
The third row shows data handled by the IO module 29 (see FIG. 3) of the
4段目は、稼動中のIOモジュールが、A系5aのIOモジュール15か、B系5bのIOモジュール29のいずれであるかを示している。
The fourth row shows whether the IO module in operation is the
5段目は、図6を参照して説明した同期データ更新処理のS204で行ったシリアル番号が一致したか否かの判定の結果を示している。また、非同期データ更新処理が行われているときは、A系5aの出力用データが出力されているか、又は、B系5bの出力用データが出力されているか、のいずれであるかを示している。
The fifth row shows the result of determining whether or not the serial numbers match, which was performed in S204 of the synchronous data update process described with reference to FIG. Also, when asynchronous data update processing is being performed, it indicates whether the output data of the
6段目は、データ更新処理部77(図4参照)が、同期データ更新処理又は非同期データ更新処理のいずれを行っているかを示している。 The sixth row indicates whether the data update processing unit 77 (see FIG. 4) is performing synchronous data update processing or asynchronous data update processing.
最下段においては、第1行は、下位出力データに付与されたシリアル番号を、第2行は、IOモジュールユニット5から外部機器7aに出力される下位出力データ値を、それぞれ示す。なお、ここで付与されているシリアル番号は必須ではない。
At the bottom, the first line shows the serial number given to the lower output data, and the second line shows the lower output data value output from the
また、図8及び図9中、太い下向きの矢印は、A系5a又はB系5bの出力用データ値のいずれが、下位出力データ値に反映されているかを示しているが、反映のタイミングを正確に示すものではない。
In addition, in FIGS. 8 and 9, the thick downward arrow indicates which of the output data values of the
まず、図8を参照し、B系5bのIOモジュール29で遅延が発生している場合について説明する。
First, with reference to FIG. 8, a case where a delay occurs in the
図8に示すように、上位バスデータ値は、プロセッサ3aの動作周期(例えば、10ms周期)で更新されている。
As shown in FIG. 8, the upper bus data value is updated at the operating cycle of the
A系5a及びB系5bにおいて、IOモジュール15、29が、上位バスデータ値をバッファメモリ47から読み取って、最新上位データ値としてメモリ57(図3参照)に記憶する。この最新上位データ値の更新タイミングは、プロセッサ3aの動作周期とは同期していない。
In the
また、A系5a及びB系5bとの間でも、最新上位データ値の更新タイミングは同期しておらず、B系5bが遅延している。
Moreover, the update timing of the latest upper data value is not synchronized between the
しかしながら、A系5aのIOモジュール15とB系5bのIOモジュール29において、出力用データ値の更新タイミングは同期している。このような出力用データ値の更新タイミングの同期は、データ更新処理部77が、A系5aの最新上位データに付与されたシリアル番号と、B系5bの最新上位データに付与されたシリアル番号とを比較し、両者が一致するときはメモリ57に記憶された出力用データを、プロセッサ3aから新たに入力された最新上位データで更新し、両者が一致しないときはメモリ57に記憶された出力用データを、最新データで更新せずに前回値のままで保持していることにより、達成されている。
However, the update timings of the output data values are synchronized in the
図8に示すように、A系5aのIOモジュール15が稼動中で、A系5aのIOデータ値が、下位出力データ値に反映されている状態で、A系5aで異常が発生すると、A系5aのIOモジュール15が待機中に、B系5bのIOモジュール29が待機中から稼動中に切り替わる。
As shown in FIG. 8, when an abnormality occurs in the
上述のようにB系5bが遅延しているときに、A系→B系の切り替えが行われても、出力用データは同期しているので、下位出力データ値が現在の値から一つ前の値に戻ってしまうような下位出力データ値の後戻りが発生するのが防がれる。この結果、外部機器7aの誤制御が発生するおそれがない。
As mentioned above, even if switching from system A to system B is performed when
A系→B系の切り替えの後、A系5aのIOモジュール15が復帰するまでは、B系5bのIOモジュール29において、データ更新処理部77(図4参照)は、図7を参照して説明した非同期データ更新処理を行う。
After switching from the A system to the B system, the data update processing unit 77 (see FIG. 4) in the
引き続きいて、A系5aのIOモジュール15が復帰するまで、B系5bのIOモジュール29が稼動を続ける。そして、B系5bのIOモジュール29に異常が発生すると、B系→A系の切り替えが発生する。この場合にも、上述のようなB系での遅延による影響はない。
The
B系→A系の切り替えの後、A系5aのIOモジュール15において、データ更新処理部77(図4参照)は、図7を参照して説明した非同期データ更新処理を行う。
After switching from the B system to the A system, the data update processing unit 77 (see FIG. 4) in the
次に、図9を参照し、A系5aのIOモジュール15で遅延が発生している場合について説明する。図8と同様な処理等については説明を省略している。
Next, with reference to FIG. 9, a case where a delay occurs in the
図9に示すように、A系5a及びB系5bとで行わる最新上位データ値の更新タイミングは、上位バスデータ値の更新タイミングと同期しておらず、A系5a及びB系5bとの間でも同期しておらず、A系5aが遅延している。
As shown in FIG. 9, the update timing of the latest upper data value performed by the
しかしながら、A系5aのIOモジュール15とB系5bのIOモジュール29において、図8を参照して説明したように、出力用データ値の更新は同期している。
However, in the
図9に示すように、A系5aのIOモジュール15が稼動中で、A系5aのIOデータ値が、下位出力データ値に反映されている状態で、A系5aで異常が発生すると、A系5aのIOモジュール15が待機中に、B系5bのIOモジュール29が待機中から稼動中に切り替わる。
As shown in FIG. 9, when an abnormality occurs in the
上述のようにA系5aが遅延しているときに、A系→B系の切り替えが行われても、A系5a及びB系5bにおいて出力用データの更新タイミングは同期しているので、下位出力データ値が現在の値から一つ前の値に戻ってしまうような下位出力データ値の後戻りが発生するのが防がれる。この結果、外部機器7aの誤制御が発生するおそれがない。
Even if switching from system A to system B is performed when system A 5a is delayed as described above, the update timing of output data in system A 5a and
A系→B系の切り替えの後、A系5aのIOモジュール15が復帰するまでは、B系5bのIOモジュール29において、データ更新処理部77(図4参照)は、図7を参照して説明した非同期データ更新処理を行う。
After switching from the A system to the B system, the data update processing unit 77 (see FIG. 4) in the
引き続きいて、A系5aのIOモジュール15が復帰するまで、B系5bのIOモジュール29が稼動を続ける。そして、B系5bのIOモジュール29に異常が発生すると、B系→A系の切り替えが発生する。この場合にも、上述のようなA系5aでの遅延による影響はない。
The
B系→A系の切り替えの後、A系5aのIOモジュール15において、データ更新処理部77(図4参照)は、図7を参照して説明した非同期データ更新処理を行う。
After switching from the B system to the A system, the data update processing unit 77 (see FIG. 4) in the
以上説明したように、上記実施の形態に係るIOモジュール二重化制御装置を適用した制御システム1では、A系5a及びB系5bのIOモジュール15、29の、データ更新処理部77(図3、4参照)は、A系5aのIOモジュール15における最新上位データに付与されたシリアル番号と、B系5bのIOモジュール29における最新上位データに付与されたシリアル番号とを比較し、両者が一致するときは、自らの系の最新上位データで、メモリ57部に記憶された、自らのIOモジュールから外部機器7aへ出力させるための出力用データを更新し、両者が一致しないときは、出力用データを更新せずに前回値を保持させる。これにより、A系5a及びB系5bのIOモジュール15、29の間で、出力用データの更新タイミングを同期させることができるため、A系5a及びB系5bのIOモジュール15、29の動作周期が異なり、いずれかの系において最新上位データの更新タイミングに遅延が生じていても、下位出力データ値の後戻りが発生するのが防がれる。この結果、外部機器7aの誤制御が発生するおそれがないという効果を発揮する。
As explained above, in the
<第2の実施の形態>
第1の実施の形態では、例えば、図1に示すように、A系5a及びB系5bのIOモジュール15、29が一つの外部機器7aを制御する場合、すなわちIOモジュール15、29が1チャンネルである場合を例に挙げて説明した。しかし、IOモジュール15、29のチャネル数は2以上であってもよい。
<Second embodiment>
In the first embodiment, for example, as shown in FIG. 1, when the
この場合、第1の実施の形態では、モジュール単位で二重化切替制御を行っているため、例えば、A系5aのIOモジュール15のいずれかのチャネルで異常が発生したとき、B系5bのIOモジュール29に切り替えられる。その後、B系5bのIOモジュール29のチャネルの1つで異常が発生した場合、A系5aのIOモジュール15の当該チャネルが正常であっても、モジュール毎に稼動状態を切り替えているので、A系5aのIOモジュール15が復帰していなければ、処理を戻すことができない。このため、外部機器7aの制御ができなくなるという事態の発生が懸念される。
In this case, in the first embodiment, since redundancy switching control is performed on a module-by-module basis, for example, when an abnormality occurs in any channel of the
そこで、第2の実施の形態に係るIOモジュール二重化制御装置では、第1の実施の形態において、モジュール毎に行っていた二重化切替制御を、チャネル毎に行うことを提案する。 Therefore, in the IO module duplexing control device according to the second embodiment, it is proposed that the duplexing switching control, which was performed for each module in the first embodiment, is performed for each channel.
第2の実施の形態に係るIOモジュール二重化制御装置の構成及びIOモジュール二重化制御方法の各工程は、第1の実施の形態の説明及び図面を、「モジュール」を「モジュールのチャネル」に読み替えれば、当業者であればその詳細を容易に理解できるので、説明及び図面を省略する。 The configuration of the IO module duplication control device and each step of the IO module duplication control method according to the second embodiment is described in the description and drawings of the first embodiment by replacing "module" with "module channel". For example, since the details can be easily understood by those skilled in the art, description and drawings are omitted.
このような構成により、チャネル毎に切り替えができ、正常なチャネルを使用した動作の継続が可能となるので、外部機器の制御ができなくなるという事態の発生を抑えることができるという効果を発揮する。 With such a configuration, switching can be performed for each channel and operation can be continued using a normal channel, so that it is possible to suppress the occurrence of a situation in which external equipment cannot be controlled.
また、第1の実施の形態では、図5に示すフローチャートのS104、S107において、二重化切替処理部79(図4参照)が、モジュール毎に、異常レベルが自モジュールが高いか否か、及び、他モジュールが高いか否かの判定を行っている。第2の実施の形態では、二重化切替処理部79は、チャネル毎の異常レベルデータを取得しているので、次のようにチャネル毎の異常レベル判定結果を考慮したモジュール毎の二重化切替処理を行わせることが可能である。
Further, in the first embodiment, in S104 and S107 of the flowchart shown in FIG. 5, the duplication switching processing unit 79 (see FIG. 4) determines for each module whether or not the abnormality level of the own module is high, and It is determined whether other modules are high or not. In the second embodiment, since the duplexing
例えば、まず、二重化切替処理部79が、チャネル毎に、自ら又は他のいずれが異常レベルが高いかを比較し、その結果をメモリ57に記憶しておく。すべてのチャネルについて異常レベルの比較が終わったならば、二重化切替処理部79は、比較結果に基づいて、自モジュール又は他モジュールのいずれが、異常レベルが高いチャネルが少ないかを判定する。そして、二重化切替処理部79は、自モジュールにおける異常レベルが高いチャネルが少なければ、切り替えを行わず稼動を続行する。また、二重化切替処理部79は、他モジュールにおける異常レベルが高いチャネルが少なければ、切り替えを行う。
For example, first, the duplex
このような構成で、チャネル毎の異常レベルの比較結果を考慮して、モジュール毎の切り替えを行うことにより、正常なチャネルを使用して動作の継続が可能となるので、外部機器の制御ができなくなるという事態の発生の頻度を抑えることができるという効果を発揮する。 With such a configuration, by switching each module in consideration of the comparison results of abnormal levels for each channel, it is possible to continue operation using normal channels, making it possible to control external equipment. This has the effect of being able to reduce the frequency of occurrence of such situations.
<第3の実施の形態>
上記第1の実施の形態及び第2の実施の形態において、図1に示すように、A系5aのIOモジュール15、17、19と、B系5bのIOモジュール29、31、33とを、二重化制御信号線41、43、45で接続して互いに通信可能としている。これらの二重化制御信号線41、43、45は、作業者が手作業で接続し、それらの接続先が正しいか否かで目視で行うことが想定される。このため、誤接続が発生することを完全に防ぐことは難しいことが懸念される。
<Third embodiment>
In the first embodiment and the second embodiment, as shown in FIG. 1, the
そこで、第3の実施の形態に係るIOモジュール二重化制御装置では、第1の実施の形態における、シリアル番号及び異常レベルを含む二重化のためのデータ(以下、「二重化制御信号」と記載する)に、IOモジュールを識別するためのIOモジュール識別情報の一例として局番情報をさらに付与することを提案する。以下、特に記載する場合を除き、第3の実施の形態を、第1の実施の形態に適用した場合を例に挙げて説明する。 Therefore, in the IO module duplication control device according to the third embodiment, data for duplication (hereinafter referred to as "duplex control signal") including the serial number and abnormality level in the first embodiment is , it is proposed to further add station number information as an example of IO module identification information for identifying the IO module. Hereinafter, unless otherwise specified, the third embodiment will be described using an example in which the third embodiment is applied to the first embodiment.
図10は、第3の実施の形態に係るIOモジュール二重化制御装置における二重化制御信号の構成を示す模式図である。図10に示すように、二重化制御信号100は、IOモジュールを識別するための局番情報101と、第1の実施の形態で説明したシリアル番号102と、モジュール毎の異常レベルを示す異常レベルデータ103と、を含んでいる。第3の実施の形態を第2の実施の形態に適用する場合には、二重化制御信号100は、さらに、チャネル毎の異常レベルを示す異常レベルデータ104を含む。
FIG. 10 is a schematic diagram showing the configuration of a duplication control signal in the IO module duplication control device according to the third embodiment. As shown in FIG. 10, the
局番情報101は、IOモジュールユニット5の中でIOモジュールを識別できるように固有な情報であればよい。また、局番情報101の形式は、特に限定されないが、例えば、A系5aを「1」、B系5bを「2」で示すような上位の階層を示す番号と、1つめのIOモジュールの接続ペアを示す「1」、2つめのIOモジュールの接続ペアを示す「2」のような下位の階層を示す情報とを、「‐(ハイフン)」でつないだものが考えられる。
The
例えば、図1に示すIOモジュール15、17、19、29、31、33の局番情報は、以下の通りである。
A系
IOモジュール15: 1-1
IOモジュール17: 1-2
IOモジュール19: 1-3
B系
IOモジュール29: 2-1
IOモジュール31: 2-2
IOモジュール33: 2-3
For example, the station number information of the
A-system IO module 15: 1-1
IO module 17: 1-2
IO module 19: 1-3
B-system IO module 29: 2-1
IO module 31: 2-2
IO module 33: 2-3
第3の実施の形態では、二重化切替処理部79が、自モジュールの局番情報をメモリ57に記憶している。そして、二重化切替処理部79は、メモリ57から局番情報を読み出し、他モジュールに送信にする二重化制御信号に格納している。
In the third embodiment, the duplex
図11は、第3の実施の形態に係るIOモジュール二重化制御装置における接続判定処理の各工程を示すフローチャートである。接続判定処理は、図5を参照して説明した二重化切替処理に先だって、本発明の接続判定部の一例である二重化切替処理部79(図4参照)により行われる。 FIG. 11 is a flowchart showing each step of connection determination processing in the IO module duplication control device according to the third embodiment. The connection determination process is performed by the duplex switching processing unit 79 (see FIG. 4), which is an example of the connection determination unit of the present invention, prior to the duplex switching process described with reference to FIG.
まず、図11に示すように、二重化切替処理部79は、接続ペアの局番情報をプロセッサ3a又はプロセッサ3b(図1参照)から取得する(S401)。次に、他モジュールから受信した二重化制御信号から他モジュールの局番情報を取得する(S402)。
First, as shown in FIG. 11, the duplex
そして、接続ペアの局番情報(例えば、1-1;2-1)と、自モジュールの局番情報(メモリ57に格納)及び他モジュールの局番情報との対比を行い、一致しているか否かを判定する(S403)。 Then, the station number information of the connected pair (for example, 1-1; 2-1) is compared with the station number information of the own module (stored in the memory 57) and the station number information of other modules, and it is determined whether they match. Determination is made (S403).
S403で判定がYesであれば、二重化切替処理(図5)に進む(S404)。一方、S403で判定がNoであれば、二重化制御信号線41、43、45の接続の不整合がある旨のエラーを作業者に通知し(S405)、二重化切替処理に進まずに、処理を終了する。
If the determination is Yes in S403, the process proceeds to duplex switching processing (FIG. 5) (S404). On the other hand, if the determination in S403 is No, the operator is notified of an error that there is a connection mismatch between the duplex
エラーの通知方法は、IOモジュール15、17、19、27、29、31に設けたLEDの点灯であるが、特に限定されない。
The error notification method is to turn on the LEDs provided in the
このような構成により、第3の実施の形態に係るIOモジュール二重化制御装置及び二重化制御方法は、自らのモジュールの局番情報と他のモジュール局番情報に基づいて、二重化制御信号線41、43、45の接続先が正しいか否かを判定し、誤接続を検知し、エラーを通知して適切な対応を作業者に求めること、及び/又は、二重化切替処理を行わないようにすることができるようになるという効果を発揮する。
With such a configuration, the IO module duplexing control device and duplexing control method according to the third embodiment can control the duplexing
なお、図11に示した接続判定処理は、特に限定されないが、二重化制御信号線41、43、45の接続作業後の、少なくともIOモジュールユニット5(図1参照)の稼動開始時に行えば足りる。
Note that the connection determination process shown in FIG. 11 is not particularly limited, but it is sufficient to perform it at least when the IO module unit 5 (see FIG. 1) starts operating after the work of connecting the duplex
なお、本発明は上記実施の形態に限定されず、種々変更して実施することが可能である。上記実施の形態において、添付図面に図示されている構成要素の大きさや形状、機能などについては、これに限定されず、本発明の効果を発揮する範囲内で適宜変更することが可能である。その他、本発明の目的の範囲を逸脱しない限りにおいて適宜変更して実施することが可能である。 Note that the present invention is not limited to the above embodiments, and can be implemented with various modifications. In the embodiments described above, the sizes, shapes, functions, etc. of the constituent elements illustrated in the accompanying drawings are not limited to these, and can be changed as appropriate within the scope of achieving the effects of the present invention. Other changes can be made as appropriate without departing from the scope of the invention.
例えば、上記実施の形態では、図3及び図4に示すように、A系5aのIOモジュール15及びB系5bのIOモジュール29のそれぞれに、二重化切替処理部79を設け、互いに協働することにより二重化切替処理を行っているが、A系5aのIOモジュール15及びB系5bのIOモジュール29の外部に共通の二重化切替処理部を設けてもよい。
For example, in the above embodiment, as shown in FIGS. 3 and 4, the
また、上記実施の形態では、最新上位データに付与される識別情報にシリアル番号を用いているが、これに限定されるものではない。例えば、最新上位データに、「LOW(0)」及び「High(1)」の値を繰り返して付与してもよい。この場合、遅延が、A系5aのIOモジュール15及びB系5bのIOモジュール29の動作周期の1周期内であれば、シリアル番号を付与したときと同様に同期データ更新処理を行うことができる。
Further, in the above embodiment, a serial number is used as the identification information given to the latest higher-level data, but the present invention is not limited to this. For example, the values of "LOW (0)" and "High (1)" may be repeatedly assigned to the latest high-level data. In this case, if the delay is within one cycle of the operation cycle of the
本発明は、二重化されたIOモジュールから出力されるデータの同期化を簡易な構成で実現できるIOモジュール二重化制御装置及び方法を提供するという効果を奏し、例えば、プラントの制御システムに適用して好適である。 The present invention has the effect of providing an IO module duplication control device and method that can realize synchronization of data output from duplexed IO modules with a simple configuration, and is suitable for application to, for example, a plant control system. It is.
1 制御システム
3 コントローラ(制御装置)
3a、3a プロセッサ
5 IOモジュールユニット
5a A系
5b B系
7a~7c 外部機器(被制御装置)
9、11、25、27、29、31、33 I/Fモジュール
13 上位ネットワーク
15、17、19 IOモジュール
23 下位ネットワーク
41、43、45 二重化制御信号線
47 バッファメモリ
51 FPGA(演算装置)
55 バスI/F制御部
57 メモリ(記憶部)
59 基準発振器
61 入出力回路
63 切替スイッチ
65 二重化通信部
71 上位データ処理部
73 下位データ処理部
75 取得部
77 データ更新処理部
79 二重化切替処理部
81 異常レベル検出部
100 二重化制御信号
101 局番情報(IOモジュール識別情報)
102 シリアル番号(識別情報)
103、104 異常レベルデータ
1
3a,
9, 11, 25, 27, 29, 31, 33 I/
55 Bus I/
59
102 Serial number (identification information)
103, 104 Abnormal level data
Claims (8)
二重化された、前記2つの系のIOモジュールのそれぞれは、
前記制御装置から入力された前記複数のデータのうち最新のものに識別情報を付与し、記憶部に自らの系の最新上位データとして記憶させる上位データ処理部と、
前記自らの系の最新上位データに付与された自らの系の識別情報、及び、他の系のIOモジュールにおいて他の系の最新上位データに付与された他の系の識別情報を取得する取得部と、
前記自らの系の識別情報と前記他の系の識別情報とを比較し、両者が一致するときは、前記自らの系の最新上位データで、前記記憶部に記憶された、自らのIOモジュールから前記被制御装置へ出力させるための出力用データを更新し、両者が一致しないときは、前記出力用データを更新せずにそのまま保持させるデータ更新処理部と、を具備し、
前記識別情報は、
前記自らの系の前記最新上位データ及び前記他の系の前記最新上位データに対して同一の値であり、
前記複数のデータのうち連続する2つの前記データに互いに異なる値であることを特徴とするIOモジュール二重化制御装置。 A redundant control device in which two systems have duplexed IO modules that output a plurality of data input from a higher-level control device to a lower-level controlled device,
Each of the duplexed IO modules of the two systems is:
an upper-level data processing unit that assigns identification information to the latest data among the plurality of data input from the control device and stores it in a storage unit as the latest upper-level data of its own system;
an acquisition unit that acquires the identification information of the own system given to the latest upper-level data of the own system, and the identification information of the other system given to the latest upper-level data of the other system in the IO module of the other system; and,
The identification information of the own system is compared with the identification information of the other system, and if they match, the latest upper-level data of the own system is extracted from the own IO module stored in the storage unit. a data update processing unit that updates output data to be output to the controlled device, and when the two do not match, maintains the output data as it is without updating ;
The identification information is
the same value for the latest upper data of the own system and the latest upper data of the other system,
An IO module duplication control device , wherein two consecutive pieces of data among the plurality of pieces of data have different values .
前記取得部は、自らの系の最新上位データに付与された自らの前記IOモジュール識別情報、及び、他の系のIOモジュールにおいて他の系の最新上位データに付与された他のIOモジュール識別情報を取得し、
前記自らの前記IOモジュール識別情報及び前記他の前記IOモジュール識別情報と、前記制御装置から取得した接続ペアのIOモジュール識別情報とを比較し、両者が一致しないときは、自らのIOモジュール及び他のIOモジュールが正しく接続されていないと判定する接続判定部をさらに備え、
前記IOモジュール識別情報は、前記自らのIOモジュール及び前記他のIOモジュールのうちいずれかのIOモジュールを識別できる固有の情報であることを特徴とする請求項1から請求項6のいずれかに記載のIOモジュール二重化制御装置。 The upper data processing unit further adds its own IO module identification information to the plurality of data input from the control device,
The acquisition unit acquires the own IO module identification information attached to the latest upper-level data of the own system, and other IO module identification information attached to the latest upper-level data of the other system in the IO module of the other system. get
The own IO module identification information and the other IO module identification information are compared with the IO module identification information of the connection pair acquired from the control device, and if they do not match, the own IO module and the other IO module identification information are compared. further comprising a connection determination unit that determines that the IO module is not connected correctly ,
According to any one of claims 1 to 6 , the IO module identification information is unique information that can identify any one of the own IO module and the other IO module. The IO module duplication control device described above.
二重化された、前記2つの系のIOモジュールの演算装置のそれぞれに、
前記制御装置から入力された前記複数のデータのうち最新のものに識別情報を付与し、記憶部に自らの系の最新上位データとして記憶させる上位データ処理工程と、
前記自らの系の最新上位データに付与された自らの系の識別情報、及び、他の系のIOモジュールにおいて他の系の最新上位データに付与された他の系の識別情報を取得する取得工程と、
前記自らの系の識別情報と前記他の系の識別情報とを比較し、両者が一致するときは、前記自らの系の最新上位データで、前記記憶部に記憶された、自らのIOモジュールから前記被制御装置へ出力させるための出力用データを更新し、両者が一致しないときは、前記出力用データを更新せずにそのまま保持させるデータ更新処理工程と、
を実施させ、
前記識別情報は、
前記自らの系の前記最新上位データ及び前記他の系の前記最新上位データに対して同一の値であり、
前記複数のデータのうち連続する2つの前記データに互いに異なる値であることを特徴とするIOモジュール二重化制御方法。 A redundant control method in which an IO module that outputs a plurality of data input from a higher-level control device to a lower-level controlled device is duplicated in two systems,
In each of the duplexed arithmetic units of the IO modules of the two systems,
an upper data processing step of assigning identification information to the latest data among the plurality of data inputted from the control device and storing the same in a storage unit as the latest upper data of the own system;
an acquisition step of acquiring the identification information of the own system given to the latest upper-level data of the own system, and the identification information of the other system given to the latest upper-level data of the other system in the IO module of the other system; and,
The identification information of the own system is compared with the identification information of the other system, and if they match, the latest upper-level data of the own system is extracted from the own IO module stored in the storage unit. a data update processing step of updating output data to be output to the controlled device, and when the two do not match, maintaining the output data as it is without updating;
to be carried out ,
The identification information is
the same value for the latest upper data of the own system and the latest upper data of the other system,
An IO module duplication control method , wherein two consecutive pieces of data among the plurality of pieces of data have different values .
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019014409 | 2019-01-30 | ||
JP2019014409 | 2019-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020123309A JP2020123309A (en) | 2020-08-13 |
JP7358819B2 true JP7358819B2 (en) | 2023-10-11 |
Family
ID=71992802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019136898A Active JP7358819B2 (en) | 2019-01-30 | 2019-07-25 | IO module duplication control device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7358819B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102646494B1 (en) * | 2023-10-18 | 2024-03-12 | 주식회사 유니즈테크 | Controller redundancy device and method for controlling the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007086972A (en) | 2005-09-21 | 2007-04-05 | Hitachi Ltd | Storage system, duplex control method, and program |
JP2008234014A (en) | 2007-03-16 | 2008-10-02 | Fuji Electric Fa Components & Systems Co Ltd | Duplex controller system and operation-system/standby-system controller therefor |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5261092A (en) * | 1990-09-26 | 1993-11-09 | Honeywell Inc. | Synchronizing slave processors through eavesdrop by one on periodic sync-verify messages directed to another followed by comparison of individual status |
-
2019
- 2019-07-25 JP JP2019136898A patent/JP7358819B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007086972A (en) | 2005-09-21 | 2007-04-05 | Hitachi Ltd | Storage system, duplex control method, and program |
JP2008234014A (en) | 2007-03-16 | 2008-10-02 | Fuji Electric Fa Components & Systems Co Ltd | Duplex controller system and operation-system/standby-system controller therefor |
Also Published As
Publication number | Publication date |
---|---|
JP2020123309A (en) | 2020-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8503484B2 (en) | System and method for a cross channel data link | |
US8780702B2 (en) | Adaptive multi-redundant ring network system and method for selecting detour | |
US20070260939A1 (en) | Error filtering in fault tolerant computing systems | |
US11599090B2 (en) | System and method of network synchronized time in safety applications | |
US11022962B2 (en) | High availability industrial automation system having primary and secondary industrial automation controllers and method of communicating information over the same | |
US20070168712A1 (en) | Method and apparatus for lockstep processing on a fixed-latency interconnect | |
KR20080016435A (en) | Memory controller and method of controlling memory | |
CN105637433A (en) | Control device and control method | |
JP6029737B2 (en) | Control device | |
EP3629110B1 (en) | High availability industrial automation controller and method of operating the same | |
JP2010231723A (en) | Multiprocessor system, node controller, and failure recovering system | |
JP7358819B2 (en) | IO module duplication control device and method | |
US20230318728A1 (en) | Diagnostic System and Method for Network Synchronized Time in Safety Applications | |
EP1132815A2 (en) | Cross-bar switch system with redundancy | |
US11251991B2 (en) | Communication system, communication apparatus, communication method, and program | |
US9003067B2 (en) | Network and method for operating the network | |
KR101853245B1 (en) | Programmable logic controllers, slave devices and redundant systems | |
JP3884643B2 (en) | Process control device | |
JP6269404B2 (en) | Control system, relay device, and control device | |
KR20120102240A (en) | Redundancy plc system and data synchronization method thereof | |
JP5604799B2 (en) | Fault tolerant computer | |
US11914338B2 (en) | Redundant automation system and method for operating the redundant automation system | |
JP2003140704A (en) | Process controller | |
JP7023726B2 (en) | Duplex control system | |
JPH0462081B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230509 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230707 |
|
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: 20230829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230911 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7358819 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |