(57)【特許請求の範囲】
【請求項１】
ネットワークを介して外部コントローラと通信データの送受信を行う通信装置と、該通信装置を経由して前記外部コントローラから送られてくる通信データを受信し、該通信データに基づいて電力変換器へ制御信号を出力する制御機能と、該通信データに基づいて前記電力変換器への停止指令の出力その他の安全機能と、を実行する第一のプロセッサユニットと、前記安全機能のみを実行する第二のプロセッサユニットを有する安全制御システムであって、
前記第一のプロセッサユニットは、
通信データが非安全データを含む場合は、該非安全データをもとに制御指令を生成して前記電力変換器へ出力する制御指令生成手段と、
通信データが安全データを含む場合は、前記第二のプロセッサユニットに対する割込み信号である外部割込み信号と、プロセッサ内部の割込み信号である内部割込み信号を発生すると共に、安全データを前記第二のプロセッサユニットへ転送する安全データ転送手段と、
前記内部割込み信号によって、前記安全データに基づく安全処理を実行する安全データ実行手段と、
前記第二のプロセッサユニットによって実行された安全処理の結果を受信し、該受信データと前記安全データ実行手段による実行結果をもとに前記通信コントローラへ送信すべき通信データを生成する結合手段と、
を備え、
前記第二のプロセッサユニットは、
前記外部割込み信号によって起動し、前記第一のプロセッサユニットから転送された安全データをもとに安全処理を実行し、該安全処理の結果を前記第一のプロセッサユニットへ送信する安全データ実行手段を備えたことを特徴とする安全制御システム。
【請求項２】
前記第一のプロセッサユニットは、一定時間間隔で内部割込み信号を発生させる第一のタイマ手段と、該内部割込み信号によってメモリ診断処理を実行すると共に安全処理用のメモリ領域について誤り検出符合を生成し、当該誤り検出符合の生成後、前記第二のプロセッサユニットに対して外部割込み信号を発生すると共に該誤り検出符号を送信する第一のメモリ診断手段と、前記第二のプロセッサユニットの前記第二のメモリ診断手段によって発生された外部割込み信号によって起動し、前記第二のメモリ診断手段から送信された誤り検出符号と前記第一のメモリ診断手段によって生成された誤り検出符号を比較し、両符号が一致していない場合はエラー処理を実行する第一の安全管理手段と、を備え、
前記第二のプロセッサユニットは、設定時間経過後に内部割込み信号を発生させた後に再起動する第二のタイマ手段と、該内部割込み信号によってメモリ診断処理を実行すると共に安全処理用のメモリ領域について誤り検出符合を生成し、当該誤り検出符合の生成後、前記第一のプロセッサユニットに対して外部割込み信号を発生すると共に該誤り検出符号を送信する第二のメモリ診断手段と、前記第一のプロセッサユニットの前記第一のメモリ診断手段によって発生された外部割込み信号によって起動し、該起動のタイミングに基づいて前記第二のタイマ手段の設定時間を調整する一方、前記第一のメモリ診断手段から送信された誤り検出符号と前記第二のメモリ診断手段によって生成された誤り検出符号を比較し、両符号が一致していない場合はエラー処理を実行する第二の安全管理手段と、
を備えたことを特徴とする請求項１に記載の安全制御システム。
【請求項３】
前記第一のメモリ診断手段は、送信ごとに順にインクリメントされる送信番号とともに誤り検出符号を送信し、
前記第二のメモリ診断手段は、前記第一のメモリ手段から送られてきた最新の送信番号をインクリメントした値を送信番号として、該送信番号を誤り検出符号とともに送信し、
前記第一の安全管理手段と前記第二の安全管理手段は、それぞれ送信番号も含めて比較し、送信番号と誤り検出符号のいずれか一方でも一致していない場合はエラー処理を実行することを特徴とする請求項１または請求項２に記載の安全制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力変換器などの被制御装置の安全監視機能を有し、ネットワーク経由で与えられる制御信号に基づいて被制御装置を制御する安全制御システムに係り、特に制御機能と安全監視機能とを有するプロセッサと、安全監視機能のみを有するプロセッサとの間で精度の高い同期処理を実行し、高い安全性を実現する安全制御システムに関する。
【背景技術】
【０００２】
従来、電力変換器などの被制御装置に対しては、機能安全が要求され、ＩＥＣ６１５０８に代表される機能安全規格などが策定されている。この機能安全規格は、診断・監視機能に加えて、外部のセンサー等からの信号に基づいて装置を安全な状態へ移行する機能を定義している。安全状態への移行機能においては、安全停止、安全減速などが挙げられる。また、外部コントローラから電力変換器へ制御信号や安全信号を与える方法として、現在主流となっているのは、機能ごとに信号線を電力変換器へ接続するワイヤ配線によるものである。この方法は、実装が容易であるものの、システムの規模に応じて配線が複雑化し、設計面やコスト面で不利となっている。このため、ワイヤ配線で与えられていた安全信号を、制御信号と混合させて産業用ネットワークに乗せるための「安全バス」を用いたシステムが提案されている。（例えば特許文献１を参照。）
【０００３】
また、特許文献２には、外部の安全コントローラと安全規格で設計された入力機器・出力機器とをネットワークに中継するための装置が記載されている。この装置の入力と出力はそれぞれ別々の機器で構成され、それぞれは冗長化された端子（送受信部）で接続することで安全機能を実現している。
【０００４】
電力変換器で安全バスを実現するとき、通信装置は、機能安全規格を満たすため、たとえば図８に示すように、安全バス（ネットワーク３）に流れる通信データのうち、制御データと安全データを分離するために、独立した２つの通信装置１０ａ，１０ｂを設けるか、あるいは、図９に示すように、一つの通信装置１０で安全データと非安全データ（制御データ）の混在する通信データを受信し、その通信データから安全データと非安全データとを分離するための専用のプロセッサユニットを設けていた。
【０００５】
ところで、ハードウェアのコスト削減の要請から、図９に挙げる３つのプロセッサユニットを２つに集約し、一方のプロセッサユニットには制御機能と安全機能を実装し、他方のプロセッサユニットには安全機能のみを実装するようにすれば、安全機能の二重化の条件を満たしつつ、ユニット数が削減され小型化と低コスト化を実現することができる。  
【０００６】
しかしながら、このユニット構成にすると安全機能と非安全機能が混在することによる問題が生じる。たとえば、二重化された安全機能は、同時に同じ安全処理を実行するように同期をとる必要があるが、一方のプロセッサユニットの安全処理が非安全処理の挙動に影響されて同期外れが起こりやすくなるという問題がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１７８７３０号公報
【特許文献２】特開２００６−３２５３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上述のかかる事情に鑑みてなされたものであり、プロセッサユニット数を削減して、低コスト化と省スペース化を実現するとともに、二重化構成による安全機能間の同期を確実に維持することのできる安全制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係る安全制御システムは、ネットワークを介して外部コントローラと通信データの送受信を行う通信装置と、該通信装置を経由して外部コントローラから送られてくる通信データを受信し、該通信データに基づいて電力変換器へ制御信号を出力する制御機能と、該通信データに基づいて電力変換器への停止指令の出力その他の安全機能と、を実行する第一のプロセッサユニットと、安全機能のみを実行する第二のプロセッサユニットを有する安全制御システムであって、第一のプロセッサユニットは、通信データが非安全データを含む場合は、該非安全データをもとに制御指令を生成して電力変換器へ出力する制御指令生成手段と、通信データが安全データを含む場合は、前記第二のプロセッサユニットに対する割込み信号である外部割込み信号と、プロセッサ内部の割込み信号である内部割込み信号を発生すると共に、安全データを前記第二のプロセッサユニットへ転送する安全データ転送手段と、内部割込み信号によって、安全データに基づく安全処理を実行する安全データ実行手段と、第二のプロセッサユニットによって実行された安全処理の結果を受信し、該受信データと安全データ実行手段による実行結果をもとに通信コントローラへ送信すべき通信データを生成する結合手段と、を備え、第二のプロセッサユニットは、外部割込み信号によって起動し、第一のプロセッサユニットから転送された安全データをもとに安全処理を実行し、該安全処理の結果を第一のプロセッサユニットへ送信する安全データ実行手段を備えたことを特徴とする。
【００１０】
ここで、プロセッサユニットとは、ある機能を実現するための演算処理を行う独立した構成単位を意味し、その形態（基板や装置など）は問わない。
【００１１】
本発明では、第一のプロセッサユニットでは制御機能と安全機能を実行させ、第二のプロセッサユニットでは安全機能のみを実行させ、処理負荷の重い第一のプロセッサユニットからの外部割込み信号によって両プロセッサユニット間の安全処理のタイミングをとる。第二のプロセッサユニットは、第一のプロセッサユニットよりも処理負荷が軽いので、第一のプロセッサユニットのタイミングに合わせても安全処理が停滞することはない。これにより、両プロセッサユニットの安全機能の同期を確実にとることができる。
【００１２】
また、本発明に係る安全制御システムの第一のプロセッサユニットは、一定時間間隔で内部割込み信号を発生させる第一のタイマ手段と、該内部割込み信号によってメモリ診断処理を実行すると共に安全処理用のメモリ領域について誤り検出符合を生成し、当該誤り検出符合の生成後、第二のプロセッサユニットに対して外部割込み信号を発生すると共に該誤り検出符号を送信する第一のメモリ診断手段と、第二のプロセッサユニットの第二のメモリ診断手段によって発生された外部割込み信号によって起動し、第二のメモリ診断手段から送信された誤り検出符号と第一のメモリ診断手段によって生成された誤り検出符号を比較し、両符号が一致していない場合はエラー処理を実行する第一の安全管理手段と、を備え、第二のプロセッサユニットは、設定時間経過後に内部割込み信号を発生させた後に再起動する第二のタイマ手段と、該内部割込み信号によってメモリ診断処理を実行すると共に安全処理用のメモリ領域について誤り検出符合を生成し、当該誤り検出符合の生成後、第一のプロセッサユニットに対して外部割込み信号を発生すると共に該誤り検出符号を送信する第二のメモリ診断手段と、第一のプロセッサユニットの第一のメモリ診断手段によって発生された外部割込み信号によって起動し、該起動のタイミングに基づいて第二のタイマ手段の設定時間を調整する一方、第一のメモリ診断手段から送信された誤り検出符号と第二のメモリ診断手段によって生成された誤り検出符号を比較し、両符号が一致していない場合はエラー処理を実行する第二の安全管理手段と、を備えたことを特徴とする。
【００１３】
安全機能の一つであるメモリ診断機能は、同じタイミングで誤り検出符合を生成して転送し合うことが必要であるが、誤り検出符号生成のタイミングを発生するタイマ手段については、第一のプロセッサユニットからの誤り検出符号の送信タイミングで第二のタイマの設定時間を調整することにより、第二のタイマ手段を第一のタイマ手段に同期させるようにする。これにより、両プロセッサユニットのメモリ診断処理のタイミングのずれが蓄積されていくことを防止することができる。
【００１４】
また、本発明に係る安全制御システムの第一のメモリ診断手段は、送信ごとに順にインクリメントされる送信番号とともに誤り検出符号を送信し、第二のメモリ診断手段は、第一のメモリ手段から送られてきた最新の送信番号をインクリメントした値を送信番号として、該送信番号を誤り検出符号とともに送信し、第一の安全管理手段と第二の安全管理手段は、それぞれ送信番号も含めて比較し、送信番号と誤り検出符号のいずれか一方でも一致していない場合はエラー処理を実行することを特徴とする。
【００１５】
本発明では、両プロセッサユニット間で万一メモリ診断処理のタイミングにずれが生じた場合に、ずれが生じたこと、すなわち同期外れの状態にあることを検知してエラー処理を実行する。
【発明の効果】
【００１６】
本発明によれば、プロセッサユニット数を削減して、低コスト化と省スペース化を実現するとともに、二重化構成による安全機能間の同期を確実に維持することができる。また、故障等により万一安全機能間で同期外れが発生した場合には、これを検知してエラー処理を実行するので、信頼性の高い安全制御システムを構築することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態による安全制御システム１および周辺装置の構成図である。
【図２】図１のプロセッサユニット１１，１２の機能ブロック図である。
【図３】本発明の実施の形態による安全制御システム１の動作概要の説明図である。
【図４】分離手段２２の処理手順を示すフローチャートである。
【図５】図２のメモリ３４、メモリ６４の領域分割の説明図である。
【図６】図２のメモリ診断手段２８、安全管理手段２９の処理手順を示すフローチャートである。
【図７】図２のメモリ診断手段５８、安全管理手段５９の処理手順を示すフローチャートである。
【図８】従来の安全制御システムの一構成例である。
【図９】従来の安全制御システムの他の構成例である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら本発明の実施の形態を説明する。図１は、本発明の実施の形態による安全制御システム１および周辺装置の構成図である。図９に示す従来の安全制御システム１との主な違いは、プロセッサユニット９０とプロセッサユニット９１との機能を統合して制御機能と安全機能の両方を有するプロセッサユニット１１と、安全機能のみを有するプロセッサユニット１２の構成にしたことである。各プロセッサユニット１１，１２や通信装置１０、電力変換器６０はケーブルで接続される。また、プロセッサユニット１１とプロセッサユニット１２との間は、データ同期手段として外部割込み信号線で接続されている。
【００１９】
この構成において、非安全信号は、プロセッサユニット１１から電力変換器６０へ出力され、安全信号は、プロセッサユニット１１およびプロセッサユニット１２の両方から電力変換器６０へ出力される。たとえば、緊急停止の安全信号がプロセッサユニット１１とプロセッサユニット１２の少なくともいずれか一方から出力された場合は、電力変換器６０は緊急停止を行う。したがって、プロセッサユニット１１とプロセッサユニット１２によって、制御系は一重化、安全系は二重化の構成を実現している。
【００２０】
図２は、プロセッサユニット１１，１２の機能ブロック図である。プロセッサユニット１１は、演算処理を実行するＣＰＵ２１、データを記憶するメモリ３４、通信装置１０とデータの送受信を行う送受信回路３５、電力変換器６０との間でそれぞれ安全信号、制御信号の受け渡しを行うＩ／Ｆ（インタフェース）回路３６，３７、割込み要求の出力を一定時間保持するラッチ回路３８，３９、およびプロセッサユニット１２との間でデータの送受信を行う送受信回路４０を備えている。
【００２１】
また、ＣＰＵ２１の機能として、通信装置１０から受信したデータを分離する分離手段２２、安全データを受信した場合は、外部割込みと内部割込みを発生させ、安全データをプロセッサユニット１２へ転送する安全データ転送手段２６、安全データに基づいて安全処理を実行する安全データ実行手段２７、外部コントローラ２からの制御データに基づいて電力変換器６０へ出力すべき制御信号を生成する制御指令生成手段２４、安全処理や制御処理の結果から外部コントローラ２へ送信すべき通信データを生成する結合手段２３、レジスタ等の設定値保持手段（以下、「設定値」という。）３１に保持されている設定値に基づいて時間を計測して一定周期で割込み要求（内部割込み）を出力するタイマ手段３０、タイマ手段３０からの割込み要求によって起動されメモリ領域の診断を行うメモリ診断手段２８、およびメモリ診断手段２８による診断結果等に基づいて異常の有無を監視し、異常検出時は予め定められたフェイルセーフ処理を実行する安全管理手段２９を備えている。
【００２２】
プロセッサユニット１２は、演算処理を実行するＣＰＵ５１、データを記憶するメモリ６４、電力変換器６０との間でそれぞれ安全信号の受け渡しを行うＩ／Ｆ回路６６、割込み要求の出力を一定時間保持するラッチ回路６９、およびプロセッサユニット１１との間でデータの送受信を行う送受信回路７０を備えている。なお、送受信回路４０と送受信回路７０との間は物理的にはシリアル通信によって接続する。図２において、回路４０，７０間の破線は、論理的接続を意味している。
【００２３】
また、ＣＰＵ５１の機能として、プロセッサユニット１１から送られてきた安全データに基づいて安全処理を実行する安全データ実行手段２７、設定値８１に基づいて時間を計測して割込み要求（内部割込み）を出力するタイマ手段８０、タイマ手段８０からの割込み要求によって起動されメモリ領域の診断を行うメモリ診断手段５８、およびメモリ診断手段５８による診断結果等に基づいて異常の有無を監視し、異常検出時は予め定められたフェイルセーフ処理を実行する安全管理手段５９を備えている。
【００２４】
上記の構成を有する安全制御システム１の動作概要を説明する。
図３において、安全制御システム１は通信データを受信すると、まず、ＣＰＵ２１の分離手段２２は、通信装置１０から受け取った通信データを安全データと制御データに分離する（Ｓ１）。そして、通信データが制御データであった場合は、制御指令生成手段２４により制御データ処理を行い、電力変換器６０へ制御信号を出力して（Ｓ２）、処理は終了する。一方、ステップＳ１で通信データが安全データであった場合は、ＣＰＵ２１の安全データ転送手段２６は、ＣＰＵ５１へ安全データを転送する一方、安全データ実行手段２７は、その安全データに基づいて安全処理を実行する（Ｓ３）。同時に、安全データにより設定された周期でメモリ診断処理なども実行する。ＣＰＵ５１は、ＣＰＵ２１から安全データを受け取ると、その安全データに基づいて安全処理を実行する（Ｓ４）。プロセッサ２１ならびにプロセッサ５１による安全データの処理結果は、データ同期手段によってプロセッサ２１にまとめられ、結合手段２３の処理によって、安全データは通信データに変換され、通信装置１０を介して外部コントローラ２へ通信データが送信される（Ｓ５）。
【００２５】
以下、安全制御システム１の動作を詳述する。
（受信データ分離処理）
図４に分離手段２２の処理手順を示す。通信装置１０を介して送られてきた通信データは、送受信回路３５を介して受信され、ＣＰＵ２１の分離手段２２によって受信される（Ｓ１０１）。次に、分離手段２２は、通信データが安全データであるか制御データであるかを判定する（Ｓ１０２）。この判定は、通信データの中に安全データか制御データかを判別するためのデータ（データ種別）を定義しておき、そのデータ種別により判定する。判定の結果、安全データであれば安全処理用の内部割込をセットする（Ｓ１０３）。制御データであれば、制御処理用の内部割込をセットする（Ｓ１０４）。
【００２６】
なお、通信データが、安全データおよび制御データの両方を含む場合、安全データと制御データを分離すると共に、安全処理用の内部割込みと制御処理用の内部割込みの両方をセットする。内部割込みは、ＣＰＵの特定のプログラムを起動するための割込みである。この内部割込を用いることで、制御データと安全データが同時に受信された場合や、その他の処理が行われる場合でも、予め決定したプログラムの優先度に応じて順番に処理されることとなり、安全通信処理と緊急性の高いその他の処理を効率よく処理することができる。また、制御データ処理とは異なる割込要因で処理することにより、安全データ処理の独立性が確保できる。
【００２７】
（制御指令生成処理）
制御指令生成手段２４は、分離手段２２で発生された内部割込をトリガに起動して、速度指令等の制御データを制御信号として電力変換器６０へ出力する。また、電力変換器６０から取得された現在速度などの制御応答信号を後述する結合手段２３へ送る。
【００２８】
（安全データ転送処理）
安全データ転送手段２６は、分離手段２２で発生された内部割込をトリガに起動し、プロセッサユニット１２のＣＰＵ５１に外部割込み要求を出力する。この要求は、予め割り付けられた特定のアドレスへの書き込み動作によって出力される。具体的には書き込み信号がラッチ回路３８に入力されると、ラッチ回路３８は割込みがアクティブ（有効）になるように一定時間パルス信号を出力する。このパルス信号は、外部割込み信号としてＣＰＵ５１に入力され、ＣＰＵ５１の安全データ実行手段５７が起動される。
【００２９】
安全データ転送手段２６は、同時に送受信回路４０を介して安全データをプロセッサユニット１２へ送信する。プロセッサユニット１１から送信された安全データは、プロセッサユニット１２の送受信回路７０で受信され、ＣＰＵ５１の安全データ実行手段５７に渡される。
【００３０】
安全データ転送手段２６は、さらに、内部割込みをセットして、安全データ実行手段２７を起動する。
【００３１】
（安全データ実行処理）
プロセッサユニット１１の安全データ実行手段２７は、安全データ転送手段２６によってセットされた内部割込みによって起動すると、安全データから安全処理に必要な安全信号を生成し、Ｉ／Ｆ回路３６を介して電力変換器６０へ出力する。この処理結果は、結合手段２３に渡される。
【００３２】
一方、プロセッサユニット１２の安全データ実行手段５７は、ラッチ回路３８から出力される外部割込み信号によって起動すると、安全データ転送手段２６から送られてくる安全データを受信し、この安全データから安全処理に必要な安全信号を生成し、Ｉ／Ｆ回路６６を介して電力変換器６０へ出力する。この処理結果は、プロセッサユニット１１の結合手段２３に送られる
【００３３】
以上、分離手段２２、安全データ転送手段２６による外部および内部の割込み信号の発生および安全データの転送、さらに両プロセッサユニット１１，１２の安全データ実行手段２７，５７の処理動作によって、プロセッサユニット１１，１２の間で安全データの同期処理が実現する。
【００３４】
（データの結合処理）
結合手段２３の処理は、安全データ実行手段２７およびプロセッサユニット１２の安全データ実行手段５７で取得された安全データの処理結果から通信データを生成して、通信装置１０を経由して外部コントローラ２へ送信する。結合手段２３は、また、制御指令生成手段２４から渡される制御応答信号をもとに通信データを生成して外部コントローラ２へ送信する。
【００３５】
（メモリ診断の同期処理）
安全処理の中でも、定周期に実行されるメモリ診断処理の同期をとることが重要である。以下、この手順について説明する。なお、定周期処理では、ＣＰＵ内のメモリ診断の他に、電力変換器６０の出力電圧チェックや電動機４の速度監視等の安全モニタリング処理があるが、これらはメモリ診断の前後に実行すれば良いので、以下、プロセッサユニット１１，１２間でのメモリ診断の同期のとり方について説明する。
【００３６】
ＣＰＵ２１並びにＣＰＵ５１に接続もしくは内蔵されているメモリの構成を図５に示す。プロセッサユニット１１のメモリ３４は、非安全関連（制御関連）メモリ領域と、安全関連メモリ領域と、その他の領域に予め区分けされている。この区分けは、リンカなどのツールを用いて行うことができる。このように区分けをすることにより、制御データ処理でのプログラムミスによって、メモリ書き換えが発生した場合でも、安全データ処理のメモリに直接影響を与えることがない。また、万一メモリ空間を越えて書き換えが発生するなどの異常が発生した場合でも、プロセッサユニット１２では同様の安全データ処理を実行し、相互監視を行っているため異常を検出することが可能で、安全性を確保することができる。
【００３７】
プロセッサユニット１２は、安全関連メモリ領域とその他の領域に区分けされている。プロセッサユニット１１とプロセッサユニット１２は、安全処理については上述したように同期をとって実行しているため、安全関連メモリ領域は、常に同一のデータとなるよう制御されている。したがって、この安全関連メモリ領域のメモリ診断（例えばリードライトチェック）やメモリ領域から生成した誤り符号を互いのＣＰＵで同期して不一致が無いか一定の周期でチェックを行うものである。
【００３８】
また、電力変換器６０や電動機４についても温度・電圧・仕様外の何らかの異常が存在しないか定周期間隔で監視を行い、異常発生時は予め定義された安全動作を行うようにする。安全動作は、たとえば電力変換器６０内の電力線のゲート遮断や電動機４などの負荷を一定値で減速する安全減速停止、安全速度制限などである。
【００３９】
誤り検出符合の処理としては、例えば、５ｍｓの一定周期で安全関連メモリ領域の誤り検出符号（例えばＣＲＣ）を計算して、その計算結果を相互に送信し合うというものである。
【００４０】
このメモリ診断処理の手順の概要は、タイマ手段３０，８０による内部割込みにより、両プロセッサユニット１１，１２のメモリ診断手段２８，５８を起動して、上述した一定の定周期処理の後、誤り検出符号を計算して、相互に送信する。そして、安全管理手段２９，５９によって、両プロセッサユニット１１，１２の、誤り検出符号を照合して一致しているか否かを判定するというものである。
【００４１】
以下、図６、図７を用いて各プロセッサユニット１１，１２ごとにメモリ診断処理の手順を詳述する。
【００４２】
（プロセッサユニット１１のメモリ診断処理）
プロセッサユニット１１のメモリ診断手段２８は、タイマ手段３０の設定値３１の時間経過による内部割込みによって起動する。そして、タイマ手段３０を再起動し（Ｓ２０１）、安全モニタリング処理（電力変換器６０の出力電圧チェックなど）を実行した後に（Ｓ２０２）、メモリ診断処理を実行する（Ｓ２０３）。そして、安全関連領域について誤り検出符号を生成して（Ｓ２０４）、メモリ３４の予め決められた所定領域に保存する。その後、外部割込みを出力すると共に、プロセッサユニット１２へ向けて生成した誤り検出符号を送信する（Ｓ２０５）。
【００４３】
プロセッサユニット１１の安全管理手段２９は、プロセッサユニット１２のメモリ診断手段５８からの外部割込みによって起動すると、メモリ診断手段５８から送られてくる誤り検出符号を抽出すると共に、メモリ３４に保存されている自身の誤り検出符号を抽出して（Ｓ３０１）、ログをとる一方、両者が一致しているか否かを判定する（Ｓ３０２，Ｓ３０３）。その結果一致していなければ（Ｓ３０３で「ＮＯ」）、予め定められたフェイルセーフ処理を実行する（Ｓ３０４）。
【００４４】
（プロセッサユニット１２のメモリ診断処理）
プロセッサユニット１２のメモリ診断手段５８は、タイマ手段８０の設定値８１の時間経過による内部割込みによって起動する。そして、安全モニタリング処理を実行した後に（Ｓ４０１）、メモリ診断処理を実行する（Ｓ４０２）。そして、安全関連領域について誤り検出符号を生成してメモリ６４の所定領域に保存する（Ｓ４０３）。その後、外部割込みを出力すると共に、プロセッサユニット１１へ向けて生成した誤り検出符号を送信する（Ｓ４０４）。
【００４５】
プロセッサユニット１２の安全管理手段５９は、プロセッサユニット１１のメモリ診断手段２８からの外部割込みによって起動すると、設定値８１の調整を行って（Ｓ５０１）、タイマ手段８０を再起動する（Ｓ５０２）。設定値８１の調整のしかたは、メモリ診断手段５８による外部割込み信号出力タイミングと、メモリ診断手段２８からの外部割込みのタイミングの時間差を計測し、メモリ診断手段２８からの外部割込みのタイミングの方が一定値以上遅くなれば、設定値８１を予め定められた値だけ加算する。これにより、次回のメモリ診断手段５８の起動タイミングが遅くなる。一方、メモリ診断手段２８からの外部割込みのタイミングの方が一定値以上早くなれば、設定値８１を予め定められた値だけ減算する。これにより、次回のメモリ診断手段５８の起動タイミングが早くなる。
【００４６】
次に、メモリ診断手段２８から送られてくる誤り符号を抽出すると共に、メモリ６４に保存されている自身の誤り検出符号を抽出して（Ｓ５０３）、ログをとる一方、両者が一致しているか否かを判定する（Ｓ５０４，Ｓ５０５）。その結果一致していなければ（Ｓ５０５で「ＮＯ」）、予め定められたフェイルセーフ処理を実行する（Ｓ５０６）。
【００４７】
なお、上記の図６、図７の処理では、誤り検出符号を互いに送信し合うようにしたが、このとき、送信ごとに順にインクリメントされる送信番号とともに誤り検出符号を送信するようにしても良い。そして、それぞれ送信番号も含めて誤り検出符号を比較し、送信番号と誤り検出符号のいずれか一方でも一致していない場合はエラー処理を実行する。これにより、故障等によって同期外れの状態にあることを迅速に検知することができる。
【００４８】
以上、本実施の形態によれば、二重化構成による安全機能間の同期を維持しつつ、プロセッサユニット数を削減することができる。特に、安全機能のみを実装するプロセッサユニット１２のタイマ手段８０を上記の処理によってプロセッサユニット１１のタイマ手段３０のタイミングに追従させるようにしたので、両プロセッサユニット１１，１２を精度よく同期させることができる。また、故障等により万一安全機能間で同期外れが発生した場合には、これを検知してエラー処理を実行するので、信頼性の高い安全制御システムを構築することができる。
【符号の説明】
【００４９】
１    安全制御システム
２    外部コントローラ
３    ネットワーク
４    電動機
１０，１０ａ，１０ｂ    通信装置
１１，１２    プロセッサユニット
２１，５１    ＣＰＵ（プロセッサ）
２２    分離手段
２３    結合手段
２４    制御指令生成手段
２６    安全データ転送手段
２７，５７    安全データ実行手段
２８，５８    メモリ診断手段
２９，５９    安全管理手段
３０，８０    タイマ手段
３１，８１    設定値
３４，６４    メモリ
３５，４０，７０    送受信回路
３６，３７，６６    Ｉ／Ｆ回路
３８，３９，６９    ラッチ回路
４０    送受信回路
６０    電力変換器
６４    メモリ
９０，９１，９２    従来のプロセッサユニット
９９    従来の安全制御システム
【図２】
0005494255.tif 000002
【図３】
0005494255.tif 000003
【図４】
0005494255.tif 000004
【図５】
0005494255.tif 000005
【図６】
0005494255.tif 000006
【図７】
0005494255.tif 000007
【図１】
0005494255.tif 000008
【図８】
0005494255.tif 000009
【図９】
0005494255.tif 000010