JP2015207240A - 制御システム、制御装置、および中継装置 - Google Patents

制御システム、制御装置、および中継装置 Download PDF

Info

Publication number
JP2015207240A
JP2015207240A JP2014088938A JP2014088938A JP2015207240A JP 2015207240 A JP2015207240 A JP 2015207240A JP 2014088938 A JP2014088938 A JP 2014088938A JP 2014088938 A JP2014088938 A JP 2014088938A JP 2015207240 A JP2015207240 A JP 2015207240A
Authority
JP
Japan
Prior art keywords
control
data
control device
active
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014088938A
Other languages
English (en)
Other versions
JP6330448B2 (ja
Inventor
良生 苔縄
Yoshio Kokenawa
良生 苔縄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2014088938A priority Critical patent/JP6330448B2/ja
Publication of JP2015207240A publication Critical patent/JP2015207240A/ja
Application granted granted Critical
Publication of JP6330448B2 publication Critical patent/JP6330448B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】制御装置とIOマスタが冗長化された制御システムにおいて、稼働系のIOマスタに故障が発生した場合でも制御装置の稼働/待機の切り替えを発生させずにシステムの稼働を継続できるようにする。
【解決手段】冗長化された制御装置をデータ同期化バスで接続する。各IOマスタには、データ入出力装置から受信したデータを接続先の制御装置へ転送させる。待機系の制御装置には、IOマスタから受信したデータをデータ同期化バスを介して稼働系の制御装置に転送させる。稼働系の制御装置には、稼働系のIOマスタが故障していなければ当該IOマスタにより転送されたデータを用い、稼働系のIOマスタの何れかが故障していれば待機系の制御装置により転送されたデータのうちの該当するものを用いて所定の演算を実行させる。
【選択図】図9

Description

この発明は、機器を制御する制御装置を含み、当該制御装置とデータ入出力装置とのデータ通信を仲介する中継装置をさらに含む制御システムに関する。
この種の制御システムの一例としては、工場や各種プラント等の産業施設において各種操業を制御するために敷設されるシステムが挙げられる。制御システムに含まれる制御装置は、産業施設内に設置されたセンサからのデータの収集やその収集結果に応じた電動機等の駆動制御のための演算を行う。このような制御装置としては、プログラマブルロジックコントローラ(以下、PLC)やDCS(Distributed Control
System:分散型制御システム或いは分散型制御装置)が用いられる。DCSはPLCに比較して信頼性が高く、一般的なFA(Factory Automation)システムでは制御装置としてPLCが用いられることが多く、高信頼性を要求されるプラント設備では制御装置としてDCSが用いられることが多い。上記センサからのデータの収集や電動機等への指令の入力にはデータ入出力装置が用いられ、データ入出力装置の駆動或いはデータ入出力装置と制御装置との間のデータ通信の中継にはIOマスタと呼ばれる通信モジュール(中継装置)が用いられる。なお、以下では、制御システムにおいて制御装置とIOマスタとの間のデータ通信を仲介する通信網を「マスタ/スレーブ間ネットワーク」と呼び、IOマスタとデータ入出力装置とのデータ通信を仲介する通信網(シリアルバスでも良い)を「IOネットワーク」と呼ぶ。
この種の制御システムでは制御装置やIOマスタの故障等に起因する操業停止を回避するために、これらの装置の冗長化が行われることが一般的である(例えば、特許文献1参照)。制御装置の冗長化とは、2台の制御装置を設け、その一方を稼働系、他方を待機系として動作させることを言う。稼働系の制御装置はセンサ等からのデータの収集や機器制御を行う。待機系の制御装置は、稼働系の制御装置の停止に備え、稼働系が停止するとき(或いは停止したとき)には、稼働系として動作し、監視データの収集や機器制御を継続する。ここで、稼働系の制御装置の停止の具体例としては、何らかの故障や不具合の発生に起因する予期せぬ停止や、保守メンテナンス等による予め計画された停止などが考えられる。待機系の制御装置はこれら2種類の停止の両方に備える。IOマスタの冗長化とは、上記2つの制御装置の各々を別個のIOマスタを介してIOネットワークに接続することをいう。
特開2006−185308号公報
従来、制御装置とIOマスタの両方が冗長化された制御システムでは、稼働系の制御装置が停止した場合(或いは停止する場合)は勿論、稼働系の制御装置に接続されている何れかのIOマスタが停止した場合(或いは停止する場合)も、制御装置についての稼働系/待機系の切り替えを行っていた。以下では、稼働系の制御装置とデータ入出力装置との間のデータ通信を中継するIOマスタを「稼働系のIOマスタ」と呼び、待機系の制御装置とデータ入出力装置との間のデータ通信を中継するIOマスタを「待機系のIOマスタ」と呼ぶ。
稼働系の停止の検知(例えば、稼働系における故障発生の検知)から稼働系/待機系の切り替えが完了するまでの期間は、機器制御のための演算は停止する。このため、例えば、制御対象の機器に印加する電圧をその演算の実行毎に所定量ずつ引き上げて行く演算の場合、図11のように、故障等による稼働系の停止の検知から稼働系/待機系の切り替えが完了するまでの期間では電圧値のインクリメントが停止してしまい、操業に重大な影響を与えてしまう虞がある。
この発明は以上のような事情に鑑みてなされたものであり、制御装置を含むとともに当該制御装置とデータ入出力装置とのデータ通信を仲介する中継装置を含み、制御装置と中継装置の両者が冗長化された制御システムにおいて、稼働系の中継装置が停止する場合であっても、制御装置についての稼働系/待機系の切り替えを発生させずにシステムの稼働を継続できるようにする技術を提供することを目的とする。
上記課題を解決するために、本発明は、データ入出力装置から送信されたデータを用いて機器制御のための所定の演算を行う稼働系の制御装置と、待機系の制御装置と、前記稼働系の制御装置と前記待機系の制御装置の間のデータ通信を仲介する制御装置間通信手段と、前記データ入出力装置と前記稼働系の制御装置に接続された稼働系の中継装置と、前記データ入出力装置と前記待機系の制御装置に接続された待機系の中継装置と、を有する制御システムの各制御装置に以下の処理を実行させる。待機系の制御装置には、待機系の中継装置を介して前記データ入出力装置から受信したデータを、制御装置間通信手段を介して当該稼働系の制御装置へ転送する処理を実行させる。一方、稼働系の制御装置には、稼働系の中継装置について停止の有無を判定し、停止していなければ当該中継装置を介してデータ入出力装置から受信したデータを用いて所定の演算を実行し、停止していれば制御装置間通信手段を介して待機系の制御装置から受信したデータ(すなわち、データ入出力装置から送信され、待機系の中継装置を介して待機系の制御装置へ転送され、制御装置間通信手段を介して待機系の制御装置から稼働系の制御装置へ転送されたデータ)を用いて所定の演算を実行する処理を実行させる。
この制御システムにおいては、稼働系の中継装置が停止しても、稼働系の制御装置は待機系の制御装置経由で転送されたデータを用いて所定の演算を実行することができる。このため、本発明の制御システムにおいては、制御装置についての稼働系/待機系の切り替えを、稼働系の中継装置の停止を理由として行う必要はない。つまり、本発明によれば、稼働系の中継装置が停止した場合(或いは停止する場合)であっても、制御装置についての稼働系/待機系の切り替えを発生させることなく、データ入力装置からのデータ収集を止めずにシステムの稼働を継続することが可能になる。なお、稼働系および待機系の中継装置よりなる中継装置対を上記制御システムに複数設け、中継装置対毎に異なるデータ入出力装置から送信されたデータの中継を行うようにしても良い。この場合、稼働系の制御装置には、複数の稼働系の中継装置の各々について停止の有無を判定し、停止していなければ当該中継装置により転送されたデータを用いて所定の演算を実行し、停止していれば、停止していると判定された中継装置と対になる待機系の中継装置により待機系の制御装置へ転送され、制御装置間通信手段を介して当該待機系の制御装置から当該稼働系の制御装置へ転送されたデータを用いて所定の演算を実行する処理を実行させるようにすれば良い。
より好ましい態様においては、前記2つの制御装置の各々は、前記制御装置間通信手段を介したデータ通信により前記所定の演算の演算結果の等値化を行った後に当該等値化済の演算結果を表すデータを何れかの中継装置対に接続されたデータ入出力装置へ送信する。そして、前記演算結果を表すデータの宛先となるデータ入出力装置に接続されている待機系の中継装置は、自装置と対になる他方の中継装置(すなわち、稼働系の中継装置)との通信により当該他方の中継装置の停止を検出した場合に、待機系の制御装置から受信したデータをその宛先のデータ入出力装置へ転送する。このような態様によれば、稼働系の中継装置の何れかが停止した場合(或いは停止する場合)であっても、制御装置についての稼働系/待機系の切り替えを発生させることなく、データ入出力装置へのデータ出力を止めずにシステムの稼働を継続することが可能になる。
さらに別の好ましい態様においては、前記所定の演算の実行に先立って、前記2つの制御装置の各々は前記制御装置間通信手段を介したデータ通信により前記所定の演算の実行開始タイミングの同期を行うとともに、各データ入出力装置と通信し当該データ入出力装置からのデータ収集タイミングの同期を行うことを特徴とする。このような態様によれば、稼働系と待機系の各々における上記演算の実行タイミングのズレやデータ入出力装置からのデータ収集タイミングのズレに起因した不具合(稼働系/待機系の切り替え時に演算結果が突変する等)の発生を回避することが可能になる。
また、上記課題を解決するために、本発明は、制御装置間通信手段を介して互いにデータ通信し、一方は稼働系となって機器制御のための所定の演算を行い、他方は待機系となるとともに、各々異なる中継装置を介してデータ入出力装置に接続された制御装置対を形成する制御装置に、以下の転送手段、判定手段および演算実行手段を設けることを特徴とする。転送手段は、待機系として動作している状況下で動作する手段である。この転送手段はデータ入出力装置から受信したデータを、制御装置間通信手段を介して稼働系の制御装置へ転送する。判定手段および演算実行手段は稼働系として動作している状況下で動作する手段である。判定手段は、自装置とデータ入出力装置のデータ通信を中継する中継装置の停止の有無を判定する。そして、演算実行手段は、自装置とデータ入出力装置のデータ通信を中継する中継装置は停止していないと判定手段により判定された場合には当該中継装置を介して受信したデータを用いて所定の演算を実行し、停止していると判定された場合には制御装置間通信手段を介して他方の制御装置から受信したデータを用いて所定の演算を実行する。
また、上記課題を解決するために、本発明は、制御装置間通信手段を介して互いにデータ通信する2つの制御装置であって、一方は稼働系となって機器制御のための所定の演算を行い、他方は待機系となる制御装置の何れかに接続され、接続先の制御装置とデータ入出力装置との間のデータ通信を中継する中継装置に、以下の監視手段、および転送手段を設けることを特徴とする。監視手段は、前記2つの制御装置のうちの他方と前記データ入出力装置とに接続された他の中継装置との通信により前記他の中継装置の停止を監視する。転送制御手段は、自装置が待機系であり、かつ前記他の中継装置の停止を前記監視手段により検出した場合に、接続先の制御装置から受信したデータを前記データ入出力装置へ転送する。これら制御装置と中継装置の各々を組み合わせて制御システムを構築することで本発明の制御システムを構築することができる。
また、上記課題を解決するために、本発明は、CPU(Central Processing Unit)などの一般的なコンピュータを、制御装置間通信手段を介して互いにデータ通信し、一方は稼働系となって機器制御のための所定の演算を行い、他方は待機系となる制御装置対を形成する制御装置として機能させるプログラムであって、当該コンピュータを上記判定手段および上記演算実行手段として機能させるプログラムを提供する。このようなプログラムにしたがってコンピュータを作動させることで、当該コンピュータを本発明の制御装置として機能させることが可能になるからである。
また、本発明は、コンピュータを、制御装置間通信手段を介して互いにデータ通信する2つの制御装置であって、一方は稼働系となって機器制御のための所定の演算を行い、他方は待機系となる制御装置の何れかに接続され、接続先の制御装置とデータ入出力装置との間のデータ通信を中継する中継装置として機能させるプログラムであって、当該コンピュータを、上記監視手段および上記転送制御手段として機能させるプログラム、を提供する。このようなプログラムにしたがってCPUなどの一般的なコンピュータを作動させることで、当該コンピュータを本発明の中継装置として機能させることが可能になるからである。
本発明によれば、制御装置を含むとともに当該制御装置とデータ入出力装置とのデータ通信を中継する中継装置を含み、制御装置と中継装置の両者が冗長化された制御システムにおいて、稼働系の中継装置が停止する(或いは停止した)場合であっても、制御装置についての稼働系/待機系の切り替えを発生させずにシステムの稼働を継続することが可能になる。
本発明の一実施形態の制御システム1の構成例を示す図である。 制御システム1に含まれる制御装置10の構成例を示す図である。 制御装置10の制御部110が制御プログラム1342にしたがって実行するタクト同期処理を説明するための図である。 稼働系の制御装置10の揮発性記憶部132に格納される管理テーブルの一例を示す図である。 稼働系の制御装置10の制御部110が制御プログラム1342にしたがって実行するデータ切り替え処理の流れを示すフローチャートである。 制御システム1に含まれるIOマスタ200の構成例を示す図である。 待機系の制御装置10に接続されているIOマスタ200の制御部210が中継制御プログラム2442にしたがって実行する転送制御処理の流れを示すフローチャート。 制御装置10およびIOマスタ200の動作例を示す図である。 制御装置10およびIOマスタ200の動作例を示す図である。 本実施形態の効果を説明するための図である。 制御装置とIOマスタの両者が冗長化された従来の制御システムの問題点を説明するための図である。
以下、図面を参照し、この発明の実施形態について説明する。
(A:構成)
図1は、本発明の一実施形態の制御システム1の構成例を示す図である。制御システム1は、工場などの産業施設内に敷設され、当該産業施設における操業を制御するためのコンピュータシステムである。図1に示すように、制御システム1は、制御装置10Aおよび制御装置10Bの2つの制御装置を含んでいる。制御装置10Aおよび制御装置10Bの各々は何れもPLCである。図1に示すように、制御装置10Aはマスタ/スレーブ間ネットワーク60Aに接続されており、制御装置10Bはマスタ/スレーブ間ネットワーク60Bに接続されている。マスタ/スレーブ間ネットワーク60AにはIOマスタ200_1AとIOマスタ200_2Aが接続されており、マスタ/スレーブ間ネットワーク60BにはIOマスタ200_1BとIOマスタ200_2Bが接続されている。
以下では、マスタ/スレーブ間ネットワーク60Aに接続されている制御装置を「A系の制御装置」と呼び、同マスタ/スレーブ間ネットワーク60Aに接続されているIOマスタを「A系のIOマスタ」と呼ぶ。同様に、マスタ/スレーブ間ネットワーク60Bに接続されている制御装置を「B系の制御装置」と呼び、同マスタ/スレーブ間ネットワーク60Bに接続されているIOマスタを「B系のIOマスタ」と呼ぶ。図1に示す制御システム1では制御装置10Aが「A系の制御装置」であり、制御装置10Bが「B系の制御装置」である。また、IOマスタ200_1AとIOマスタ200_2Aは「A系のIOマスタ」であり、IOマスタ200_1BとIOマスタ200_2Bは「B系のIOマスタ」である。
図1に示すように、IOマスタ200_1AとIOマスタ200_1BはIOネットワーク40_1に接続されている。IOネットワーク40_1にはデータ入出力装置50_1およびデータ入出力装置50_2が接続されている。IOマスタ200_1Aは、データ入出力装置50_1およびデータ入出力装置50_2の各々と制御装置10Aとの間のデータ通信を中継する中継装置である。同様に、IOマスタ200_1Bは、データ入出力装置50_1およびデータ入出力装置50_2の各々と制御装置10Bとの間のデータ通信を中継する中継装置である。以下では、IOネットワーク40_1に接続されている一群の装置(すなわち、IOマスタ200_1AおよびIOマスタ200_1Bとデータ入出力装置50_1およびデータ入出力装置50_2)を「IOマスタ局20_1」と総称する場合がある。
IOマスタ200_2AとIOマスタ200_2BはIOネットワーク40_2に接続されている。IOネットワーク40_2にはデータ入出力装置50_3およびデータ入出力装置50_4が接続されている。IOマスタ200_2Aは、データ入出力装置50_3およびデータ入出力装置50_4の各々と制御装置10Aとの間のデータ通信を中継する中継装置である。同様に、IOマスタ200_2Bは、データ入出力装置50_3およびデータ入出力装置50_4の各々と制御装置10Bとの間のデータ通信を中継する中継装置である。以下では、IOネットワーク40_2に接続されている一群の装置(すなわち、IOマスタ200_2AおよびIOマスタ200_2Bとデータ入出力装置50_3およびデータ入出力装置50_4)を「IOマスタ局20_2」と総称する場合がある。
図1に示す制御システム1では、IOマスタ局20_1とIOマスタ局20_2の各々には、夫々を一意に示す識別子(局番号)が予め割り当てられている。そして、データ入出力装置50_1およびデータ入出力装置50_2の各々にはIOネットワーク40_1においてこれら各装置を一意に識別する識別子(例えば、IOネットワーク内アドレス)が予め割り当てられており、データ入出力装置50_3およびデータ入出力装置50_4の各々にも、IOネットワーク40_2においてこれら各装置を一意に識別するIOネットワーク内アドレスが割り当てられている。制御装置10Aおよび制御装置10Bの各々は、データ入出力装置50_1〜50_4の何れかを相手装置としてデータの送信を行う場合、その相手装置を局番号とIOネットワーク内アドレスの組み合わせで指定する。
図1に示すように制御装置10Aと制御装置10Bはデータ同期化バス30を介して互いに接続されている。データ同期化バス30は制御装置10Aと制御装置10Bの間のデータ通信を仲介する制御装置間通信手段の役割を果たす。制御システム1では、制御装置10Aと制御装置10Bのうちの一方が稼働系として振る舞い、他方は待機系として振る舞う。例えば、制御装置10Aと制御装置10Bのうち先に電源を投入された方が稼働系として振る舞うといった具合である。そして、制御装置10Aと制御装置10Bの各々は自装置の稼働状態(稼働系であるのか、それとも待機系であるのか)と故障の有無等とを示す状態データをデータ同期化バス30を介して他方へ送信する処理を周期的に実行する。例えば、制御装置10Aが稼働系である場合、制御装置10Bは、データ同期化バス30を介して受信した状態データを解析して制御装置10Aの停止(故障に起因する予期せぬ停止や保守メンテナンス等による計画的な停止)を検知すると、以降、稼働系として振る舞う。一方、制御装置10Aは、データ同期化バス30を介して受信した状態データを解析して制御装置10Bが稼働系としての動作を開始したことを検知すると、以降、待機系として振る舞う。
つまり、本実施形態の制御システム1は、制御装置が冗長化されているとともに、データ入出力装置と制御装置との間のデータ通信を中継する中継装置(IOマスタ)が冗長化された制御システムである。なお、本実施形態では、制御装置10Aと制御装置10Bのハードウェア構成は同一であるため、以下では、制御装置10Aと制御装置10Bの両者を区別する必要がない場合には「制御装置10」と表記する。IOマスタ局20_1とIOマスタ局20_1についても各々のハードウェア構成は同一であるため、IOマスタ局20_1とIOマスタ局20_2の各々を区別する必要がない場合には、「IO局マスタ20」と表記する。そして、IOマスタ局20に含まれる2つのIOマスタについてもハードウェア構成は同一であるため、各々を区別する必要がない場合には「IOマスタ200」と表記する。
制御装置とIOマスタとが冗長化された従来の制御システムでは、稼働系の制御装置そのものが停止する場合だけでなく、稼働系のIOマスタの何れかが停止する場合も、制御装置10についての稼働系/待機系の切り替えが行われた。これに対して、本実施形態では、データ同期化バス30を介した通信の不通等によって稼働系の故障が検出された場合など稼働系の制御装置そのものが停止する場合には稼働系/待機系の切り替えは行われるものの、稼働系のIOマスタ200の停止が発生したとしても制御装置10についての稼働系/待機系の切り替えは行われない。本実施形態では、制御装置10およびIOマスタ200の各々に本実施形態の特徴を顕著に示す処理を実行させることで、稼働系のIOマスタ200が停止したとしても、制御装置10についての稼働系/待機系の切り替えを発生させずにシステムの稼働を継続することが可能となっている。以下、本実施形態の特徴を顕著に示す制御装置10およびIOマスタ200を中心に説明する。また、以下では、稼働系のIOマスタ200が停止する場合の具体例として稼働系のIOマスタに何らかの故障が発生する場合を取りあげるが、保守メンテナンス等により稼働系のIOマスタが停止する場合も同様である。
(A−1:制御装置10の構成)
図2は、制御装置10のハードウェア構成の一例を示す図である。図2に示すように制御装置10は、制御部110、通信インタフェース(以下、「I/F」と略記)部120、記憶部130、およびこれら構成要素間のデータ授受を仲介するバス140を含んでいる。制御部110は例えばCPUである。制御部110は、記憶部130(より正確には不揮発性記憶部134)に格納されている制御プログラム1342を実行することで制御装置10の制御中枢として機能する。制御部110が制御プログラム1342にしたがって実行する処理の詳細については後に明らかにする。また、制御部110は、前述したデータ同期化バス30に接続されている。
通信I/F部120は、例えばNIC(Network Interface Card)であり、マスタ/スレーブ間ネットワークに接続されている。より詳細に説明すると、制御装置10Aの通信I/F部120はマスタ/スレーブ間ネットワーク60Aに接続されており、制御装置10Bの通信I/F部120はマスタ/スレーブ間ネットワーク60Bに接続されている。通信I/F部120は、接続先のマスタ/スレーブ間ネットワークを介して送信されてくるデータを受信し制御部110に引き渡す一方、制御部110から引き渡されたデータを当該マスタ/スレーブ間ネットワークに送出する。
記憶部130は、図2に示すように、揮発性記憶部132と不揮発性記憶部134を含んでいる。揮発性記憶部132は例えばRAM(Random Access Memory)などの揮発性メモリである。揮発性記憶部132は制御プログラム1342を実行する際のワークエリアとして制御部110によって利用される。また、揮発性記憶部132には、当該揮発性記憶部132を有する制御装置10が稼働系として動作しているのかそれとも待機系として動作しているのかを示す稼働/待機フラグが格納される。不揮発性記憶部134は例えばフラッシュROM(Read Only Memory)などの不揮発性メモリである。不揮発性記憶部134には、制御プログラム1342と機器制御のためのアプリケーションプログラム(図2では図示略)が予め格納されている。これらプログラムの役割は以下の通りである。
不揮発性記憶部134に記憶されているアプリケーションプログラムは、機器制御のための所定の演算を、データ入出力装置から送信されてくるデータを入力データとして制御部110に実行させるプログラムである。制御プログラム1342は、当該アプリケーションプログラムを一定の周期(以下、当該周期のことを「タクト」と呼ぶ)で周期的に実行する処理、およびタクトの開始タイミング等を稼働系と待機系とで同期させるタクト同期処理を制御部110に実行させるプログラムである。制御プログラム1342は、制御装置10の電源(図示省略)を契機としてその実行が開始される。
上記アプリケーションプログラムを繰り返し実行する際の単位であるタクトには、データ入出力装置50_1〜50_4の各々からのデータ入力、上記演算の実行、演算結果の等値化および等値化済の演算結果を表すデータの送達の各処理が含まれる。そして、1タクトの時間長Tは、データ入出力装置50_1〜50_4の各々からのデータ収集、上記演算の実行、演算結果の等値化および等値化済の演算結果を表すデータの送達に要する時間長よりも充分に長く設定されている。
制御部110が制御プログラム1342にしたがって実行するタクト同期処理の処理内容は以下の通りである。なお、以下に説明する例では、制御装置10Aが稼働系であるとする。制御装置10Aにおける最初のタクトの開始の際に制御装置10Aの制御部110は、図3に示すように、データ同期化バス30を介して制御装置10Bに同期フレームSFを送信する。以降、制御装置10Aの制御部110はタイマを用いて時間Tの経過を計測し、時間Tが経過する毎に新たなタクトを開始するとともに当該タイマをリセットする。
図3に示すように、上記の要領で制御装置10Aから制御装置10Bへ送信された同期フレームSFがその送信時刻から時間Δt(ただし、Δtはタクトの時間長Tに比較して充分に短い)だけ遅れて制御装置10Bに到達したとする。制御装置10Bの制御部110は、データ同期化バス30を介して同期フレームSFを受信すると、図3に示すように、最初のタクトを開始するとともに、データ同期化バス30を介して確認応答フレームAFを返信する。また、待機系の制御装置10の制御部110もタイマを用いてタクトの周期的な実行を開始する。この時点では制御装置10Aにおけるタクトの開始タイミングと制御装置10Bにおけるタクトの開始タイミングはΔtだけズレている。
図3に示すように、上記の要領で制御装置10Aから制御装置10Bへ送信された同期フレームSFがその送信時刻から時間Δtだけ遅れて(すなわち、最初のタクトの開始時点から時間2Δt経過後に)制御装置10Bに到達したとする。制御装置10Aの制御部110は、確認応答フレームAFを受信すると、その受信時刻と最初のタクトの開始時刻との時間差(図3に示す例では、2Δt)を求め、当該時間差の半分の値を示す遅延時間通知フレームDFを次のタクトの開始の際にデータ同期化バス30を介して制御装置10Bへ送信する。
制御装置10Bの制御部110は、遅延時間通知フレームDFの示す値(図3に示す例では、Δt)の分だけタイマのカウント値を大きな値に書き換える。その結果、当該タイマのタイムアウトがΔtだけ早まる。これにより、以降のタクトの開始タイミングが稼働系と待機系とで揃うことになる。このようなタクトの開始タイミングの同期を行うのは、稼働系/待機系の切り替えの際にタクトの開始タイミングのズレに起因する演算結果の突変などの不具合が生じないようにするためである。なお、図3では詳細な図示を省略したが、データ入出力装置50_1〜50_4の各々は、1タクトにおいて互いに重複しないタイミングで制御装置10にデータを送信する。稼働系および待機系の各制御装置10の制御部110は、データ入出力装置50_1〜50_4の各々との間でも同様に同期フレームSF、確認応答フレームAFおよび遅延時間通知フレームDFを用いた通信を行い、1タクトにおける各データ入出力装置のデータ送信タイミング(制御装置10から見ればデータ収集タイミング)を稼働系と待機系とで同期させる。各データ入出力装置からのデータ収集タイミングのズレに起因する演算結果の突変を回避するためである。
待機系の制御装置10においては、制御プログラム1342にしたがって作動している制御部110は、前述した1タクトにおけるデータ入力処理において稼働系へのデータ転送処理を実行する。このデータ転送処理では、制御部110は、通信I/F部120を介して受信したデータの全てをデータ同期化バス30を介して稼働系の制御装置10へ転送する。一方、稼働系の制御装置10においては、制御プログラム1342にしたがって作動している制御部110は、前述した1タクトにおけるデータ入力処理において稼働系のIOマスタ200と通信し、各IOマスタ局20に含まれるIOマスタ200についての故障の有無を表す管理テーブルを生成して揮発性記憶部132に書き込む。
図4は、上記管理テーブルの一例を示す図である。
図4に示すように、管理テーブルには、制御システム1に含まれるIOマスタ局20の各々を一意に示す局番号に対応付けて、その局番号の示すIOマスタ局20に含まれるA系およびB系の各IOマスタ200の故障の有無を示す故障フラグ(値が”FALSE”であれば故障がないこと(すなわち停止していないこと)を意味し、値が”TRUE”であれば故障があること(すなわち、停止していること)を意味する)が系毎に格納される。本実施形態では、IOマスタ局20_1の局番号は”1”であり、IOマスタ局20_2の局番号は”2”である。例えば、図4に示す管理テーブルは、IOマスタ200_1A、210_1Bおよび210_2Bには故障は無く、IOマスタ200_2Aには何らかの故障が有ることを表している。
そして、1タクトにおける演算実行処理では、稼働系の制御装置10の制御部110は、図5に示す入力データ切り替え処理を制御プログラム1342にしたがって実行し、上記所定の演算を実行する。図5は入力データ切り替え処理の流れを示すフローチャートである。図5に示すように、制御部110は、稼働系のIOマスタ200の何れかに故障が有るか否かを上記管理テーブルを参照して判定する(ステップSA100)。例えば、制御装置10Aが稼働系であれば、当該制御装置10Aの制御部110は各局番号に対応付けて管理テーブル(図4参照)に格納されているA系のフラグが全て”FALSE”であれば、稼働系のIOマスタ200に故障はないと判定し、ステップSA100の判定結果は“No”となる。これに対して、A系のフラグの何れかが“TRUE”であれば、ステップSA100の判定結果は“Yes”となる。
ステップSA100の判定結果が“No”であれば、制御部110は、稼働系の各IOマスタ200により転送されたデータを入力データとし(ステップSA110)、上記アプリケーションプログラムにしたがって所定の演算を実行する(ステップSA130)。これに対して、ステップSA100の判定結果が“Yes”であれば、制御部110は、故障のない稼働系のIOマスタ200から転送されたデータ、および故障している稼働系のIOマスタ200と対になる待機系のIOマスタ200により転送されたデータ(すなわち、待機系の制御装置10から転送されたデータ)を入力データとし(ステップSA120)、上記ステップSA130の処理を実行する。なお、待機系の制御装置10においては、1タクトにおける演算実行処理において待機系のIOマスタ200により転送されたデータを用いて上記所定の演算を実行しても良いが、後述する等値化処理が行われるため、上記所定の演算の実行を省略しても良い。待機系の制御装置10に上記所定の演算を実行させるようにすれば、制御システム1は所謂ホットスタンバイ方式の制御システムとなり、上記所定の演算の実行を省略すれば、制御システム1は所謂ウォームスタンバイ方式の制御システムとなる。
等値化処理とは、稼働系の制御装置10における演算結果を表すデータをデータ同期化バス30を介して待機系の制御装置10に送信し、待機系の制御装置10に記憶させる(待機系において上記演算を実行する場合には、その演算結果を表すデータを上記稼働系における演算結果を表すデータで上書きする)処理である。そして、稼働系および待機系の各制御装置10の各々において制御プログラム1342にしたがって作動している制御部110は、上記所定の演算の演算結果を表すデータをデータ入出力装置50_1〜50_4の何れかに与える必要がある場合には、上記等値化済の演算結果を表すデータをその宛先のデータ入出力装置へ送信する。
以上が制御装置10の構成である。
(A−2:IOマスタ200の構成)
次いで、図6を参照しつつIOマスタ200の構成を説明する。
図6は、IOマスタ200の構成例を示す図である。図6に示すように、IOマスタ200は、制御部210、第1通信I/F部220、第2通信I/F部230、記憶部240、およびこれら構成要素間のデータ授受を仲介するバス250を含んでいる。制御部210は、制御装置10における制御部110と同様にCPUである。制御部210は記憶部240(より正確には不揮発性記憶部244)に記憶されている中継制御プログラム2442を実行することによりIOマスタ200の制御中枢として機能する。中継制御プログラム2442にしたがって制御部210が実行する処理の詳細については後に明らかにする。
第1通信I/F部220および第2通信I/F部230は、制御装置10における通信I/F部120と同様にNICである。第1通信I/F部220はマスタ/スレーブ間ネットワークに接続されており、第2通信I/F部230はIOネットワークに接続されている。より詳細に説明すると、A系のIOマスタ200の第1通信I/F部220はマスタ/スレーブ間ネットワーク60Aに接続されており、B系のIOマスタ200の第1通信I/F部220はマスタ/スレーブ間ネットワーク60Bに接続されている。IOマスタ局20_1に含まれるIOマスタ200の第2通信I/F部230はIOネットワーク40_1に接続されており、IOマスタ局20_2に含まれるIOマスタ200の第2通信I/F部230はIOネットワーク40_2に接続されている。第1通信I/F部220は、マスタ/スレーブ間ネットワークを介して自局宛てに送信されてくるデータを受信して制御部210に引き渡す一方、制御部210から引き渡されたデータを当該ネットワークへ送出する。第2通信I/F部230は、IOネットワークから自装置の属する系の制御装置10宛てに送信されてくるデータを受信して制御部210へ引き渡す一方、制御部210から引き渡されたデータを当該ネットワークへ送出する。
記憶部240は、図6に示すように、揮発性記憶部242と不揮発性記憶部244を含んでいる。揮発性記憶部242は制御装置10における揮発性記憶部132と同様に揮発性メモリであり、不揮発性記憶部244は制御装置10における不揮発性記憶部134と同様に不揮発性メモリである。揮発性記憶部242は、中継制御プログラム2442を実行する際のワークエリアとして制御部210によって利用される。不揮発性記憶部244には、中継制御プログラム2442が予め格納されている。制御部210は、IOマスタ200の電源投入(図示略)を契機として中継制御プログラム2442を揮発性記憶部242に読み出しその実行を開始する。
中継制御プログラム2442にしたがって作動している制御部210は、第2通信I/F部230から引き渡されたデータを第1通信I/F部220に引き渡す処理を実行する。すなわち、第2通信I/F部230に接続されているIOネットワークを介してデータ入出力装置から自装置の属する系の制御装置宛てに送信されてくるデータは無条件に、第1通信I/F部220に接続されているマスタ/スレーブ間ネットワークを介して当該ネットワークに接続されている制御装置へ転送される。この点は従来のIOマスタと同様である。
加えて、中継制御プログラム2442にしたがって作動している制御部210は、同じ系に属する制御装置10とマスタ/スレーブ間ネットワークを介して通信し、当該制御装置10から稼働/待機フラッグを取得して揮発性記憶部242に書き込む処理と、同じIOマスタ局に属する他系のIOマスタへIOネットワークを介して自装置の故障の有無を示す状態データを送信する処理を周期的に実行する。つまり、中継制御プログラム2442にしたがって作動している制御部210は、同じIOマスタ局に属する他系のIOマスタから受信した状態データを参照して当該他のIOマスタの稼働状態を監視する監視手段の役割を果たす。なお、稼働系のIOマスタ200(すなわち、揮発性記憶部242に記憶されている稼働/待機フラグの値が稼働系を示す値のIOマスタ200)の制御部210は、自装置の稼働状態を示す状態データと当該IOマスタ200と対になる他のIOマスタ200の状態データとを、自装置と同じ系に属する制御装置10へ当該制御装置10からの要求に応じて(或いは周期的に)送信する処理も実行する。
そして、中継制御プログラム2442にしたがって作動している制御部210は、第1通信I/F部220を介して自局宛てのデータを受信したことを契機として、図7に示す転送制御処理を実行する。図7に示すように、この転送制御処理では、制御部210は、まず、揮発性記憶部242に記憶されている稼働/待機フラグを参照し、自装置が稼働系のIOマスタ200であるか否かを判定する(ステップSB100)。ステップSB100の判定結果が“Yes”であれば、制御部210は第1通信I/F部220を介して受信したデータを第2通信I/F部230に与え(ステップSB120)、当該転送制御処理を終了する。
これに対して、ステップSB100の判定結果が“No”であれば、制御部210は、自装置と対になるIOマスタ200(すなわち、稼働系のIOマスタ)が故障しているか否かを、当該IOマスタから受信した状態データを参照して判定する(ステップSB110)。ステップSB110の判定結果が“Yes”であれば、制御部210はステップSB120の処理を実行して本転送制御処理を終了する。逆に、ステップSB110の判定結果が“No”であれば、制御部210はステップSB120の処理を実行することなく、本転送制御処理を終了する。このため、本実施形態では、稼働系のIOマスタ200に何らかの故障が発生しても、制御装置10についての稼働系/待機系の切り替えを行うことなくデータ入出力装置へのデータ出力を継続し、システムの稼働を継続することができる。
以上がIOマスタ200の構成である。
(B:動作)
以下、データ入出力装置50_1から出力されたデータを使用して所定の演算を行い、その演算結果を表すデータをデータ入出力装置50_1に与える場合を例にとって制御装置10およびIOマスタ200の動作を説明する。なお、以下では、制御装置10Aが稼働系であり、制御装置10Bが待機系である場合について説明する。また、以下に説明する動作例ではタクトの開始タイミングおよび各タクトにおけるデータ収集タイミングの同期は完了している場合について説明する。
(B−1:稼働系のIOマスタ200が故障していない場合の動作)
まず、データ入出力装置50_1と制御装置10Aとの間のデータ通信を中継するIOマスタ200_1A、およびデータ入出力装置50_1と制御装置10Bとの間のデータ通信を中継するIOマスタ200_1Bの何れにも故障が発生しない場合の動作例を図8を参照しつつ説明する。データ入出力装置50_1は、各タクトの予め定められた送信タイミングにおいて、当該データ入出力装置50_1に接続されている機器から取得したデータ(以下、入力データ)を制御装置10Aおよび制御装置10Bの各々へ宛てて送信する(図8:S100AおよびS100B)。なお、データ入出力装置50_1から制御装置10Aへ送信される入力データと、データ入出力装置50_1から制御装置10Bへ送信される入力データは同一内容のデータであるが、以下では、前者を「入力データA」と呼び、後者を「入力データB」と呼ぶ。
IOマスタ200_1Aの制御部210は、制御装置10A宛てに送信されたデータ(本動作例では、入力データA)をIOネットワーク40_1を介して受信すると、無条件に、当該データをマスタ/スレーブ間ネットワーク60Aを介して制御装置10Aに転送する(図8:S200A)。同様に、IOマスタ200_1Bの制御部210は、制御装置10B宛てに送信されたデータ(本動作例では、入力データB)をIOネットワーク40_1を介して受信すると、無条件に、当該データをマスタ/スレーブ間ネットワーク60Bを介して制御装置10Bに転送する(図8:S200B)。
前述したように本動作例では制御装置10Aが稼働系であり、制御装置10Bは待機系である。このため、制御装置10Bの制御部110は、通信I/F部120を介して入力データBを受信すると、当該入力データBをデータ同期化バス30を介して制御装置10Aに転送する(図8:ステップS300)。その結果、制御装置10Aは、入力データAと入力データBの両方を取得するのであるが、本実施形態では稼働系のIOマスタ(すなわち、IOマスタ200_1A)には故障は発生していないため、制御装置10Aの制御部110が実行するデータ切り替え処理のステップSA100の判定結果はNoとなり、ステップSA110の処理が実行される。つまり、制御装置10Aの制御部110は、稼働系のIOマスタ200により転送されたデータ(すなわち、入力データA)を用いて所所定の処理を実行し(ステップSA130)、データ入出力装置50_1に与える出力データを生成する。
上記の要領で出力データの生成を完了すると、制御装置10Aの制御部110は前述した等値化処理を行う。すなわち、制御部110は、上記出力データをデータ同期化バス30を介して制御装置10Bへ送信し(図8:S400)、記憶させる。そして、制御装置10Aの制御部110はデータの宛先として局番号=1およびデータ入出力装置50_1のIOネットワーク内アドレスを指定し、上記出力データをマスタ/スレーブ間ネットワーク60Aに送出する(図8:S500A)。同様に、制御装置10Bの制御部110はデータの宛先としてデータ入出力装置50_1を指定し、制御装置10Aから受け取った出力データをマスタ/スレーブ間ネットワーク60Bに送出する(図8:S500B)。以下では、制御装置10Aからデータ入出力装置50_1へ送信される出力データを「出力データA」と呼び、制御装置10Bからデータ入出力装置50_1へ送信される出力データを「出力データB」と呼ぶ。
出力データAおよび出力データBでは、宛先の局番号として1が指定されている。このため、出力データAはIOマスタ200_1Aによって受信され、出力データBはIOマスタ200_1Bによって受信される。IOマスタ200_1Aの制御部210は出力データAの受信を契機として転送制御処理(図7参照)を実行し、IOマスタ200_1Bの制御部210は出力データBの受信を契機として同転送制御処理を実行する。本動作例では、IOマスタ200_1AおよびIOマスタ200_1Bの何れにも故障は発生しておらず、IOマスタ200_1Aが稼働系である。このため、IOマスタ200_1Aの制御部210の実行する転送制御処理では、ステップSB100の判定結果は“Yes”となり、ステップSB120の処理が実行される。これに対して、IOマスタ200_1Bの制御部210の実行する転送制御処理では、ステップSB100の判定結果は“No”となり、ステップSB110の判定結果も“No”となるため、ステップSB120の処理が実行されることはない。したがって、本動作例では、図8に示すようにIOマスタ200_1Aによって出力データAがデータ入出力装置50_1へ転送される(S600)。以上がIOマスタ200_1AおよびIOマスタ200_1Bの何れにも故障が発生しない場合の動作である。
(B−2:稼働系のIOマスタ200に故障が発生した場合の動作)
次いで、図8におけるS600の処理の実行直後に稼働系のIOマスタ200(すなわち、IOマスタ200_1A)に故障が発生した場合の動作を図9を参照しつつ説明する。なお、本実施形態の制御システム1では、稼働系のIOマスタ200に故障が発生しても、制御装置10についての稼働系/待機系の切り替えは行われないのであるから、IOマスタ200_1Aの故障発生後も、制御装置10Aが稼働系であり、制御装置10Bは待機系である。
IOマスタ200_1Aに故障が発生したタクトの次のタクトでは、データ入出力装置50_1は、IOマスタ200_1Aの故障を検出し、当該タクトの予め定められたタイミングにおいて入力データBを制御装置10Bのみへ宛てて送信する(図9:S100B)。なお、上記のような故障検出をデータ入出力装置50_1に行わせず、制御装置10A宛ての入力データAの送信も行わせても良いが、IOマスタ200_1Aは故障しているため、当該入力データAが制御装置10Aに転送されることはない。
IOマスタ200_1Bは、前述した図8の場合と同様に入力データBを制御装置10Bへ転送し(図9:S200B)、制御装置10Bも前述した図8の場合と同様に入力データBを制御装置10Aへ転送する(図9:S300)。制御装置10Aの制御部110は、図8の場合と同様にデータ切り替え処理を実行するのであるが、本動作例ではIOマスタ200_1Aが故障している。このため、ステップSA100の判定結果は“Yes”となり、ステップSA120の処理が実行される。つまり、制御装置10Aの制御部110は、IOマスタ200_1Aと対になるIOマスタ200により転送されたデータ(すなわち、制御装置10B経由で転送された入力データB)を用いて所定の演算を実行し(ステップSA130)、データ入出力装置50_1に与える出力データを生成する。このように本実施形態では、稼働系のIOマスタ200に故障が発生しても制御装置10についての稼働系/待機系の切り替えは行われないのであるが、何ら問題なく上記所定の処理を実行し、上記出力データを生成することができる。
上記の要領で出力データの生成を完了すると、制御装置10Aの制御部110は前述した等値化処理を行い(S400)、制御装置10Bの制御部110はデータの宛先として局番号=1およびデータ入出力装置50_1のIOネットワーク内アドレスを指定して出力データBをマスタ/スレーブ間ネットワーク60Bに送出する(S500B)。なお、制御装置10Aからマスタ/スレーブ間ネットワーク60Aへの出力データAの送出を行っても良いが、IOマスタ200_1Aは故障しているため、当該出力データAがIOマスタ200_1Aによって受信されることはない。
図8の場合と同様に、IOマスタ200_1Bの制御部210は出力データBの受信を契機として転送制御処理(図7参照)を実行する。本動作例では、IOマスタ200_1Aは故障しているため、IOマスタ200_1Bの制御部210の実行する転送制御処理では、ステップSB110の判定結果は“Yes”となり、制御装置10BにおいてステップSB120の処理が実行される。したがって、本動作例では、図9に示すようにIOマスタ200_1Bによって出力データBがデータ入出力装置50_1へ転送される(S600)。このようにデータ入出力装置50_1への出力データの伝達も何ら問題なく実行される。
以上がIOマスタ200_1Aに故障が発生した場合の動作である。
以上説明したように本実施形態によれば、稼働系のIOマスタ200に故障が発生しても、制御装置10についての稼働系/待機系の切り替えを発生させることなくデータ入出力装置に対するデータの入出力を継続し、システムの稼働を継続することができる。したがって、アプリケーションプログラムにしたがって制御部110に実行させる演算が、制御対象の機器に印加する電圧をその実行毎に所定量ずつ引き上げて行くような演算であっても、図10に示すように、稼働系のIOマスタ200の故障(停止)に起因して上記インクリメントが停滞することはない。
(C:変形)
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態の制御システム1には、稼働系および待機系の各制御装置に各々接続される2つのIOマスタ200よりなるIOマスタ対を含むIOマスタ局20が2つ含まれていたが、本発明の制御システムに含まれるIOマスタ局は1つであっても良く、また、3つ以上であっても良い。また、上記実施形態では各IOマスタ局のIOネットワークに2つのデータ入出力装置が接続されていたが、各IOネットワークに接続されるデータ入出力装置の数は1つであっても良く、また、3つ以上であっても良い。さらに、各IOマスタ局のIOネットワークに接続されるデータ入出力装置の数が同じである必要もない。また、上記実施形態では本発明の中継装置の一例としてIOマスタを説明したが、ルータやリピータに本発明を適用しても良い。
(2)上記実施形態では、制御装置10に本実施形態の特徴を顕著に示す処理を実行させるとともに、IOマスタ200にも本実施形態の特徴を顕著に示す処理を実行させることで、稼働系のIOマスタ200が停止しても、制御装置10についての稼働系/待機系を切り替えることなく、データ入出力装置に対するデータの入出力を継続できるようにする場合について説明した。しかし、データ入出力装置からはデータを収集するのみでデータ入出力装置に対するデータ出力を行う必要がない場合には、IOマスタとしては従来のIOマスタを用い、制御装置のみ本実施形態の制御装置10を用いるようにしても良い。
(3)上記実施形態の制御装置10或いはIOマスタ200の夫々を単体で市場に流通させても良い。制御装置とIOマスタとが冗長化された既存の制御システムにおける制御装置を上記の要領で提供される制御装置10に置き換え、同制御システムにおけるIOマスタを上記の要領で提供されるIOマスタ200に置き換えることで、制御装置とIOマスタとが冗長化された既存の制御システムを上記実施形態の制御システム1に手軽に再構築することが可能になるからである。
(4)上記実施形態では、制御装置10の制御部110に本実施形態の特徴を顕著に示す処理を実行させる制御プログラム1342が制御装置10の不揮発性記憶部134に予め記憶されていたが、当該プログラムをCD−ROM(Compact Disk-Read Only Memory)やフラッシュROMなどのコンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。このようにして配布されるプログラムを一般的なプログラマブルロジックコントローラにインストールし、その制御部(例えば、CPU)を当該プログラムにしたがって作動させることで、当該プログラマブルロジックコントローラを本実施形態の制御装置10として機能させることができるからである。中継制御プログラム2442についても同様に、コンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、電気通信回線経由のダウンロードにより配布しても良い。
(5)上記実施形態では産業施設内に敷設される制御システムへの本発明の適用例を説明したが、本発明の適用対象は制御システムに限定されるものではなく、情報系システムであっても良い。例えば上記データ入力装置は銀行などのオンラインシステムにおける現金自動預け払い装置であり、上記制御装置は所謂勘定系データベースの更新制御を行う装置であっても良い。要は、データ入出力装置からデータを収集しその収集結果に応じて機器の制御を行う制御装置と、当該制御装置とデータ入出力装置との間のデータ通信を中継する中継装置とを含み、当該制御装置と当該中継装置とが共に冗長化された通信システムであれば良い。また、上記実施形態では制御装置間通信手段としてデータ同期化バス30を用いたが、所謂等値化ケーブルを制御装置間通信手段として用いても良く、無線LANインタフェースなどの無線通信手段を制御装置間通信手段として用いても良い。
1…制御システム、10,10A、10B…制御装置、20,20_1,20_2…IOマスタ局、200,200_1A、200_1B、200_2A,200_2B…IOマスタ、30…データ同期化バス、40_1,40_2…IOネットワーク、50_1,50_2,50_3,50_4…データ入出力装置、60A,60B…マスタ/スレーブ間ネットワーク、110,210…制御部、120…通信I/F部、220…第1通信I/F部、230…第2通信I/F部、130,240…記憶部、132,242…揮発性記憶部、134,244…不揮発性記憶部、1342…制御プログラム、2442…中継制御プログラム、140,250…バス。

Claims (6)

  1. データ入出力装置から送信されたデータを用いて機器制御のための所定の演算を行う稼働系の制御装置と、
    待機系の制御装置と、
    前記稼働系の制御装置と前記待機系の制御装置の間のデータ通信を仲介する制御装置間通信手段と、
    前記データ入出力装置と前記稼働系の制御装置に接続された稼働系の中継装置と、
    前記データ入出力装置と前記待機系の制御装置に接続された待機系の中継装置と、
    を有し、
    前記待機系の制御装置は、前記待機系の中継装置を介して前記データ入出力装置から受信したデータを、前記制御装置間通信手段を介して前記稼働系の制御装置へ転送し、
    前記稼働系の制御装置は、前記稼働系の中継装置について停止の有無を判定し、停止していなければ当該中継装置を介して前記データ入出力装置から受信したデータを用いて前記所定の演算を実行し、停止していれば前記制御装置間通信手段を介して前記待機系の制御装置から受信したデータを用いて前記所定の演算を実行する
    ことを特徴とする制御システム。
  2. 前記2つの制御装置の各々は、前記制御装置間通信手段を介したデータ通信により前記所定の演算の演算結果の等値化を行った後に当該等値化済の演算結果を表すデータを前記データ入出力装置へ送信し、
    前記待機系の中継装置は、前記稼働系の中継装置との通信により当該稼働系の中継装置の停止を検出した場合に、前記待機系の制御装置から受信したデータを前記データ入出力装置へ転送することを特徴とする請求項1に記載の制御システム。
  3. 稼働系および待機系の中継装置よりなる中継装置対を複数有し、中継装置対毎に異なるデータ入出力装置から送信されたデータの中継を行い、
    前記稼働系の制御装置は、前記複数の稼働系の中継装置の各々について停止の有無を判定し、停止していなければ当該中継装置により転送されたデータを用いて前記所定の演算を実行し、故障していれば、停止していると判定された中継装置と対になる待機系の中継装置により前記待機系の制御装置へ転送され、前記制御装置間通信手段を介して前記待機系の制御装置から転送されたデータを用いて前記所定の演算を実行する
    ことを特徴とする請求項1または請求項2に記載の制御システム。
  4. 前記所定の演算の実行に先立って、前記2つの制御装置の各々は、前記制御装置間通信手段を介したデータ通信により前記所定の演算の実行開始タイミングの同期を行うとともに、各データ入出力装置との通信により各データ入出力装置からのデータ収集タイミングの同期を行うことを特徴とする請求項1〜3の何れか1項に記載の制御システム。
  5. 制御装置間通信手段を介して互いにデータ通信し、一方は稼働系となって機器制御のための所定の演算を行い、他方は待機系となるとともに、各々異なる中継装置を介してデータ入出力装置とデータ通信する制御装置対を形成する制御装置において、
    待機系として動作している状況下で前記データ入出力装置から受信したデータを、前記制御装置間通信手段を介して稼働系の制御装置へ転送する転送手段と、
    自装置と前記データ入出力装置のデータ通信を中継する中継装置の停止の有無を判定する判定する判定手段と、
    稼働系として動作している状況下で、自装置と前記データ入出力装置のデータ通信を中継する中継装置は停止していないと前記判定手段により判定された場合には当該中継装置を介して受信したデータを用いて前記所定の演算を実行し、停止していると判定された場合には前記制御装置間通信手段を介して前記他方の制御装置から受信したデータを用いて前記所定の演算を実行する演算実行手段と、
    を有することを特徴とする制御装置。
  6. 制御装置間通信手段を介して互いにデータ通信する2つの制御装置であって、一方は稼働系となって機器制御のための所定の演算を行い、他方は待機系となる制御装置の何れかに接続され、接続先の制御装置とデータ入出力装置との間のデータ通信を中継する中継装置において、
    前記2つの制御装置のうちの他方と前記データ入出力装置とに接続された他の中継装置との通信により前記他の中継装置の停止を監視する監視手段と、
    自装置が待機系であり、かつ前記他の中継装置の停止を前記監視手段により検出した場合に、接続先の制御装置から受信したデータを前記データ入出力装置へ転送する転送制御手段と、
    を有することを特徴とする中継装置。
JP2014088938A 2014-04-23 2014-04-23 制御システム、制御装置、および中継装置 Active JP6330448B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014088938A JP6330448B2 (ja) 2014-04-23 2014-04-23 制御システム、制御装置、および中継装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014088938A JP6330448B2 (ja) 2014-04-23 2014-04-23 制御システム、制御装置、および中継装置

Publications (2)

Publication Number Publication Date
JP2015207240A true JP2015207240A (ja) 2015-11-19
JP6330448B2 JP6330448B2 (ja) 2018-05-30

Family

ID=54603979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014088938A Active JP6330448B2 (ja) 2014-04-23 2014-04-23 制御システム、制御装置、および中継装置

Country Status (1)

Country Link
JP (1) JP6330448B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006185308A (ja) * 2004-12-28 2006-07-13 Mitsubishi Electric Corp コントローラ二重系システム及びコントローラ多重系システム
JP2012113391A (ja) * 2010-11-22 2012-06-14 Hitachi Ltd プラント制御システム、イコライズデータ選択装置、および、イコライズデータ選択方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006185308A (ja) * 2004-12-28 2006-07-13 Mitsubishi Electric Corp コントローラ二重系システム及びコントローラ多重系システム
JP2012113391A (ja) * 2010-11-22 2012-06-14 Hitachi Ltd プラント制御システム、イコライズデータ選択装置、および、イコライズデータ選択方法

Also Published As

Publication number Publication date
JP6330448B2 (ja) 2018-05-30

Similar Documents

Publication Publication Date Title
JP4776374B2 (ja) 二重化監視制御システム、及び同システムの冗長化切替え方法
KR101815202B1 (ko) 제어 시스템 및 중계장치
JP2017505586A (ja) バスパーティシパント装置およびバスパーティシパント装置の動作の方法
US10044580B2 (en) Redundantly operable industrial communication system, communication device and method for redundantly operating an industrial communication system
CN104285190A (zh) 故障安全发现和地址分配
WO2013121568A1 (ja) ノード同期方法、ネットワーク伝送システム、及びノード装置
CN107342911B (zh) 处理装置、代替处理装置、中继装置、处理系统及处理方法
JP2004054907A (ja) プログラマブルコントローラ及びcpuユニット並びに通信ユニット及び通信ユニットの制御方法
KR101179431B1 (ko) 이더캣 네트워크 시스템 및 이의 운용 방법
JP6933183B2 (ja) セーフティ制御システムおよびセーフティ制御ユニット
JP6558882B2 (ja) 制御システム、および中継装置
WO2020090032A1 (ja) 通信システム、通信装置、通信方法及びプログラム
JP6330448B2 (ja) 制御システム、制御装置、および中継装置
JP4541241B2 (ja) プラント制御システム
US20180039248A1 (en) Programmable logic controller, slave device, and duplex system
US11327472B2 (en) System and method of connection management during synchronization of high availability industrial control systems
CN111817939B (zh) 基于工业以太网协议的主站冗余实现系统及方法
JP2007299120A (ja) 二重化プログラマブルコントローラの等値化方式
JP2016099634A (ja) 制御システム、中継装置、および制御装置
JP6350154B2 (ja) 制御システム
JP4788597B2 (ja) プログラマブルコントローラ二重化システム
JP2008211536A (ja) リモートio伝送システム
JP2016058013A (ja) 制御システム、中継装置、および制御装置
JP2004078425A (ja) 二重化制御システムの二重化切換方法
JP7306983B2 (ja) コントローラ及び施設監視システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180409

R150 Certificate of patent or registration of utility model

Ref document number: 6330448

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250