特許第6304048号(P6304048)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 富士電機株式会社の特許一覧

<>
  • 特許6304048-制御システム、および制御装置 図000002
  • 特許6304048-制御システム、および制御装置 図000003
  • 特許6304048-制御システム、および制御装置 図000004
  • 特許6304048-制御システム、および制御装置 図000005
  • 特許6304048-制御システム、および制御装置 図000006
  • 特許6304048-制御システム、および制御装置 図000007
  • 特許6304048-制御システム、および制御装置 図000008
  • 特許6304048-制御システム、および制御装置 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6304048
(24)【登録日】2018年3月16日
(45)【発行日】2018年4月4日
(54)【発明の名称】制御システム、および制御装置
(51)【国際特許分類】
   G06F 11/20 20060101AFI20180326BHJP
【FI】
   G06F11/20 620
【請求項の数】5
【全頁数】15
(21)【出願番号】特願2015-5007(P2015-5007)
(22)【出願日】2015年1月14日
(65)【公開番号】特開2016-130947(P2016-130947A)
(43)【公開日】2016年7月21日
【審査請求日】2017年3月13日
(73)【特許権者】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100111763
【弁理士】
【氏名又は名称】松本 隆
(74)【代理人】
【識別番号】100163832
【弁理士】
【氏名又は名称】後藤 直哉
(72)【発明者】
【氏名】苔縄 良生
【審査官】 漆原 孝治
(56)【参考文献】
【文献】 国際公開第2012/127598(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/20
(57)【特許請求の範囲】
【請求項1】
一方が稼働系となり他方が待機系となり等値化通信手段を介して通信を行う2つの制御装置を備えた制御システムであって、
前記2つの制御装置の各々は、
予め定められた周期でアプリケーションプログラムを実行し、その実行過程で生成されるデータをメモリ内の記憶領域に書き込むアプリケーション実行手段と、
等値化のための前回の通信以降のデータ更新の有無を示す識別子を前記メモリの記憶領域毎に記憶するデータ管理手段と、
前記メモリに記憶されているデータのうち、更新ありを示す識別子が前記データ管理手段に記憶されている記憶領域のデータを読み出して他方の制御装置へ送信する送信処理を自身が稼働系である場合に前記アプリケーションプログラムの実行周期毎に実行する送信手段と、
他方の制御装置から受信したデータで当該データに対応するものとして自身のメモリに記憶されているデータを更新する受信処理を自身が待機系である場合に実行する受信手段と、を有し、
前記アプリケーション実行手段は、アプリケーションプログラムの実行周期毎に予め定められた時間長の期間に亙ってアプリケーションプログラムを実行し、当該期間の満了時点の前記データ管理手段の格納内容に応じて当該期間を延長する処理を実行し、
前記送信手段は、アプリケーションプログラムの実行周期において、前記アプリケーション実行手段によるアプリケーションプログラムの実行終了後に前記送信処理を実行する
ことを特徴とする制御システム。
【請求項2】
一方が稼働系となり他方が待機系となり等値化通信手段を介して通信を行う2つの制御装置を備えた制御システムであって、
前記2つの制御装置の各々は、
予め定められた周期でアプリケーションプログラムを実行し、その実行過程で生成されるデータをメモリ内の記憶領域に書き込むアプリケーション実行手段と、
等値化のための前回の通信以降のデータ更新の有無を示す識別子を前記メモリの記憶領域毎に記憶するデータ管理手段と、
前記メモリに記憶されているデータと当該データに対応する前記識別子とを対にして他方の制御装置へ送信する送信処理を自身が稼働系である場合に前記アプリケーションプログラムの実行周期毎に実行する送信手段と、
他方の制御装置から受信したデータのうち、更新ありを示す識別子と対になっているデータで当該データに対応するものとして自身のメモリに記憶されているデータを更新する受信処理を自身が待機系である場合に実行する受信手段と、を有し、
前記アプリケーション実行手段は、アプリケーションプログラムの実行周期毎に予め定められた時間長の期間に亙ってアプリケーションプログラムを実行し、当該期間の満了時点の前記データ管理手段の格納内容に応じて当該期間を延長する処理を実行し、
前記送信手段は、アプリケーションプログラムの実行周期において、前記アプリケーション実行手段によるアプリケーションプログラムの実行終了後に前記送信処理を実行する
ことを特徴とする制御システム。
【請求項3】
前記アプリケーション実行手段により実行される複数のアプリケーションプログラムであって、各々優先順位が定められた複数のアプリケーションプログラムを有し、
前記アプリケーション実行手段は、前記予め定められた時間長の期間および延長後の期間において実行するアプリケーションプログラムを前記優先順位にしたがって選択する
ことを特徴とする請求項1または請求項2に記載の制御システム。
【請求項4】
一方が稼働系となり他方が待機系となり等値化通信手段を介して通信を行う2つの制御装置よりなる制御装置対を形成する制御装置であって、
予め定められた周期でアプリケーションプログラムを実行し、その実行過程で生成されるデータをメモリ内の記憶領域に書き込む制御部と、
前記メモリと前記制御部との間のデータ授受を仲介するメモリインタフェース回路と、を含み、
前記メモリインタフェース回路は、
等値化のための前回の通信以降のデータ更新の有無を示す識別子を前記メモリの記憶領域毎に記憶するテーブルと、
前記制御部からのデータ書き込み指示に応じて前記メモリへのデータの書き込みを行うとともに前記テーブルの格納内容の更新を行う一方、前記制御部から読み出しを指示されたデータを前記メモリから読み出し、当該データに対応する識別子とともに前記制御部へ返信するアドレスデコード回路と、を有し、
前記制御部は、
自身が稼働系である場合には、アプリケーションプログラムの実行周期毎に予め定められた時間長の期間に亙ってアプリケーションプログラムを実行し、当該期間の満了時点の前記テーブルの格納内容に応じて当該期間を延長する処理を実行するとともに、アプリケーションプログラムの実行終了後に前記メモリインタフェース回路を介して前記メモリからデータを読み出し、読み出したデータのうち、更新ありを示す識別子と対になっているデータを他方の制御装置へ送信する処理を実行する一方、
待機系である場合には、他方の制御装置から受信したデータで当該データに対応する記憶領域に記憶されているデータを更新することを前記メモリインタフェース回路に指示する処理を実行する
ことを特徴とする制御装置。
【請求項5】
一方が稼働系となり他方が待機系となり等値化通信手段を介して通信を行う2つの制御装置よりなる制御装置対を形成する制御装置であって、
予め定められた周期でアプリケーションプログラムを実行し、その実行過程で生成されるデータをメモリ内の記憶領域に書き込む制御部と、
前記メモリと前記制御部との間のデータ授受を仲介するメモリインタフェース回路と、を含み、
前記メモリインタフェース回路は、
等値化のための前回の通信以降のデータ更新の有無を示す識別子を前記メモリの記憶領域毎に記憶するテーブルと、
前記制御部からのデータ書き込み指示に応じて前記メモリへのデータの書き込みを行うとともに前記テーブルの格納内容の更新を行う一方、前記制御部から読み出しを指示されたデータを前記メモリから読み出し、当該データに対応する識別子とともに前記制御部へ返信するアドレスデコード回路と、を有し、
前記制御部は、
自身が稼働系である場合には、前記メモリインタフェース回路を介して読み出したデータと識別子とを対にして他方の制御装置へ送信する処理をアプリケーションプログラムの実行周期毎に実行する一方、
自身が稼働系である場合には、アプリケーションプログラムの実行周期毎に予め定められた時間長の期間に亙ってアプリケーションプログラムを実行し、当該期間の満了時点の前記テーブルの格納内容に応じて当該期間を延長する処理を実行するとともに、アプリケーションプログラムの実行終了後に前記メモリインタフェース回路を介して前記メモリからデータを読み出したデータと識別子とを対にして他方の制御装置へ送信する処理を実行する一方、
待機系である場合には、他方の制御装置から受信したデータのうち更新有りを示す識別子と対になっているもので当該データに対応するものとして自身のメモリに記憶されているデータを更新することを前記メモリインタフェース回路に指示する処理を実行する
ことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、機器を制御する制御装置を二重化した制御システムに関し、特に制御装置による演算結果の等値化技術に関する。
【背景技術】
【0002】
工場や各種プラント等の産業施設においては、各種操業を制御するために制御システムと呼ばれる通信システムが構築されることが多い。制御システムには、産業施設内に設置されたセンサからの監視データの収集やその収集結果に応じて電動機等の駆動制御を行う制御装置が含まれている。このような制御装置としては、DCS(Distributed
Control System:分散型制御システム或いは分散型制御装置)やプログラマブルロジックコントローラ(以下、PLC)が用いられる。一般的なFA(Factory Automation)システムでは制御装置としてPLCが用いられることが多く、高信頼性を要求されるプラント設備では制御装置としてDCSが用いられることが多い。DCSはPLCに比較して信頼性が高いからである。
【0003】
この種の制御システムでは、制御装置の故障に起因する操業停止を回避するために、制御装置の二重化が行われる場合がある。具体的には、制御システムに2台の制御装置を設け、その一方を稼働系、他方を待機系として動作させる、といった具合である。以下では、制御装置の二重化された制御システムを「冗長化制御システム」と呼ぶ。稼働系の制御装置は、機器制御のための所定の演算をアプリケーションプログラムにしたがって実行し、待機系の制御装置は稼働系の制御装置の停止に備える。そして、待機系の制御装置は、稼働系の制御装置が停止するとき(或いは停止したとき)には、以降、稼働系として動作する。稼働系の制御装置の停止の具体例としては、何らかの故障や不具合の発生に起因する予期せぬ停止や、保守メンテナンス等による予め計画された停止などが考えられる。待機系の制御装置はこれら2種類の停止の両方に備える。このような冗長化制御システムでは、2つの制御装置の各々が他方の状態監視を行えるようにするために、通信ケーブルを介してそれら2つの制御装置を接続することが多い。
【0004】
冗長化制御システムでは、稼働系の制御装置に故障が発生しても稼働系/待機系の切り替えを行うことで、制御対象機器の制御のための演算およびその演算結果に応じた制御を継続することが可能であるが、単に稼働系/待機系の切り替えを行うだけでは、その切り替え前後で上記演算結果が突変するなどの不具合が発生する場合がある。このような不具合の発生を回避するために、冗長化制御システムでは、稼働系における演算結果を上記通信ケーブル経由で待機系に送信し記憶させる等値化処理が周期的に実行される。より詳細に説明すると、冗長化制御システムでは、アプリケーションプログラムにしたがって実行される一連の処理(監視データの収集、その監視データに基づく制御データの演算、および制御データの送信等、以下、当該一連の処理をタクトと呼ぶ)を一区切りとし、図8に示すようにタクトとそれに後続する等値化処理とが一定の周期で繰り返し実行される。これにより、稼働系/待機系の切り替え前後で演算結果の突変が発生することを防止しつつ、制御装置の故障に起因する操業停止を回避することが可能になる。以下では、上記一定の周期を「アプリケーション実行周期」と呼び、上記通信ケーブルを「等値化ケーブル」と呼ぶ。
【0005】
アプリケーション実行周期毎に実行される等値化処理の流れは概ね以下の通りである。稼働系の制御装置の制御部(例えば、マイクロコンピュータ)はアプリケーションプログラムにしたがった演算の結果を自身のメモリに書き込んで行く。稼働系の制御装置の制御部は、タクトの終了時点などの等値化タイミングにおいて、自身のメモリに記憶されているデータのうち等値化対象となっている記憶領域に記憶されているデータを自身の通信インタフェース部の通信バッファにコピーする。このようにして通信バッファにコピーされたデータは等値化ケーブルを介して待機系の制御装置に送信される。待機系の制御装置は等値化ケーブルを介して受信したデータを、自身のメモリにおいて等値化対象となっているメモリ領域に展開する。これにより等値化処理が完了する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2000−148525号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
冗長化制御システムにおけるアプリケーション実行周期は、タクトの実行に要する時間と等値化処理に要する時間の和に対して充分に余裕を持たせて(すなわち、両者の和よりも長く)定められることが多い。しかし、冗長化制御システムにおいてアプリケーションプログラムにしたがって更新されるデータの更新周期とアプリケーション実行周期とは必ずしも一致せず、等値化処理の実行タイミングにおいて、等値化対象の記憶領域の一部の格納内容しか更新されない場合がある。図8に示す例では、記憶領域AREA0〜AREA3が等値化対象となっている。図8におけるアプリケーション実行周期T1では、等値化対象の記憶領域の全てについてデータが更新されているが、アプリケーション実行周期T2では記憶領域AREA0およびAREA2のデータは更新されておらず、アプリケーション実行周期T3においては等値化対象の全ての記憶領域のデータが更新されていない。
【0008】
更新されなかった記憶領域のデータについては、通信バッファへのコピーや待機系への送信を行う必要がないことは言うまでもない。しかし、従来の冗長化制御システムでは、等値化対象とされた全ての記憶領域について、データの更新の有無に拘らず、通信バッファへのコピーや待機系への送信が行われていた。つまり、従来の冗長化制御システムにおける等値化処理には無駄な処理が含まれており、当該無駄な処理を実行する分だけアプリケーション実行周期内でタクトに割り当て可能な期間(以下、アプリケーションプログラムの実行帯域)が圧迫されるという問題があり、特に、プラント制御用の冗長化制御システムにおいて、この問題は顕著であった。その理由は以下の通りである。上記のようなデータ更新周期のバラツキが発生する要因の一つとしては監視データの送信元(或いは制御データの送信先)がデジタル機器であるかアナログ機器であるかが挙げられる。一般に、データの入出力周期は機器毎に異なるが、デジタル機器のデータ入出力周期はアナログ機器のデータ入出力周期に比較して短いことが多い。プラント設備には、デジタル機器とアナログ機器の両者が含まれこと多く、また、それらの種類も多様であることに加えて、アプリケーション実行周期が200ミリ秒〜1秒とFAシステムに比較して長いため、上記問題が顕著に現れるのである。
【0009】
本発明は上記課題に鑑みて為されたものであり、冗長化制御システムにおける等値化処理にて、アプリケーションプログラムの実行帯域を狭める無駄なデータ送信の発生を回避する技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために本発明は、一方が稼働系となり他方が待機系となり等値化通信手段を介して通信を行う2つの制御装置を備えた制御システムの各制御装置に、以下のアプリケーション実行手段、データ管理手段、送信手段および受信手段を設けることを特徴とする。アプリケーション実行手段は、予め定められた周期でアプリケーションプログラムを実行し、その実行過程で生成されるデータをメモリ内の記憶領域に書き込む。データ管理手段は、等値化のための前回の通信以降のデータ更新の有無を示す識別子を前記メモリの記憶領域毎に記憶する。送信手段は、メモリに記憶されているデータのうち、更新ありを示す識別子がデータ管理手段に記憶されている記憶領域のデータを読み出して他方の制御装置へ送信する送信処理を自身が稼働系である場合にアプリケーションプログラムの実行周期毎に実行する。そして、受信手段は、他方の制御装置から受信したデータで、当該データに対応するものとして自身のメモリに記憶されているデータを更新する受信処理を自身が待機系である場合に実行する。
【0011】
本発明の制御システムにおいてアプリケーションプログラムの実行周期毎に実行される等値化のための通信では、等値化対象のデータのうち前回の等値化処理以降に更新されたデータのみが稼働系の制御装置から待機系の制御装置へ送信され、待機系の制御装置では、稼働系から受信したデータについてのみメモリへのコピーが行われる。このため、本発明の制御システムでは、従来の冗長化制御システムに比較して無駄なデータ(すなわち、前回の等値化処理以降に更新されていないデータ)の伝送およびコピーが行われることはなく、その分だけアプリケーションの実行に帯域を割り当てることができる。
【0012】
特許文献1には、制御装置に実行させる命令の各々について現用系(稼働系)と待機系の何れを処理担当装置とするのかを命令毎に予め定めておき、稼働系と待機系とで処理分散することで稼働系の処理負荷を軽減する技術が開示されている。しかし、特許文献1に開示の技術は、稼働系から待機系への無駄なデータ送信等の発生を回避する技術ではなく、本願発明とは全く異なる技術である。
【0013】
本発明の別の態様としては、上記送信手段に代えて、メモリに記憶されているデータと当該データに対応する前記識別子とを対にして他方の制御装置へ送信する処理を自身が稼働系である場合にアプリケーションプログラムの実行周期毎に実行する送信手段を各制御装置に設けるとともに、上記受信手段に代えて、他方の制御装置から受信したデータのうち、更新ありを示す識別子と対になっているデータで当該データに対応するものとして自身のメモリに記憶されているデータを更新する処理を自身が待機系である場合に実行する受信手段を各制御装置に設ける態様が考えられる。このような態様によっても、従来の冗長化制御システムに比較して無駄なデータ(すなわち、前回の等値化処理以降に更新されていないデータ)のコピーが行われることはなく、その分だけアプリケーションの実行に帯域を割り当てることができる。
【0014】
アプリケーションプログラムの実行周期におけるアプリケーションプログラムの実行に対する帯域の割り当てと等値化処理のための帯域の割り当ての具体的な態様としては、以下の2つの態様が考えられる。第1に、1つ手前の時間区間におけるアプリケーションプログラムの実行結果についての等値化処理を行った後にアプリケーションプログラムを実行する態様である。そして、第2に、アプリケーションプログラムの実行とその実行結果についての等値化処理とをこの順に行う態様である。後者の態様の場合、アプリケーション実行手段にはアプリケーションプログラムの実行周期毎に予め定められた時間長の期間に亙ってアプリケーションプログラムを実行させるとともに、当該期間の満了時点のデータ管理手段の格納内容に応じて当該期間を延長する処理を実行させ、送信手段には、アプリケーションプログラムの実行周期において、アプリケーション実行手段によるアプリケーションプログラムの実行終了後に送信処理を実行させるようにすれば良い。また、この延長された期間においては、従前のアプリケーションプログラムの実行を継続させても良いし、予め定められた優先順位に応じて選択した他のアプリケーションプログラムを実行させても良い。
【0015】
また、上記課題を解決するために本発明は、冗長化制御システム用の制御装置として、以下の制御装置を提供する。この制御装置は、従来の冗長化制御システムにおける制御装置と同様に、一方が稼働系となり他方が待機系となる制御装置対を形成するとともに、等値化通信手段を介して通信を行う。本発明の制御装置は、以下の制御部とメモリインタフェース回路とを有することを特徴とする。制御部は、アプリケーションプログラムの実行周期毎にアプリケーションプログラムを実行し、その実行過程で生成されるデータをメモリ内の記憶領域に書き込む。メモリインタフェース回路は、メモリと制御部との間のデータ授受を仲介する。
【0016】
上記メモリインタフェース回路は、以下のテーブルとアドレスデコード回路とを有する。上記テーブルには、メモリの記憶領域毎に前回の等値化処理以降のデータ更新の有無を示す識別子が格納される。アドレスデコード回路は、制御部からのデータ書き込み指示に応じてメモリへのデータの書き込みを行うとともに上記テーブルの格納内容の更新を行う。また、アドレスデコード回路は、制御部から読み出しを指示されたデータをメモリから読み出し、当該データに対応する識別子とともに制御部へ返信する。そして、上記制御部は、自身が稼働系である場合には、メモリインタフェース回路を介して読み出したデータのうち、更新ありを示す識別子と対になっているデータを他方の制御装置へ送信する送信処理をアプリケーションプログラムの実行周期毎に実行する一方、待機系である場合には、他方の制御装置から受信したデータで当該データに対応する記憶領域に記憶されているデータを更新することをメモリインタフェース回路に指示する受信処理を実行する。
【0017】
このような制御装置を用いて冗長化制御システムにおける制御装置対を形成すれば、従来の冗長化制御システムに比較して無駄なデータ(すなわち、前回の等値化処理以降に更新されていないデータ)の伝送およびコピーを排除し、その分だけアプリケーションの実行に帯域を割り当てることが可能になる。本態様においても、上記送信処理に代えて、メモリインタフェース回路を介して取得したデータと当該データの更新の有無を示す識別子とを対にして他方の制御装置へ送信する送信処理を実行させるとともに、上記受信処理に代えて、更新ありを示す識別子と対になっているデータで当該データに対応するものとして自身のメモリに記憶されているデータを更新することをメモリインタフェース回路に指示する受信処理を実行させるようにしても良い。
【発明の効果】
【0018】
本発明によれば、冗長化制御システムにおける等値化処理にてアプリケーションプログラムの実行帯域を狭める無駄なデータ送信の発生を回避することが可能になる。
【図面の簡単な説明】
【0019】
図1】本発明の一実施形態の制御装置10の構成例および同制御装置10を含む制御システムの構成例を示すブロック図である。
図2】同制御装置10に含まれるメモリI/F回路110の構成例を示すブロック図である。
図3】同メモリI/F回路110に含まれるアドレス一致検出回路1140(n)の構成例を示す図である。
図4】同メモリI/F回路110に含まれる更新レジスタ116の格納内容の一例を示す図である。
図5】本実施形態の動作例を示す図である。
図6】本実施形態の等値化データを説明するための図である。
図7】変形例(1)を説明するための図である。
図8】従来の冗長化制御システムのおける等値化処理を説明するための図である。
【発明を実施するための形態】
【0020】
以下、図面を参照しつつ本発明の実施形態を説明する。
図1は、本発明の一実施形態の制御装置の構成例および同制御装置を含む制御システムの構成例を示すブロック図である。この制御システムは、プラントなどの産業施設に敷設され、当該産業施設に設置されたセンサ等から収集される監視データに基づいて制御対象機器(例えば、電動機など)の駆動制御を行い、当該産業施設の操業を支援するシステムである。図1に示すように、この制御システムは、制御ネットワーク30に各々接続された制御装置10Aおよび制御装置10Bを含んでいる。図1では詳細な図示を省略したが、制御ネットワーク30には、監視データの送信元となるセンサ等と、制御対象機器とが接続されている。制御ネットワーク30に接続されるセンサや制御対象機器には、デジタル機器とアナログ機器の両者が混在していても良く、何れか一方のみであっても良い。
【0021】
図1に示すように、制御装置10Aと制御装置10Bは等値化ケーブル20を介して互いに接続されている。図1に示す制御システムでは、制御装置10Aと制御装置10Bのうちの何れか一方が稼働系となって制御対象機器の駆動制御のための演算を行い、他方は待機系となって稼働系の故障に備える。つまり、図1に示す制御システムは冗長化制御システムである。以下では、制御装置10Aが稼働系となっている場合について説明する。制御装置10Aおよび10Bの各々は例えばDCSである。図1に示すように、制御装置10Aの構成と制御装置10Bの構成は同一である。このため、以下では、制御装置10Aと制御装置10Bを区別する必要がない場合には、「制御装置10」と表記する。本実施形態では、制御対象がプラント設備であるため、制御装置10としてDCSを用いるが、PLCを用いても勿論良い。
【0022】
制御装置10は、制御部100、メモリI/F回路110、メモリ120、および通信I/F回路130を有している。制御部100はマイクロコンピュータである。制御部100は、図示せぬ不揮発性メモリに予め記憶された制御プログラムを実行することにより、制御装置10の制御中枢として働く。例えば、制御プログラムにしたがって作動している制御部100は、制御対象機器の作動制御のための各種演算を上記不揮発性メモリに予め記憶されたアプリケーションプログラムにしたがって実行し、その演算結果のデータをメモリ120に書き込む。すなわち、制御プログラムにしたがって作動している制御部100は、アプリケーションプログラムを実行し、その実行結果のデータをメモリ120に書き込むアプリケーション実行手段として機能する。制御部100を制御プログラムにしたがって作動させることで実現される機能としては、アプリケーションプログラムを実行するアプリケーション演算機能の他に、初期化機能、および等値化データ生成・展開機能が挙げられる。
【0023】
初期化機能とは、制御システムの立ち上げの際(より正確には制御装置10の電源投入の際)に、メモリI/F回路110、通信I/F回路130およびメモリ120の初期化(各種パラメータの設定やアドレス割り当てなど)を行う機能である。等値化データ生成・展開機能は、前述した等値化処理を実現する機能である。制御部100を制御プログラムにしたがって作動させることで実現される3つの機能のうち、本実施形態の特徴は、アプリケーション演算機能および等値化データ生成・展開機能に現れている。アプリケーション演算機能および等値化データ生成・展開機能の詳細については、重複を避けるために動作例において明らかにする。
【0024】
メモリ120は例えばRAM(Random Access memory)などの揮発性メモリである。図1に示すように、メモリ120は、メモリI/F回路110を介して制御部100に接続されている。メモリ120には複数の記憶領域が設けられており、制御部100は初期化処理にて各記憶領域に割り当てた論理アドレス(以下、単に「アドレス」)を指定することでそのアドレスに対応する記憶領域に格納されているデータの読出しや当該記憶領域へのデータの書き込み(以下、両者をまとめて「アクセス」と呼ぶ場合がある)を行うことができる。メモリ120の複数の記憶領域のうちのいくつかには、他方の制御装置10との等値化の対象となるデータが書き込まれる。本実施形態では、等値化対象のデータが書き込まれる記憶領域に領域名AREAn(n=0〜N:Nは自然数)を付与し、これら領域名で各記憶領域を識別する。また、以下では、領域名AREAnの記憶領域には、前述した初期化機能によりアドレスadr(n)が割り当てられる場合について説明する。
【0025】
メモリI/F回路110は、メモリ120に記憶されている各種データに対する制御部100によるアクセスを仲介するLSIである。図2は、メモリI/F回路110の構成例を示すブロック図である。図2に示すように、メモリI/F回路110は、2つのレジスタ(図2に示すようにアドレステーブルレジスタ112および更新レジスタ116)と、アドレスデコード回路114とを含んでいる。
【0026】
アドレステーブルレジスタ112は、他方の制御装置10との等値化の対象となるデータのメモリ120における格納先を示すアドレスを格納するレジスタである。図2に示すように、アドレステーブルレジスタ112は、N(図2に示す例では、N=15)+1個の記憶領域を有しており、各記憶領域には1つのアドレスが格納される。例えば、アドレステーブルレジスタ112のn番目の記憶領域には、アドレスadr(n)が格納されるといった具合である。アドレステーブルレジスタ112への各アドレスの書き込みは、制御部100の初期化機能により実現される。
【0027】
更新レジスタ116は、N+1ビットのレジスタである。更新レジスタ116の第nビットb(n)はアドレスadr(n)の示す記憶領域に対応する。なお、本実施形態では、更新レジスタの最上位ビットはb(15)であり、最下位ビットはb(0)である。更新レジスタ116の各ビットは、制御部100の初期化機能により、“0”に初期化される。そして、アドレスadr(n)の示す記憶領域内のデータの更新を契機として更新レジスタ116の第nビットb(n)は“1”に更新される。つまり、更新レジスタ116の第nビットb(n)は、アドレスadr(n)の示す記憶領域内のデータの更新の有無を表す識別子の役割を果たす。
【0028】
アドレスデコード回路114は、制御部100から与えられるアドレスの示すデータのメモリ120における格納位置を特定し、当該データの読出しおよび書き込みを行う回路である。そして、アドレスデコード回路114は、制御部100からのデータ書き込み指示に応じて更新レジスタ116の格納内容を更新する処理、および、制御部100から読み出しを指示されたデータの更新の有無をアドレステーブルレジスタ114および更新レジスタ116の格納内容を参照して制御部100へ通知する処理を実行する。また、アドレスデコード回路114は、制御部100により等値化処理の完了と通知されると、更新レジスタ116の構成ビットを全て“0”にリセットする。つまり、本実施形態のアドレスデコード回路114は、等値化のための前回のデータ通信以降のデータ更新の有無を示す識別子をメモリ120の記憶領域毎に記憶するデータ管理手段の役割を果たすのである。
【0029】
図2に示すように、アドレスデコード回路114は、アドレステーブルレジスタ112の各記憶領域に各々対応するアドレス一致検出回路1140(n)(n=0〜N)を含んでいる。なお、図2では、図が煩雑になることを避けるため、1140(0)と1140(15)以外の符号は省略されている。アドレス一致検出回路1140(n)の一方の入力端子には、データの書き込み先を指定するために制御部100からメモリI/F回路110に出力されたアドレスが与えられ、他方の入力端子にはアドレステーブルレジスタ112のn番目の記憶領域に格納されているアドレス(すなわち、adr(n)アドレス)が与えられる。アドレス一致検出回路1140(n)の具体的な構成例としては種々の態様が考えられるが、adr(n)がM(任意の自然数)ビットのアドレスである場合には、図3に示す構成が考えられる。
【0030】
図3には、M=16の場合のアドレス一致検出回路1140(n)の構成例が示されている。図3に示すように、アドレス一致検出回路1140(n)は、M個のEx−NOR回路1140a(n)(m)(m=0〜M−1)と、AND回路1140(n)bとにより構成されている。図3に示すように、Ex−NOR回路1140a(n)(m)の一方の入力端子には、制御部100から出力されたアドレスの第mビット(図3では、in(m)と表記)が与えられ、他方の入力端子にはアドレスadr(n)の第mビット(図3では、adr(n)(m)と表記)が与えられる。周知のように、Ex−NOR回路の出力信号は、両入力端子への入力信号が一致する場合に“1”となり、不一致の場合は“0”となる。図3に示すように、Ex−NOR回路1140a(n)(m)(m=0〜M−1)の出力信号はAND回路1140b(n)に与えられ、AND回路1140b(n)の出力信号がアドレス一致検出回路1140(n)の出力信号となる。このため、アドレス一致検出回路1140(n)の2つの入力端子の各々に与えられたアドレスが一致する場合には、アドレス一致検出回路1140(n)の出力信号の信号値は“1”となり、一致しない場合には、“0”となる。
【0031】
アドレス一致検出回路1140(n)の出力端子は更新レジスタ116の第nビットb(n)に接続されている。このため、アドレスadr(n)の示すデータの更新が行われると、更新レジスタ116の第nビットb(n)の値は“1”に更新される。例えば、初期化機能による初期化の後、アドレスadr(3)の示すデータとアドレスadr(1)のデータとが更新されると、更新レジスタ116の格納内容は図4のように更新される。
【0032】
図1に戻って、通信I/F回路130は、データ通信用のLSIであり、制御ネットワーク30に接続されているとともに、等値化ケーブル20を介して他方の制御装置10の通信I/F回路130に接続されている。なお、通信I/F回路130が実行するデータ通信のうち、制御ネットワーク30との間のデータ通信については、本実施形態との関連が薄く、従来の制御装置におけるものと特段に変わるところもないため、説明を省略する。図1では詳細な図示を省略したが、通信I/F回路130は、他方の制御装置10へ送信するデータを格納する送信バッファと他方の制御装置10から受信したデータが書き込まれる受信バッファとを有している。稼働系の制御装置10では、前述した等値化データ生成・展開機能によって、通信I/F回路130の送信バッファへの等値化対象のデータの書き込みが行われる。稼働系の制御装置10の通信I/F回路130は、上記の要領で送信バッファに書き込まれたデータを等値化ケーブル20を介して待機系の制御装置10へ送信する。これに対して、待機系の制御装置10の通信I/F回路130は、等値化ケーブル20を介して受信したデータを受信バッファに書き込み、待機系の制御装置10の制御部100は、このようにして受信バッファに格納されたデータを用いて自身のメモリ120に記憶されているデータの更新(すなわち、等値化)を行う。
以上が制御装置10の構成である。
【0033】
次いで、本実施形態の動作に即してアプリケーション演算機能および等値化データ生成・展開機能の詳細について説明する。アプリケーション演算機能は、アプリケーション実行周期における予め定められた時間長TDの期間に亙ってアプリケーションプログラムを実行する機能であり、この点は従来の制御装置におけるアプリケーション演算機能と特段に変わるところはない。本実施形態のアプリケーション演算機能は、上記期間の満了の際に更新レジスタ116の格納内容を参照し、値が“1”となっているビットが少ないほど(すなわち、未更新の等値化対象のデータが多いほど)、延長幅を長くして上記期間を延長することにその特徴がある。
【0034】
図5には、N=3(すなわち、記憶領域AREA0〜AREA3の合計4つの記憶領域に格納されるデータが等値対象)、かつ、時間長TDの期間の満了時点の更新レジスタ116にて値が“0”のビットの数×時間長ΔTを延長幅とする場合の動作例が示されている。図5におけるアプリケーション実行周期T1では、時間長TDの期間の満了の時点では、等値化対象の全てのデータが更新され、更新レジスタ116の構成ビットが全て1となっているため、上記期間延長は行われない。これに対して、アプリケーション実行周期T2では、時間長TDの期間の満了の時点では、等値化対象のデータのうちの2つが更新され、更新レジスタ116の構成ビットのうちの2つは“0”であるため、2×ΔTだけ上記期間延長が延長されている。そして、アプリケーション実行周期T3では、時間長TDの期間の満了の時点では、等値化対象のデータは更新されておらず、更新レジスタ116の構成ビットの構成ビットは全て“0”であるため、4×ΔTだけ上記期間延長が延長され、等値化処理の実行が省略されている。
【0035】
ここで、更新レジスタ116の格納内容に応じた延長幅については適宜実験を行って好適な値に定めるようにすれば良い。後述するように、本実施形態の等値化データ生成・展開機能では、前回の等値化処理以降に更新のあったデータについてのみ、稼働系における送信バッファへのコピー、稼働系から待機系への送信、および待機系におけるメモリ120への展開が行われるため、未更新のデータが多いほど等値化処理に要する時間は短くなる。したがって、上記延長幅を適切に定めておけば、未更新の等値化対象のデータが多いほど延長幅を大きくしたとしても、アプリケーション実行周期内に等値化処理が完了しないなどの問題は生じることはない。本実施形態では、時間長TDの期間の満了時点の更新レジスタ116にて値が“0”のビットの数に応じた延長幅で上記期間を延長したが、上記期間の満了の際の更新レジスタ116の構成ビットの全てが“1”でなければ、予め定めた時間長ΔTだけ延長し、当該延長期間の満了時点で再延長が可能であるか否かを更新レジスタ116の格納内容に応じて判定する処理を繰り返し行うようにしても良く、再延長可能であるか否かの判定を行う時間間隔を、更新のあったデータが増えるほど狭めるようにしても良い。
【0036】
次いで、等値化データ生成・展開機能について詳細に説明する。稼働系の制御装置10の制御部100は、アプリケーション演算機能によるアプリケーションプログラムの実行完了後、まず、メモリI/F回路110を介して更新レジスタ116の格納内容を読み出す。次いで、稼働系の制御装置10の制御部100は、更新レジスタ116の構成ビットに“1”が設定されている記憶領域のデータをメモリI/F回路110を介してメモリ120から読み出す。そして、稼働系の制御装置10の制御部100は、更新レジスタ116の格納内容と上記の要領でメモリ120から読み出したデータとを用いて等値化データを生成し、この等値化データを通信I/F回路130の送信バッファに書き込む。
【0037】
図6(a)は、N=15の場合の等値化データの一例を示す図である。等値化データでは、図6(a)に示すように、先頭に更新レジスタ116の構成ビットを最上位ビットから順に最下位ビットまで並べたデータ識別子が配置され、これら識別子の配列に後続して各識別子に対応するデータが配置される。図6(a)には、AREA3のデータとAREA1のデータとが更新された場合の等値化データが例示されている。この場合、更新レジスタ116の格納内容は“0000000000001010”(16進数標記では、0x000A)となるため、データ識別子として0x000Aが設定されている。このデータ識別子は、当該データ識別子に2つのデータが後続していること、および当該2つのデータがAREA3およびAREA1のデータであることを示している。前述したように、稼働系の制御装置10の通信I/F部130は、送信バッファに格納されたデータ(本実施形態では、等値化データ)を等値化ケーブル20を介して待機系の制御装置10へ送信する。
【0038】
つまり、本実施形態では、等値化対象のデータのうち、前回の等値化処理の実行以降に更新されたデータのみが稼働系の制御装置10から待機系の制御装置10へ送信され、等値化データに含まれるデータ識別子は、等値化対象のデータのうちの何れが更新されたのかを待機系の制御装置10に伝達する役割を果たすのである。なお、本実施形態では、稼働系の制御装置10から待機系の制御装置10へ送信する等値化データとして、図6(a)に示すデータ構造のデータを用いたが、図6(b)に示すように等値化対象の各データをセパレータSP(例えば、タブコードなど)で区切って配列した等値化データを用いても良い。このような等値化データにおいては、連続するセパレータはその間のデータに更新が無かったことを意味するため、上記識別子の配列を用いることなく、等値化対象のデータのうちの何れが更新されたのかを待機系の制御装置10に伝達するこが可能になる。また、稼働系の制御装置10と待機系の制御装置10との間の通信として、Syncメッセージ等による同期を行った後に、タイムスロット毎に所定のデータを送信する(例えば、Sync直後のタイムスロットをAREA15のデータ専用、その次のタイムスロットをAREA14専用・・・等)形式のデータ通信を採用し、更新のあったデータのみを送信する場合には、タイムスロットにより各データの識別が可能であるため、この場合も、上記識別子を用いる必要はない。
【0039】
稼働系の制御装置10から待機系の制御装置10へ送信された等値化データは、待機系の制御装置10の通信I/F部130の受信バッファに格納される。待機系の制御装置10の通信I/F部130は、受信バッファに格納された等値化データを読み出し、制御部100に与える。待機系の制御装置10の制御部100は、通信I/F部130から引き渡され等値化データを参照し、当該等値化データに含まれているデータ識別子を参照して、更新されたデータを特定し、当該データに対応するものとして自身のメモリ120に格納されているデータを当該受信データで更新(上書き)する。
【0040】
以上説明したように、本実施形態によれば、冗長化制御システムにおける等値化処理にて、無駄なデータコピーや無駄なデータ送信の発生を回避することができ、アプリケーションプログラムの実行帯域を最大限に割り当てることが可能になる。
【0041】
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態では、アドレステーブルレジスタ112と更新レジスタ116を別個のレジスタとしたが、図7に示すように両者を一体としたテーブル(等値化のための前回の通信以降のデータ更新の有無を示す更新識別子を前記メモリの記憶領域毎に記憶するテーブル)をメモリI/F回路110に記憶させておいても良い。このように、アドレステーブルレジスタ112と更新レジスタ116とを一体にしたとしても、メモリI/F回路110が、等値化のための前回の通信以降のデータ更新の有無を示す識別子を前記メモリの記憶領域毎に記憶するデータ管理手段として機能することには変わりないからである。
【0042】
(2)上記実施形態では、等値化対象のデータのうち、前回の等値化処理以降に更新されたデータのみを稼働系の制御装置10から待機系の制御装置10へ送信し、稼働系の制御装置10には等値化ケーブルを介して受信したデータで自装置の該当データを更新させた。しかし、等値化対象の全てのデータを更新の有無を問わずに、更新レジスタ116の各構成ビットと対にして稼働系の制御装置10から待機系の制御装置10へ送信し、待機系の制御装置10には更新有りを示すフラグと対になっているデータのみを対象として、等値化ケーブル20を介して受信したデータで自装置の該当データを更新させても良い。このような態様によっても、待機系の制御装置10における無駄なデータコピー(未更新のデータについての待機系の制御装置での受信バッファからメモリ120へのコピー)を排除して等値化処理に要する帯域を削減し、その分だけアプリケーションプログラムの実行に帯域を割り当てることが可能になるからである。
【0043】
本態様は、上記実施形態に比較して稼働系の制御装置10の処理負荷は軽くなるものの、等値化ケーブルを介した稼働系の制御装置10から待機系の制御装置10へのデータ送信に広い通信帯域を要する。このため、稼働系の制御装置10の処理負荷軽減の方が優先される場合には本態様を採用することが好ましく、等値化ケーブルを介した稼働系の制御装置10から待機系の制御装置10へのデータ送信の通信帯域の削減が優先される場合には上記実施形態の態様が好ましい。
【0044】
(3)上記実施形態では、各アプリケーション実行周期において、まず、予め定められた期間TDに亙ってアプリーションプログラムを実行し、その後、等値化処理を実行する場合について説明した。しかし、各アプリケーション実行周期において、一つ前のアプリケーション実行周期におけるアプリケーションプログラムの実行により更新されたデータの等値化を行い、残った時間をアプリケーションプログラムの実行に割り当てても良い。このような態様によっても、稼働系の制御装置10における無駄なデータコピーを排除して等値化処理に要する帯域を削減し、その分だけアプリケーションプログラムの実行に帯域を割り当てることが可能になるからである。また、このような態様では、各アプリケーション実行周期においてアプリケーションプログラムの実行に割り当て可能な期間がその実行開始前に判っているため、上記実施形態のように更新レジスタ116の格納内容を参照して当該期間の延長の可否を逐一判定する必要はない。
【0045】
(4)アプリケーション実行周期において制御部100に実行させるアプリケーションプログラムは1つであっても良いし、複数であっても良い。複数のアプリケーションプログラムを実行させる態様においては、アプリケーションプログラム毎に予め優先順位を定めておき、制御部100には、各アプリケーション実行周期における予め定められた時間長の期間TDおよび延長後の期間において実行するアプリケーションプログラムを優先順位にしたがって選択させるようにすれば良い。期間TDにおいては最も優先順位の高いアプリケーションプログラムを実行し、延長後の期間においてはより優先順位の低いアプリケーションプログラムを実行する、といった具合である。例えば、等値化処理を要するアプリケーションプログラムと等値化処理を要さないアプリケーションプログラムの2種類を実行させる場合には前者の優先順位を高くしておき、期間TDでは前者が実行され、延長期間で後者が実行されるようにするのである。このような態様であれば、後者のアプリケーションプログラムの実行により更新レジスタ116が更新されることはなく、等値化処理のための時間が不足するといった事態の発生を回避しつつ、アプリケーションプログラムの実行帯域を最大限に割り当てることが可能になる。
【0046】
(5)上記実施形態では本発明の実施形態の一つである制御装置10により制御装置対が形成された冗長化制御システムについて説明したが、制御装置10を単体で提供(すなわち、製造・販売)しても良い。既存の冗長化制御システムにおいて制御装置対を形成している各制御装置を制御装置10で置き換えることで、既存の冗長化制御システムを本発明の制御システムとして機能させることができるからである。
【符号の説明】
【0047】
10,10A,10B…制御装置、20…等値化ケーブル、30…制御ネットワーク、100…制御部、110…メモリI/F回路、112…アドレステーブルレジスタ、114…アドレスデコード回路、11140(n)(n=0〜N)…アドレス一致検出回路、1140a(n)(m)(m=0〜M)…EX−NOR回路、1140b(n)…AND回路、116…更新レジスタ、120…メモリ、130…通信I/F回路、
図1
図2
図3
図4
図5
図6
図7
図8