IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立ハイテクソリューションズの特許一覧

特開2023-161769二重化通信インターフェースモジュールの切替方法
<>
  • 特開-二重化通信インターフェースモジュールの切替方法 図1
  • 特開-二重化通信インターフェースモジュールの切替方法 図2
  • 特開-二重化通信インターフェースモジュールの切替方法 図3
  • 特開-二重化通信インターフェースモジュールの切替方法 図4
  • 特開-二重化通信インターフェースモジュールの切替方法 図5
  • 特開-二重化通信インターフェースモジュールの切替方法 図6
  • 特開-二重化通信インターフェースモジュールの切替方法 図7
  • 特開-二重化通信インターフェースモジュールの切替方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023161769
(43)【公開日】2023-11-08
(54)【発明の名称】二重化通信インターフェースモジュールの切替方法
(51)【国際特許分類】
   G05B 9/03 20060101AFI20231031BHJP
   G06F 11/20 20060101ALI20231031BHJP
【FI】
G05B9/03
G06F11/20 605
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022072314
(22)【出願日】2022-04-26
(71)【出願人】
【識別番号】301078191
【氏名又は名称】株式会社日立ハイテクソリューションズ
(74)【代理人】
【識別番号】110001829
【氏名又は名称】弁理士法人開知
(72)【発明者】
【氏名】大高 真人
【テーマコード(参考)】
5B034
5H209
【Fターム(参考)】
5B034BB02
5B034CC06
5H209CC09
5H209DD20
5H209GG20
5H209HH13
5H209JJ07
5H209JJ09
5H209SS01
5H209SS04
(57)【要約】
【課題】二重化通信系統のうち実行系の通信系統で異常が発生した場合に、実行系の通信インターフェースモジュールと待機系の通信インターフェースモジュールを高速に切り替えることが可能な二重化インターフェースモジュールの切替方法を提供する。
【解決手段】制御装置30は、実行系モジュールを介して受信したデータパケットに含まれる診断用データが連続して所定の基準値と一致しない回数を1系異常判定カウンタとして保持し、待機系モジュールを介して受信したデータパケットに含まれる診断用データが連続して基準値と一致しない回数を2系異常判定カウンタとして保持し、1系異常判定カウンタと前記2系異常判定カウンタとに基づいて実行系モジュールの切替が必要か否かを判定し、実行系モジュールの切替が必要と判定した場合に、実行系モジュールと待機系モジュールを切り替える。
【選択図】 図1
【特許請求の範囲】
【請求項1】
2つの通信インターフェースモジュールの一方が実行系モジュールとして使用され、他方が待機系モジュールとして使用される二重化通信インターフェースモジュールの切替方法において、
前記2つの通信インターフェースモジュールは、それぞれ、所定の診断用データを含むデータパケットを所定の周期で制御装置に送信し、
前記制御装置は、
前記実行系モジュールを介して受信したデータパケットに含まれる診断用データが連続して所定の基準値と一致しない回数を1系異常判定カウンタとして保持し、
前記待機系モジュールを介して受信したデータパケットに含まれる診断用データが連続して前記基準値と一致しない回数を2系異常判定カウンタとして保持し、
前記1系異常判定カウンタと前記2系異常判定カウンタとに基づいて前記実行系モジュールの切替が必要か否かを判定し、
前記実行系モジュールの切替が必要と判定した場合に、前記実行系モジュールと前記待機系モジュールを切り替える
ことを特徴とする二重化通信インターフェースモジュールの切替方法。
【請求項2】
請求項1に記載の二重化通信インターフェースモジュールの切替方法において、
前記制御装置は、
前記1系異常判定カウンタが所定の閾値以上でかつ前記2系異常判定カウンタが前記閾値未満である場合は、前記実行系モジュールの切替が必要と判定し、
前記1系異常判定カウンタが前記閾値未満の場合は、または、前記1系異常判定カウンタが前記閾値以上でかつ前記2系異常判定カウンタが前記閾値以上である場合は、前記実行系モジュールの切替が不要と判定する
ことを特徴とする二重化通信インターフェースモジュールの切替方法。
【請求項3】
請求項1に記載の二重化通信インターフェースモジュールの切替方法において、
前記2つの通信インターフェースモジュールは、それぞれ、前記制御装置が前記2つの通信インターフェースモジュールのうちのどちらを前記実行系モジュールとして使用しているか示す情報を前記制御装置から受信する
ことを特徴とする二重化通信インターフェースモジュールの切替方法。
【請求項4】
請求項1に記載の二重化通信インターフェースモジュールの切替方法において、
前記制御装置は、PLCで構成される
ことを特徴とする二重化通信インターフェースモジュールの切替方法。
【請求項5】
2つの通信インターフェースモジュールの一方が実行系モジュールとして使用され、他方が待機系モジュールとして使用される二重化通信インターフェースモジュールの切替方法において、
前記2つの通信インターフェースモジュールは、それぞれ、
所定の診断用データを含むデータパケットを所定の周期で制御装置から受信し、
前記実行系モジュールが受信したデータパケットに含まれる診断用データが連続して所定の基準値と一致しない回数を1系異常判定カウンタとして保持し、
前記待機系モジュールを介して受信したデータパケットに含まれる診断用データが連続して前記基準値と一致しない回数を2系異常判定カウンタとして保持し、
前記1系異常判定カウンタに基づいて前記実行系モジュールの通信状況を判定し、
前記2系異常判定カウンタに基づいて前記待機系モジュールの通信状況を判定し、
前記実行系モジュールの通信状況および前記待機系モジュールの通信状況を前記制御装置へ送信し、
前記制御装置は、前記実行系モジュールの通信状況と前記待機系モジュールの通信状況とに応じて、前記実行系モジュールと前記待機系モジュールを切り替える
ことを特徴とする二重化通信インターフェースモジュールの切替方法。
【請求項6】
請求項5に記載の二重化通信インターフェースモジュールの切替方法において、
前記制御装置は、
前記実行系モジュールの通信状況が異常でかつ前記待機系モジュールの通信状況が正常である場合に、前記実行系モジュールと前記待機系モジュールを切り替え、
前記実行系モジュールの通信状況が異常でかつ前記待機系モジュールの通信状況が異常である場合に、前記実行系モジュールと前記待機系モジュールを切り替えない
ことを特徴とする二重化通信インターフェースモジュールの切替方法。
【請求項7】
請求項5に記載の二重化通信インターフェースモジュールの切替方法において、
前記制御装置は、インテリジェントIOで構成される
ことを特徴とする二重化通信インターフェースモジュールの切替方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2つの通信インターフェースモジュールの一方が実行系モジュールとして使用され、他方が待機系モジュールとして使用される二重化通信インターフェースモジュールの切替方法に関する。
【背景技術】
【0002】
2つのプログラマブルコントローラ(以下、PLC)を有する二重化システムにおいては、一方のPLCがマスタ(実行系)として機能し、他方のPLCがスレーブ(待機系)として機能する。そして、マスタ側のPLCに異常や故障が発生した際には、マスタとスレーブの切り替えが行われ、スレーブ側のPLCが新たなマスタとして動作する一方で当該マスタ側のPLCは新たなスレーブとして動作する。従来の二重化システムにおいては、マスタのPLCまたはスレーブのPLCがマスタとスレーブの切り替え要因を監視するようになっている。そして、切り替え要因が発生した際に、マスタとスレーブのPLCによるハンドシェイク処理が行われ、マスタとスレーブの切り替えが実行される。マスタとスレーブの切り替え後、PLCは通信インターフェースにマスタとスレーブの切り替えを指示し、通信インターフェースの動作モードもマスタとスレーブの切り替えが発生する。
【0003】
このような二重化システムを開示する文献として、例えば特許文献1がある。特許文献1には、マスタ・スレーブに二重化されたPLCの異常を検出し、マスタ・スレーブを切り替えるPLCの切替方式であって、前記各PLCは、演算部と通信部とを備え、前記各PLCの前記演算部間で互いに信号を送受信させ、前記送受信の結果に基づき前記演算部同士を診断し、前記スレーブの前記演算部が、前記マスタの前記演算部からの返信に異常を検出すれば、前記演算部のマスタ・スレーブが切り替えられ、前記切り替えられた新マスタの前記演算部が、前記通信部に前記マスタの動作を指示する一方、新スレーブの前記演算部が、前記通信部に前記スレーブの動作を指示することを特徴とするPLC二重化システムの切替方式が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-219894号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の二重化システムによれば、PLCがマスタ・スレーブに二重化されているため、PLCと接続装置との通信系統が2つ存在する。従って、マスタ側(実行系)の通信系統に異常が発生した場合でも、マスタとスレーブの切り替えを行うことにより、スレーブ側(待機系)の通信系統を介してPLCと接続装置との通信動作を行うことが可能となる。
【0006】
しかしながら、特許文献1に記載の二重化システムでは、マスタ側(実行系)の通信系統しか通信動作を行っていないため、マスタ側(実行系)の通信系統の異常が検出されてから他方の通信系統(待機系)が通信動作を開始するまでの間、PLCと接続装置との通信が不可能となる。
【0007】
本発明は、上記課題に鑑みてなされたものであり、その目的は、実行系の通信系統に異常が検出された場合に、実行系の通信インターフェースモジュールと待機系の通信インターフェースモジュールを高速に切り替えることが可能な二重化通信インターフェースモジュールの切替方法を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明は、2つの通信インターフェースモジュールの一方が実行系モジュールとして使用され、他方が待機系モジュールとして使用される二重化通信インターフェースモジュールの切替方法において、前記2つの通信インターフェースモジュールは、それぞれ、所定の診断用データを含むデータパケットを所定の周期で制御装置に送信し、前記制御装置は、前記実行系モジュールを介して受信したデータパケットに含まれる診断用データが連続して所定の基準値と一致しない回数を1系異常判定カウンタとして保持し、前記待機系モジュールを介して受信したデータパケットに含まれる診断用データが連続して前記基準値と一致しない回数を2系異常判定カウンタとして保持し、前記1系異常判定カウンタと前記2系異常判定カウンタとに基づいて前記実行系モジュールの切替が必要か否かを判定し、前記実行系モジュールの切替が必要と判定した場合に、前記実行系モジュールと前記待機系モジュールを切り替えるものとする。
【0009】
以上のように構成した本発明によれば、2つの通信インターフェースモジュールが互いに同一のデータを制御装置との間で常時送受信しているため、待機系モジュールが新たに実行系モジュールとして動作を開始するまでの時間を短縮することができる。また、制御装置が2つの通信インターフェースモジュールからそれぞれ受信した診断データに基づいて実行系モジュールの切替要否を判定することにより、通信系統の異常検出および切替判定を速やかに行うことができる。その結果、二重化通信系統のうち実行系の通信系統で異常が発生した場合に、実行系モジュールと待機系モジュールを高速に切り替えることが可能となる。
【発明の効果】
【0010】
本発明によれば、二重化通信系統のうち実行系の通信系統で異常が発生した場合に、実行系の通信インターフェースモジュールと待機系の通信インターフェースモジュールを高速に切り替えることが可能となる。
【図面の簡単な説明】
【0011】
図1】本発明の第1の実施例における制御システムの構成図
図2】制御CPUの所定の周期で実行する通信処理を示すフローチャート
図3】通信インターフェースモジュールがPLCへ送信するデータパケットの通信フォーマットの一例を示す図
図4】通信インターフェースモジュールがPLCから受信するデータパケットの通信フォーマットの一例を示す図
図5】通信系統の診断処理の詳細を示すフローチャート
図6】PLCによる通信系統の切替判定処理を示すフローチャート
図7】異常判定カウンタの変化を示すタイムチャート
図8】本発明の第2の実施例における制御システムの構成図
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を用いて説明する。なお、各図中、同等の要素には同一の符号を付し、重複した説明は適宜省略する。
【実施例0013】
図1は、本発明の第1の実施例における制御システムの構成図である。図1において、制御CPU10は、システムバス11を介して2つの通信インターフェースモジュール20a,20bに接続されている。通信インターフェースモジュール20a,20bは、フィールドネットワーク12を介して制御装置としてのPLC30に接続されている。制御CPU10は、所定の周期(本実施例では1s周期)で通信インターフェースモジュール20a,20bとの間でデータの送受信を行う。通信インターフェースモジュール20a,20b、システムバス11よりも短い所定の周期(本実施例では数10ms周期)でPLC30との間でデータの送受信を行う。
【0014】
本実施例では、通信インターフェースモジュール20aからPLC30の通信インターフェースモジュール(図示せず)までの通信系統を1系と称し、通信インターフェースモジュール20bからPLC30の通信インターフェースモジュールまでの通信系統を2系と称する。制御CPU10は、1系の通信系統を実行系、2系の通信系統を待機系して常時稼働させており、実行系の通信インターフェースモジュール20aが受信したデータに用いて制御CPU10または他の装置(図示せず)の制御を行う。制御CPU10は、実行系の通信系統に異常が検出された場合は、待機系の通信系統を実行系に切り替える。
【0015】
1系の通信インターフェースモジュール20aの出力エリア21aに設定されたデータは、PLC30によって受信され、PLC30の1系入力エリア31aに保存される。2系の通信インターフェースモジュール20bの出力エリア21bに設定されたデータは、PLC30によって受信され、PLC30の2系入力エリア31bに保存される。
【0016】
1系の通信インターフェースモジュール20aは、PLC30の1系出力エリア32bに設定されたデータを受信し、入力エリア22aに保存する。2系の通信インターフェースモジュール20bは、PLC30の2系出力エリア32bに設定されたデータを受信し、入力エリア22bに保存する。
【0017】
PLC30を制御するラダープログラム33は、1系入力エリア31aに保存された診断用データが連続して基準値に一致しない回数を1系異常判定カウンタとして保持し、2系入力エリア31bに保存された診断用データが連続して基準値に一致しない回数を2系異常判定カウンタとして保持する。
【0018】
ラダープログラム33の切替判定部34は、1系異常判定カウンタのr値と2系異常判定カウンタとに基づいて実行系の切替要否を判定し、切替指令を切替部35へ出力する。切替部35は、切替指令に応じて、1系入力エリア31aおよび2系入力エリア31bの一方を実入力エリア36に接続する。これにより、1系入力エリア31aまたは2系入力エリア31bのデータが実入力エリア36に保存される。PLC30は、実入力エリア36に保存されたデータを用いてPLC30や他の接続装置の制御を行う。
【0019】
なお、本実施例におけるフィールドネットワーク12は、実行系と待機系とで独立した2系統の通信ラインで構成しているが、1つの通信ラインを実行系と待機系とで重畳的に使用する構成としても良い。また、PLC30は、実行系と待機系とで独立した2つの通信インターフェースモジュールを備える構成としても良いし、1つの通信インターフェースモジュールを実行系と待機系とで共用する構成としても良い。
【0020】
図2は、制御CPU10が所定の周期(1s周期)で実行する通信処理を示すフローチャートである。以下、各ステップについて順に説明する。
【0021】
制御CPU10は、まず、PLC30に対するデータの入出力方向を判定する(ステップS101)。
【0022】
ステップS101で出力方向と判定した場合は、出力処理を実行し(ステップS102)、当該フローを終了する。当該出力処理では、2つの通信インターフェースモジュール20a,20bから同一のデータを送信する。
【0023】
図3に通信インターフェースモジュール20a,20bがPLC30へ送信するデータパケットの通信フォーマットの一例を示す。図3において、データパケットは、データパケットの開始を示すヘッダー、送信先装置のアドレス、データ部、データパケットの終了を示すヘッダー等で構成される。ヘッダー、アドレス、およびフッターはフィールドネットワークに応じて異なる。データ部の一部は、PLC30や他の接続装置の制御に必要なデータではなく、通信系統の異常を検出するための診断用データとして確保されている。診断用データは1ビットで構成され、予め決められた一定の基準値(本実施例では1)が送信時に設定される。なお、診断用データは複数ビットで構成しても良い。
【0024】
図2に戻り、ステップS101で入力方向と判定した場合は、通信系統の診断処理を実行する(ステップS103)。ステップS103の詳細については後述する。
【0025】
ステップS103に続き、通信系統の診断処理の結果を判定する(ステップS104)。ステップS104で正常と判定した場合は、入力処理を実行し(ステップS105)、当該フローを終了する。当該入力処理では、実行系の通信インターフェースモジュール20a(20b)の入力エリア22a(22b)に保存されているデータを取得する。
【0026】
図4に通信インターフェースモジュール20a,20bがPLC30から受信するデータパケットの通信フォーマットの一例を示す。図4において、データパケットは、データパケットの開始を示すヘッダー、送信先装置のアドレス、データ部、データパケットの終了を示すヘッダー等で構成される。ヘッダー、アドレス、およびフッターはフィールドネットワークに応じて異なる。データ部の一部は、制御CPU10や他の接続装置の制御に必要なデータではなく、通信状況/使用情報として確保されている。通信状況/使用情報は4ビットで構成され、1系が実行系として使用されているか否かを示す値(1または0)、2系が実行系として使用されている否かを示す値(1または0)、1系が正常か異常かを示す値(1または0)、および2系が正常か異常かを示す値(1または0)が各ビットに設定される。
【0027】
図2に戻り、ステップS104の入力処理では、さらに、通信インターフェースモジュール20a,20bの受信データから通信状況/使用情報を抽出し、実行系の切替が必要な場合に待機系を実行系に切り替え、当該フローを終了する。
【0028】
図5は、通信系統の診断処理(図2のステップS103)の詳細を示すフローチャートである。以下、各ステップについて順に説明する。
【0029】
制御CPU10は、まず、通信インターフェースモジュール20a,20bの自己診断を行う(ステップS201)。自己診断とは、通信インターフェースモジュール20a,20bが自身のハードウェア異常を検出する処理である。
【0030】
ステップS201に続き、通信インターフェースモジュール20a,20bの自己診断の結果に異常が無いか否かを判定する(ステップS202)。
【0031】
ステップS202で異常無し(YES)と判定した場合は、制御CPU10―通信インターフェースモジュール20a,20b間の通信診断を行う(ステップS203)。
【0032】
ステップS202に続き、制御CPU10―通信インターフェースモジュール20a,20b間の通信診断結果に異常が無いか否かを判定する(ステップS204)。
【0033】
ステップS204で異常無し(YES)と判定した場合は、フィールドネットワーク12の診断を行う(ステップS205)。
【0034】
ステップS205に続き、フィールドネットワーク12の診断結果に異常が無いか否かを判定する(ステップS206)。
【0035】
ステップS206で異常無し(YES)と判定した場合は、通信系統の診断結果を正常とし(ステップS207)、リトライカウンタをリセットし(ステップS208)、当該フローを終了する。ここで、リトライカウンタは、通信系統の診断結果が連続して異常となった回数を表す変数である。
【0036】
ステップS204,S206,S206のいずれかで異常有り(NO)と判定した場合は、通信系統の診断結果を異常とし(ステップS209)、リトライカウンタが閾値未満であるか否かを判定する(ステップS210)。ここでいう閾値は、通信系統の診断結果が何回連続して異常となった場合に通信系統の切替処理を実行するかを表す設定値であり、通信インターフェースモジュール20a,20bによって異なる。
【0037】
ステップS210でリトライカウンタが閾値以上でない(NO)と判定した場合は、リトライカウンタに1を加算し(ステップS211)、当該フローを終了する。
【0038】
ステップS210でリトライカウンタが閾値以上である(YES)と判定した場合は、通信系統の切替処理を行う(ステップS212)。すなわち、実行系として稼働していた1系を待機系に設定するとともに、待機系として稼働していた2系を実行系に設定する。
【0039】
ステップS212に続き、上位の制御装置(図示せず)にアラームを発報するように指示し(ステップS213)、当該フローを終了する。これにより、オペレータは通信系統に異常が発生したことを把握することができる。
【0040】
図6は、PLC30による通信系統の切替判定処理を示すフローチャートである。以下、各ステップを順に説明する。
【0041】
PLC30は、まず、通信インターフェースモジュール20a,20bから受信したデータに含まれる診断用データを抽出し(ステップS301)、予め設定された基準値と一致するか否かを判定する(ステップS302)。
【0042】
ステップS302で基準値と一致する(YES)と判定した場合は、1系および2系のうちPLC30が実行系として使用している系(使用系)の異常判定カウンタをゼロにリセットし(ステップS303)、通信状況/使用情報を更新し(ステップS304)、当該フローを終了する。
【0043】
ステップS302で基準値と一致しない(NO)と判定した場合は、使用系の異常判定カウンタに1を加算し(ステップS305)、異常判定カウンタが閾値以上であるか否かを判定する(ステップS306)。
【0044】
ステップS306で異常判定カウンタが閾値未満である(NO)と判定した場合は、通信状況/使用情報を更新し(ステップS304)、当該フローを終了する。
【0045】
ステップS306で異常判定カウンタが閾値以上である(YES)と判定した場合は、1系および2系のうちPLC30が実行系として使用していない系(他系)の異常判定カウンタが閾値未満であるか否かを判定する(ステップS307)。
【0046】
ステップS307で他系の異常判定カウンタが閾値以上である(NO)と判定した場合は、通信状況/使用情報を更新し(ステップS304)、当該フローを終了する。
【0047】
ステップS307で他系の異常判定カウンタが閾値未満である(YES)と判定した場合は、使用系を切り替え(ステップS308)、通信状況/使用情報を更新し(ステップS304)、当該フローを終了する。
【0048】
図7は、1系異常判定カウンタおよび2系異常判定カウンタの変化を示すタイムチャートである。なお、本実施例では、1系異常判定カウンタおよび2系異常判定カウンタに対する閾値を2とする。
【0049】
PLC30は、所定の周期(数10ms周期)で2つの通信インターフェースモジュール20a,20bからデータを受信する。
【0050】
3回目の周期で1系(実行系)の診断用データが基準値と一致しないため、1系異常判定カウンタに1が加算される。4回目の周期で受信した診断用データが基準値と一致するため、1系異常判定カウンタはゼロにリセットされる。5回目の周期で1系の診断用データが基準値と一致しないため、1系異常判定カウンタに1が加算され、続く6回目の周期でも1系の診断用データが基準値と一致しないため、1系異常判定カウンタに更に1が加算される。その結果、異常判定カウンタが閾値(2)に達し、1系が異常と判定される。
【0051】
一方、1回目から6回目の周期では、2系の診断用データは基準値と一致するため、2系異常判定カウンタはゼロのままである。従って、6回目の周期で1系異常判定カウンタが閾値(2)に達したタイミングで、実行系が1系から2系に切り替わる。その後、8回目の周期で2系異常判定カウンタも閾値(2)に達しているが、1系異常判定カウンタが閾値(2)未満ではないため、実行系の切替は行われない。
【0052】
(まとめ)
本実施例では、2つの通信インターフェースモジュール20a,20bの一方が実行系モジュールとして使用され、他方が待機系モジュールとして使用される二重化通信インターフェースモジュールの切替方法において、2つの通信インターフェースモジュール20a,20bは、それぞれ、所定の診断用データを含むデータパケットを所定の周期(数10ms周期)で制御装置30に送信し、制御装置30は、実行系モジュールを介して受信したデータパケットに含まれる診断用データが連続して所定の基準値(1)と一致しない回数を1系異常判定カウンタとして保持し、待機系モジュールを介して受信したデータパケットに含まれる診断用データが連続して基準値(1)と一致しない回数を2系異常判定カウンタとして保持し、1系異常判定カウンタと前記2系異常判定カウンタとに基づいて実行系モジュールの切替が必要か否かを判定し、実行系モジュールの切替が必要と判定した場合に、実行系モジュールと待機系モジュールを切り替える。
【0053】
以上のように構成した本実施例によれば、2つの通信インターフェースモジュール20a,20bが互いに同一のデータを制御装置との間で常時送受信しているため、待機系モジュールが新たに実行系モジュールとして動作を開始するまでの時間を短縮することができる。また、制御装置30が2つの通信インターフェースモジュール20a,20bからそれぞれ受信した診断データに基づいて実行系モジュールの切替要否を判定することにより、通信系統の異常検出および切替判定を速やかに行うことができる。その結果、二重化通信系統のうち実行系の通信系統で異常が発生した場合に、実行系モジュールと待機系モジュールを高速に切り替えることが可能となる。
【0054】
また、本実施例における制御装置30は、1系異常判定カウンタが所定の閾値(2)以上でかつ2系異常判定カウンタが閾値(2)未満である場合は、実行系モジュールの切替が必要と判定し、1系異常判定カウンタが閾値(2)未満の場合は、または、1系異常判定カウンタが閾値(2)以上でかつ2系異常判定カウンタが閾値(2)以上である場合は、実行系モジュールの切替が不要と判定する。これにより、実行系モジュールの不必要な切替を防止することが可能となる。
【0055】
また、本実施例における2つの通信インターフェースモジュール20a,20bは、それぞれ、制御装置30が2つの通信インターフェースモジュール20a,20bのうちのどちらを実行系モジュールとして使用しているか示す情報(使用情報)を制御装置30から受信する。これにより、通信インターフェースモジュール20a,20bとPLC30とので実行系モジュールのアンマッチを防止することが可能となる。
【0056】
また、本実施例における制御装置30は、PLC30で構成される。これにより、2つの通信インターフェースモジュール20a,20bとPLC30とを接続する二重化通信系統において、実行系モジュールと待機系モジュールを高速に切り替えることが可能となる。
【実施例0057】
本発明の第2の実施例について、第1の実施例との相違点を中心に説明する。
【0058】
図8は、本実施例における制御システムの構成図である。図8において、本実施例における制御システムは、PLC30に代えて、インテリジェントIO30Aを制御装置として備えている。第1の実施例では、通信インターフェースモジュール20a,20bからPLC30へ診断データを送信し、PLC30が実行系モジュールの切替要否を判定する構成としたが、インテリジェントIO30Aは複雑な機能を実装することができない。そのため、本実施例では、インテリジェントIO30Aから通信インターフェースモジュール20a,20bへ診断データを送信し、通信インターフェースモジュール20a,20bが実行系モジュールの切替要否を判定する構成としている。
【0059】
通信インターフェースモジュール20aの異常判定部23aは、1系異常判定カウンタに基づいて1系の異常を判定し、1系通信状況/1系使用情報に含まれる1系通信状況を更新する。1系通信状況/1系使用情報に含まれる1系通信状況は、出力エリア21aに設定された後、インテリジェントIO30Aによって受信され、1系入力エリア31aに保存される。
【0060】
通信インターフェースモジュール20bの異常判定部23bは、2系異常判定カウンタに基づいて2系の異常を判定し、2系通信状況/2系使用情報に含まれる2系通信状況を更新する。2系通信状況/2系使用情報に含まれる2系通信状況は、出力エリア21bに設定された後、インテリジェントIO30Aによって受信され、2系入力エリア31bに保存される。
【0061】
インテリジェントIO30Aの切替判定部34は、1系通信状況と2系通信状況とに基づいて実行系の切替要否を判定し、切替指令を切替部35へ出力する。具体的には、実行系の通信状況が異常でかつ待機系の通信状況が正常な場合に実行系と待機系の切替を行い、実行系の通信状況が異常でかつ待機系の通信状況が異常な場合は切替を行わない。
【0062】
切替判定部34は、通信タイムアウトが発生した場合にも実行系と待機系の切替を行う。ケーブル断線などにより実行系の通信が途絶えてしまった場合、通信自体は異常となるが、インテリジェントIO30Aにその構成上、異常を検知するすべを有しない。そのため、通信途絶後に通信状況が更新されなくなると、実行系の切替が不能となる。そこで、実行系と待機系の切替を行う条件として、通信が所定の時間(例えば、通信周期の2倍の時間)停止したこと(通信タイムアウト)を追加することにより、ケーブル断線などにより通信が途絶えてしまった場合でも実行系と実行系を切り替えることを可能とする。
【0063】
切替判定部34は、切替判定結果に応じて、出力エリア32aの1系使用情報および出力エリア32bの2系使用情報を更新する。出力エリア32aに設定された1系使用情報は、通信インターフェースモジュール20aによって受信され、1系入力エリア22aに保存される。出力エリア32bに設定された2系使用情報は、通信インターフェースモジュール20aによって受信され、2系入力エリア22bに保存される。通信インターフェースモジュール20aは、1系入力エリア22aの1系使用情報で1系通信状況/1系使用情報を更新する。通信インターフェースモジュール20bは、2系入力エリア22bの2系使用情報で2系通信状況/2系使用情報を更新する。
【0064】
(まとめ)
本実施例では、2つの通信インターフェースモジュール20a,20bの一方が実行系モジュールとして使用され、他方が待機系モジュールとして使用される二重化通信インターフェースモジュールの切替方法において、2つの通信インターフェースモジュール20a,20bは、それぞれ、所定の診断用データを含むデータパケットを所定の周期で制御装置30Aから受信し、実行系モジュールが受信したデータパケットに含まれる診断用データが連続して所定の基準値(1)と一致しない回数を1系異常判定カウンタとして保持し、待機系モジュールを介して受信したデータパケットに含まれる診断用データが連続して基準値(1)と一致しない回数を2系異常判定カウンタとして保持し、1系異常判定カウンタに基づいて実行系モジュールの通信状況を判定し、2系異常判定カウンタに基づいて前記待機系モジュールの通信状況を判定し、実行系モジュールの通信状況および待機系モジュールの通信状況を制御装置30Aへ送信し、制御装置30Aは、実行系モジュールの通信状況と待機系モジュールの通信状況とに応じて、実行系モジュールと待機系モジュールを切り替える。
【0065】
以上のように構成した本実施例によれば、2つの通信インターフェースモジュール20a,20bが互いに同一のデータを制御装置30Aとの間で常時送受信しているため、待機系モジュールが新たに実行系モジュールとして動作を開始するまでの時間を短縮することができる。また、2つの通信インターフェースモジュール20a,20bがそれぞれ制御装置30Aから受信した診断データに基づいて実行系モジュールの切替要否を判定することにより、通信系統の異常検出および切替判定を速やかに行うことができる。その結果、二重化通信系統のうち実行系の通信系統で異常が発生した場合に、実行系モジュールと待機系モジュールを高速に切り替えることが可能となる。
【0066】
また、本実施例における制御装置30Aは、実行系モジュールの通信状況が異常でかつ待機系モジュールの通信状況が正常である場合に、実行系モジュールと待機系モジュールを切り替え、実行系モジュールの通信状況が異常でかつ前記待機系モジュールの通信状況が異常である場合に、実行系モジュールと前記待機系モジュールを切り替えない。これにより、実行系モジュールの不必要な切替を防止することが可能となる。
【0067】
また、本実施例における制御装置30Aは、インテリジェントIO30Aで構成される。これにより、通信インターフェースモジュール20a,20bとインテリジェントIO30Aとを接続する二重化通信系統において、実行系モジュールと待機系モジュールを高速に切り替えることが可能となる。
【0068】
以上、本発明の実施例について詳述したが、本発明は、上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は、本発明を分かり易く説明するために詳細に説明したものであり、本発明は必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成に他の実施例の構成の一部を加えることも可能であり、ある実施例の構成の一部を削除し、あるいは、他の実施例の一部と置き換えることも可能である。
【符号の説明】
【0069】
10…制御CPU、11…システムバス、12…フィールドネットワーク、20a,20b…通信インターフェースモジュール、21a,21b…出力エリア、22a,22b…入力エリア、23a,23b…異常判定部、30…PLC(制御装置)、30A…インテリジェントIO(制御装置)、33…ラダープログラム、34…切替判定部、35…切替部、36…実入力エリア。
図1
図2
図3
図4
図5
図6
図7
図8