JP6225091B2 - 多重化制御装置及び方法並びに機器制御システム及び方法 - Google Patents

多重化制御装置及び方法並びに機器制御システム及び方法 Download PDF

Info

Publication number
JP6225091B2
JP6225091B2 JP2014212557A JP2014212557A JP6225091B2 JP 6225091 B2 JP6225091 B2 JP 6225091B2 JP 2014212557 A JP2014212557 A JP 2014212557A JP 2014212557 A JP2014212557 A JP 2014212557A JP 6225091 B2 JP6225091 B2 JP 6225091B2
Authority
JP
Japan
Prior art keywords
control
logic
signal
shortest
calculation
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
JP2014212557A
Other languages
English (en)
Other versions
JP2016081329A (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.)
Mitsubishi Power Ltd
Original Assignee
Mitsubishi Hitachi Power Systems 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 Mitsubishi Hitachi Power Systems Ltd filed Critical Mitsubishi Hitachi Power Systems Ltd
Priority to JP2014212557A priority Critical patent/JP6225091B2/ja
Publication of JP2016081329A publication Critical patent/JP2016081329A/ja
Application granted granted Critical
Publication of JP6225091B2 publication Critical patent/JP6225091B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Safety Devices In Control Systems (AREA)

Description

本開示は、多重化制御装置及び方法並びに機器制御システム及び方法に関する。
制御装置によって信頼性や安全性の高い制御を行うために、制御装置を多重化させる場合がある。
多重化の方式として、例えば、同期型の多重化方式が知られている。同期型の多重化方式では、例えば、複数の制御装置の各々において、同一の入力データ及び同一制御ロジックを用いて制御演算を行い、各制御装置での演算結果を比較してその比較結果に応じた信号を制御対象の制御に用いる。この際、制御演算のタイミングを複数の制御装置間で揃える(同期させる)ことで、各制御装置が正常な場合には、各制御装置において同一の演算結果が得られるようにしている。
例えば、特許文献1に記載される多重化制御装置は、このような同期型の多重方式の一例である。特許文献1に記載の多重化制御装置では、3台の制御装置の制御演算処理部に同一の入力信号を入力して各制御装置にて制御演算を行っている。また、最も優先度の高い制御装置から他の制御演算装置へ同期信号を送って、制御演算処理の開始を一定の演算周期毎に揃えるようになっている。
特開昭63−262701号公報
しかしながら、上述したような同期型の多重化方式を採用していても、各制御装置において複数の制御ロジックを異なる演算周期で実行させ、かつ、一つの制御ロジックの演算結果を他の制御ロジックで参照するような場合においては、複数の装置間で参照タイミングがずれて、異なる演算周期の演算結果を参照してしまう場合がある。
この点、特許文献1には、複数の制御ロジックを異なる演算周期で実行させることについて記載されておらず、複数の制御ロジックを用いることに起因して複数の制御装置間で生じる制御演算結果の不一致を回避するための対策については何ら記載されていない。
上記の事情に鑑みて、本発明の少なくとも幾つかの実施形態は、複数の制御ロジックを異なる演算周期で実行させる複数の制御ユニット(制御装置)において、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避可能な多重化制御装置及び方法を提供することを目的とする。
(1)本発明の少なくとも一実施形態に係る多重化制御装置は、
信号利用ロジックおよび1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための多重化制御装置であって、
前記複数の制御ロジックのうち演算周期が最短である周期最短ロジック以外の非周期最短ロジックの各々よりも演算周期が短い割込制御ロジックが実行されていない空き時間に、各々の前記非周期最短ロジックを構成する複数の演算要素を実行順に実行するとともに、前記信号生成ロジックの実行により得られた信号を参照して前記信号利用ロジックを実行するようにそれぞれが構成された複数の制御ユニットを備え、
前記複数の制御ユニットは、
各々の前記非周期最短ロジックよりも短い前記割込制御ロジックのそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の前記非周期最短ロジックの前記演算要素の実行情報を相互に交換して、最も多くの前記演算要素の実行を終えた先行制御ユニットを前記非周期最短ロジックごとに特定し、
少なくとも前記先行制御ユニットを除く他の制御ユニットが、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の実行を少なくとも完了するまで前記非周期最短ロジックを優先して実行するように構成され、
前記複数の制御ユニットは、前記複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果を比較して、各々の制御ユニットの異常を検出するように構成される。
上記(1)の構成では、各々の前記非周期最短ロジックよりも短い前記割込制御ロジックのそれぞれの演算周期毎に設定された同期ポイントにおいて、全ての制御ユニットにおいて、割込制御ロジックよりも優先して、少なくとも非周期最短ロジックにおける同一の演算要素まで(すなわち先行制御ユニットが実行を終えた演算要素まで)実行するようにした。このため、少なくとも各割込制御ロジックの周期毎に、全ての制御ユニットで非周期最短ロジックそれぞれの進行段階が揃うこととなる。よって、信号利用ロジックが各信号生成ロジックの演算結果を参照するタイミングにおいて、全ての制御ユニットで、各信号生成ロジックの同一周期での演算結果を参照することとなる。すなわち、上記(1)の構成によれば、信号利用ロジックにおける参照タイミングを全ての制御ユニットで揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
なお、本明細書において、演算要素とは実行命令の単位を指し、例えば、ファンクションブロック図における1つのファンクションブロック、又はラダー言語におけるニーモニック表現の1実行命令等のことである。
(2)幾つかの実施形態では、上記(1)の構成において、前記同期ポイントは、前記割込制御ロジックの各々の演算周期毎に1つずつだけ設定される。
上記(2)の構成では、同期ポイントを各割込制御ロジックの演算周期毎に1つずつだけ設けたので、同期ポイントをそれ以上設ける場合に比べて、制御ユニット間での同期の頻度、すなわち、非周期最短ロジックの演算要素の実行情報を相互に交換する頻度を少なくすることができる。よって、同期を行う際の制御ユニット間での通信を低減することができ、制御ユニットのオーバヘッドを低減することができる。
(3)幾つかの実施形態では、前記(2)の構成において、前記同期ポイントは、前記割込制御ロジックの各々の実行開始タイミングであってもよい。
(4)幾つかの実施形態では、上記(1)〜(3)の何れかの構成において、前記複数の制御ユニットの各々は、前記複数の制御ロジックの演算周期の粒度を示す単位期間毎に設定されるタイマー割込みポイントにてタイマー割込み処理を実行可能に構成されており、前記同期ポイントは、前記タイマー割込みポイントに設定される。
上記(4)の構成によれば、制御ロジックの記述内容によらずに、制御ユニット間の制御演算結果の不一致を回避することができる。
(5)幾つかの実施形態では、前記(1)〜(4)の何れかの構成において、前記複数の制御ロジックは、2以上の信号生成ロジックを含み、前記同期ポイントは、前記信号利用ロジック及び前記2以上の信号生成ロジックの演算周期の最大公約数で表される周期毎に設定される。
上記(5)の構成によれば、より短い時間間隔で(例えばタイマー割込みポイント毎に)同期ポイントを設ける場合に比べて、同期を行う際の制御ユニット間での通信を低減することができ、制御ユニットのオーバヘッドを低減することができる。
(6)本発明の本発明の少なくとも一実施形態に係る機器制御システムは、
制御対象の状態を示す信号を検出するための状態監視部と、
前記状態監視部によって検出された前記信号に基づいて、前記制御対象を制御するための制御機器に与える制御信号を生成するための上記(1)乃至(5)の何れかに記載の多重化制御装置と、を備え、
前記多重化制御装置は、前記制御ユニットの各々により独立して前記制御信号を生成し、前記複数の制御ユニットからの前記制御信号に基づいて、前記制御信号を前記制御機器に与えるように構成される。
上記(6)の構成では、多重化制御装置にて、割込制御ロジックの各々の演算周期毎に設定された同期ポイントにおいて、全ての制御ユニットにおいて、割込制御ロジックよりも優先して、非周期最短ロジックにおける同一の演算要素まで(すなわち先行制御ユニットが実行を終えた演算要素まで)実行するようにした。このため、少なくとも各割込制御ロジックの周期毎に、全ての制御ユニットで非周期最短ロジックそれぞれの進行段階が揃うこととなる。よって、信号利用ロジックが、各信号生成ロジックの演算結果を参照するタイミングにおいて、全ての制御ユニットで、各信号生成ロジックの同一周期での演算結果を参照することとなる。すなわち、上記(6)の構成によれば、信号利用ロジックにおける参照タイミングを全ての制御ユニットで揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
(7)本発明の少なくとも一実施形態に係る多重化制御方法は、
複数の制御ユニットを用いて、信号利用ロジックおよび1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための多重化制御方法であって、
前記複数の制御ユニットの各々について、前記複数の制御ロジックのうち演算周期が最短である周期最短ロジック以外の非周期最短ロジックの各々よりも演算周期が短い割込制御ロジックが実行されていない空き時間に、各々の前記非周期最短ロジックを構成する複数の演算要素を実行順に実行するとともに、前記信号生成ロジックの実行により得られた信号を参照して前記信号利用ロジックを実行するロジック実行ステップと、
各々の前記非周期最短ロジックよりも短い前記割込制御ロジックのそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の前記非周期最短ロジックの前記演算要素の実行情報を前記複数の制御ユニット間で相互に交換する同期情報交換ステップと、
前記実行情報交換ステップにおいて前記複数の制御ユニット間で相互に交換された前記演算要素の実行情報に基づいて、最も多くの前記演算要素の実行を終えた先行制御ユニットを前記非周期最短ロジックごとに特定する先行制御ユニット特定ステップと、
少なくとも前記先行制御ユニットを除く他の制御ユニットについて、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の実行を少なくとも完了するまで、各々の前記非周期最短ロジックを優先して実行する同期実行ステップと、
前記複数の制御ユニット間における前記複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果の比較により、各々の制御ユニットの異常を検出する異常検出ステップと、を備える。
上記(7)の構成では、各々の前記非周期最短ロジックよりも短い前記割込制御ロジックのそれぞれの演算周期毎に設定された同期ポイントにおいて、全ての制御ユニットにおいて、割込制御ロジックよりも優先して、少なくとも非周期最短ロジックにおける同一の演算要素まで(すなわち先行制御ユニットが実行を終えた演算要素まで)実行するようにした。このため、少なくとも各割込制御ロジックの周期毎に、全ての制御ユニットで非周期最短ロジックそれぞれの進行段階が揃うこととなる。よって、信号利用ロジックが、各信号生成ロジックの演算結果を参照するタイミングにおいて、全ての制御ユニットで、各信号生成ロジックの同一周期での演算結果を参照することとなる。すなわち、上記(6)の構成によれば、信号利用ロジックにおける参照タイミングを全ての制御ユニットで揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
(8)幾つかの実施形態では、上記(7)の構成において、前記同期ポイントは、前記割込制御ロジックの各々の演算周期毎に1つずつだけ設定される。
上記(8)の構成では、同期ポイントを各割込制御ロジックの演算周期毎に1つずつだけ設けたので、同期ポイントをそれ以上設ける場合に比べて、制御ユニット間での同期の頻度、すなわち、非周期最短ロジックの演算要素の実行情報を相互に交換する頻度を少なくすることができる。よって、同期を行う際の制御ユニット間での通信を低減することができ、制御ユニットのオーバヘッドを低減することができる。
(9)幾つかの実施形態では、上記(8)の構成において、前記同期ポイントは、前記割込制御ロジックの各々の実行開始タイミングであってもよい。
(10)幾つかの実施形態では、上記(7)〜(9)の何れかの構成において、前記複数の制御ユニットの各々は、前記複数の制御ロジックの演算周期の粒度を示す単位期間毎に設定されるタイマー割込みポイントにてタイマー割込み処理を実行可能に構成されており、前記同期ポイントは、前記タイマー割込みポイントに設定される。
上記(10)の構成によれば、制御ロジックの記述内容によらずに、制御ユニット間の制御演算結果の不一致を回避することができる。
(11)幾つかの実施形態では、上記(7)〜(10)の何れかの構成において、前記複数の制御ロジックは、2以上の信号生成ロジックを含み、前記同期ポイントは、前記信号利用ロジック及び前記2以上の信号生成ロジックの演算周期の最大公約数で表される周期毎に設定される。
上記(11)の構成によれば、より短い時間間隔で(例えばタイマー割込みポイント毎に)同期ポイントを設ける場合に比べて、同期を行う際の制御ユニット間での通信を低減することができ、制御ユニットのオーバヘッドを低減することができる。
(12)本発明の少なくとも一実施形態に係る機器制御方法は、
制御対象の状態を示す信号を検出するための状態監視ステップと、
上記(7)乃至(11)の何れかに記載の多重化制御方法により、前記状態監視ステップにおいて検出された前記信号に基づいて、前記制御対象を制御するための制御機器に与える制御信号を生成する制御信号生成ステップと、を備え、
前記制御信号生成ステップでは、前記制御ユニットの各々により独立して前記制御信号を生成し、前記複数の制御ユニットからの前記制御信号に基づいて、前記制御信号を前記制御機器に与える。
上記(12)の構成では、割込制御ロジックの各々の演算周期毎に設定された同期ポイントにおいて、全ての制御ユニットにおいて、割込制御ロジックよりも優先して、非周期最短ロジックにおける同一の演算要素まで(すなわち先行制御ユニットが実行を終えた演算要素まで)実行するようにした。このため、少なくとも各割込制御ロジックの周期毎に、全ての制御ユニットで非周期最短ロジックそれぞれの進行段階が揃うこととなる。よって、信号利用ロジックが各信号生成ロジックの演算結果を参照するタイミングにおいて、全ての制御ユニットで、各信号生成ロジックの同一周期での演算結果を参照することとなる。すなわち、上記(12)の構成によれば、信号利用ロジックにおける参照タイミングを全ての制御ユニットで揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
(13)幾つかの実施形態では、上記(1)〜(5)のいずれかの構成において、前記複数の制御ユニットは、前記先行制御ユニットを含めた全ての制御ユニットが、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の次の演算要素の実行を完了するまで各々の前記非周期最短ロジックを優先して実行するように構成される。
上記(13)の構成によれば、同期ポイントの時点で、先行制御ユニットにおいて、演算要素の実行中である場合(すなわち、同期ポイントの直前において実行を終えた演算要素の次の演算要素が実行中である場合)にも、割込制御ロジックのそれぞれの演算周期毎に設定された同期ポイントにおいて、全ての制御ユニットにおいて、割込制御ロジックよりも優先して、非周期最短ロジックにおける同一の演算要素まで(すなわち先行制御ユニットが実行を終えた演算要素の次の演算要素まで)実行するようにした。このため、少なくとも各割込制御ロジックの周期毎に、全ての制御ユニットで非周期最短ロジックそれぞれの進行段階が揃うこととなる。
よって、信号利用ロジックにおける参照タイミングを全ての制御ユニットで揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
本発明の少なくとも一実施形態によれば、複数の制御ロジックを異なる演算周期で実行させる複数の制御ユニット(制御装置)において、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
一実施形態に係る機器制御システムの全体構成の概略を示す図である。 一実施形態に係る機器制御方法の概要を示すフロー図である。 一実施形態に係る多重化制御方法の概要を示すフロー図である。 一実施形態に係る多重化制御装置における制御ロジックの演算内容が記述されたファンクションブロック図を模式的に示す図である。 一実施形態に係る多重化制御装置における、異なる演算周期をもつ信号利用ロジックと信号生成ロジックの実行の流れを示す図である。 従来の多重化制御装置における、異なる演算周期をもつ信号利用ロジックと信号生成ロジックの実行の流れを示す図である。 一実施形態に係る多重化制御装置における、異なる演算周期をもつ信号利用ロジックと信号生成ロジックの実行の流れを示す図である。 一実施形態に係る多重化制御装置において、それぞれ異なる演算周期をもつ信号利用ロジックと2つの信号生成ロジックとを実行するときの処理の流れを示す図である。 一実施形態に係る多重化制御装置における制御ロジックの演算内容が記述されたファンクションブロック図を模式的に示す図である。
以下、添付図面を参照して本発明の幾つかの実施形態について説明する。ただし、実施形態として記載されている又は図面に示されている構成部品の寸法、材質、形状、その相対的配置等は、本発明の範囲をこれに限定する趣旨ではなく、単なる説明例にすぎない。
まず、一実施形態に係る機器制御システム及び機器制御方法の概要について、図1及び図2を参照して説明する。図1は、一実施形態に係る機器制御システムの全体構成の概略を示す図であり、図2は、一実施形態に係る機器制御方法の概要を示すフロー図である。
図1に示す機器制御システム100は、制御対象4の状態を示す信号(以降において状態信号とも称する)fを検出するための状態監視部6と、状態信号fに基づいて、制御対象4を制御するための制御機器7に与える制御信号Yを生成するための多重化制御装置1と、を備える。また、多重化制御装置1は、3台の制御ユニット2を備える。
なお、図1に示す実施形態では、多重化制御装置1を構成する制御ユニット2の数は3台であるが、本発明においては制御ユニットの数は複数で有ればとくに限定されず、2台以上であればよい。
各制御ユニット2は、状態監視部6によって検出された状態信号fに基づいて、後述する信号利用ロジック及び信号生成ロジックを含む制御ロジックを実行して、各々が独立して制御信号Yを生成するように構成される。そして、多重化制御装置1は、各制御ユニット2により生成された制御信号Yに基づいて、制御信号Yを制御機器7に与えるように構成される。制御対象4には、例えばガスタービンやエンジン等が含まれる。
例えば、ガスタービン(制御対象4)の状態を示す信号がセンサ(状態監視部6)によって検出される。センサ(状態監視部6)によって検出された状態信号fは、各制御ユニット2へ入力される。各制御ユニット2は、入力された状態信号fに基づいて制御ロジックを実行し、演算結果を出力する。そして、各制御ユニット2での演算結果が、例えば一致するか否かに応じて、制御対象4を制御する制御機器7に与える制御信号を生成する。
例えば、各制御ユニット2での演算結果が相互に一致する場合には、制御対象4の通常運転を継続するための制御信号を制御機器7(例えばバルブ等のアクチュエータ)に与える。この結果、制御対象4は通常運転を継続させる。
また、各制御ユニット2での演算結果が相互に一致しない場合には、何れかの制御ユニット2に故障等の異常が発生していると判断され、例えば、安全のために制御対象4の運転を停止するための制御信号を制御機器7に与え、例えばバルブ(制御機器7)を閉じて制御対象4の運転を停止させる。
一実施形態に係る機器制御方法では、このような機器制御システム100を用いて、図2に示す以下の手順に沿って制御対象機器4の制御を行う。
まず、状態監視部6によって、制御対象機器4の状態信号を検出する(S2)。
次いで、制御ユニット2の各々により、ステップS2において検出された状態信号fに基づいて、後述するステップS402〜S410により、制御対象機器4に与える制御信号Yを生成する(S4)。
そして、各制御ユニット2からの制御信号Yが相互に一致するか等の判定を行い(S6)、その判定に基づいて制御信号Yを制御対象機器4に与える(S8)。
ステップS6において、多重化制御装置1が2台の制御ユニット2により構成される場合には、各制御ユニット2により生成された制御信号Yが相互に一致する場合に、制御信号Yを制御機器7に与えるようになっていてもよい。また、多重化制御装置1が3台以上の制御ユニット2により構成される場合には、各制御ユニット2により生成された制御信号Yについて、各制御ユニット2での多数決もしくは中間値選択により、制御信号Yを制御機器7に与えるようになっていてもよい。
次に、一実施形態に係る多重化制御装置及び多重化制御方法について、図3〜7を参照して説明する。
図3は、一実施形態に係る多重化制御方法の概要を示すフロー図である。図4は、一実施形態に係る多重化制御装置における制御ロジックの演算内容が記述されたファンクションブロック図を模式的に示す図である。図5〜図7は、異なる演算周期をもつ信号利用ロジックと信号生成ロジックの実行の流れを示す図であって、図5及び図7は、それぞれ一実施形態に係る多重化制御装置における実行の流れを示す図であり、図6は従来の多重化制御装置における実行の流れを示す図である。
一実施形態に係る多重化制御装置1を構成する制御ユニット2の各々は、信号利用ロジックと1つ以上の信号生成ロジックとを含む複数の制御ロジックを実行するように構成される。各制御ユニット2はCPUを備えてもよく、該CPUによって各制御ロジックを実行するように構成されてもよい。
また、一実施形態に係る多重化制御方法は、複数の制御ユニット2を用いて、信号利用ロジックと1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための方法である。この多重化制御方法では、上述した複数の制御ユニット2を含む多重化制御装置1を用いて、図3に示す以下の手順に沿って多重化制御を行う。
まず、複数の制御ユニット2の各々について、複数の制御ロジックのうち、演算周期が最短である周期最短ロジック以外の非周期最短ロジックの各々よりも演算周期が短い割込制御ロジックが実行されていない空き時間に、非周期最短ロジックを構成する複数の演算要素を実行順に実行するとともに、信号生成ロジックの実行により得られた信号を参照して信号利用ロジックを実行する(S402)。
そして、割込制御ロジックそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の非周期最短ロジックの演算要素の実行情報を複数の制御ユニット2の間で相互に交換する(S404)。
次に、ステップS404において複数の制御ユニット2の間で相互に交換された演算要素の実行情報に基づいて、最も多くの前記演算要素の実行を終えた先行制御ユニットを特定する(S406)。
その後、少なくとも先行制御ユニットを除く他の制御ユニット2について、同期ポイントにおいて又は前記同期ポイントの直前において先行制御ユニットが実行を終えた演算要素の実行を少なくとも完了するまで、各々の非周期最短ロジックを優先して実行する(S408)。
そして、複数の制御ユニット2の間において複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果を比較することにより、各々の制御ユニット2の異常を検出する(S410)。
一実施形態に係る多重化制御装置1を構成する制御ユニット2の各々は、上述した多重化制御方法の各ステップS402〜S410を実行可能に構成される。
以下に、上述した多重化制御方法の各ステップS402〜S410についてより詳細に説明する。
ステップS402において信号利用ロジックを構成する演算要素とは、制御ロジックにおける実行命令の単位を指す。なお、一実施形態では、信号利用ロジックのみならず、信号生成ロジックも複数の演算要素により構成される。
図4には、一実施形態に係る信号生成ロジック及び信号利用ロジックのそれぞれについてのファンクションブロック図が示される。
図4のファンクションブロック図において、信号生成ロジック12及び信号利用ロジック14の各々は、複数のファンクションブロック16(図4においては1〜4の数字がそれぞれ付された4つのファンクションブロック16A〜16H)を含む。このファンクションブロック16(16A〜16H)のそれぞれが実行命令の単位、すなわち演算要素である。
ファンクションブロック16(16A〜16H)の各々に付された数字は、各制御ロジック(信号生成ロジック12及び信号利用ロジック14の各々)の中での実行順を示す。制御ユニット2は、各制御ロジックにおいて規定された実行順に、各演算要素を順に実行するようになっている。
また、各ファンクションブロック16(16A〜16H)同士をつなぐ矢印は、ファンクションブロック間での入力と出力の関係を示す。例えば、信号生成ロジック12において、第1のファンクションブロック16Aでの出力(演算結果)は、第3のファンクションブロック16Cの入力である。
図4において、信号生成ロジック12と、信号利用ロジック14とは、シート間接続要素18,19によって接続されている。なお、シート間接続要素は、ダイアグラム間接続要素とも呼ばれることがある。
シート間接続要素は、ファンクションブロック図同士のつながりのポイントを示す要素であり、例えば、各ロジック間での参照関係を示す。図4には、信号生成ロジック12の実行により得られた最終的な演算結果(すなわち、信号生成ロジック12の最後の演算要素16Dでの出力信号)W(i)が、信号利用ロジック14の2番目の演算要素16Fにおいて参照されることが示されている。このように、信号利用ロジックにおいて、信号生成ロジックにより得られた信号(演算結果)を参照する演算要素を、以降においてErefと表現することがある。
図5〜図7には、複数の制御ユニット2として、制御装置A及びBの2台を用いた場合の、各制御装置での異なる演算周期をもつ信号利用ロジックと1つの信号生成ロジックの実行の流れが示される。図5〜図7において、信号利用ロジック及び信号生成ロジックの演算周期は、それぞれ、T及びTgenで表される。なお、図5〜図7において、Tは各制御ロジックの演算周期、Eは信号利用ロジックの演算要素、Wは信号生成ロジックにより得られる信号(演算結果)、Pは同期ポイント、Yは信号利用ロジックでの演算結果を表す記号である。また、図5において、W(i)等におけるiは、信号生成ロジックのi番目の演算周期におけるものであることを表す。
図5及び図6に示す例では、信号利用ロジックの周期Tは、信号生成ロジックの周期Tgenよりも長い(T>Tgen)。すなわち、各制御ユニットにおいて実行される複数の2つの制御ロジックのうち、演算周期が最も短い信号生成ロジックは周期最短ロジックであり、信号利用ロジックは非周期最短ロジックである。
一方、図7に示す例では、信号利用ロジックの周期Tは、信号生成ロジックの周期Tgenよりも短い(T<Tgen)。すなわち、各制御ユニットにおいて実行される複数の2つの制御ロジックのうち、演算周期が最も短い信号利用ロジックは周期最短ロジックであり、信号生成ロジックは非周期最短ロジックである。
ステップS402のフローについて、図5を参照して説明する。
ステップS402では、図5に示すように、各制御ユニット2(制御装置A及びB)において、周期最短ロジック(信号生成ロジック)以外の非周期最短ロジックの各々(ここでは信号利用ロジック)よりも演算周期が短い割込制御ロジック(すなわち信号生成ロジック)が実行されていない空き時間に、非周期最短ロジックである信号利用ロジックを構成する複数の演算要素が実行順に実行される。
すなわち、制御装置A及びBの各々において、2つの制御ロジックが切り替わりながら実行される。例えば、比較的短い演算周期Tgenで実行される信号生成ロジックについては、該演算周期Tgen毎に演算が開始され、1演算周期分の演算が完了すると、非周期最短ロジックである信号利用ロジックの実行に切り替わり、信号生成ロジックの次の演算周期の開始タイミングまで、信号利用ロジックの演算が演算要素の実行順に実行される。そして、信号生成ロジックの次の演算周期の開始タイミングに達すれば、信号利用ロジックの演算が全て完了していなくても、信号生成ロジックの実行に切り替わる(信号利用ロジックの実行は信号生成ロジックによって割り込まれる)。すなわち、各制御ユニットにおいて、非周期最短ロジックよりも短い演算周期で実行される割込制御ロジックである信号生成ロジックが実行されていない空き時間に、非周期最短ロジックである信号利用ロジックの演算が実行される。言い換えれば、各制御ユニットにおいて信号生成ロジック(割込制御ロジック)が信号利用ロジック(非周期最短ロジック)よりも優先的に実行される。
また、ステップS402では、各制御ユニット2(制御装置A及びB)において、信号生成ロジックの実行により得られた信号Wを参照して信号利用ロジックを実行する。
すなわち、信号生成ロジックが実行されることにより、信号生成ロジックの演算周期Tgen毎に信号生成ロジックによる演算結果Wが得られる。例えば、信号生成ロジックのi番目の演算周期では、信号生成ロジックによる演算結果W(i)が得られる。
一方、信号利用ロジックはその実行過程において信号生成ロジックの演算結果Wを参照する演算要素Erefを含んでおり、演算要素Erefの演算の時点において信号生成ロジックの直近の演算周期で得られた演算結果(信号)Wを参照するようになっている。なお、図5中のErefからWへ向かう矢印は、演算要素ErefにおいてWを参照していることを示す。
ステップS404では、割込制御ロジックの各々の演算周期毎に少なくとも一つ設定される同期ポイントにおいて、非周期最短ロジックの演算要素の実行情報が複数の制御ユニット2の間で相互に交換される。
図5に示すフローに係る実施形態では、各制御ユニット2(制御装置A及びB)において実行される信号生成ロジックは1つであり、その演算周期はTgenである。信号生成ロジックは周期最短ロジックであるとともに、非周期最短ロジックである信号利用ロジックよりも演算周期が短い割込制御ロジックであり、この演算周期Tgen毎に1つの同期ポイントP(図5においてP等で示される)が設定されている。また、各同期ポイントPは、信号生成ロジック(割込制御ロジック)の実行開始タイミングに設定されている。
同期ポイントPにおいて制御ユニット2同士の間で交換される信号利用ロジック(非周期最短ロジック)の演算要素の実行情報には、例えば、各制御ユニットにおいて、当該同期ポイントPの時点までに演算が完了している信号利用ロジックの演算要素(図5におけるE)の情報が含まれる。この実行情報を制御ユニット2の間で交換することで、どの制御ユニット2において信号利用ロジックの演算がどこまで進んだかを各制御ユニット2において特定することができる。
図5に示すフローに係る実施形態では、例えば同期ポイントPi+1の時点では、制御装置A及び制御装置Bのそれぞれにおいて、信号利用ロジックの演算要素Ei+1までの演算が完了している。
ステップS406では、ステップS404において複数の制御ユニット2の間で相互に交換された演算要素の実行情報に基づいて、最も多くの前記演算要素の実行を終えた先行制御ユニットを特定する。
図5に示すフローに係る実施形態では、同期ポイントPi+1の時点における信号利用ロジック(非周期最短ロジック)の演算要素Ei+1は、制御装置AではEref(信号生成ロジックの演算結果Wを参照する演算要素)であるのに対し、制御装置Bでは、Erefよりも前に演算される演算要素である。したがって、同期ポイントPi+1の時点における先行制御ユニットは制御装置Aであると特定される。
ステップS408では、先行制御ユニットを除く他の制御ユニット2について、同期ポイントPにおいて又は同期ポイントPの直前において先行制御ユニットが実行を終えた演算要素の実行完了まで、非周期最短ロジックを優先して実行される。
図5に示すフローに係る実施形態では、同期ポイントPi+1において(あるいは同期ポイントPi+1の直前において)先行制御ユニットである制御装置Aが実行を終えた演算要素Ei+1はErefである。よって、先行制御ユニットを除く他の制御ユニットである制御装置Bでは、制御装置Bにおける演算要素Ei+1よりも後に実行される演算要素Erefの実行完了まで、信号生成ロジック(割込制御ロジック)ではなく、信号利用ロジック(非周期最短ロジック)が優先して実行される。
ここで、「同期ポイントPにおいて又は同期ポイントPの直前において先行制御ユニットが実行を終えた演算要素」とは、同期ポイントPの時点で、先行制御ユニットにおいて既に実行が完了した演算要素のうち、最も進んでいる演算要素(最も最近実行が完了した演算要素)のことである。
なお、一実施形態では、同期ポイントPの時点で、先行制御ユニットにおいて、演算要素が実行中である場合(すなわち、同期ポイントの直前において実行を終えた演算要素の次の演算要素が実行中である場合)がある。このような場合、ステップS408では、先行制御ユニットを含む全ての制御ユニットにおいて、該同期ポイントPの時点で先行制御ユニットにおいて実行中の演算要素(同期ポイントの直前において実行を終えた演算要素の次の演算要素)まで、非周期最短ロジックが割込制御ロジックよりも優先して実行される。
このように、各同期ポイントにおいて先行制御ユニットが実行を終えた演算要素の実行完了まで、その他の制御ユニット2について(又は全ての制御ユニット2について)非周期最短ロジックである信号利用ロジックを優先して実行することで、信号利用ロジックにおける参照タイミングを全ての制御ユニット2で揃えることができる。このことを、従来例と比較して説明する。
図6に示す従来の多重化制御装置を用いた場合の例では、割込制御ロジックである信号生成ロジックの演算周期毎の同期ポイントは設けられておらず、信号生成ロジック(割込制御ロジック)の各演算周期の開始に合わせて必ず信号生成ロジックの演算が開始されるようになっている。
この場合、一方の制御装置において何らかの原因により信号利用ロジックの演算に遅延が発生する場合がある。例えば、制御装置間でのクロック周波数の微妙なずれの蓄積やキャッシュの使用状況の違い等によって一方の制御装置において演算に遅延発生することがある。そうすると、各制御装置間で制御ロジック実行の切り替えタイミングに差が出てくることがある。この結果、複数の制御ロジック間で演算結果を参照する参照タイミングに関して、各制御装置間でずれが生じる場合がある。
図6の例では、信号生成ロジックのi番目の演算周期において、制御装置Aでは信号利用ロジックは演算要素Erefまで演算が完了している。これに対し、何らかの原因により信号利用ロジックの演算に遅延が発生した制御装置Bでは、信号利用ロジックは演算要素Erefよりも前の演算要素の演算が完了しているにすぎず、演算要素Erefの演算は開始されていない。なお、制御装置Bでは、演算要素Erefは信号生成ロジックの(i+1)番目の演算周期において演算が行われている。
このとき、制御装置Aでは、演算要素Erefにおいて参照されるのはW(i)であるのに対して、制御装置Bでは、同じ演算要素Erefにおいて参照されるのはW(i+1)である。つまり、制御装置Aと制御装置Bとの間で参照タイミングにずれが生じる結果、制御装置Aと制御装置Bとで異なる演算結果の値を参照することとなる。
この結果、制御装置Aと制御装置Bとの間では、信号利用ロジックの同一周期において、演算要素Erefを含む信号利用ロジックでの演算結果が一致しないこととなる。このため、複数の制御ロジックを用いることに起因して制御演算結果の不一致が生じることとなる。
このような場合、各制御装置は正常であるにもかかわらず、演算結果の不一致によりいずれかの制御装置に故障が生じているものと判断されてしまい、制御対象を適切に制御することができない場合がある。
一方、図5に示すフローに係る実施形態では、割込制御ロジックである信号生成ロジックの演算周期毎に設定された同期ポイントにおいて、全ての制御ユニット2(制御装置A及びB)において、信号生成ロジック(割込制御ロジック)よりも優先して、非周期最短ロジックである信号利用ロジックにおける同一の演算要素まで(すなわち先行制御ユニットである制御装置Aが実行を終えた演算要素Erefまで)実行するようになっている。このため、少なくとも信号生成ロジック(割込制御ロジック)の周期毎に、全ての制御ユニット2で信号利用ロジック(非周期最短ロジック)の進行段階が揃うこととなる。よって、信号利用ロジックが、信号生成ロジックの演算結果を参照するタイミングにおいて、全ての制御ユニット2(制御装置A及びB)で、各信号生成ロジックの同一周期での演算結果を参照することとなる。
このように、信号利用ロジック(非周期最短ロジック)における参照タイミングを全ての制御ユニット2で揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
なお、上記説明における実施形態では、同期ポイントにおいて信号利用ロジック(非周期最短ロジック)の進行段階を揃える単位は、最小の演算単位である演算要素としている。この点については、演算要素よりも細かい単位で信号利用ロジック(非周期最短ロジック)の進行段階を揃えたほうが、制御ロジックの実行の切り替えをより迅速にできるために好ましいとも考えられる。しかしながら、演算要素よりも細かい分割となると、CPUの実行命令の分割となる。そうすると演算要素のアルゴリズムに同期ポイントの仕組みを組み込むこととなり、オーバヘッドが大きくなる。
そこで、上記説明における実施形態のように、同期ポイントにおいては演算要素の単位で信号利用ロジック(周期最長ロジック)の進行段階を揃えるようにすることで、オーバヘッドを抑制しつつ、各制御ロジック間での実行の切り替えを速やかに行うことができる。
ステップS410では、複数の制御ユニット2の間において、複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果を比較することにより、各々の制御ユニット2の異常を検出する。
図5に示すフローに係る実施形態では、制御装置Aでは信号利用ロジックの演算結果Yが得られ、制御装置Bでは信号利用ロジックの演算結果Yが得られる。この演算結果YとYとの比較により、制御装置A及びBの異常を検出する。例えば、演算結果YとYが同一であれば、制御装置A及び制御装置は正常であると判断し、演算結果YとYとが異なれば、制御装置A又は制御装置Bにおいて異常が発生したと判断する。
ステップS407〜S408において複数の制御ロジックを用いることに起因する制御演算結果の不一致が回避されるため、ステップS410において制御装置の異常判定の精度を向上させることができる。
次に、図5に示すフローに係る実施形態とは異なり、信号利用ロジックは周期最短ロジックであり、信号生成ロジックは非周期最短ロジックである場合のステップS402のフローについて、図7を参照して説明する。
ステップS402では、図7に示すように、各制御ユニット2(制御装置A及びB)において、周期最短ロジックである信号利用ロジック以外の非周期最短ロジックの各々(信号生成ロジック)よりも演算周期が短い割込制御ロジック(すなわち信号利用ロジック)が実行されていない空き時間に、非周期最短ロジックである信号生成ロジックを構成する複数の演算要素が実行順に実行される。
すなわち、制御装置A及びBの各々において、2つの制御ロジックが切り替わりながら実行される。例えば、比較的短い演算周期Tで実行される信号利用ロジックについては、該演算周期T毎に演算が開始され、1演算周期分の演算が完了すると、非周期最短ロジックである信号生成ロジックの実行に切り替わり、割込制御ロジックである信号利用ロジックの次の演算周期の開始タイミングまで、非周期最短ロジックである信号生成ロジックの演算が演算要素の実行順に実行される。そして、信号利用ロジックの次の演算周期の開始タイミングに達すれば、信号生成ロジックの演算が全て完了していなくても、割込制御ロジックである信号利用ロジックの実行に切り替わる(信号生成ロジックの実行は信号利用ロジックによって割り込まれる)。すなわち、各制御ユニットにおいて割込制御ロジックである信号利用ロジックが実行されていない空き時間に、非周期最短ロジックである信号生成ロジックの演算が実行される。言い換えれば、各制御ユニットにおいて信号利用ロジック(割込制御ロジック)が信号生成ロジック(非周期最短ロジック)よりも優先的に実行される。
また、ステップS402では、各制御ユニット2(制御装置A及びB)において、信号生成ロジックの実行により得られた信号Wを参照して信号利用ロジックを実行する。
すなわち、信号生成ロジックが実行されることにより、信号生成ロジックの演算周期Tgen毎に信号生成ロジックによる演算結果Wが得られる。例えば、信号生成ロジックのj番目の演算周期では、信号生成ロジックによる演算結果W(j)が得られる。
一方、信号利用ロジックはその実行過程において信号生成ロジックの演算結果Wを参照する演算要素Erefを含んでおり、演算要素Erefの演算の時点において信号生成ロジックの直近の演算周期で得られた演算結果(信号)Wを参照するようになっている。なお、図7中のErefからWへ向かう矢印は、演算要素ErefにおいてWを参照していることを示す。
ステップS404では、割込制御ロジックの各々の演算周期毎に少なくとも一つ設定される同期ポイントにおいて、非周期最短ロジックの演算要素の実行情報が複数の制御ユニット2の間で相互に交換される。
図7に示すフローに係る実施形態では、各制御ユニット2(制御装置A及びB)において実行される信号利用ロジックは1つであり、その演算周期はTである。信号利用ロジックは周期最短ロジックであるとともに、非周期最短ロジックである信号生成ロジックよりも演算周期が短い割込制御ロジックであり、この演算周期T毎に1つの同期ポイントP(図7においてP等で示される)が設定されている。また、各同期ポイントPは、信号利用ロジック(割込制御ロジック)の実行開始タイミングに設定されている。
同期ポイントPにおいて制御ユニット2同士の間で交換される信号生成ロジック(非周期最短ロジック)の演算要素の実行情報には、例えば、各制御ユニットにおいて、当該同期ポイントPの時点までに演算が完了している信号生成ロジックの演算要素(図7におけるEgen(i))の情報が含まれる。この実行情報を制御ユニット2の間で交換することで、どの制御ユニット2において信号生成ロジックの演算がどこまで進んだかを各制御ユニット2において特定することができる。
図7に示すフローに係る実施形態では、例えば同期ポイントPi+1の時点では、制御装置A及び制御装置Bのそれぞれにおいて、信号生成ロジックの演算要素Egen(i+1)までの演算が完了している。
ステップS406では、ステップS404において複数の制御ユニット2の間で相互に交換された演算要素の実行情報に基づいて、最も多くの前記演算要素の実行を終えた先行制御ユニットを特定する。
図7に示すフローに係る実施形態では、同期ポイントPi+1の時点における信号生成ロジック(非周期最短ロジック)の演算要素Egen(i+1)は、制御装置Aでは演算結果W(j)を生成する演算要素である。これに対し、制御装置Bでは、同期ポイントPi+1の時点における信号生成ロジック(非周期最短ロジック)の演算要素Egen(i+1)は、演算結果W(j)を生成する演算要素よりも前に演算される演算要素である。したがって、同期ポイントPi+1の時点における先行制御ユニットは制御装置Aであると特定される。
ステップS408では、先行制御ユニットを除く他の制御ユニット2について、同期ポイントPにおいて先行制御ユニットが実行を終えた演算要素の実行完了まで、非周期最短ロジックを優先して実行される。
図7に示すフローに係る実施形態では、同期ポイントPi+1において先行制御ユニットである制御装置Aが実行を終えた演算要素Egen(i+1)は演算結果W(j)を生成する演算要素である。よって、先行制御ユニットを除く他の制御ユニットである制御装置Bでは、制御装置Bにおける演算要素Egen(i+1)よりも後に実行される演算結果W(j)を生成する演算要素の実行完了まで、信号利用ロジック(割込制御ロジック)ではなく、信号生成ロジック(非周期最短ロジック)が優先して実行される。
このように、図7に示すフローに係る実施形態では、割込制御ロジックである信号利用ロジックの演算周期毎に設定された同期ポイントにおいて、全ての制御ユニット2(制御装置A及びB)において、信号利用ロジック(割込制御ロジック)よりも優先して、非周期最短ロジックである信号生成ロジックにおける同一の演算要素まで(すなわち先行制御ユニットである制御装置Aが実行を終えた演算要素Egenまで)実行するようになっている。このため、少なくとも信号利用ロジック(割込制御ロジック)の周期毎に、全ての制御ユニット2で信号生成ロジック(非周期最短ロジック)の進行段階が揃うこととなる。よって、信号利用ロジックが、信号生成ロジックの演算結果を参照するタイミングにおいて、全ての制御ユニット2(制御装置A及びB)で、各信号生成ロジックの同一周期での演算結果を参照することとなる。
このように、信号利用ロジックにおける参照タイミングを全ての制御ユニット2で揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
ステップS410では、複数の制御ユニット2の間において、複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果を比較することにより、各々の制御ユニット2の異常を検出する。
図7に示すフローに係る実施形態では、制御装置Aでは信号生成ロジックの演算結果Yが得られ、制御装置Bでは信号生成ロジックの演算結果Yが得られる。この演算結果YとYとの比較により、制御装置A及びBの異常を検出する。例えば、演算結果YとYが同一であれば、制御装置A及び制御装置は正常であると判断し、演算結果YとYとが異なれば、制御装置A又は制御装置Bにおいて異常が発生したと判断する。
ステップS407〜S408において複数の制御ロジックを用いることに起因する制御演算結果の不一致が回避されるため、ステップS410において制御装置の異常判定の精度を向上させることができる。
なお、図7に示すフローに係る実施形態では、例えば、信号生成ロジックのj番目の周期の実行の結果として一旦演算結果W(j)が得られた後は、次の演算周期(j+1番目の周期)で新たに演算結果W(j+1)が得られるまでは、より周期の短い信号利用ロジックによって、W(i)が繰り返し参照される。
例えば、図7において、信号利用ロジックの(i+1)〜(i+4)番目等の各周期における演算要素Eref(i+1)〜Eref(i+4)等では、同期ポイントPi+1の直前に得られたW(j)が繰り返し参照される。また、W(j)が得られるよりも前に実行される、信号利用ロジックの(i−1)番目やi番目等の周期における演算要素Eref(i−1)やEref(i)等では、W(j)が得られる前の参照値W(j−1)が参照される。W(j−1)は、信号生成ロジックの(j−1)番目の周期の実行の結果として得られる演算結果である。
以上の説明における実施形態では、同期ポイントPは、非周期最短ロジックよりも演算周期が短い割込制御ロジックの演算周期毎に1つだけ設定される。また、以上の説明における実施形態では、同期ポイントPは、割込制御ロジックの実行開始タイミングに設定される。
同期ポイントPを割込制御ロジックの演算周期毎に1つだけ設けたことで、同期ポイントPをそれ以上設ける場合に比べて、制御ユニット2の間での同期の頻度、すなわち、信号利用ロジックの演算要素の実行情報を相互に交換する頻度を少なくすることができる。よって、同期を行う際の制御ユニット2の間での通信を低減することができ、制御ユニット2のオーバヘッドを低減することができる。
幾つかの実施形態では、同期ポイントは周期毎に2以上あってもよい。また、幾つかの実施形態では、同期ポイントは、演算開始と同時でなくてもよい。
幾つかの実施形態では、各制御ユニット2は、各制御ロジックの演算周期の粒度を示す単位期間毎に設定されるタイマー割込みポイントにてタイマー割込み処理を実行可能に構成されていてもよい。この場合、同期ポイントPは、タイマー割込みポイントに設定されてもよい。
上記において「各制御ロジックの演算周期の粒度を示す単位期間」というのは、この単位期間の整数倍の期間にて各制御ロジックの演算周期を設定できることを意味する。
タイマー割込みポイントに同期ポイントPを設定することで、制御ロジックの記述内容によらずに、複数の制御ユニット2の間での制御演算結果の不一致を回避することができる。
図8は、一実施形態に係る多重化制御装置において、それぞれ異なる演算周期をもつ信号利用ロジックと2つの信号生成ロジックとを実行するときの処理の流れを示す図である。また、図9は、一実施形態に係る多重化制御装置における制御ロジックの演算内容が記述されたファンクションブロック図を模式的に示す図である。
図8に示すフローに係る実施形態では、信号生成ロジックは、第1信号生成ロジック及び第2信号生成ロジックの2つの信号生成ロジックを含む。そして、多重化制御装置を構成する各制御ユニット2では、信号利用ロジック、第1信号生成ロジック及び第2信号生成ロジックの合計3つの制御ロジックが実行される。これらの制御ロジックのうち、信号利用ロジックは、最も長い演算周期T毎に実行される。第1信号生成ロジック及び第2信号生成ロジックは、いずれも、周期最長ロジックである信号利用ロジックよりも短い演算周期(それぞれTgen_1及びTgen_2)毎に実行され、図8に示すフローに係る実施形態では、第2信号生成ロジックの演算周期Tgen_2の方が、第1信号生成ロジックの演算周期Tgen_1よりも長い。すなわち、3つの制御ロジックの演算周期について、T>Tgen_2>Tgen_1の関係が成り立つ。
図8に示すフローに係る実施形態では、制御ユニット2の各々において、第2信号生成ロジックは第1信号生成ロジックの演算結果Wを参照し、信号利用ロジックは第2信号生成ロジックの演算結果Wを参照するように構成される。このことは、後述において図9を用いて説明する。
制御ユニット2の各々において実行される上記3つの制御ロジックのうち、演算周期が最短である第1信号生成ロジックは周期最短ロジックであり、信号利用ロジック及び第2信号生成ロジックは、非周期最短ロジックである。
また、非周期最短ロジックである信号利用ロジックよりも演算周期が短い第1信号生成ロジック及び第2信号生成ロジックは、信号利用ロジックについての割込制御ロジックである。すなわち、信号利用ロジックの実行は、第1信号生成ロジック及び第2信号生成ロジックによって割り込まれる。さらに、非周期最短ロジックである第2信号生成ロジックよりも演算周期が短い第1信号生成ロジックは、第2信号生成ロジックについての割込制御ロジックである。すなわち、第2信号生成ロジックの実行は、第1信号生成ロジックによって割り込まれる。
制御ユニット2においては、割込制御ロジックである第1信号生成ロジックの演算周期毎に1つずつ、同期ポイントPが設定されている。また、割込制御ロジックである第2信号生成ロジックの演算周期毎に1つずつ、同期ポイントPが設定されている。なお、同期ポイントP及びPの各々は、第1信号生成ロジック及び第2信号生成ロジックの実行開始タイミングに設定されている。
図8に示すフローに係る実施形態では、各制御ユニット2において、割込制御ロジックである第1信号生成ロジックの演算周期毎に設定された同期ポイントPにおいて、全ての制御ユニット2において、第1信号生成ロジックよりも優先して、非周期最短ロジックである信号利用ロジック及び第2信号生成ロジックのそれぞれにおける同一の演算要素まで実行する。このため、少なくとも第1信号生成ロジックの演算周期Tgen_1毎に、全ての制御ユニット2で信号利用ロジック及び第2信号生成ロジックの進行段階が揃うこととなる。よって、信号利用ロジック又は第2信号生成ロジックが、第1信号生成ロジックの演算結果を参照するタイミングにおいて、全ての制御ユニット2で、第1信号生成ロジックの同一周期での演算結果を参照することとなる。
また、割込制御ロジックである第2信号生成ロジックの演算周期毎に設定された同期ポイントPにおいて、全ての制御ユニット2において、第2信号生成ロジックよりも優先して、非周期最短ロジックである信号利用ロジックにおける同一の演算要素まで実行する。このため、少なくとも第2信号生成ロジックの演算周期Tgen_2毎に、全ての制御ユニット2で信号利用ロジックの進行段階が揃うこととなる。よって、信号利用ロジックが、第2信号生成ロジックの演算結果を参照するタイミングにおいて、全ての制御ユニット2で、第2信号生成ロジックの同一周期での演算結果を参照することとなる。
このように、非周期最短ロジックである信号利用ロジック及び第2信号生成ロジックにおける参照タイミングを全ての制御ユニット2で揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
幾つかの実施形態では、複数の制御ロジックが、信号利用ロジックと、第1信号生成ロジック及び第2信号生成ロジックからなる2つの信号生成ロジックと、を含む場合において、同期ポイントは、信号利用ロジック、第1信号生成ロジック及び第2信号生成ロジックの演算周期の最大公約数で表される周期毎に設定されてもよい。
一実施形態では、信号利用ロジックの演算周期Tが150ms、第1信号生成ロジックの演算周期Tgen_1が50ms、第2信号生成ロジックの演算周期Tgen_2が100msであり、同期ポイントPは、演算周期T、Tgen_1及びTgen_2の最大公約数で表される50msの周期毎に設定されてもよい。
このように、各制御ロジックの演算周期の最大公約数で表される周期毎に同期ポイントを設けることで、それよりも短い周期で同期ポイントを設定する場合に比べて、制御ユニット2の間で同期を行う時間当たりの回数が少なくなる。例えば、制御ユニット2において、タイマー割込みポイントが10ms毎に設定されている場合において、該タイマー割込みポイント毎に同期ポイントPが設けられる場合に比べて、上述のように50ms毎に同期ポイントPが設定される場合には、同期ポイントPの頻度は1/5となる。よって、各制御ユニット2におけるオーバヘッドを低減することができる。
図9は、一実施形態に係る多重化制御装置における制御ロジックの演算内容が記述されたファンクションブロック図を模式的に示す図である。
制御ユニット2において、信号利用ロジック14’及び2つの信号生成ロジック(第1信号生成ロジック12A’及び第2信号生成ロジック12B’)からなる3つの制御ロジックが実行される場合の、各制御ロジックそれぞれについてのファンクションブロック図が示される。
図9のファンクションブロック図では、シート間接続要素18,19を伴うファンクションブロック16のみが表されており、その他のファンクションブロックは省略されている。
図9に示すように、第2信号生成ロジック12B’は、第2信号生成ロジック12B’に含まれる演算要素Erefにおいて第1信号生成ロジック12A’の演算結果Wを参照するように構成される。また、信号利用ロジック14’は、信号利用ロジック14’に含まれる演算要素Erefにおいて第2信号生成ロジック12B’の演算結果Wを参照するように構成される。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることはなく、上述した実施形態に変形を加えた形態や、これらの形態を適宜組み合わせた形態も含む。
また、本明細書において、一の構成要素を「備える」、「含む」、又は、「有する」という表現は、他の構成要素の存在を除外する排他的な表現ではない。
1 多重化制御装置
2 制御ユニット
4 制御対象
6 状態監視部
7 制御機器
12 信号生成ロジック
14 信号利用ロジック
16A〜H ファンクションブロック(演算要素)
18 シート間接続要素
19 シート間接続要素
100 機器制御システム
E 演算要素
P 同期ポイント
gen 信号生成ロジックの演算周期
信号利用ロジックの演算周期
W 演算結果(信号)
Y 制御信号
f 状態信号

