JP4711197B2 - デュアルcpuの安全システムにおける安全タイマクロスチェック診断 - Google Patents

デュアルcpuの安全システムにおける安全タイマクロスチェック診断 Download PDF

Info

Publication number
JP4711197B2
JP4711197B2 JP2007277344A JP2007277344A JP4711197B2 JP 4711197 B2 JP4711197 B2 JP 4711197B2 JP 2007277344 A JP2007277344 A JP 2007277344A JP 2007277344 A JP2007277344 A JP 2007277344A JP 4711197 B2 JP4711197 B2 JP 4711197B2
Authority
JP
Japan
Prior art keywords
processor
safety
clock source
accuracy
cpu
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
JP2007277344A
Other languages
English (en)
Other versions
JP2008117390A (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.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
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 Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of JP2008117390A publication Critical patent/JP2008117390A/ja
Application granted granted Critical
Publication of JP4711197B2 publication Critical patent/JP4711197B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25047Common clock for redundant processors

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)

Description

関連出願の相互参照
不適用。
連邦支援の研究または開発に関する供述書
不適用。
本発明は、産業プロセスのリアルタイム制御に用いられ、かつ人命と健康の保護を目的とした装置とシステムでの使用に適した産業用「安全制御装置」に関し、特に「安全I/Oモジュール」、即ち安全システムの構成要素に関する。
「安全制御装置」は産業プロセスの環境で作業する人々の安全性を確保するのに使用される専用コンピュータである。保存された安全制御プログラムの指揮の下、安全制御装置は被管理プロセスの状態を反映する一連の入力を検査し、産業プロセスを制御する一連の出力を変更する。入出力はバイナリー、即ちオンまたはオフでも良いし、またはアナログ、即ち連続する範囲内の値を提供するものであっても良い。入力は産業プロセス用機器に取り付けられた光カーテンまたはセンサから得てもよく、出力は機器上の電力制御リレー、アクチュエータまたはモータに対する信号でもよい。
「安全I/Oモジュール」は分散入出力(「I/O」)の形態であり、安全制御装置に接続され監視される。遠隔I/Oを使用する利点の1つに、装置が存在する場所にI/Oを設置することができる、ということが含まれる。これによりI/Oおよび装置を維持および故障点検する能力が大幅に向上する。さらに、据え付け時間および配線コストが大幅に削減される。安全I/Oは特にI/O安全反応時間を監視する能力などの付加的な利益をもたらすが、この点については以下にさらに詳しく論じるようにCIP(Common Industrial Protocol:共通産業プロトコル)安全プロトコルの拡張としても知られている。安全I/Oモジュールが入力または出力を処理している場合、安全I/Oモジュールは、産業上の必要条件を満たさねばならない安全反応時間を提供する。
「安全システム」は、緊急停止ボタン、連動スイッチ、光カーテンおよび他のマシンロックアウトと関連した電子技術と共に安全制御装置を組み込んで、より安全な作業環境を提供するシステムである。
安全システムの設計で考慮する重要な要素は「安全反応時間」である。安全反応時間は、「安全応答時間」としても知られ、安全システムに対する入力としての安全関連事象からシステムが安全な状態になるまでの時間の量と定義される。言い換えれば、緊急停止ボタンの押下または光カーテンの横切りなど安全性要求の電気的認識から、システム全てのアクチュエータの動作が安全な状態になるまでの時間である。安全な状態はシステム毎に異なり、停止されたモータ、閉止されたバルブまたは電源が断たれた電気部品から多岐にわたる。
安全システムの設計にあたっては、光カーテンのような安全構成要素をできるだけ機械類の近くに配置できる速い安全反応時間を持つことが望ましい。安全システムの安全反応時間は、構成要素(例えば光カーテン)を、機械(例えばプレス機)に対してどれだけ近くに配置できるかに直接影響を与える。適切に設計された安全システムにおいては、オペレータの手が光カーテンを通過して危険な機械部品に接触するまでにかかる時間は、安全制御装置が光カーテンの入力信号を受信、処理して機械類を安全モードに誘導するのに要する時間より大きい。従って、安全反応時間が速ければ速いほど、光カーテンおよび類似の安全装置を機械のそばに備え付けることができる。このことは、設置スペースが限られているとき、または機械の操作に加工対象物の挿入および除去といったオペレータの介入が頻繁に含まれるとき、特に有益となる。
産業用システムの安全反応時間は、構成要素間のデータ伝送速度とともに安全制御装置の処理時間にも依存している。安全反応時間はセンサ反応時間、入力反応時間、安全タスク反応時間、出力反応時間とアクチュエータ反応時間の和である。これらの時間はそれぞれ、I/Oモジュールの種類および特定の安全プログラム内の論理命令などの要因に可変的に依存している。制御装置の安全タスク反応時間とは、制御装置に提示された何らかの入力変更から処理された出力を出力プロデューサが設定するまでの最悪の遅延である。各安全装置は、安全監視タイマを実行して安全タスク反応時間を最大許容時間に制限する。安全タスク反応時間が安全監視タイマを越えると、安全装置はフォールトとなり出力は自動的に安全状態に移行する。
速い安全反応時間を持つことの重要性と併せて、安全システムが反復可能かつ信頼できる安全反応時間を持つことは、それ以上ではないとしても同様に重要である。反復性と信頼性が非常に重要であるのは、安全システムの種々の保護構成要素が安全反応時間を用いて計算した距離に設置されているためである。光カーテンを機械からある一定の計算された「安全な」距離に配置しても、設置後に安全反応時間ドリフトが高くなるだけということは受け入れがたい。仮にそういう事態になった場合、機械が安全な状態に完全に入る前にオペレータが有害な機械と接触する恐れがある。
この点で、安全装置の適切な操作、ひいては正確な安全反応時間を確保するための工業規格が存在する。例えば、国際電気標準会議(IEC)は、「電気/電子/プログラム可能電子安全関連システムの機能的安全性」と題する規格61508を作成した。IEC61508は安全機能のための安全性能に4段階の安全完全性レベル(SIL)を定めている。SILの2(SIL2)および3(SIL3)を有する安全システムは一般に、センサ、最終制御要素および制御システムのプロセッサに冗長性を求めている。
SIL3準拠の安全装置は通常、二重の中央演算処理装置を有し、これはプロセッサまたはCPUとしても知られ、独立した安全機能を実行している。安全機能はいくつかの共有の属性を有するが、異なるタスクをも実行する。CPUは、技術的によく知られているように、標準的監視タイマに頼り、そのクロックソースが一貫して安定したクロックパルスを配信していることを検証する。クロックソースの検証は安全装置が正確な安全反応時間を供給していることを確認するために必要とされる。しかしながら、監視タイマはCPUを駆動する周波数に基づいており、従ってその基になるクロックソースと同じ正確さでしかない。通常、水晶発振器を用いてクロックパルス、即ち周波数を発生して、とりわけCPUを駆動する。これらの発振器は、通常動作では極めて信頼性が高くまた耐久性がある。しかしながら産業環境では、水晶が熱くなったり、押されたり、汚染されたりして、ドリフトして信頼性が低くなることがある。
仮に発振器クロックソースがドリフトして定格速度より遅くなると、これに駆動されるCPUの動作も遅くなる。例えば、通常定格3.0GHzのCPUが若干遅めのクロックソースを有しているとすれば、2.99999GHzで動作している可能性がある。システムクロックがクロックパルスを数えて時間を追跡している場合、3.0×10パルス後、実際の経過時間は1秒よりも若干長くなるが、システムクロックは正確に1秒経過したと指示するだろう。3.0×10個のパルスにちょうど1秒かかったことを確認する独立したクロックソースが無いと、CPUが通常より遅めに動作しているのか速めに動作しているのか確かめるすべが無い。このことにより起こり得る1つの現実の結果としては、安全反応時間が6.0ミリ秒と設計され宣伝されたが、現実には6.1ミリ秒に近いということがあり得る。独立したクロックソースに制御される監視機能であれば、クロックソースの速度ドリフトを検出でき、安全システムはこれに応じて反応することができる。これらの数字は微小な時間差に見えるが、安全装置および安全システムに対するSILの要求は極めて厳しい。
従って、デュアルCPU安全装置の各CPUは、それ自身の単一クロックソースが規定のパラメータ内で動作していることを検証するための独立したクロックソースを備える必要がある。従来の安全装置は多数の独立クロックソースを備え、従って一次クロックソースの精度を検証する診断を実行する時、これらクロックソースの一つを使用することができる。安全I/Oモジュールのような安全装置を小型化するため、各CPUに1つだけクロックソースを備えていてもよい。しかしながら、外部に独立したクロックソースが無ければ、装置は各クロックソースの精度を検証するすべが無い。これはより安価な単一クロックソースのCPUにとって問題となり得る。
単一クロックソースのCPUを備えたデュアルCPU安全装置において、独立してクロックソースを検証できないことに対する1つの可能な解決策は、パートナーのCPUのクロックソースを使用して、一次CPUのクロックソースの精度をクロスチェックして検証することである。しかしながら、この解決策はパートナー、即ち検証側のCPUのクロックソースが正確であることを保証するすべがない。検証側CPUのクロックソースがドリフトしている場合、一次CPUのクロックソースの精度の適切な検証を提供することはできない。換言すれば、クロスチェックが無い場合、一次CPUのクロックソースをチェックするためだけでなく、パートナーCPU自身の安全重要機能が定格安全反応時間内に完了したことを検証するためにも、パートナーCPUの不正確なクロックソースが使用されることになる。
現在のところ、独立したクロックソースを用いることなく、二次CPU、即ち検証側CPUのクロックソース自身が正確であることを確認する方法は無い。しかしながら、単一クロックソースのCPUは、もともと独立のクロックソースを持たない。この理由で、2つの単一クロックソースCPUが定期的に役割を交換して互いのクロックソースの精度をチェックするデュアルCPUの安全装置を開発する必要性がある。この問題を解決するための診断により、自身のクロックソースを正確にチェックできない一次および二次CPUが、相手のクロックソースがそれらによって既にチェックされたものであることが保証された状態で、互いのクロックソースを検証することが可能になる。
本発明は、各CPUのクロックソースの精度を認証するデュアルCPU安全装置を提供するものである。診断を通して、第1のCPUは第2のCPUのクロックソースの精度を検証し、次いで第2のCPUが第1のCPUのクロックソースを検証する。いずれかのCPUに障害のあるクロックソースがあると判断されると、安全装置はフォールトとなり被制御プロセスは安全状態に入る。
好適な実施形態において、安全装置は、安全重要機能の第1の安全ループまたはルーチンを実行する第1のクロックソースによって駆動される第1のプロセッサ、即ちCPUを備える第1の処理装置と、安全重要機能の第2の安全ループを実行する第2のクロックソースに駆動される第2のプロセッサを備える第2の独立した処理装置と、第1および第2のプロセッサ間の通信リンクと、同期ルーチンと、診断装置とを含む。同期ルーチンは、第1および第2のプロセッサによって実行され、それぞれの安全ループサイクルの開始を同期させる。診断は第1および第2のプロセッサ双方が実行し、一方のプロセッサが自身の安全タスクの完了を検証する一方、他方のプロセッサが第1のプロセッサのクロックソースの精度を監視する。診断の最初の部分で、第1のプロセッサは安全反応時間内に安全ループの安全重要機能の全てを完了したことを検証し、第2のプロセッサは第1のプロセッサのクロックソースを検証する。安全反応時間が経過した後、即ち第1の処理装置のシステムクロックがタイマ比較レジスタにロードした割り込み値に達していると判断されたとき、第1のプロセッサはその安全重要機能の全てが完了しているかどうかをチェックする。完了していない場合、第1のプロセッサはフォールトとなる。完了していると、第1のプロセッサはランデブー信号を第2のプロセッサに送り、次いで第2のプロセッサは、第1のプロセッサが自身のクロックソースを用いて判断した安全反応時間が設定範囲内にあるかどうかを判断する。このチェックは、第1のプロセッサのクロックソースがクロックパルスを確実に供給しているかどうかを検証するものである。もし確実に供給していない場合、第2のプロセッサはフォールトとなり、安全状態に入る。第2のプロセッサがタイムアウトする前にランデブー信号を受信していない場合、第2のプロセッサもフォールトとなる。
経過時間が範囲内であれば、第1および第2のプロセッサは役割を交換し、第1のプロセッサが第2のプロセッサのクロックソースの精度を監視する。第2の安全ループの1サイクル後、即ち第2のプロセッサのクロックソースにより計算した安全反応時間が経過した後、第2のプロセッサは自身の安全重要機能が完了したかどうかを検証する。完了していない場合、第2のプロセッサはフォールトになる。もし完了している場合、第2のプロセッサはランデブー信号を第1のプロセッサに送り、ついで第1のプロセッサは第2のプロセッサが自身のクロックソースを用いて判断した安全反応時間が設定範囲内にあるかを判断する。2つのプロセッサは、診断が実行されている間、役割交換を続ける。
図1を参照して、産業用制御システム10を説明する。産業用制御システム10は以下にさらに詳細に記載するプログラム可能な入/出力(I/O)回路を利用する。なお、産業用制御システム10は、本発明を利用できる産業用制御システムのほんの一例に過ぎず、他のシステムも可能である。
産業用制御システム10は、複数の入力装置16の入力状態に基づき複数の出力装置14の出力状態を制御するプログラム可能な制御システム12を含む。そのために、プログラム可能な制御システム12は、出力装置14を制御する方法を定義する保存された制御プログラムを実行するマイクロプロセッサベースのプロセッサモジュール17を備える。
プロセッサモジュール17は、I/Oモジュール18を介してI/O装置14および16と通信する。特にプロセッサモジュール17は、出力装置14の所望の出力状態のデジタル表現をI/Oモジュール18に送信する。I/Oモジュール18は、出力装置14の所望の出力状態のデジタル表現に基づき、所望の方法で出力装置14を駆動可能な出力制御信号を生成する。同様にプロセッサモジュール17は、I/Oモジュール18から入力装置16の入力状態のデジタル表現を受信する。I/Oモジュール18は、入力装置16から受信した入力状態信号に基づき入力装置16の入力状態のデジタル表現を生成する。
現在の一実施例において、制御安全プロセス40は、光カーテンの冗長信号44をI/Oモジュール18に送る光カーテン42と、I/Oモジュール18から送信される停止信号48を介して停止し得るプレス機46とを含む。安全プロセス40は、光カーテン42の平面を何かが横切るとプレス機46を停止するように設計されている。ある物体が光カーテンの平面を横切った後にプレス機46を停止するI/Oモジュール18の反応速度、即ち安全反応時間は、光カーテン42とプレス機46間の所要の距離間隔を決定する計算に織り込まれる。
図2を参照すると、I/Oモジュール18は、技術的に公知のシリアル通信プロトコルを介してパートナー処理装置50bと通信する一次処理装置50aを含む。一次処理装置50aは、第1のまたは制御側プロセッサ、もしくはCPU52aおよびシステムクロック53aを含み、両者は共に単一のクロックソース54aによって駆動される。好適な実施形態のシステムクロック53aは、1マイクロ秒間隔でインクリメントされる。CPU52aは、安全重要機能61a、診断コード62aおよび安全外機能63aからなる実行ファイル60aの実行またはファームウェアのイメージ58aを保持した内部ROM(読み出し専用メモリ)56aを備える。CPU52aは、さらにフラグ64aと比較レジスタ66aで実行されるタイマ割り込み機能とを含み、比較レジスタ66aには設定時間値がロードされる。システムクロック53aが比較レジスタ66aに保存された値に達すると、CPU52aは実行イメージ58aの実行を中断する。パートナー処理装置50bは、一次処理装置とは独立した形でほぼ同様の構成要素を有する。即ち、プロセッサ52b、単一のクロックソース54bに駆動されるシステムクロック53b、ROM56b、ならびに、安全重要機能61b、診断コード62bおよび安全外機能63bからなる若干異なる実行ファイル60bのファームウェアイメージ58b、フラグ64b、同じタイマ割り込み機能を持つ比較レジスタ66bを有する。
図3はプロセスの視覚表示であり、I/Oモジュール18は、「安全ループ」初期化プロセスを示す開始ブロック104、108から始まる安全タイマクロスチェック診断100を実施する。安全ループ初期化プロセスは、CPU52a、52bの双方が安全ループに入る前にロードされた割り込みを有することを保証する機能と、2つのCPU52a、52bを同期させて安全ループを同時に開始する機能の2つの機能を果たす。この同期はランデブーメッセージ106および2つの処理装置50a、50b間の肯定応答メッセージ110で示される。
先に述べたとおり、タイマ比較レジスタ66a、66bは、CPU52a、52bに割り込みを生成するために使用される。好適な一実施形態において、第1の割り込みはCPU52aにスケジュールされ、CPU52aは、スケジュールされた先の割り込みが発生してから6ミリ秒を示す値を比較レジスタ66aにロードすることにより、制御側CPUとしての役割を果たす。6ミリ秒の時間は、I/Oモジュール18の定格安全反応時間を表わす。割り込みはCPU52bにもスケジュールされ、CPU52bは、CPU52aにロードされた6ミリ秒より若干先の時間に発生する監視側CPUとしての役割を果たす。余分の時間、即ち0.1ミリ秒はクッションまたは許容範囲として機能し、割り込まれているCPU52aと処理装置50bにランデブーメッセージを送信する処理装置50aとの間の若干の遅延のため必要であるだけでなく、処理装置50a、50b間の若干の時間差を許容するのにも必要である。
割り込みがスケジュールされた後、即ちタイマ比較レジスタ66a、66bがロードされた後、処理装置50a、50bは、第1の安全ループ127の実行を基本的に開始している。先に論じたように、第1の安全ループ127では、処理装置50aは診断100を実行しつつ制御装置としての役割を果たし、一方パートナー処理装置50bは監視装置としての役割を果たす。ブロック112および114に示すように、各処理装置50a、50b内のCPU52a、52bは、安全重要機能61a、61bおよび安全外機能63a、63bを含む実行ファイル60a、60bを処理する。この実施例においては通常4ミリ秒経過した後に発生する安全機能61aを完了した後、内部フラグ64aがセットされる。このフラグは、安全重要機能61aが制御側CPU52aによって定格安全反応時間内に完了されたことを示す。その後CPU52aは、ブロック116に示すように、安全外機能63aを実行しながらタイマ割り込みを待つ。一方CPU52bは、安全重要機能61bの実行を終了し、フラグ64bをセットして、ブロック122に示す安全外機能63bの実行を開始しながら処理装置50aからのランデブーメッセージ120を待つかまたはタイマ割り込みを待つ。
システムクロック53aがタイマ比較レジスタ66aにロードされたスケジュールされた割り込み時間と一致するとき、即ちクロックソース54aからの入力に基づき6ミリ秒経過した後、CPU52aは実行イメージ58aの処理を中断する。あるいは、CPU52aは、安全反応時間が経過した後で中断するためにタイマ比較レジスタ66aをロードする代わりに、繰り返しタイマまたはカウンタにポーリングして時間が経過したことを判定しても良い。しかしながら、これはCPU52aが予期せぬ遅延に遭遇する場合から保護する監視機能を全く持たないので好ましい方法ではない。
割り込み発生後直ちに、CPU52aは次の6ミリ秒+クッションが経過した後に新しく発生する割り込みをスケジュールする。クッションが含まれるのは、次の安全ループ128の間CPU52aが監視側装置になるためである。割り込みは、次の所望の割り込み時間を示す値を比較レジスタ66aにロードすることによりスケジュールされるが、処理システム50aがいかなる予期せぬ遅延からも常に保護されることを保証するために先の割り込みの直後にスケジュールされる。
次にCPU52aはフラグ64aがセットされているかどうかをチェックする。フラグ64aがセットされていない場合、即ち全ての安全重要機能が完了しているわけではない場合、ハードないし重大フォールトが発生する。処理装置50aは安全状態に入り、次いでリセットされる。フラグ64aがセットされている場合、ランデブー信号120がブロック118から処理装置50bへ送信され、比較レジスタ66aにロードされた時間値、即ち6ミリ秒の安全反応時間が処理装置50aが感知したとおりに経過したことが示される。
ブロック122において、処理装置50bはランデブー信号120を受信し肯定応答信号124を即座に返す。CPU52bがランデブー信号120を受信する前に割り込まれるような予期せぬ遅延または不正確なクロックが発生した場合には、重大フォールトが発生し、処理装置50bは安全状態に入りリセットされる。そうでない場合には、ランデブーメッセージ120を受信した後、CPU52bは全ての安全機能61bが完了したことを示すフラグ64bがセットされているかどうかをチェックする。フラグ64bがセットされていない場合、重大フォールトも発生する。フラグ64bがセットされている場合、処理装置50bは、CPU52aがクロックソース54aを用いて判断した安全反応時間の経過が許容範囲またはクッション内にあるかどうかを判断する(決定ブロック130)。本質的に、処理装置50bは、処理装置50aが6ミリ秒と判断したものと処理装置50bがクロックソース54bを用いて6ミリ秒(+クッション)と判断したものとを比較することにより、クロックソース54aの精度をチェックしている。
処理装置50aの安全反応時間が許容範囲にない場合、ブロック132に示すように処理装置50bはフォールトとなる。処理装置50aの安全反応時間が許容範囲にあれば、処理装置50bはブロック134に移行し次の割り込みをスケジュールする。CPU52bは次の安全ループ128で制御側CPUとして機能するので、タイマ比較レジスタ66bにロードされた値は現在の時刻から6ミリ秒の値である。
この時点では、一次処理装置50aとパートナー処理装置50bの役割は逆転しており、一次処理装置50aが監視側処理装置となる一方、パートナー処理装置50bが制御側処理装置になる。このシンメトリー、即ち役割交換は有用である。なぜなら診断100におけるこの時点では、一次処理装置50aのクロックソース54aのみが正確であると検証されているからである。役割を交換することにより、診断100は、双方のCPU52a、52bが正確に時間を測定する能力だけでなく割り込んでフォールトを発生する能力をも備えることを保証する。
ブロック126および136に示すように、各処理装置50a、50bのCPU52a、52bは、安全重要機能61a、61bを含む実効ファイル60a、60bを再び処理する。安全機能61a、61bの完了後、内部フラグ64a、64bがセットされる。その後、CPU52bはブロック138に示す自身のタイマ割り込みを待ち、CPU52aは処理装置50bからのランデブーメッセージまたは自身のタイマ割り込みのいずれかを待つ。
システムクロック53bがタイマ比較レジスタ66bにロードされたスケジュールされた割り込み時間値に一致するとき、即ちクロックソース54bからの入力に基づき6ミリ秒経過した後、CPU52bは処理を中断する。中断後、CPU52bは直ちに新しい割り込み(クッション付き)をスケジュールし、先に論じたように監視の準備をする。次にCPU52aはフラグ64aがセットされているかどうかをチェックする。フラグ64bがセットされていない場合、処理装置50bに重大フォールトが発生し、処理装置50bは安全状態に入りリセットされる。フラグ64bがセットされている場合(ブロック140)、ランデブー信号が処理装置50aに送信され、比較レジスタ66bにロードされた時間、即ち処理装置50bがクロックソース54bを用いて判断した安全反応時間6ミリ秒が経過したことを示す。一方、処理装置50aは信号142を受信し(ブロック144)、即座に肯定応答信号146を返信する。処理装置50bは新しい安全ループに入り、安全機能61aの処理を開始する(リターンパス148から安全ループ127として示す)。
万一、CPU52aがランデブー信号142を受信する前に割り込まれた場合(予期せぬ遅延または不正確なクロックの結果である)、重大フォールトが発生し、処理装置50aは安全状態に入り次いでリセットされる。ランデブー信号142の受信した後、CPU52aはフラグ64aがセットされているかどうかをチェックする。フラグ64aがセットされていない場合、重大フォールトもまた発生する。フラグ64aがセットされている場合、処理装置50a(決定ブロック150)は、CPU52bがクロックソース54bを用いて計算した安全反応時間の経過が許容範囲またはクッション内にあるかどうかを判断する。
クロックソース54aを用いて判断した安全反応時間が許容範囲にない場合、処理装置50aはブロック152に示すようにフォールトとなる。安全反応時間が許容範囲にある場合、処理装置50aはブロック154に移行し次の割り込みをスケジュールする。52aは再び制御側CPUとなるので、タイマ比較レジスタ66aにロードされた値は、ブロック116において最後の割り込みがCPU52aによってスケジュールされた時間から6ミリ秒となる(これにより、安全ループ127と128を組み合わせた時間は、確実にちょうど2安全反応時間、即ち12ミリ秒になる)。次いで処理装置50aは新しい安全ループに入り、安全機能61aの処理を開始する(リターンパス156から安全ループ127として示す)。
安全タイマクロスチェック診断100は所定周波数で繰り返し実行することができ、その間、処理装置50a、50bのCPU52a、52bは安全ループ内で実効ファイル60a、60bの実施を継続する。本発明はここに含まれる実施形態および説明図に限定されるものではなく、それら実施形態の変形態様を含み、特許請求の範囲に入る実施形態の部分および異なる実施形態の要素の組み合わせを含むことを特に意図するものである。
制御および認証側CPUを備え本発明と共に使用するのに適したデュアルCPU安全装置を含む産業用制御システムである。 図1の安全装置における制御および認証側プロセッサの電気的模式図である。 図1のデュアルCPU安全装置において実行される安全タイマクロスチェック診断のフローチャートである。
符号の説明
10 産業用制御システム
12 制御システム
14 出力装置
16 入力装置
17 プロセッサモジュール
18 I/Oモジュール

