JP6645223B2 - 制御システム、および制御装置 - Google Patents

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

Info

Publication number
JP6645223B2
JP6645223B2 JP2016019440A JP2016019440A JP6645223B2 JP 6645223 B2 JP6645223 B2 JP 6645223B2 JP 2016019440 A JP2016019440 A JP 2016019440A JP 2016019440 A JP2016019440 A JP 2016019440A JP 6645223 B2 JP6645223 B2 JP 6645223B2
Authority
JP
Japan
Prior art keywords
task
execution
unit
control
equalization
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
Application number
JP2016019440A
Other languages
English (en)
Other versions
JP2017138814A (ja
Inventor
良生 苔縄
良生 苔縄
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 JP2016019440A priority Critical patent/JP6645223B2/ja
Publication of JP2017138814A publication Critical patent/JP2017138814A/ja
Application granted granted Critical
Publication of JP6645223B2 publication Critical patent/JP6645223B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、機器を制御する制御装置を二重化した制御システムに関し、特に制御装置による演算結果の等値化技術に関する。
工場や各種プラント等の産業施設においては、各種操業を制御するために制御システムと呼ばれる通信システムが構築されることが多い。制御システムには、産業施設内に設置されたセンサからの監視データの収集やその収集結果に応じて電動機等の駆動制御を行う制御装置が含まれている。このような制御装置としては、DCS(Distributed
Control System:分散型制御システム或いは分散型制御装置)やプログラマブルロジックコントローラ(以下、PLC)が用いられる。一般的なFA(Factory Automation)システムでは制御装置としてPLCが用いられることが多く、高信頼性を要求されるプラント設備では制御装置としてDCSが用いられることが多い。DCSはPLCに比較して信頼性が高いからである。
制御システムに含まれる制御装置は、監視データの収集、その監視データに基づく制御データの演算、および制御データの送信等の一連の処理(以下、「タスク」と呼ぶ)を、一定周期で繰り返し実行する。1つのタスクは、1つのアプリケーションプログラムを制御装置に実行させることで実現されるものもあれば、複数のアプリケーションプログラムを順次制御装置に実行させることで実現されるものもある。制御システムによって実現される操業の制御は、複数のタスクの組み合わせによって実現され、タスクの実行周期はタスク毎に区々である。また、複数のタスクの実行が競合する場合に備えてタスク毎に優先順位が定められる場合がある。例えば、実行周期の短いタスクほど優先順位を高くするといった具合である。
制御システムでは、制御装置の故障に起因する操業停止を回避するために、制御装置の二重化が行われる場合がある。具体的には、制御システムに2台の制御装置を設け、その一方を稼働系、他方を待機系として動作させる、といった具合である。以下では、制御装置の二重化された制御システムを「冗長化制御システム」と呼ぶ。稼働系の制御装置は、前述したタスクを実行し、待機系の制御装置は稼働系の制御装置の停止に備える。そして、待機系の制御装置は、稼働系の制御装置が停止するとき(或いは停止したとき)には、以降、稼働系として動作する。稼働系の制御装置の停止の具体例としては、何らかの故障や不具合の発生に起因する予期せぬ停止や、保守メンテナンス等による予め計画された停止などが考えられる。待機系の制御装置はこれら2種類の停止の両方に備える。冗長化制御システムでは、2つの制御装置の各々が他方の状態監視を行えるようにするために、通信ケーブルを介してそれら2つの制御装置を接続することが多い。
冗長化制御システムでは、稼働系の制御装置に故障が発生しても稼働系の切り替えを行うことで、タスクの実行を継続することが可能であるが、単に稼働系の切り替えを行うだけでは、その切り替え前後で演算結果である制御データが突変するなどの不具合が発生する場合がある。化学プラント用や製鉄プラント用の冗長化制御システムでは、制御データの突変に起因して原料の投入量や加熱時間等に誤りが生じ、膨大な量の原料を無駄にする虞がある。このような不具合の発生を回避するために、冗長化制御システムでは、稼働系における演算結果やタスクの実行状況を上記通信ケーブル経由で待機系に送信し記憶させる等値化処理が周期的に実行される。例えば、特許文献1には、優先順位付けされた複数のタスクの実行制御が割り込みにより実現されるとともに、各タスクの終了時点で等値化処理が実行される冗長化制御システムにおける稼働系の切り替えの際に、稼働系におけるプログラムカウンタを待機系へ引き継ぐことでタスクの重複実行等を防止し、演算結果の突変を回避する技術が開示されている。
特開2000−148525号公報
近年、冗長化制御システム用の制御装置として市販の汎用マイコンを用いることが提案されている。しかし、汎用マイコンではプログラムカウンタに関する仕様が開示されていない場合が多く、汎用マイコンにより制御装置を構成した冗長化制御システムでは、特許文献1に開示の技術を利用することはできない。つまり、実行周期の異なる複数種のタスクを稼働系の制御装置に実行させる冗長化制御システムにおいて、制御装置として汎用マイコンを用いつつ、稼働系の切り替え時の出力データ継続性を確保することを可能にする技術は従来なかった。
以上説明したように本実施形態によれば、実行周期の異なる複数種のタスクを稼働系の制御装置に実行させる冗長化制御システムにおいて、制御装置として汎用マイコンを用いた場合であっても、稼働系の切り替え時の出力データ継続性を確保することを可能にする技術を提供することを目的とする。
上記課題を解決するために本発明は、一方が稼働系となり他方が待機系となり等値化通信手段を介して通信を行う2つの制御装置を備えた制御システムの各制御装置に、以下のタスク管理手段、等値化手段、およびデータ入出力手段を設ける。タスク管理手段は、各々実行周期が設定された複数のタスクのうち最も実行周期が短い第1のタスクの実行周期を時間区間の単位とし、単位区間毎に、第1のタスクを実行するとともに他のタスクを実現するためのアプリケーションプログラムのうち当該単位区間に予め対応付けられたアプリケーションプログラムを実行する。等値化手段は、自装置が稼働系である場合と待機系である場合とで異なる処理を実行する。稼働系である場合には、等値化手段は、タスクの実行に伴って自装置のメモリに書き込まれたデータと次に実行する単位区間を示す区間識別子とを単位区間の終わりに等値化通信手段を介して他方の制御装置へ送信する。待機系である場合には、等値化手段は、等値化通信手段を介して他方の制御装置から受信したデータと区間識別子とを自装置のメモリに書き込む。データ入出力手段は、タスクの実行が完了したか否かをタスク毎に判定し実行を完了したタスクの処理結果を示すデータを出力する処理を、自装置が稼働系である場合に、等値化手段の処理を完了した後に実行する。そして、待機系の制御装置のタスク管理手段は、等値化通信手段を介した通信により稼働系の切り替えを検出した場合には、自装置のメモリに記憶されている区間識別子の示す単位区間から複数のタスクの実行を開始する。
本発明では、第1のタスクは単位時間毎に実行される一方、他のタスクを実現する1または複数のアプリケーションプログラムは1または複数の単位区間に亘って実行される。そして、単位区間毎にその単位区間において更新されたデータの等値化が行われる。何れかの単位区間において稼働系の切り替えが発生したとしても、切り換え後の稼働系の制御装置においては、一つ手前の単位区間までの演算結果を引き継いで第1のタスクの実行を再開し、さらに他のタスクの実行を再開することができる。このため、稼働系の切り替え時の出力データ継続性を確保することができる。本発明における区間識別子は、プログラムカウンタである必要はない。例えば、上記複数のタスクが上記第1のタスクと、第1のタスクのN(Nは2以上の整数)倍の時間長の実行周期を有する第2のタスクである場合には、第2のタスクの実行周期を単位区間でN等分した場合の何番目の単位区間まで実行を完了しているかを示す汎用カウンタのカウンタ値を区間識別子として用いるようにすれば良い。本発明によれば、実行周期の異なる複数種のタスクを稼働系の制御装置に実行させる冗長化制御システムにおいて、制御装置として汎用マイコンを用いた場合であっても、稼働系の切り替え時の出力データ継続性を確保することが可能になる。
第1のタスクのほうが第2のタスクよりも優先順位が高い場合には、各単位区間の各々において、第1のタスクを実現するための全てのアプリケーションプログラムの実行を完了した後に第2のタスクを実現するアプリケーションプログラムを実行する処理をタスク管理手段に実行させれば良い。また、実行周期の時間長が第1のタスク以上であって、第2のタスクよりも優先順位が高い第3のタスクを制御装置に実行させても良く、この場合は、第3のタスクを実現する1または複数のアプリケーションプログラムのうち実行中の単位区間に予め対応付けられてアプリケーションプログラムを、第1のタスクを実現するため全てのアプリケーションプログラムの実行を完了した後、第2のタスクを実現するアプリケーションプログラムに先立って実行する処理を単位時間毎にタスク管理手段に実行させるようにすれば良い。要は、制御装置に実行させる複数のタスクの各々に予め優先順位を設定しておくとともに優先順位が高いほど短い実行周期を設定しておき、タスク管理手段には、各単位区間において、最も優先順位の高い第1のタスクの実行を完了した後、他のタスクを実現するアプリケーションプログラムのうち当該単位区間に対応付けられたアプリケーションプログラムをタスクの優先順位順に実行させるようにすれば良い。
また、上記課題を解決するために本発明は、一方が稼働系となり他方が待機系となり等値化通信手段を介して通信を行う2つの制御装置よりなる制御装置対を形成する制御装置として、上記タスク管理手段、等値化手段、およびデータ入出力手段を含む制御装置を提供する。本発明のさらに別の態様としては、コンピュータを上記タスク管理手段および等値化手段として機能させるプログラムを提供する態様が考えられる。また、このようなプログラムの具体的な提供態様としては、CD−ROM(Compact Disk-Read Only Memory)やフラッシュROM(Read
Only Memory)などのコンピュータ読み取り可能な記録媒体に当該プログラムを書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
本発明によれば、実行周期の異なる複数種のタスクを稼働系の制御装置に実行させる冗長化制御システムにおいて、制御装置として汎用マイコンを用いた場合であっても、稼働系の切り替え時の出力データ継続性を確保することが可能になる。
本発明の一実施形態の制御装置10の構成例および同制御装置10を含む制御システムの構成例を示すブロック図である。 タスク構成テーブルのデータ構造の一例を示す図である。 タスクAおよびタスクBの実行シーケンスの一例を示す図である。 プログラム管理テーブルのデータ構造の一例を示す図である。 タスク実行状況テーブルのデータ構造の一例を示す図である。
以下、図面を参照しつつ本発明の実施形態を説明する。
図1は、本発明の一実施形態による制御システムの構成例を示すブロック図である。この制御システムは、化学プラントや製鉄プラントなどの産業施設に敷設され、当該産業施設に設置されたセンサ等から収集される監視データに基づいて電動機等の駆動制御を行い、当該産業施設における操業を支援する。図1に示すように、この制御システムは、制御ネットワーク30に各々接続された制御装置10Aおよび制御装置10Bを有する。図1では詳細な図示を省略したが、制御ネットワーク30には、監視データの送信元となるセンサ等が接続されているとともに電動機等の制御対象機器が接続されている。
図1に示すように、制御装置10Aと制御装置10Bは等値化ケーブル20を介して互いに接続されている。図1に示す制御システムでは、制御装置10Aと制御装置10Bのうちの何れか一方が稼働系となって制御対象機器の駆動制御のための演算を行い、他方は待機系となって稼働系の故障に備える。つまり、図1に示す制御システムは、冗長化制御システムである。以下では、制御装置10Aが稼働系となっている場合について説明する。制御装置10Aおよび制御装置10Bの各々は例えばDCSである。図1に示すように、制御装置10Aの構成と制御装置10Bの構成は同一である。このため、以下では、制御装置10Aと制御装置10Bを区別する必要がない場合には、「制御装置10」と表記する。本実施形態では、制御対象がプラントであるため制御装置10としてDCSを用いるが、PLCを用いても勿論良い。図1に示すように、制御装置10は、制御部100、メモリIF回路110、メモリ120、および通信IF回路130を有する。
制御部100は汎用マイコンである。制御部100は、メモリ120に予め記憶された制御プログラムを実行することにより、制御装置10の制御中枢として働く。なお、図1では制御プログラムの図示は省略されている。制御プログラムにしたがって作動する制御部100は、アプリケーションプログラム実行手段、タスク管理手段、等値化手段、およびデータ入出力手段として機能する。これら各手段の詳細については後に明らかにするが、概略は以下の通りである。アプリケーションプログラム実行手段は、タスク管理手段による制御の下、メモリ120に予め記憶されたアプリケーションプログラムを実行する。タスク管理手段は、1または複数のアプリケーションプログラムの実行により実現されるタスクの実行管理を行う。等値化手段は、アプリケーションプログラムの実行過程で生成されたデータの等値化を行う。データ入出力手段は、制御ネットワーク30に接続されているセンサ等から送信されてくるデータを受信して制御部100へ与える処理、およびアプリケーションプログラムの実行過程で生成され等値化を経たデータの制御ネットワーク30への送出処理を行う。
メモリIF回路110は、メモリ120に記憶されている各種データに対する制御部100によるアクセスを仲介するLSI(Large-Scale
Integration)である。メモリ120は、メモリIF回路110を介して制御部100に接続されている。図1では詳細な図示を省略したが、メモリ120は、揮発性メモリと不揮発性メモリとを有する。揮発性メモリは例えばRAM(Random Access Memory)であり、各種アプリケーションプログラムを実行する際のワークエリアとして制御部100によって利用される。また、メモリ120には、アプリケーションプログラムの実行過程で生成されたデータが格納され、これらのデータが他方の制御装置10との等値化対象となる。
不揮発性メモリは例えばEEPROM(Electrically
Erasable and Programmable Read Only Memory)である。不揮発性メモリには、制御装置10の機能を実現するための各種プログラムと各種データが予め格納されている。不揮発性メモリに格納されているプログラムの具体例としては、前述した制御プログラムや、図1に示す制御システムの設置先の化学プラントにおける操業を支援するためのアプリケーションプログラムが挙げられる。本実施形態の制御装置10の不揮発性メモリには、アプリケーションプログラムPG0〜PG7の8個のアプリケーションプログラムが格納されている。アプリケーションプログラムPG0は、タスクAを制御部100に実現させるアプリケーションプログラムであり、アプリケーションプログラムPG1〜PG7は、タスクBを制御部100に実現させるアプリケーションプログラムである。制御部100は、アプリケーションプログラムPG1〜PG7の各々をこの順に順次実行することでタスクBを実現する。
本実施形態では、タスクAおよびタスクBの各々を稼働系の制御装置10に周期的に実行させることで、図1に示す制御システムの設置先の化学プラントにおける操業の支援が実現される。本実施形態では、タスクAはタスクBよりも短い周期で実行される。具体的には、タスクAの実行周期TAは100msであり、タスクBの実行周期TBは400msである。制御装置10の不揮発性メモリには、タスクAおよびタスクBの実行周期を定義する情報を格納したタスク構成テーブルと、タスクBとアプリケーションプログラムPG1〜PG7の各々との対応関係を示す情報を格納したプログラム管理テーブルとが予め格納されている。
図2は、タスク構成テーブルのデータ構造の一例を示す図である。
図2に示すように、タスク構成テーブルには、タスクAおよびタスクBの各々に対応付けて、等値化設定、タスク周期および分割数を表すデータが格納されている。等値化設定とはタスクの全部または一部の実行完了が等値化の契機となるか否かを示し、FALSE(例えば、1)は等値化の契機とならないことを、TRUE(例えば、0)は等値化の契機となることを意味する。図2を参照すれば明らかなように本実施形態では、タスクAについてはその全部または一部の実行完了は等値化の実行契機となっておらず、タスクBについてはその全部または一部の実行完了が等値化の実行契機となっている。タスク周期とは、タスクの実行周期のことである。図2に示すように、本実施形態のタスク構成テーブルには、タスクAの実行周期TAを表すタスク周期データとして100msを表すデータが格納されており、タスクBの実行周期TBを表すタスク周期データとして400msを表すデータが格納されている。分割数とは、制御装置10に実行させるタスクのうちの実行周期が最も短いタスクの実行周期の時間長を時間区間の単位とした場合に、他のタスクの実行周期はその何倍であるかを表すデータである。図2に示すように、本実施形態のタスク構成テーブルには、タスクBについての分割数データとして4を表すデータが格納されており、タスクAについての分割数データとして0を表すデータが格納されている。以下、本実施形態ではタスクBの実行周期を4等分して得られる時間区間、すなわち、タスクAの実行周期TAと同じ時間長の時間区間のことを「単位区間」と呼ぶ。タスクBの実行周期は、図3に示すように、各々100msの長さの単位区間UT(n)(n=1〜4)に4等分される。
本実施形態では、実行周期の短いタスクほど高い優先順位が設定されており、制御部100は、単位区間UT(n)(n=1〜4)の各々においてタスクの優先順位の順にアプリケーションプログラムを実行する。具体的には、単位区間UT(n)(n=1〜4)の各々において、制御部100は、まずタスクA(アプリケーションプログラムPG0)を実行し、その実行が完了した後にタスクBを実現するアプリケーションプログラムを実行する。なお、図3において「入力A」および「入力B」はデータ入出力手段によるデータの入力、すなわち制御ネットワーク30から受信したデータの制御部100への入力を表し、「出力」はデータ入出力手段によるデータの出力、すなわち制御ネットワーク30へのデータ送出を表す。また、図3における「等値化」は等値化手段による等値化処理を表す。前述したようにタスクBはアプリケーションプログラムPG1〜PG7を順次実行することで実現されるタスクである。本実施形態では、アプリケーションプログラムPG1〜PG7の各々について単位区間UT(n)の何れにおいて実行するのかが予め定められており、プログラム管理テーブルは両者の対応関係を表すテーブルである。図4に示すように、プログラム管理テーブルには、アプリケーションプログラムPG1〜PG7の各々に対応付けて、そのアプリケーションプログラムの実行区間を示す単位区間識別子が格納されている。
例えば、図4に示すプログラム管理テーブルは、単位区間UT(1)においてはアプリケーションプログラムPG1を、単位区間UT(2)においてはアプリケーションプログラムPG2およびPG3を、単位区間UT(3)においてはアプリケーションプログラムPG4およびPG5を、単位区間UT(4)においてはアプリケーションプログラムPG6およびPG7を、夫々実行することを表している。前述したタスク管理手段は、タスク構成テーブルおよびプログラム管理テーブルの格納内容にしたがってタスクAおよびタスクBの各々を実現するアプリケーションプログラムの実行制御を行う。
前掲図1に戻って、通信IF回路130は、データ通信用のLSIであり、制御ネットワーク30に接続されているとともに、等値化ケーブル20を介して他方の制御装置10の通信IF回路130に接続されている。また、図1では詳細な図示を省略したが、通信IF回路130には、アプリケーションプログラムの作成や制御装置10へのインストールを支援するためのコンピュータである支援ツールが接続される。本実施形態におけるアプリケーションプログラムPG0〜PG7、タスク構成テーブルおよびプログラム管理テーブルは、何れも上記支援ツールによって作成され、制御装置10にインストールされたものである。
図1では詳細な図示を省略したが、通信IF回路130は、他方の制御装置10へ送信するデータを格納する送信バッファと他方の制御装置10から受信したデータが書き込まれる受信バッファとを有している。稼働系の制御装置10では、等値化手段によって、通信IF回路130の送信バッファへの等値化対象のデータの書き込が行われる。稼働系の制御装置10の通信IF回路130は、送信バッファに書き込まれたデータを等値化ケーブル20を介して待機系の制御装置10へ送信する。待機系の制御装置10の通信IF回路130は、等値化ケーブル20を介して受信したデータを受信バッファに書き込み、このようにして受信バッファに格納されたデータは、待機系の制御装置10の等値化手段によって自身のメモリ120に展開される。
制御装置10の電源(図1では図示略)の投入を契機として制御部100は、制御プログラムを不揮発性メモリから揮発性メモリへ読み出し、その実行を開始する。制御プログラムの実行を開始した制御部100は、前述したタスク構成テーブルおよびプログラム管理テーブルを不揮発性メモリから揮発性メモリに読み出すとともに、タスクAおよびタスクBの周期的な実行を管理するための各種制御パラメータを揮発性メモリに割り当てる。本実施形態では、単位区間UT(1)、UT(2)、UT(3)、UT(4)、UT(1)・・・と単位区間UT(n)の処理を巡回的に繰り返すことでタスクAおよびタスクBの周期的な実行が実現される。上記制御パラメータの具体例としては、未完了の単位区間UT(n)を示す未完了区間識別子と、タスクAおよびタスクBの各々の実行状況を示すタスク実行状況テーブルが挙げられる。
未完了区間識別子は、上記制御プログラムの実行開始を契機として1に初期化され、以降、単位区間UT(n)に対応付けられた全てのアプリケーションプログラムの実行を完了する毎に、2、3、4、1、2・・・と巡回的に更新されるカウンタ変数である。図5はタスク実行状況テーブルのデータ構造の一例を示す図である。図5に示すように、タスク実行状況テーブルには、タスクAおよびタスクBの各々に対応付けて実行状況識別子が格納されている。実行状況識別子にTRUEまたはFALSEの何れかの値がセットされ、TRUEはタスクの実行が完了していることを、FALSEはタスクの実行が完了していないことを意味する。未完了区間識別子の値の更新およびタスク実行状況テーブルの格納内容の更新はタスク管理手段によって行われる。
次いで、制御部100が制御プログラムにしたがって実現する各手段について説明する。アプリケーションプログラム実行手段は、タスク管理手段により実行を指示されたアプリケーションプログラムを不揮発性メモリから揮発性メモリに読み出し、実行する。そして、アプリケーションプログラム実行手段は、アプリケーションプログラムの実行過程で生成されたデータを、アプリケーションプログラム毎に揮発性メモリ内に定められた記憶領域へ書き込む。
タスク管理手段は、単位区間と同じ時間長の周期、すなわち、100ms周期で以下の処理を実行する。タスク管理手段は、まず、タスクAについての実行状況識別子にFALSEをセットし、データ入出力手段に「入力A」を実行させた後に、アプリケーションプログラムPG0を不揮発性メモリから揮発性メモリに読み出し、アプリケーションプログラムPG0を実行する。そして、タスク管理手段は、アプリケーションプログラムPG0の実行完了を契機として、タスクAについての実行状況識別子をTRUEに更新する。アプリケーションプログラムPG0の実行を完了すると、タスク管理手段は当該アプリケーションプログラムPG0の実行により実現されるタスク、すなわち、タスクAが等値化設定を参照する。等値化設定がTRUEであれば、タスク管理手段は等値化手段に等値化を実行させるのであるが、本実施形態ではタスクAが等値化設定はFALSEである。このため、この時点では等値化は行われない。
次いで、タスク管理手段は、未完了区間識別子と同じ値の単位区間識別子に対応づけてプログラム管理テーブルに格納されているプログラム識別子の示すアプリケーションプログラムを不揮発性メモリから揮発性メモリへ読み出し、その実行を開始する。ただし、未完了区間識別子の値が1である場合には、タスク管理手段は、タスクBについての実行状況識別子にFALSEをセットし、データ入出力手段に「入力B」を実行させた後、プログラム識別子の示すアプリケーションプログラムの実行を行う。なお、タスクBを構成する全てのアプリケーションプログラムの実行が完了した場合には、タスク管理手段、タスクBについての実行状況識別子をTRUEに更新する処理も実行する。
例えば単位区間UT(1)におけるアプリケーションプログラムPG0の実行完了時点では未完了区間識別子の値は1である。このため、タスク管理手段は、データ入出力手段に「入力B」を実行させた後にアプリケーションプログラムPG1を不揮発性メモリから揮発性メモリへ読み出し、実行する。同様に単位区間UT(2)におけるアプリケーションプログラムPG0の実行完了時点では未完了区間識別子の値は2であるため、タスク管理手段は、アプリケーションプログラムPG2とPG3を不揮発性メモリから揮発性メモリへ読み出して順次実行し、単位区間UT(3)におけるアプリケーションプログラムPG0の実行完了時点では未完了区間識別子の値は3であるため、タスク管理手段は、アプリケーションプログラムPG4とPG5を不揮発性メモリから揮発性メモリへ読み出して順次実行する。そして、単位区間UT(4)におけるアプリケーションプログラムPG0の実行完了時点では未完了区間識別子の値は4であるため、タスク管理手段は、アプリケーションプログラムPG6とPG7を不揮発性メモリから揮発性メモリへ読み出して順次実行する。
タスクBを構成する各アプリケーションプログラムについても、タスク管理手段は単位区間UT(n)に対応付けられたアプリケーションプログラムの実行完了を契機としてタスクBについての等値化設定を参照し、等値化設定がTRUEであれば等値化手段に等値化を実行させる。本実施形態ではタスクBが等値化設定はTRUEEであり、等値化が実行される。この等値化が完了すると、タスク管理手段はデータ入出力手段に「出力」を行わせる。等値化手段およびデータ入出力手段が実行する処理については後に明らかにする。
稼働系の制御装置10の等値化手段は、単位区間UT(n)(n=1〜4)の各々において、タスクAに対応するアプリケーションプログラム(すなわち、アプリケーションプログラムPG0)の実行により揮発性メモリに書き込まれたデータと、タスクBを実現するアプリケーションプログラムのうちで実行中の単位区間、すなわち、タスク管理手段により等値化の実行指示を与えられた時点の未完了区間識別子が示す単位区間の一つ前の単位区間に対応するアプリケーションプログラムの実行により揮発性メモリに書き込まれたデータと、未完了区間識別子と、を通信IF回路130の送信バッファに書き込む。
データ入出力手段は、実行状況識別子がTRUEとなっているタスクに関連するデータ、すなわち、当該タスクに対応するアプリケーションプログラムに対して割り当てられた記憶領域に格納されているデータを通信IF回路130を介して制御ネットワーク30へ送出する。実行状況識別子がFALSEとなっているタスクに関連するデータは出力されないため、複数の単位区間に亘って実行されるタスクの途中のデータが制御ネットワーク30に送出されることはない。
以上が制御装置10の構成である。
このような構成としたため、図3に示すように、単位区間UT(1)ではタスクAが実行され、その後、タスクBを実現するアプリケーションプログラムのうちアプリケーションプログラムPG1のみが実行される。同様に、単位区間UT(2)ではタスクAが実行され、その後、タスクBを実現するアプリケーションプログラムのうちアプリケーションプログラムPG2とPG3が実行され、単位区間UT(3)ではタスクAが実行され、その後、タスクBを実現するアプリケーションプログラムのうちアプリケーションプログラムPG4とPG5が実行される。そして、単位区間UT(4)ではタスクAが実行され、その後、タスクBを実現するアプリケーションプログラムのうちアプリケーションプログラムPG6とPG7が実行される。
また、単位区間UT(1)における「等値化」では、タスクAの実行結果とアプリケーションプログラムPG1の実行結果の等値化が行われ、未完了区間識別子として2が等値化ケーブル20を介して稼働系の制御装置10から待機系の制御装置10へ伝達される。また、単位区間UT(1)における「出力」では、タスクAの実行結果のみが制御ネットワーク30へ送出される。この時点では、タスクBについての実行状況識別子はFALSEだからである。
単位区間UT(2)における「等値化」では、タスクAの実行結果とアプリケーションプログラムPG2およびPG3の実行結果の等値化が行われ、未完了区間識別子として3が等値化ケーブル20を介して稼働系の制御装置10から待機系の制御装置10へ伝達される。また、単位区間UT(2)における「出力」ではタスクAの実行結果のみが制御ネットワーク30へ送出される。この時点においても、タスクBについての実行状況識別子はFALSEのままだからである。
単位区間UT(3)における「等値化」では、タスクAの実行結果とアプリケーションプログラムPG4およびPG5の実行結果の等値化が行われ、未完了区間識別子として4が等値化ケーブル20を介して稼働系の制御装置10から待機系の制御装置10へ伝達される。また、単位区間UT(3)における「出力」ではタスクAの実行結果のみが制御ネットワーク30へ送出される。この時点においても、タスクBについての実行状況識別子はFALSEのままだからである。
そして、単位区間UT(4)における「等値化」では、タスクAの実行結果とアプリケーションプログラムPG6およびPG7の実行結果の等値化が行われ、未完了区間識別子として1が等値化ケーブル20を介して稼働系の制御装置10から待機系の制御装置10へ伝達される。単位区間UT(4)における「出力」ではタスクAの実行結果とタスクBの実行結果が制御ネットワーク30へ送出される。これにより、タスクAの100ms周期での実行とタスクBの400ms周期での実行とが実現される。
仮に単位区間UT(n)(n=1〜4)の各々におけるアプリケーションプログラムPG0の実行完了後にタスクBを実現するためのアプリケーションプログラムの実行に先立って或いは当該プログラムと並列に等値化を行うと、タスクBを実現するためのアプリケーションプログラムの実行結果が全く等値化されない事態やその一部のみが中途半端に等値化されるといった事態が発生する。また、タスクBの実行完了まで等値化を行わないとすると、単位区間UT(n)(n=1〜3)の各々におけるタスクAの実行結果やタスクBの途中経過が等値化されず、稼働系の切り替え時点でデータの突変が発生する。
これに対して、本実施形態によれば、図3における単位区間UT(3)においてアプリケーションプログラムPG4の実行中に稼働系の切り替えが発生したとしても、単位区間UT(2)における「等値化」にて、単位区間UT(2)におけるタスクAの実行結果とアプリケーションプログラムPG2およびPG3の実行結果については等値化が完了しており、未完了区間識別子として3が等値化ケーブル20を介して稼働系の制御装置10から待機系の制御装置10へ伝達されている。このため、新たに稼働系となった制御装置10のタスク管理手段が未完了区間識別子の示す単位区間から各タスクの実行を開始したとしても、それまでのタスクの実行結果を引き継いでタスクAおよびタスクBを実行することができ、データの突変が発生することはない。
また、本実施形態における未完了区間識別子は、汎用カウンタのカウンタ値であり、汎用マイコンにおいても問題なく利用できる。このように、本実施形態によれば、実行周期の異なる複数種のタスクを稼働系の制御装置に実行させる冗長化制御システムにおいて、制御装置として汎用マイコンを用いた場合であっても、稼働系の切り替え時の出力データ継続性を確保することが可能となる。
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態では本発明の実施形態の一つである制御装置10により制御装置対が形成された冗長化制御システムについて説明したが、制御装置10を単体で提供(すなわち、製造・販売)しても良い。既存の冗長化制御システムにおいて制御装置対を形成している各制御装置を制御装置10で置き換えることで、既存の冗長化制御システムを本発明の制御システムとして機能させることができるからである。
(2)上記実施形態では、1つのアプリケーションプログラムの実行によりタスクAが実現される場合について説明したが、複数のプログラムを順次実行することでタスクAが実現される態様であっても良い。また、上記実施形態では、タスクBの実行周期を4等分する場合について説明したが、2等分または3等分であっても良く、また、5等分以上に分割しても良い。
要は、タスクBの実行周期を複数に等分して得られる単位区間の各々においてタスクAを実現するアプリケーションプログラムとタスクBを実現するための複数のアプリケーションプログラムのうちの当該単位区間に割り当てたアプリケーションプログラムの実行、それらアプリケーションプログラムの実行過程で生成されたデータの等値化、およびタスクAの実行結果の制御対象機器への出力がその単位区間内に完了できるように単位区間の時間長が確保されていれば良い。
(3)上記実施形態では、タスクAとタスクBの2種類のタスクを制御装置10に実行させたが、3種類以上のタスクを制御装置10に実行させても良い。要は、各々実行周期が設定された複数のタスクのうち最も実行周期が短い第1のタスクの実行周期を時間区間の単位とし、単位区間毎に、第1のタスクを実行するとともに他のタスクを実現するためのアプリケーションプログラムのうちプログラム管理テーブルによって当該単位区間に予め対応付けられたアプリケーションプログラムを実行する処理をタスク管理手段に実行させるようにすれば良い。この場合、各単位区間におけるアプリケーションプログラムの実行順はタスクの優先順位の順であっても良いし、当該優先順位とは無関係な順であっても良い。そして、稼働系の制御装置10の等値化手段には、タスクの実行に伴って自装置のメモリに書き込まれたデータと次に実行する単位区間を示す未完了区間識別子とを単位区間の終わりに等値化ケーブル20を介して他方の制御装置10へ送信する処理を実行させるようにすれば良く、データ入出力手段には、タスクの実行が完了したか否かをタスク実行状況テーブルを参照してタスク毎に判定し実行を完了したタスクの処理結果を示すデータを出力する処理を実行させるようにすれば良い。
(4)上記実施形態では、制御部110をアプリケーションプログラム実行手段、タスク管理手段、等値化手段およびデータ入出力手段として機能させる制御プログラムが制御装置10の不揮発性メモリ124に予め格納されていた。しかし、上記制御プログラムをフラッシュメモリなどのコンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。一般的なコンピュータを、上記の要領で配布される制御プログラムにしたがって作動させることで当該コンピュータを本発明の制御装置として機能させることができる。
10,10A,10B…制御装置、20…等値化ケーブル、30…制御ネットワーク、100…制御部、110…メモリIF回路、120…メモリ、130…通信IF回路。

Claims (3)

  1. 一方が稼働系となり他方が待機系となり等値化通信手段を介して通信を行う2つの制御装置を備えた制御システムであって、
    前記2つの制御装置の各々は、
    各々実行周期が設定された複数のタスクのうち最も実行周期が短い第1のタスクの実行周期を時間区間の単位とし、単位区間毎に、前記第1のタスクを実行するとともに他のタスクを実現するためのアプリケーションプログラムのうち当該単位区間に予め対応付けられたアプリケーションプログラムを実行するタスク管理手段と、
    自装置が稼働系である場合には、タスクの実行に伴って自装置のメモリに書き込まれたデータと次に実行する単位区間を示す区間識別子とを単位区間の終わりに前記等値化通信手段を介して他方の制御装置へ送信する一方、自装置が待機系である場合には前記等値化通信手段を介して他方の制御装置から受信したデータと区間識別子とを自装置のメモリに書き込む等値化手段と、
    タスクの実行が完了したか否かをタスク毎に判定し実行を完了したタスクの処理結果を示すデータを出力する処理を、自装置が稼働系である場合に、前記等値化手段の処理を完了した後に実行するデータ入出力手段と、
    を有し、
    前記タスク管理手段は、
    自装置が待機系であり、かつ前記等値化通信手段を介した通信により稼働系の切り替えを検出した場合に、自装置のメモリに記憶されている区間識別子の示す単位区間から前記複数のタスクの実行を開始する
    ことを特徴とする制御システム。
  2. 前記複数のタスクの各々には実行周期が短いほど高い優先順位が設定されており、
    前記タスク管理手段は、
    各単位区間において、前記第1のタスクの実行を完了した後、当該単位区間に対応付けられたアプリケーションプログラムをタスクの優先順位順に実行する
    ことを特徴とする請求項1に記載の制御システム。
  3. 一方が稼働系となり他方が待機系となり等値化通信手段を介して通信を行う2つの制御装置よりなる制御装置対を形成する制御装置であって、
    優先順位が高いほど実行周期を短く設定された複数のタスクのうち優先順位が最も高い第1のタスクの実行周期を時間区間の単位とし、単位区間毎に、前記第1のタスクを実行するとともに他のタスクを実現するためのアプリケーションプログラムのうち当該単位区間に予め対応付けられたアプリケーションプログラムを実行するタスク管理手段と、
    自装置が稼働系である場合には、タスクの実行に伴って自装置のメモリに書き込まれたデータと次に実行する単位区間を示す区間識別子とを単位区間の終わりに前記等値化通信手段を介して他方の制御装置へ送信する一方、自装置が待機系である場合には前記等値化通信手段を介して他方の制御装置から受信したデータと区間識別子とを自装置のメモリに書き込む等値化手段と、
    タスクの実行が完了したか否かをタスク毎に判定し実行を完了したタスクの処理結果を示すデータを出力する処理を、自装置が稼働系である場合に、前記等値化手段の処理を完了した後に実行するデータ入出力手段と、
    を有し、
    前記タスク管理手段は、
    自装置が待機系であり、かつ前記等値化通信手段を介した通信により稼働系の切り替えを検出した場合に、自装置のメモリに記憶されている区間識別子の示す単位区間から前記複数のタスクの実行を開始する
    ことを特徴とする制御装置。
JP2016019440A 2016-02-04 2016-02-04 制御システム、および制御装置 Active JP6645223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016019440A JP6645223B2 (ja) 2016-02-04 2016-02-04 制御システム、および制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016019440A JP6645223B2 (ja) 2016-02-04 2016-02-04 制御システム、および制御装置

Publications (2)

Publication Number Publication Date
JP2017138814A JP2017138814A (ja) 2017-08-10
JP6645223B2 true JP6645223B2 (ja) 2020-02-14

Family

ID=59566851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016019440A Active JP6645223B2 (ja) 2016-02-04 2016-02-04 制御システム、および制御装置

Country Status (1)

Country Link
JP (1) JP6645223B2 (ja)

Also Published As

Publication number Publication date
JP2017138814A (ja) 2017-08-10

Similar Documents

Publication Publication Date Title
JP6870568B2 (ja) 通信システム、制御装置、設定装置、設定方法およびプログラム
JP6626240B2 (ja) コントローラ
JP5796311B2 (ja) 制御装置およびシステムプログラム
JP5747584B2 (ja) 制御装置およびシステムプログラム
JP5583305B2 (ja) プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム
JPH0213321B2 (ja)
JP6514252B2 (ja) ロボットのデータ設定システム、データ設定方法及びプログラム
WO2020230433A1 (ja) 制御装置
CN111095138B (zh) 控制装置、控制装置的控制方法、信息处理程序及记录介质
US11165745B2 (en) Control system, controller, and control method
JP4993208B2 (ja) 産業用コントローラ用機器
JP6645223B2 (ja) 制御システム、および制御装置
JP2015125746A (ja) 施設管理システムおよび履歴記録方法
JP5921781B2 (ja) プログラマブルコントローラおよびプログラマブルコントローラの制御方法
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP6304048B2 (ja) 制御システム、および制御装置
JP3896076B2 (ja) 数値制御装置
JP6469330B1 (ja) モニタ支援装置、モニタ支援方法およびモニタ支援プログラム
JP2010079355A (ja) 複数plc間の協調制御システム
JP2007241570A (ja) プログラマブルコントローラ間通信のための共有メモリの設定方式
JP7224261B2 (ja) プラント監視制御システム
US11106449B2 (en) Method for updating software components of a network subscriber of a network
JP5400691B2 (ja) プログラマブル表示器の監視操作方法、監視操作プログラムおよびプログラマブル表示器
JP2018022367A (ja) コントローラ、および、制御システム
JP2022184262A (ja) 情報処理装置、方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191223

R150 Certificate of patent or registration of utility model

Ref document number: 6645223

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