Claims (13)

  1. 信号利用ロジックおよび1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための多重化制御装置であって、
    前記複数の制御ロジックのうち、演算周期が最短のロジックを周期最短ロジックとし、前記周期最短ロジック以外の制御ロジックを非周期最短ロジックとし、
    前記非周期最短ロジックの各々について、前記複数の制御ロジックのうち該非周期最短ロジックよりも演算周期が短い少なくとも1つの前記制御ロジックを割込制御ロジックとしたとき、
    前記非周期最短ロジックの各々について、該非周期最短ロジックに対応する前記割込制御ロジックの各々が実行されていない空き時間に、記非周期最短ロジックを構成する複数の演算要素を実行順に実行するとともに、前記信号生成ロジックの実行により得られた信号を参照して前記信号利用ロジックを実行するようにそれぞれが構成された複数の制御ユニットを備え、
    前記複数の制御ユニットは、
    記割込制御ロジックのそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の前記非周期最短ロジックの前記演算要素の実行情報を相互に交換して、最も多くの前記演算要素の実行を終えた先行制御ユニットを前記非周期最短ロジックごとに特定し、
    少なくとも前記先行制御ユニットを除く他の制御ユニットが、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の実行を少なくとも完了するまで各々の前記非周期最短ロジックを優先して実行するように構成され、
    前記複数の制御ユニットは、前記複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果を比較して、各々の制御ユニットの異常を検出するように構成されたことを特徴とする多重化制御装置。
  2. 前記同期ポイントは、前記割込制御ロジックの各々の演算周期毎に1つずつだけ設定されることを特徴とする請求項1に記載の多重化制御装置。
  3. 前記同期ポイントは、前記割込制御ロジックの各々の実行開始タイミングであることを特徴とする請求項2に記載の多重化制御装置。
  4. 前記複数の制御ユニットの各々は、前記複数の制御ロジックの何れかの演算周期の粒度を示す単位期間毎に設定されるタイマー割込みポイントにてタイマー割込み処理を実行可能に構成されており、
    前記同期ポイントは、前記タイマー割込みポイントに設定されることを特徴とする請求項1乃至3の何れか一項に記載の多重化制御装置。
  5. 前記複数の制御ロジックは、2以上の信号生成ロジックを含み、
    前記同期ポイントは、前記信号利用ロジック及び前記2以上の信号生成ロジックの演算周期の最大公約数で表される周期毎に設定されるポイントを含むことを特徴とする請求項1乃至4の何れか一項に記載の多重化制御装置。
  6. 制御対象の状態を示す信号を検出するための状態監視部と、
    前記状態監視部によって検出された前記信号に基づいて、前記制御対象を制御するための制御機器に与える制御信号を生成するための請求項1乃至5の何れか一項に記載の多重化制御装置と、を備え、
    前記多重化制御装置は、前記制御ユニットの各々により独立して前記制御信号を生成し、前記複数の制御ユニットからの前記制御信号に基づいて、前記制御信号を前記制御機器に与えるように構成されたことを特徴とする機器制御システム。
  7. 複数の制御ユニットを用いて、信号利用ロジックおよび1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための多重化制御方法であって、
    前記複数の制御ロジックのうち、演算周期が最短のロジックを周期最短ロジックとし、前記周期最短ロジック以外の制御ロジックを非周期最短ロジックとし、
    前記非周期最短ロジックの各々について、前記複数の制御ロジックのうち該非周期最短ロジックよりも演算周期が短い少なくとも1つの前記制御ロジックを割込制御ロジックとしたとき、
    前記複数の制御ユニットの各々について、前記非周期最短ロジックの各々について、該非周期最短ロジックに対応する前記割込制御ロジックの各々が実行されていない空き時間に、記非周期最短ロジックを構成する複数の演算要素を実行順に実行するとともに、前記信号生成ロジックの実行により得られた信号を参照して前記信号利用ロジックを実行するロジック実行ステップと、
    各々の前記非周期最短ロジックよりも短い前記割込制御ロジックのそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の前記非周期最短ロジックの前記演算要素の実行情報を前記複数の制御ユニット間で相互に交換する同期情報交換ステップと、
    前記同期情報交換ステップにおいて前記複数の制御ユニット間で相互に交換された前記演算要素の実行情報に基づいて、最も多くの前記演算要素の実行を終えた先行制御ユニットを前記非周期最短ロジックごとに特定する先行制御ユニット特定ステップと、
    少なくとも前記先行制御ユニットを除く他の制御ユニットについて、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の実行を少なくとも完了するまで、各々の前記非周期最短ロジックを優先して実行する同期実行ステップと、
    前記複数の制御ユニット間における前記複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果の比較により、各々の制御ユニットの異常を検出する異常検出ステップと、を備えることを特徴とする多重化制御方法。
  8. 前記同期ポイントは、前記割込制御ロジックの各々の演算周期毎に1つだけ設定されることを特徴とする請求項7に記載の多重化制御方法。
  9. 前記同期ポイントは、前記割込制御ロジックの各々の実行開始タイミングであることを特徴とする請求項8に記載の多重化制御方法。
  10. 前記複数の制御ユニットの各々は、前記複数の制御ロジックの何れかの演算周期の粒度を示す単位期間毎に設定されるタイマー割込みポイントにてタイマー割込み処理を実行可能に構成されており、
    前記同期ポイントは、前記タイマー割込みポイントに設定されることを特徴とする請求項7乃至9の何れか一項に記載の多重化制御方法。
  11. 前記複数の制御ロジックは、2以上の信号生成ロジックを含み、
    前記同期ポイントは、前記信号利用ロジック及び前記2以上の信号生成ロジックの演算周期の最大公約数で表される周期毎に設定されるポイントを含むことを特徴とする請求項7乃至10の何れか一項に記載の多重化制御方法。
  12. 制御対象の状態を示す信号を検出するための状態監視ステップと、
    請求項7乃至11の何れか一項に記載の多重化制御方法により、前記状態監視ステップにおいて検出された前記信号に基づいて、前記制御対象を制御するための制御機器に与える制御信号を生成する制御信号生成ステップと、を備え、
    前記制御信号生成ステップでは、前記制御ユニットの各々により独立して前記制御信号を生成し、前記複数の制御ユニットからの前記制御信号に基づいて、前記制御信号を前記制御機器に与えることを特徴とする機器制御方法。
  13. 前記複数の制御ユニットは、前記先行制御ユニットを含めた全ての制御ユニットが、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の次の演算要素の実行を完了するまで各々の前記非周期最短ロジックを優先して実行するように構成されたことを特徴とする請求項1乃至5の何れか一項に記載の多重化制御装置。