Claims (7)

  1. 第1の安全ループを実行するクロックソースによって駆動される第1のプロセッサを備える第1の処理装置と、
    第2の安全ループを実行するクロックソースによって駆動される第2のプロセッサを備え、前記第1の処理装置から独立した第2の処理装置と、
    前記第1および第2のプロセッサ間の通信リンクと、
    前記第1および第2の処理装置の双方によって実行され、前記第1および第2の安全ループの開始を同期させる同期ルーチンと、
    前記第1および第2の処理装置によって実行可能な診断と、
    からなる安全装置において、
    一方の処理装置が他方の処理装置のクロックソースの精度を直接に監視可能し、
    前記第1のプロセッサが第1のクロックソースによって駆動され、前記第2のプロセッサが第2のクロックソースによって駆動され、
    前記第2のプロセッサが前記第1のプロセッサのクロックソースの精度を監視し、
    前記診断は前記クロックソースの精度が許容範囲にあるかどうかを判断し、
    前記診断プログラムが前記第1のクロックソースの精度が正確であると判断した後、前記第1のプロセッサが前記第2のプロセッサのクロックソースの精度を監視する
    ことを特徴とする安全装置。
  2. 請求項に記載の安全装置において、前記診断プログラムは前記第2のプロセッサのクロックソースの精度が許容範囲にあるかどうかを判断する安全装置。
  3. 請求項に記載の安全装置において、各プロセッサが交互に監視を繰り返す安全装置。
  4. 請求項に記載の安全装置において、前記プロセッサは各自の安全プログラムのループを完了した後、監視の役割を交替する安全装置。
  5. 第1および第2の処理装置を備える安全装置を操作する方法において、前記処理装置はそれぞれ独立したプロセッサ、メモリおよび単一のクロックソースを含み、
    前記第1および第2の各処理装置のメモリは第1および第2の安全プログラムおよび入/出力変数をロード可能であり、前記安全プログラムは外部の被制御装置からの入力を示す入力変数を読み込みかつ外部の被制御装置への出力を示す出力変数を書き込むために繰り返し実行可能であり、
    a)前記第1および第2のプロセッサを同期させるステップと、
    b)前記第1および第2のプロセッサに第1および第2の所定の割り込み時間をロードするステップと、
    c)双方の安全プログラムの少なくとも1つのループを実行するステップと、
    d)前記第1のプロセッサが感知した前記第1の割り込み時間が経過した後に前記第1のプロセッサに割り込むステップと、
    e)前記第2の処理装置に信号を送るステップと、
    f)前記第2のプロセッサが測定した前記第1の割り込み時間が、前記第1のプロセッサが測定した前記第1のプロセッサの第1の割り込み時間とほぼ等しいかどうかを判断するステップと、
    を実行し、さらに
    g)前記第1および第2のプロセッサを再同期させるステップと、
    h)前記第1および第2のプロセッサに所定の割り込み時間を再ロードするステップと、
    i)双方の安全プログラムの少なくとも1つのループを実行するステップと、
    j)前記第2のプロセッサが感知した前記第2の割り込み時間が経過した後に、前記第2のプロセッサに割り込むステップと、
    k)前記第1の処理装置に信号を送るステップと、
    l)前記第1のプロセッサが測定した前記第2の割り込み時間が、前記第2のプロセッサが測定した前記第2の割り込みに対する時間にほぼ等しいかどうかを判断するステップと、
    を順に実行する
    ことを特徴とする安全装置を操作する方法。
  6. 請求項に記載の方法において、さらに
    m)安全ループを繰り返し実行しながら各処理装置のクロックソースを監視するステップと、
    n)いずれかのクロックソースが不正確であると判断すると安全状態に入るステップと、からなる方法。
  7. 第1のクロックソースによって駆動される第1のプロセッサを備える第1の処理装置と、
    第1のクロックソースから独立した第2のクロックソースによって駆動される前記第1のプロセッサから独立した第2のプロセッサを備える第2の処理装置と、
    前記第1および第2の処理装置で実行される診断と、
    からなるI/Oモジュールにおいて、
    前記診断は各クロックソースの精度を直接に認証可能とし、
    前記診断は前記第1のプロセッサに制御側プロセッサとなることを、前記第2のプロセッサに監視側処理装置になることを割り当て、
    前記プロセッサが同期しており、
    前記制御側プロセッサに割り込みが設定された後、前記監視側プロセッサに割り込みが設定され、
    前記制御側プロセッサが割り込まれた後、前記制御側プロセッサは前記監視側プロセッサに信号を送り、
    前記監視側プロセッサは、前記制御側プロセッサのクロックソースの精度を検証し、
    前記監視側プロセッサが前記制御側プロセッサのクロックソースの精度が所定の範囲にないと判断すると、前記モジュールが安全状態に入り、
    前記監視側プロセッサが前記制御側プロセッサのクロックソースの精度が所定の範囲にあると判断すると、前記第1および第2のプロセッサが役割を交替し、各安全プログラムの1つのループを再実行する
    ことを特徴とするI/Oモジュール。
