JP6225091B2 - 多重化制御装置及び方法並びに機器制御システム及び方法 - Google Patents
多重化制御装置及び方法並びに機器制御システム及び方法 Download PDFInfo
- 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
Links
Images
Landscapes
- Safety Devices In Control Systems (AREA)
Description
多重化の方式として、例えば、同期型の多重化方式が知られている。同期型の多重化方式では、例えば、複数の制御装置の各々において、同一の入力データ及び同一制御ロジックを用いて制御演算を行い、各制御装置での演算結果を比較してその比較結果に応じた信号を制御対象の制御に用いる。この際、制御演算のタイミングを複数の制御装置間で揃える(同期させる)ことで、各制御装置が正常な場合には、各制御装置において同一の演算結果が得られるようにしている。
信号利用ロジックおよび1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための多重化制御装置であって、
前記複数の制御ロジックのうち演算周期が最短である周期最短ロジック以外の非周期最短ロジックの各々よりも演算周期が短い割込制御ロジックが実行されていない空き時間に、各々の前記非周期最短ロジックを構成する複数の演算要素を実行順に実行するとともに、前記信号生成ロジックの実行により得られた信号を参照して前記信号利用ロジックを実行するようにそれぞれが構成された複数の制御ユニットを備え、
前記複数の制御ユニットは、
各々の前記非周期最短ロジックよりも短い前記割込制御ロジックのそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の前記非周期最短ロジックの前記演算要素の実行情報を相互に交換して、最も多くの前記演算要素の実行を終えた先行制御ユニットを前記非周期最短ロジックごとに特定し、
少なくとも前記先行制御ユニットを除く他の制御ユニットが、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の実行を少なくとも完了するまで前記非周期最短ロジックを優先して実行するように構成され、
前記複数の制御ユニットは、前記複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果を比較して、各々の制御ユニットの異常を検出するように構成される。
なお、本明細書において、演算要素とは実行命令の単位を指し、例えば、ファンクションブロック図における1つのファンクションブロック、又はラダー言語におけるニーモニック表現の1実行命令等のことである。
上記(2)の構成では、同期ポイントを各割込制御ロジックの演算周期毎に1つずつだけ設けたので、同期ポイントをそれ以上設ける場合に比べて、制御ユニット間での同期の頻度、すなわち、非周期最短ロジックの演算要素の実行情報を相互に交換する頻度を少なくすることができる。よって、同期を行う際の制御ユニット間での通信を低減することができ、制御ユニットのオーバヘッドを低減することができる。
上記(4)の構成によれば、制御ロジックの記述内容によらずに、制御ユニット間の制御演算結果の不一致を回避することができる。
上記(5)の構成によれば、より短い時間間隔で(例えばタイマー割込みポイント毎に)同期ポイントを設ける場合に比べて、同期を行う際の制御ユニット間での通信を低減することができ、制御ユニットのオーバヘッドを低減することができる。
制御対象の状態を示す信号を検出するための状態監視部と、
前記状態監視部によって検出された前記信号に基づいて、前記制御対象を制御するための制御機器に与える制御信号を生成するための上記(1)乃至(5)の何れかに記載の多重化制御装置と、を備え、
前記多重化制御装置は、前記制御ユニットの各々により独立して前記制御信号を生成し、前記複数の制御ユニットからの前記制御信号に基づいて、前記制御信号を前記制御機器に与えるように構成される。
複数の制御ユニットを用いて、信号利用ロジックおよび1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための多重化制御方法であって、
前記複数の制御ユニットの各々について、前記複数の制御ロジックのうち演算周期が最短である周期最短ロジック以外の非周期最短ロジックの各々よりも演算周期が短い割込制御ロジックが実行されていない空き時間に、各々の前記非周期最短ロジックを構成する複数の演算要素を実行順に実行するとともに、前記信号生成ロジックの実行により得られた信号を参照して前記信号利用ロジックを実行するロジック実行ステップと、
各々の前記非周期最短ロジックよりも短い前記割込制御ロジックのそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の前記非周期最短ロジックの前記演算要素の実行情報を前記複数の制御ユニット間で相互に交換する同期情報交換ステップと、
前記実行情報交換ステップにおいて前記複数の制御ユニット間で相互に交換された前記演算要素の実行情報に基づいて、最も多くの前記演算要素の実行を終えた先行制御ユニットを前記非周期最短ロジックごとに特定する先行制御ユニット特定ステップと、
少なくとも前記先行制御ユニットを除く他の制御ユニットについて、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の実行を少なくとも完了するまで、各々の前記非周期最短ロジックを優先して実行する同期実行ステップと、
前記複数の制御ユニット間における前記複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果の比較により、各々の制御ユニットの異常を検出する異常検出ステップと、を備える。
上記(8)の構成では、同期ポイントを各割込制御ロジックの演算周期毎に1つずつだけ設けたので、同期ポイントをそれ以上設ける場合に比べて、制御ユニット間での同期の頻度、すなわち、非周期最短ロジックの演算要素の実行情報を相互に交換する頻度を少なくすることができる。よって、同期を行う際の制御ユニット間での通信を低減することができ、制御ユニットのオーバヘッドを低減することができる。
上記(10)の構成によれば、制御ロジックの記述内容によらずに、制御ユニット間の制御演算結果の不一致を回避することができる。
上記(11)の構成によれば、より短い時間間隔で(例えばタイマー割込みポイント毎に)同期ポイントを設ける場合に比べて、同期を行う際の制御ユニット間での通信を低減することができ、制御ユニットのオーバヘッドを低減することができる。
制御対象の状態を示す信号を検出するための状態監視ステップと、
上記(7)乃至(11)の何れかに記載の多重化制御方法により、前記状態監視ステップにおいて検出された前記信号に基づいて、前記制御対象を制御するための制御機器に与える制御信号を生成する制御信号生成ステップと、を備え、
前記制御信号生成ステップでは、前記制御ユニットの各々により独立して前記制御信号を生成し、前記複数の制御ユニットからの前記制御信号に基づいて、前記制御信号を前記制御機器に与える。
上記(13)の構成によれば、同期ポイントの時点で、先行制御ユニットにおいて、演算要素の実行中である場合(すなわち、同期ポイントの直前において実行を終えた演算要素の次の演算要素が実行中である場合)にも、割込制御ロジックのそれぞれの演算周期毎に設定された同期ポイントにおいて、全ての制御ユニットにおいて、割込制御ロジックよりも優先して、非周期最短ロジックにおける同一の演算要素まで(すなわち先行制御ユニットが実行を終えた演算要素の次の演算要素まで)実行するようにした。このため、少なくとも各割込制御ロジックの周期毎に、全ての制御ユニットで非周期最短ロジックそれぞれの進行段階が揃うこととなる。
よって、信号利用ロジックにおける参照タイミングを全ての制御ユニットで揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
なお、図1に示す実施形態では、多重化制御装置1を構成する制御ユニット2の数は3台であるが、本発明においては制御ユニットの数は複数で有ればとくに限定されず、2台以上であればよい。
例えば、各制御ユニット2での演算結果が相互に一致する場合には、制御対象4の通常運転を継続するための制御信号を制御機器7(例えばバルブ等のアクチュエータ)に与える。この結果、制御対象4は通常運転を継続させる。
また、各制御ユニット2での演算結果が相互に一致しない場合には、何れかの制御ユニット2に故障等の異常が発生していると判断され、例えば、安全のために制御対象4の運転を停止するための制御信号を制御機器7に与え、例えばバルブ(制御機器7)を閉じて制御対象4の運転を停止させる。
まず、状態監視部6によって、制御対象機器4の状態信号を検出する(S2)。
次いで、制御ユニット2の各々により、ステップS2において検出された状態信号fに基づいて、後述するステップS402〜S410により、制御対象機器4に与える制御信号Yを生成する(S4)。
そして、各制御ユニット2からの制御信号Yが相互に一致するか等の判定を行い(S6)、その判定に基づいて制御信号Yを制御対象機器4に与える(S8)。
図3は、一実施形態に係る多重化制御方法の概要を示すフロー図である。図4は、一実施形態に係る多重化制御装置における制御ロジックの演算内容が記述されたファンクションブロック図を模式的に示す図である。図5〜図7は、異なる演算周期をもつ信号利用ロジックと信号生成ロジックの実行の流れを示す図であって、図5及び図7は、それぞれ一実施形態に係る多重化制御装置における実行の流れを示す図であり、図6は従来の多重化制御装置における実行の流れを示す図である。
また、一実施形態に係る多重化制御方法は、複数の制御ユニット2を用いて、信号利用ロジックと1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための方法である。この多重化制御方法では、上述した複数の制御ユニット2を含む多重化制御装置1を用いて、図3に示す以下の手順に沿って多重化制御を行う。
そして、割込制御ロジックそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の非周期最短ロジックの演算要素の実行情報を複数の制御ユニット2の間で相互に交換する(S404)。
次に、ステップS404において複数の制御ユニット2の間で相互に交換された演算要素の実行情報に基づいて、最も多くの前記演算要素の実行を終えた先行制御ユニットを特定する(S406)。
その後、少なくとも先行制御ユニットを除く他の制御ユニット2について、同期ポイントにおいて又は前記同期ポイントの直前において先行制御ユニットが実行を終えた演算要素の実行を少なくとも完了するまで、各々の非周期最短ロジックを優先して実行する(S408)。
そして、複数の制御ユニット2の間において複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果を比較することにより、各々の制御ユニット2の異常を検出する(S410)。
図4には、一実施形態に係る信号生成ロジック及び信号利用ロジックのそれぞれについてのファンクションブロック図が示される。
図4のファンクションブロック図において、信号生成ロジック12及び信号利用ロジック14の各々は、複数のファンクションブロック16(図4においては1〜4の数字がそれぞれ付された4つのファンクションブロック16A〜16H)を含む。このファンクションブロック16(16A〜16H)のそれぞれが実行命令の単位、すなわち演算要素である。
また、各ファンクションブロック16(16A〜16H)同士をつなぐ矢印は、ファンクションブロック間での入力と出力の関係を示す。例えば、信号生成ロジック12において、第1のファンクションブロック16Aでの出力(演算結果)は、第3のファンクションブロック16Cの入力である。
シート間接続要素は、ファンクションブロック図同士のつながりのポイントを示す要素であり、例えば、各ロジック間での参照関係を示す。図4には、信号生成ロジック12の実行により得られた最終的な演算結果(すなわち、信号生成ロジック12の最後の演算要素16Dでの出力信号)W(i)が、信号利用ロジック14の2番目の演算要素16Fにおいて参照されることが示されている。このように、信号利用ロジックにおいて、信号生成ロジックにより得られた信号(演算結果)を参照する演算要素を、以降においてErefと表現することがある。
一方、図7に示す例では、信号利用ロジックの周期Tuは、信号生成ロジックの周期Tgenよりも短い(Tu<Tgen)。すなわち、各制御ユニットにおいて実行される複数の2つの制御ロジックのうち、演算周期が最も短い信号利用ロジックは周期最短ロジックであり、信号生成ロジックは非周期最短ロジックである。
ステップS402では、図5に示すように、各制御ユニット2(制御装置A及びB)において、周期最短ロジック(信号生成ロジック)以外の非周期最短ロジックの各々(ここでは信号利用ロジック)よりも演算周期が短い割込制御ロジック(すなわち信号生成ロジック)が実行されていない空き時間に、非周期最短ロジックである信号利用ロジックを構成する複数の演算要素が実行順に実行される。
すなわち、制御装置A及びBの各々において、2つの制御ロジックが切り替わりながら実行される。例えば、比較的短い演算周期Tgenで実行される信号生成ロジックについては、該演算周期Tgen毎に演算が開始され、1演算周期分の演算が完了すると、非周期最短ロジックである信号利用ロジックの実行に切り替わり、信号生成ロジックの次の演算周期の開始タイミングまで、信号利用ロジックの演算が演算要素の実行順に実行される。そして、信号生成ロジックの次の演算周期の開始タイミングに達すれば、信号利用ロジックの演算が全て完了していなくても、信号生成ロジックの実行に切り替わる(信号利用ロジックの実行は信号生成ロジックによって割り込まれる)。すなわち、各制御ユニットにおいて、非周期最短ロジックよりも短い演算周期で実行される割込制御ロジックである信号生成ロジックが実行されていない空き時間に、非周期最短ロジックである信号利用ロジックの演算が実行される。言い換えれば、各制御ユニットにおいて信号生成ロジック(割込制御ロジック)が信号利用ロジック(非周期最短ロジック)よりも優先的に実行される。
すなわち、信号生成ロジックが実行されることにより、信号生成ロジックの演算周期Tgen毎に信号生成ロジックによる演算結果Wが得られる。例えば、信号生成ロジックのi番目の演算周期では、信号生成ロジックによる演算結果W(i)が得られる。
一方、信号利用ロジックはその実行過程において信号生成ロジックの演算結果Wを参照する演算要素Erefを含んでおり、演算要素Erefの演算の時点において信号生成ロジックの直近の演算周期で得られた演算結果(信号)Wを参照するようになっている。なお、図5中のErefからWへ向かう矢印は、演算要素ErefにおいてWを参照していることを示す。
図5に示すフローに係る実施形態では、各制御ユニット2(制御装置A及びB)において実行される信号生成ロジックは1つであり、その演算周期はTgenである。信号生成ロジックは周期最短ロジックであるとともに、非周期最短ロジックである信号利用ロジックよりも演算周期が短い割込制御ロジックであり、この演算周期Tgen毎に1つの同期ポイントP(図5においてPi等で示される)が設定されている。また、各同期ポイントPは、信号生成ロジック(割込制御ロジック)の実行開始タイミングに設定されている。
図5に示すフローに係る実施形態では、例えば同期ポイントPi+1の時点では、制御装置A及び制御装置Bのそれぞれにおいて、信号利用ロジックの演算要素Ei+1までの演算が完了している。
図5に示すフローに係る実施形態では、同期ポイントPi+1の時点における信号利用ロジック(非周期最短ロジック)の演算要素Ei+1は、制御装置AではEref(信号生成ロジックの演算結果Wを参照する演算要素)であるのに対し、制御装置Bでは、Erefよりも前に演算される演算要素である。したがって、同期ポイントPi+1の時点における先行制御ユニットは制御装置Aであると特定される。
図5に示すフローに係る実施形態では、同期ポイントPi+1において(あるいは同期ポイントPi+1の直前において)先行制御ユニットである制御装置Aが実行を終えた演算要素Ei+1はErefである。よって、先行制御ユニットを除く他の制御ユニットである制御装置Bでは、制御装置Bにおける演算要素Ei+1よりも後に実行される演算要素Erefの実行完了まで、信号生成ロジック(割込制御ロジック)ではなく、信号利用ロジック(非周期最短ロジック)が優先して実行される。
ここで、「同期ポイントPにおいて又は同期ポイントPの直前において先行制御ユニットが実行を終えた演算要素」とは、同期ポイントPの時点で、先行制御ユニットにおいて既に実行が完了した演算要素のうち、最も進んでいる演算要素(最も最近実行が完了した演算要素)のことである。
図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を含む信号利用ロジックでの演算結果が一致しないこととなる。このため、複数の制御ロジックを用いることに起因して制御演算結果の不一致が生じることとなる。
このような場合、各制御装置は正常であるにもかかわらず、演算結果の不一致によりいずれかの制御装置に故障が生じているものと判断されてしまい、制御対象を適切に制御することができない場合がある。
このように、信号利用ロジック(非周期最短ロジック)における参照タイミングを全ての制御ユニット2で揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
そこで、上記説明における実施形態のように、同期ポイントにおいては演算要素の単位で信号利用ロジック(周期最長ロジック)の進行段階を揃えるようにすることで、オーバヘッドを抑制しつつ、各制御ロジック間での実行の切り替えを速やかに行うことができる。
図5に示すフローに係る実施形態では、制御装置Aでは信号利用ロジックの演算結果YAが得られ、制御装置Bでは信号利用ロジックの演算結果YBが得られる。この演算結果YAとYBとの比較により、制御装置A及びBの異常を検出する。例えば、演算結果YAとYBが同一であれば、制御装置A及び制御装置は正常であると判断し、演算結果YAとYBとが異なれば、制御装置A又は制御装置Bにおいて異常が発生したと判断する。
ステップS407〜S408において複数の制御ロジックを用いることに起因する制御演算結果の不一致が回避されるため、ステップS410において制御装置の異常判定の精度を向上させることができる。
すなわち、制御装置A及びBの各々において、2つの制御ロジックが切り替わりながら実行される。例えば、比較的短い演算周期Tuで実行される信号利用ロジックについては、該演算周期Tu毎に演算が開始され、1演算周期分の演算が完了すると、非周期最短ロジックである信号生成ロジックの実行に切り替わり、割込制御ロジックである信号利用ロジックの次の演算周期の開始タイミングまで、非周期最短ロジックである信号生成ロジックの演算が演算要素の実行順に実行される。そして、信号利用ロジックの次の演算周期の開始タイミングに達すれば、信号生成ロジックの演算が全て完了していなくても、割込制御ロジックである信号利用ロジックの実行に切り替わる(信号生成ロジックの実行は信号利用ロジックによって割り込まれる)。すなわち、各制御ユニットにおいて割込制御ロジックである信号利用ロジックが実行されていない空き時間に、非周期最短ロジックである信号生成ロジックの演算が実行される。言い換えれば、各制御ユニットにおいて信号利用ロジック(割込制御ロジック)が信号生成ロジック(非周期最短ロジック)よりも優先的に実行される。
すなわち、信号生成ロジックが実行されることにより、信号生成ロジックの演算周期Tgen毎に信号生成ロジックによる演算結果Wが得られる。例えば、信号生成ロジックのj番目の演算周期では、信号生成ロジックによる演算結果W(j)が得られる。
一方、信号利用ロジックはその実行過程において信号生成ロジックの演算結果Wを参照する演算要素Erefを含んでおり、演算要素Erefの演算の時点において信号生成ロジックの直近の演算周期で得られた演算結果(信号)Wを参照するようになっている。なお、図7中のErefからWへ向かう矢印は、演算要素ErefにおいてWを参照していることを示す。
図7に示すフローに係る実施形態では、各制御ユニット2(制御装置A及びB)において実行される信号利用ロジックは1つであり、その演算周期はTuである。信号利用ロジックは周期最短ロジックであるとともに、非周期最短ロジックである信号生成ロジックよりも演算周期が短い割込制御ロジックであり、この演算周期Tu毎に1つの同期ポイントP(図7においてPi等で示される)が設定されている。また、各同期ポイントPは、信号利用ロジック(割込制御ロジック)の実行開始タイミングに設定されている。
図7に示すフローに係る実施形態では、例えば同期ポイントPi+1の時点では、制御装置A及び制御装置Bのそれぞれにおいて、信号生成ロジックの演算要素Egen(i+1)までの演算が完了している。
図7に示すフローに係る実施形態では、同期ポイントPi+1の時点における信号生成ロジック(非周期最短ロジック)の演算要素Egen(i+1)は、制御装置Aでは演算結果W(j)を生成する演算要素である。これに対し、制御装置Bでは、同期ポイントPi+1の時点における信号生成ロジック(非周期最短ロジック)の演算要素Egen(i+1)は、演算結果W(j)を生成する演算要素よりも前に演算される演算要素である。したがって、同期ポイントPi+1の時点における先行制御ユニットは制御装置Aであると特定される。
図7に示すフローに係る実施形態では、同期ポイントPi+1において先行制御ユニットである制御装置Aが実行を終えた演算要素Egen(i+1)は演算結果W(j)を生成する演算要素である。よって、先行制御ユニットを除く他の制御ユニットである制御装置Bでは、制御装置Bにおける演算要素Egen(i+1)よりも後に実行される演算結果W(j)を生成する演算要素の実行完了まで、信号利用ロジック(割込制御ロジック)ではなく、信号生成ロジック(非周期最短ロジック)が優先して実行される。
このように、信号利用ロジックにおける参照タイミングを全ての制御ユニット2で揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
図7に示すフローに係る実施形態では、制御装置Aでは信号生成ロジックの演算結果YAが得られ、制御装置Bでは信号生成ロジックの演算結果YBが得られる。この演算結果YAとYBとの比較により、制御装置A及びBの異常を検出する。例えば、演算結果YAとYBが同一であれば、制御装置A及び制御装置は正常であると判断し、演算結果YAとYBとが異なれば、制御装置A又は制御装置Bにおいて異常が発生したと判断する。
ステップS407〜S408において複数の制御ロジックを用いることに起因する制御演算結果の不一致が回避されるため、ステップS410において制御装置の異常判定の精度を向上させることができる。
例えば、図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をそれ以上設ける場合に比べて、制御ユニット2の間での同期の頻度、すなわち、信号利用ロジックの演算要素の実行情報を相互に交換する頻度を少なくすることができる。よって、同期を行う際の制御ユニット2の間での通信を低減することができ、制御ユニット2のオーバヘッドを低減することができる。
上記において「各制御ロジックの演算周期の粒度を示す単位期間」というのは、この単位期間の整数倍の期間にて各制御ロジックの演算周期を設定できることを意味する。
タイマー割込みポイントに同期ポイントPを設定することで、制御ロジックの記述内容によらずに、複数の制御ユニット2の間での制御演算結果の不一致を回避することができる。
図8に示すフローに係る実施形態では、制御ユニット2の各々において、第2信号生成ロジックは第1信号生成ロジックの演算結果W1を参照し、信号利用ロジックは第2信号生成ロジックの演算結果W2を参照するように構成される。このことは、後述において図9を用いて説明する。
また、非周期最短ロジックである信号利用ロジックよりも演算周期が短い第1信号生成ロジック及び第2信号生成ロジックは、信号利用ロジックについての割込制御ロジックである。すなわち、信号利用ロジックの実行は、第1信号生成ロジック及び第2信号生成ロジックによって割り込まれる。さらに、非周期最短ロジックである第2信号生成ロジックよりも演算周期が短い第1信号生成ロジックは、第2信号生成ロジックについての割込制御ロジックである。すなわち、第2信号生成ロジックの実行は、第1信号生成ロジックによって割り込まれる。
制御ユニット2においては、割込制御ロジックである第1信号生成ロジックの演算周期毎に1つずつ、同期ポイントP1が設定されている。また、割込制御ロジックである第2信号生成ロジックの演算周期毎に1つずつ、同期ポイントP2が設定されている。なお、同期ポイントP1及びP2の各々は、第1信号生成ロジック及び第2信号生成ロジックの実行開始タイミングに設定されている。
また、割込制御ロジックである第2信号生成ロジックの演算周期毎に設定された同期ポイントP2において、全ての制御ユニット2において、第2信号生成ロジックよりも優先して、非周期最短ロジックである信号利用ロジックにおける同一の演算要素まで実行する。このため、少なくとも第2信号生成ロジックの演算周期Tgen_2毎に、全ての制御ユニット2で信号利用ロジックの進行段階が揃うこととなる。よって、信号利用ロジックが、第2信号生成ロジックの演算結果を参照するタイミングにおいて、全ての制御ユニット2で、第2信号生成ロジックの同一周期での演算結果を参照することとなる。
このように、非周期最短ロジックである信号利用ロジック及び第2信号生成ロジックにおける参照タイミングを全ての制御ユニット2で揃えることができるため、複数の制御ロジックを用いることに起因する制御演算結果の不一致を回避することができる。
一実施形態では、信号利用ロジックの演算周期Tuが150ms、第1信号生成ロジックの演算周期Tgen_1が50ms、第2信号生成ロジックの演算周期Tgen_2が100msであり、同期ポイントPは、演算周期Tu、Tgen_1及びTgen_2の最大公約数で表される50msの周期毎に設定されてもよい。
このように、各制御ロジックの演算周期の最大公約数で表される周期毎に同期ポイントを設けることで、それよりも短い周期で同期ポイントを設定する場合に比べて、制御ユニット2の間で同期を行う時間当たりの回数が少なくなる。例えば、制御ユニット2において、タイマー割込みポイントが10ms毎に設定されている場合において、該タイマー割込みポイント毎に同期ポイントPが設けられる場合に比べて、上述のように50ms毎に同期ポイントPが設定される場合には、同期ポイントPの頻度は1/5となる。よって、各制御ユニット2におけるオーバヘッドを低減することができる。
制御ユニット2において、信号利用ロジック14’及び2つの信号生成ロジック(第1信号生成ロジック12A’及び第2信号生成ロジック12B’)からなる3つの制御ロジックが実行される場合の、各制御ロジックそれぞれについてのファンクションブロック図が示される。
図9のファンクションブロック図では、シート間接続要素18,19を伴うファンクションブロック16のみが表されており、その他のファンクションブロックは省略されている。
2 制御ユニット
4 制御対象
6 状態監視部
7 制御機器
12 信号生成ロジック
14 信号利用ロジック
16A〜H ファンクションブロック(演算要素)
18 シート間接続要素
19 シート間接続要素
100 機器制御システム
E 演算要素
P 同期ポイント
Tgen 信号生成ロジックの演算周期
Tu 信号利用ロジックの演算周期
W 演算結果(信号)
Y 制御信号
f 状態信号
Claims (13)
- 信号利用ロジックおよび1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための多重化制御装置であって、
前記複数の制御ロジックのうち、演算周期が最短のロジックを周期最短ロジックとし、前記周期最短ロジック以外の制御ロジックを非周期最短ロジックとし、
前記非周期最短ロジックの各々について、前記複数の制御ロジックのうち該非周期最短ロジックよりも演算周期が短い少なくとも1つの前記制御ロジックを割込制御ロジックとしたとき、
前記非周期最短ロジックの各々について、該非周期最短ロジックに対応する前記割込制御ロジックの各々が実行されていない空き時間に、前記非周期最短ロジックを構成する複数の演算要素を実行順に実行するとともに、前記信号生成ロジックの実行により得られた信号を参照して前記信号利用ロジックを実行するようにそれぞれが構成された複数の制御ユニットを備え、
前記複数の制御ユニットは、
前記割込制御ロジックのそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の前記非周期最短ロジックの前記演算要素の実行情報を相互に交換して、最も多くの前記演算要素の実行を終えた先行制御ユニットを前記非周期最短ロジックごとに特定し、
少なくとも前記先行制御ユニットを除く他の制御ユニットが、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の実行を少なくとも完了するまで各々の前記非周期最短ロジックを優先して実行するように構成され、
前記複数の制御ユニットは、前記複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果を比較して、各々の制御ユニットの異常を検出するように構成されたことを特徴とする多重化制御装置。 - 前記同期ポイントは、前記割込制御ロジックの各々の演算周期毎に1つずつだけ設定されることを特徴とする請求項1に記載の多重化制御装置。
- 前記同期ポイントは、前記割込制御ロジックの各々の実行開始タイミングであることを特徴とする請求項2に記載の多重化制御装置。
- 前記複数の制御ユニットの各々は、前記複数の制御ロジックの何れかの演算周期の粒度を示す単位期間毎に設定されるタイマー割込みポイントにてタイマー割込み処理を実行可能に構成されており、
前記同期ポイントは、前記タイマー割込みポイントに設定されることを特徴とする請求項1乃至3の何れか一項に記載の多重化制御装置。 - 前記複数の制御ロジックは、2以上の信号生成ロジックを含み、
前記同期ポイントは、前記信号利用ロジック及び前記2以上の信号生成ロジックの演算周期の最大公約数で表される周期毎に設定されるポイントを含むことを特徴とする請求項1乃至4の何れか一項に記載の多重化制御装置。 - 制御対象の状態を示す信号を検出するための状態監視部と、
前記状態監視部によって検出された前記信号に基づいて、前記制御対象を制御するための制御機器に与える制御信号を生成するための請求項1乃至5の何れか一項に記載の多重化制御装置と、を備え、
前記多重化制御装置は、前記制御ユニットの各々により独立して前記制御信号を生成し、前記複数の制御ユニットからの前記制御信号に基づいて、前記制御信号を前記制御機器に与えるように構成されたことを特徴とする機器制御システム。 - 複数の制御ユニットを用いて、信号利用ロジックおよび1つ以上の信号生成ロジックを含む複数の制御ロジックを実行するための多重化制御方法であって、
前記複数の制御ロジックのうち、演算周期が最短のロジックを周期最短ロジックとし、前記周期最短ロジック以外の制御ロジックを非周期最短ロジックとし、
前記非周期最短ロジックの各々について、前記複数の制御ロジックのうち該非周期最短ロジックよりも演算周期が短い少なくとも1つの前記制御ロジックを割込制御ロジックとしたとき、
前記複数の制御ユニットの各々について、前記非周期最短ロジックの各々について、該非周期最短ロジックに対応する前記割込制御ロジックの各々が実行されていない空き時間に、前記非周期最短ロジックを構成する複数の演算要素を実行順に実行するとともに、前記信号生成ロジックの実行により得られた信号を参照して前記信号利用ロジックを実行するロジック実行ステップと、
各々の前記非周期最短ロジックよりも短い前記割込制御ロジックのそれぞれの演算周期毎に少なくとも一つずつ設定される同期ポイントにおいて、各々の前記非周期最短ロジックの前記演算要素の実行情報を前記複数の制御ユニット間で相互に交換する同期情報交換ステップと、
前記同期情報交換ステップにおいて前記複数の制御ユニット間で相互に交換された前記演算要素の実行情報に基づいて、最も多くの前記演算要素の実行を終えた先行制御ユニットを前記非周期最短ロジックごとに特定する先行制御ユニット特定ステップと、
少なくとも前記先行制御ユニットを除く他の制御ユニットについて、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の実行を少なくとも完了するまで、各々の前記非周期最短ロジックを優先して実行する同期実行ステップと、
前記複数の制御ユニット間における前記複数の制御ロジックのうち少なくとも1つの制御ロジックの演算結果の比較により、各々の制御ユニットの異常を検出する異常検出ステップと、を備えることを特徴とする多重化制御方法。 - 前記同期ポイントは、前記割込制御ロジックの各々の演算周期毎に1つだけ設定されることを特徴とする請求項7に記載の多重化制御方法。
- 前記同期ポイントは、前記割込制御ロジックの各々の実行開始タイミングであることを特徴とする請求項8に記載の多重化制御方法。
- 前記複数の制御ユニットの各々は、前記複数の制御ロジックの何れかの演算周期の粒度を示す単位期間毎に設定されるタイマー割込みポイントにてタイマー割込み処理を実行可能に構成されており、
前記同期ポイントは、前記タイマー割込みポイントに設定されることを特徴とする請求項7乃至9の何れか一項に記載の多重化制御方法。 - 前記複数の制御ロジックは、2以上の信号生成ロジックを含み、
前記同期ポイントは、前記信号利用ロジック及び前記2以上の信号生成ロジックの演算周期の最大公約数で表される周期毎に設定されるポイントを含むことを特徴とする請求項7乃至10の何れか一項に記載の多重化制御方法。 - 制御対象の状態を示す信号を検出するための状態監視ステップと、
請求項7乃至11の何れか一項に記載の多重化制御方法により、前記状態監視ステップにおいて検出された前記信号に基づいて、前記制御対象を制御するための制御機器に与える制御信号を生成する制御信号生成ステップと、を備え、
前記制御信号生成ステップでは、前記制御ユニットの各々により独立して前記制御信号を生成し、前記複数の制御ユニットからの前記制御信号に基づいて、前記制御信号を前記制御機器に与えることを特徴とする機器制御方法。 - 前記複数の制御ユニットは、前記先行制御ユニットを含めた全ての制御ユニットが、前記同期ポイントにおいて又は前記同期ポイントの直前において前記先行制御ユニットが実行を終えた前記演算要素の次の演算要素の実行を完了するまで各々の前記非周期最短ロジックを優先して実行するように構成されたことを特徴とする請求項1乃至5の何れか一項に記載の多重化制御装置。
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)
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 | 日本信号株式会社 | 車両制御用コンピュータシステム |
-
2014
- 2014-10-17 JP JP2014212557A patent/JP6225091B2/ja active Active
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 |