JP2014212557A 2014-10-17 2014-10-17 多重化制御装置及び方法並びに機器制御システム及び方法 Active JP6225091B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014212557A JP6225091B2 (ja) 2014-10-17 2014-10-17 多重化制御装置及び方法並びに機器制御システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014212557A JP6225091B2 (ja) 2014-10-17 2014-10-17 多重化制御装置及び方法並びに機器制御システム及び方法

Publications (2)

Publication Number Publication Date
JP2016081329A JP2016081329A (ja) 2016-05-16
JP6225091B2 true JP6225091B2 (ja) 2017-11-01

Family

ID=55958828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014212557A Active JP6225091B2 (ja) 2014-10-17 2014-10-17 多重化制御装置及び方法並びに機器制御システム及び方法

Country Status (1)

Country Link
JP (1) JP6225091B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2969844B2 (ja) * 1990-07-18 1999-11-02 株式会社安川電機 プログラマブルコントローラ
JPH0659702A (ja) * 1992-08-11 1994-03-04 Toshiba Corp 多重化プロセス制御装置
JP3356635B2 (ja) * 1996-10-28 2002-12-16 日本信号株式会社 車両制御用コンピュータシステム

Also Published As

Publication number Publication date
JP2016081329A (ja) 2016-05-16

Similar Documents