JP2007277344A 2006-10-25 2007-10-25 デュアルcpuの安全システムにおける安全タイマクロスチェック診断 Active JP4711197B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/586,355 2006-10-25
US11/586,355 US7617412B2 (en) 2006-10-25 2006-10-25 Safety timer crosscheck diagnostic in a dual-CPU safety system

Publications (2)

Publication Number Publication Date
JP2008117390A JP2008117390A (ja) 2008-05-22
JP4711197B2 true JP4711197B2 (ja) 2011-06-29

Family

ID=38858915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007277344A Active JP4711197B2 (ja) 2006-10-25 2007-10-25 デュアルcpuの安全システムにおける安全タイマクロスチェック診断

Country Status (3)

Country Link
US (1) US7617412B2 (ja)
EP (1) EP1916581B1 (ja)
JP (1) JP4711197B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0602641D0 (en) * 2006-02-09 2006-03-22 Eads Defence And Security Syst High speed data processing system
EP2133762B1 (de) 2008-06-09 2012-11-21 Siemens Aktiengesellschaft Verfahren zum Überwachen einer Zeitbasis einer Datenverarbeitungseinheit und Datenverarbeitungseinheit
DE102009019087A1 (de) * 2009-04-20 2010-11-11 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
EP2317410B1 (de) * 2009-10-23 2012-01-04 Sick Ag Sicherheitssteuerung
JP5539075B2 (ja) * 2010-07-06 2014-07-02 キヤノン株式会社 情報処理装置
CN103548001B (zh) * 2010-12-22 2015-11-25 通用电气能源能量变换技术有限公司 隔离模块之间提供数据通信、同步和故障检测的通信架构
DE102011109888B4 (de) * 2011-08-10 2020-01-23 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zum automatischen Erstellen einer ausführbaren Sicherheitsfunktion für ein Gerät
JP2013235300A (ja) 2012-03-26 2013-11-21 Fanuc Ltd 安全信号処理システム
US9802571B2 (en) 2014-10-01 2017-10-31 Conduent Business Services, Llc Method and system for vandalism and/or loitering detection using video
US9632492B2 (en) 2015-01-23 2017-04-25 Rockwell Automation Asia Pacific Business Ctr. Pte., Ltd. Redundant watchdog method and system utilizing safety partner controller
US9870013B2 (en) 2015-02-13 2018-01-16 Rockwell Automation Asia Pacific Business Ctr. Pte. Ltd. Energy storage method and system to power functional safety diagnostic subsystem
CN104679007A (zh) * 2015-03-09 2015-06-03 中国航空工业集团公司沈阳飞机设计研究所 一种三余度计算机通道故障逻辑算法
US10027471B2 (en) * 2015-06-11 2018-07-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Synchronization and training stage operation
DE102016204965B4 (de) 2016-03-24 2023-05-04 Wago Verwaltungsgesellschaft Mbh Sicherheitssteuerung und Verfahren zum Betreiben einer Sicherheitssteuerung
EP3246771B1 (de) * 2016-05-17 2021-06-30 Siemens Aktiengesellschaft Verfahren zum betreiben eines redundanten automatisierungssystems
CN107132835B (zh) * 2017-04-14 2019-03-01 太原钢铁(集团)有限公司 一种异型控制系统通讯故障检测判断方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064353A (ja) * 1992-06-17 1994-01-14 Sumitomo Electric Ind Ltd 複数のマイクロコンピュータの相互監視回路
JPH07325792A (ja) * 1994-06-01 1995-12-12 Mitsubishi Electric Corp Cpu監視装置
JPH086800A (ja) * 1994-06-16 1996-01-12 Toshiba Corp データ処理装置及びマイクロプロセッサ
JPH08305664A (ja) * 1995-04-28 1996-11-22 Nec Home Electron Ltd Cpu監視方法及びcpu監視装置
JPH09151780A (ja) * 1995-12-04 1997-06-10 Toyota Motor Corp 車両用電子制御装置
JPH10301798A (ja) * 1997-04-25 1998-11-13 Hitachi Ltd 2重系電子計算機及び2重系電子計算機を用いた制御装置及び鉄道信号保安装置
JP2003150408A (ja) * 2001-11-15 2003-05-23 Sumitomo Denko Brake Systems Kk 車載制御装置用マイクロコンピュータの監視方法及び回路
JP2004029992A (ja) * 2002-06-24 2004-01-29 Denso Corp 電子制御装置
US20060230323A1 (en) * 2004-12-22 2006-10-12 International Business Machines Corporation Measuring elapsed time for a software routine

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4472789A (en) * 1979-11-09 1984-09-18 General Signal Corporation Vital timer
EP0497147A3 (en) * 1991-01-28 1993-05-05 Siemens Aktiengesellschaft Redundant automation system
US5455935A (en) * 1991-05-31 1995-10-03 Tandem Computers Incorporated Clock synchronization system
KR950005940B1 (ko) * 1992-12-29 1995-06-07 재단법인한국전자통신연구소 클럭 감시 회로
SE9702176L (sv) * 1997-06-06 1998-12-07 Ericsson Telefon Ab L M En maskinvarukonstruktion för majoritetsval, samt test och underhåll av majoritetsval
US6909923B2 (en) 1999-12-22 2005-06-21 Rockwell Automation Technologies, Inc. Safety communication on a single backplane
DE10056408C1 (de) * 2000-11-14 2002-03-07 Bosch Gmbh Robert Vorrichtung zur Überwachung eines Prozessors
DE10147763A1 (de) * 2001-09-27 2003-04-17 Siemens Ag Synchronisationsverfahren für ein hochverfügbares Automatisierungssystem
US7089462B2 (en) * 2003-04-17 2006-08-08 International Business Machines Corporation Early clock fault detection method and circuit for detecting clock faults in a multiprocessing system
US7328370B2 (en) 2003-09-12 2008-02-05 Rockwell Automation Technologies, Inc. Safety controller with simplified interface
US7213168B2 (en) 2003-09-16 2007-05-01 Rockwell Automation Technologies, Inc. Safety controller providing for execution of standard and safety control programs
US7287184B2 (en) 2003-09-16 2007-10-23 Rockwell Automation Technologies, Inc. High speed synchronization in dual-processor safety controller
US7117048B2 (en) 2003-09-30 2006-10-03 Rockwell Automation Technologies, Inc. Safety controller with safety response time monitoring
US7186918B2 (en) 2005-04-07 2007-03-06 Wolf Appliance Company, Llc Rotatable cover plate

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064353A (ja) * 1992-06-17 1994-01-14 Sumitomo Electric Ind Ltd 複数のマイクロコンピュータの相互監視回路
JPH07325792A (ja) * 1994-06-01 1995-12-12 Mitsubishi Electric Corp Cpu監視装置
JPH086800A (ja) * 1994-06-16 1996-01-12 Toshiba Corp データ処理装置及びマイクロプロセッサ
JPH08305664A (ja) * 1995-04-28 1996-11-22 Nec Home Electron Ltd Cpu監視方法及びcpu監視装置
JPH09151780A (ja) * 1995-12-04 1997-06-10 Toyota Motor Corp 車両用電子制御装置
JPH10301798A (ja) * 1997-04-25 1998-11-13 Hitachi Ltd 2重系電子計算機及び2重系電子計算機を用いた制御装置及び鉄道信号保安装置
JP2003150408A (ja) * 2001-11-15 2003-05-23 Sumitomo Denko Brake Systems Kk 車載制御装置用マイクロコンピュータの監視方法及び回路
JP2004029992A (ja) * 2002-06-24 2004-01-29 Denso Corp 電子制御装置
US20060230323A1 (en) * 2004-12-22 2006-10-12 International Business Machines Corporation Measuring elapsed time for a software routine

Also Published As

Publication number Publication date
US7617412B2 (en) 2009-11-10
JP2008117390A (ja) 2008-05-22
EP1916581A3 (en) 2010-01-20
EP1916581B1 (en) 2014-06-18
EP1916581A2 (en) 2008-04-30
US20080155318A1 (en) 2008-06-26

Similar Documents

Publication Publication Date Title
JP4711197B2 (ja) デュアルcpuの安全システムにおける安全タイマクロスチェック診断
US9964937B2 (en) Redundant watchdog method and system utilizing safety partner controller
JP6816345B2 (ja) 駆動制御装置
US7010450B2 (en) Coordination of field device operations with overrides and bypasses within a process control and safety system
JP4893931B2 (ja) セーフティ・コントローラ
US7130703B2 (en) Voter logic block including operational and maintenance overrides in a process control system
US8909971B2 (en) Clock supervision unit
TWI479289B (zh) 控制裝置及控制方法
JP2007533045A (ja) 安全性指向の制御システム
JP5422448B2 (ja) 制御装置
JP6736980B2 (ja) システムおよび半導体装置
US8751875B2 (en) Method for checking suitability of a data processing device for performing failsafe automation processes
WO2012043317A1 (ja) 制御装置および原子力発電プラント制御システム
CN114509981B (zh) 控制器硬件冗余控制方法及系统
GB2403819A (en) Automatic initiation and removal of a field device bypass in a process control system
JP7267400B2 (ja) 安全性が要求されるプロセスを監視する自動化システム
US10969819B2 (en) Security control and method for operating a security control
JP2009259134A (ja) 安全plc
Kanamaru et al. Functional safety application using safety PLC
JP6046888B2 (ja) フェイルセーフマイコン
JP2005267398A (ja) Plc間通信システムおよびその伝送異常検出方法
JPS62245340A (ja) 電子制御装置の異常検知方法
JP2003337601A (ja) 自動制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101025

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110310

R150 Certificate of patent or registration of utility model

Ref document number: 4711197

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250