Publication Publication Date Title
JP2015210814A5 (ja)
JP6524064B2 (ja) クリティカル・リアルタイム・システムにおいてタスクを実行する方法
CN104933463B (zh) 深度神经网络模型的训练方法和设备
US20180322001A1 (en) Methods for operating multicore processors
JP6225091B2 (ja) 多重化制御装置及び方法並びに機器制御システム及び方法
JP6277971B2 (ja) 情報処理装置
JP2018022317A (ja) Hilシミュレーションシステム及びその制御方法
US20190146893A1 (en) Simulation device, simulation system, simulation method, and simulation program
JP6568746B2 (ja) 分散シミュレーションシステム、シミュレーション実行方法及び制御システム
JP4697314B2 (ja) 二重化フィールド制御装置
JP5537140B2 (ja) 安全制御装置、及びその安全制御プログラム
KR102023164B1 (ko) 알티오에스 마이컴의 오에스 태스크의 모니터링 방법
CN105260497A (zh) 基于线性链表的实时任务可调度性测试半直接模拟方法
JP2017016250A (ja) バリア同期装置、バリア同期方法及びプログラム
JP6268071B2 (ja) 電子制御装置
JP4905782B2 (ja) プラント制御システム、プラント制御方法およびプラント制御のためのプログラム
CN105138401A (zh) 基于线性链表的实时任务可调度性测试直接模拟方法
KR20160100377A (ko) 실시간 태스크 시퀀스 플랜을 구성하고 실행하는 방법
JP2013250696A (ja) プロセッサシステムおよびプロセッサ制御装置
CN105183640A (zh) 基于线性链表的实时任务可调度性测试拷贝模拟方法
JP3955843B2 (ja) マイクロプロセッサの並列シミュレーションシステム
US20190034314A1 (en) Simulation apparatus
JP2007316815A (ja) クロック異常検出方法及びクロック異常検出プログラム
JP6260445B2 (ja) シミュレーション装置
JP6289197B2 (ja) プラント制御装置エンジニアリングツール

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20161025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171006

R150 Certificate of patent or registration of utility model

Ref document number: 6225091

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350