(57)【要約】【課題】  異常検出率の高いデータ通信方法を実現する。【解決手段】  安全システムに適用されるデータ通信方法に関し、特にコントローラと入出力モジュール間のデータ通信方法に関するものである。  入力モジュールとコントローラ間のデータ通信方法において、入力モジュールで、データの安全性を確認するための安全コードを入力データに付加した入力データフレームを生成する工程と、コントローラで、入力モジュールから受信した入力データフレームを記憶手段上に展開し、記憶手段上の安全コードをチェックする工程を含むようにした。【選択図】                    図１
2006236301.tif 000002
【特許請求の範囲】
【請求項１】
入力モジュールとコントローラ間のデータ通信方法において、
前記入力モジュールで、データの安全性を確認するための安全コードを入力データに付加した入力データフレームを生成する工程と、
前記コントローラで、前記入力モジュールから受信した前記入力データフレームを記憶手段上に展開し、該記憶手段上の前記安全コードをチェックする工程を含むことを特徴とするデータ通信方法。
【請求項２】
出力モジュールとコントローラ間のデータ通信方法において、
前記コントローラで、データの安全性を確認するための安全コードを出力データに付加した出力データフレームを生成する工程と、
前記出力モジュールで、前記コントローラから受信した前記出力データフレームを記憶手段上に展開し、該記憶手段上の前記安全コードをチェックする工程を含むことを特徴とするデータ通信方法。
【請求項３】
入出力モジュールとコントローラ間のデータ通信方法において、
前記入力モジュールで、データの安全性を確認するための安全コードを入力データに付加した入力データフレームを生成する工程と、
前記コントローラで、前記入力モジュールから受信した前記入力データフレームを記憶手段上に展開し、該記憶手段上の前記安全コードをチェックする工程を含み、
前記コントローラで、出力データの安全性を確認するための安全コードを出力データに付加した出力データフレームを生成する工程と、
前記出力モジュールで、前記コントローラから受信した前記出力データフレームを記憶手段上に展開し、該記憶手段上の前記安全コードをチェックする工程を含むことを特徴とするデータ通信方法。
【請求項４】
前記安全コードは、ＣＲＣコードを含むことを特徴とする請求項１乃至３のいずれかに記載のデータ通信方法。
【請求項５】
前記安全コードは、入出力モジュール或いはコントローラの機種を特定するためのデバイスＩＤを含むことを特徴とする請求項１乃至４のいずれかに記載のデータ通信方法。
【請求項６】
前記安全コードは、入出力データフレームの記憶手段上の格納場所を確認するためのブロックＩＤを含むことを特徴とする請求項１乃至５のいずれかに記載のデータ通信方法。
【請求項７】
前記安全コードは、データが更新されていることを確認するための更新コードを含むことを特徴とする請求項１乃至６のいずれかに記載のデータ通信方法。
【請求項８】
前記安全コードは、アプリケーションにより決定される入出力モジュールの設定情報のＣＲＣ演算値である設定情報ＣＲＣコードを含むことを特徴とする請求項１乃至７のいずれかに記載のデータ通信方法。
【請求項９】
前記入出力データは、入出力モジュール毎の一括情報及び入出力モジュールのチャネル毎の個別情報であることを特徴とする請求項１乃至８のいずれかに記載のデータ通信方法。
【請求項１０】
入出力モジュールとコントローラ間のデータ通信方法において、
データ送信側で、データの安全性を確認するための安全コードをデータに付加し、前記安全コード付データを分割して順番に送信する工程と、
データ受信側で、分割された前記安全コード付データを受信順に記憶手段上に展開して構築し、該記憶手段上の前記安全コードをチェックする工程を含むことを特徴とするデータ通信方法。
【請求項１１】
前記安全コードは、ＣＲＣコードを含むことを特徴とする請求項１０記載のデータ通信方法。
【請求項１２】
プラントからの信号を入力する入力モジュールとコントローラ間でデータ通信を行い、プラントの安全を図る安全システムにおいて、
前記入力モジュールは、データの安全性を確認するための安全コードを入力データに付加した入力データフレームを生成する入力データフレーム生成手段を有し、
前記コントローラは、前記入力モジュールから受信した前記入力データフレームを展開する記憶手段と、
該記憶手段上の前記安全コードをチェックする安全コードチェック手段とを有することを特徴とする安全システム。
【請求項１３】
プラントへ信号を出力する出力モジュールとコントローラ間でデータ通信を行い、プラントの安全を図る安全システムにおいて、
前記コントローラは、データの安全性を確認するための安全コードを出力データに付加した出力データフレームを生成する出力データフレーム生成手段を有し、
前記出力モジュールは、前記コントローラから受信した前記出力データフレームを展開する記憶手段と、
該記憶手段上の前記安全コードをチェックする安全コードチェック手段とを有することを特徴とする安全システム。
【請求項１４】
プラントと信号を授受する入出力モジュールとコントローラ間でデータ通信を行い、プラントの安全を図る安全システムにおいて、
前記入出力モジュールは、データの安全性を確認するための安全コードを入力データに付加した入力データフレームを生成する入力データフレーム生成手段を有し、
前記コントローラは、前記入出力モジュールから受信した前記入力データフレームを展開する記憶手段と、
該記憶手段上の前記安全コードをチェックする安全コードチェック手段とを有するとともに、
前記コントローラは、データの安全性を確認するための安全コードを出力データに付加した出力データフレームを生成する出力データフレーム生成手段を有し、
前記入出力モジュールは、前記コントローラから受信した前記出力データフレームを展開する記憶手段と、
該記憶手段上の前記安全コードをチェックする安全コードチェック手段とを有することを特徴とする安全システム。
【請求項１５】
前記入力データフレームは、前記入出力モジュールのステータス情報を有し、
前記出力データフレームは、前記コントローラのステータス情報を有することを特徴とする請求項１２乃至１４のいずれかに記載の安全システム。
【請求項１６】
前記入出力モジュールは、入出力モジュールのステータスと、前記コントローラのステータスを判断するステータス判断手段を有し、
前記ステータス判断手段の入力のうち、前記入出力モジュールのステータス入力部をアサートするとともに、前記入力データフレームにて前記入出力モジュールのステータスを前記コントローラに渡す際に、前記ステータス判断手段の入力のうち、前記コントローラのステータス入力部をネゲートしておき、
前記出力データフレームにて前記コントローラのステータスを受け、該ステータスにて前記ステータス判断手段のコントローラのステータス入力部がアサートされたときに前記ステータス判断手段は有効となることを特徴とする請求項１２乃至１５のいずれかに記載の安全システム。
【請求項１７】
前記コントローラは、コントローラのステータスと、前記入出力モジュールのステータスを判断するステータス判断手段を有し、
前記ステータス判断手段の入力のうち、前記コントローラのステータス入力部をアサートするとともに、前記出力データフレームにて前記コントローラのステータスを前記入出力モジュールに渡す際に、前記ステータス判断手段の入力のうち、前記入出力モジュールのステータス入力部をネゲートしておき、
前記入力データフレームにて前記入出力モジュールのステータスを受け、該ステータスにて前記ステータス判断手段の入出力モジュールのステータス入力部がアサートされたときに前記ステータス判断手段は有効となることを特徴とする請求項１２乃至１６のいずれかに記載の安全システム。
【請求項１８】
前記入出力モジュールは、入出力モジュールのフェイル時に前記記憶手段とは別の記憶手段にあらかじめ設定されているフェイルセーフデータを使用することを特徴とする請求項１２乃至１７のいずれかに記載の安全システム。
【請求項１９】
前記入出力モジュールは、フェイル復帰したことを知らせるフェイル復帰ステータスを前記入力データフレームにて前記コントローラに渡し、
該コントローラは、前記入出力モジュールの起動を要求する起動要求ステータスを前記出力データフレームにて前記入出力モジュールに渡し、
該入出力モジュールは、起動する準備が整ったことを知らせる起動準備完了ステータスを前記入出力データフレームにて前記コントローラに渡し、
該コントローラは、起動を許可する起動許可ステータスを前記出力データフレームにて前記入出力モジュールに渡し、
該入出力モジュールは、フェイルセーフデータを使用しているフェイルセーフ動作から通常動作に切り替えることを特徴とする請求項１２乃至１８のいずれかに記載の安全システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全システムに適用されるデータ通信方法及び安全システムに関し、特にコントローラと入出力モジュール間のデータ通信方法及びコントローラと入出力モジュール間でデータ通信を行う安全システムに関するものである。
【背景技術】
【０００２】
プラントに配置されたフィールド機器を管理、制御するプラント制御システムが知られている。また、このようなプラントでは、プラントの安全を図るための安全システムが導入される。安全システムは、有毒薬品の溢流、爆発などの如き深刻な災害になるおそれのある問題が発生した場合、プラント内の安全に関する重要な問題を検出し、バルブ閉鎖、フィールド機器電力の切断、プラント内のフローの切換えなどを実行するシステムであり、プラント制御システムの一部として、或いは、プラント制御システムとは独立して設けられる。
【０００３】
安全システムのコントローラは、プラント内に配置された個別のバスまたは通信回線を利用して安全フィールド機器に入出力モジュールを介して接続されている。コントローラは、重要なイベントに関連するプロセス状態を検出するために安全フィールド機器を利用し、それにより、プラント内における「イベント」を検出する。イベントが検出されると、コントローラは、そのイベントの有害な影響を抑制するために、バルブの閉鎖などのアクションを取る。
【０００４】
従来のプラント制御システムにおけるコントローラと入出力モジュールとの通信の構成を示したものとして、例えば特許文献１に記載されたものがあった。
【０００５】
【特許文献１】特開平６−２４２９７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
安全システムには、その意図する機能から極めて高度の信頼性を要求される。例えば、異常が発生したにも関わらずシステムが安全だと認識し、或いは、誤った情報を通知するような事態は回避しなければならない。また、異常が明らかには認識できないが、異常の可能性が示される場合には安全サイドの処理を選択する必要がある。
【０００７】
そのため、安全システムに適用されるデータ通信においては、想定される通信の異常（Repetition，Deletion，Insertion，Re-sequence，Corruption，Delay，Masquerade）を全て検出することができることが重要である。
【０００８】
本発明は上述した問題点を解決するためになされたものであり、異常検出率の高いデータ通信方法及び安全システムを実現することを目的とする。
【課題を解決するための手段】
【０００９】
このような課題を達成するために、本発明は次のとおりの構成になっている。
（１）入力モジュールとコントローラ間のデータ通信方法において、
前記入力モジュールで、データの安全性を確認するための安全コードを入力データに付加した入力データフレームを生成する工程と、
前記コントローラで、前記入力モジュールから受信した前記入力データフレームを記憶手段上に展開し、該記憶手段上の前記安全コードをチェックする工程を含むことを特徴とするデータ通信方法。
【００１０】
（２）出力モジュールとコントローラ間のデータ通信方法において、
前記コントローラで、データの安全性を確認するための安全コードを出力データに付加した出力データフレームを生成する工程と、
前記出力モジュールで、前記コントローラから受信した前記出力データフレームを記憶手段上に展開し、該記憶手段上の前記安全コードをチェックする工程を含むことを特徴とするデータ通信方法。
【００１１】
（３）入出力モジュールとコントローラ間のデータ通信方法において、
前記入力モジュールで、データの安全性を確認するための安全コードを入力データに付加した入力データフレームを生成する工程と、
前記コントローラで、前記入力モジュールから受信した前記入力データフレームを記憶手段上に展開し、該記憶手段上の前記安全コードをチェックする工程を含み、
前記コントローラで、出力データの安全性を確認するための安全コードを出力データに付加した出力データフレームを生成する工程と、
前記出力モジュールで、前記コントローラから受信した前記出力データフレームを記憶手段上に展開し、該記憶手段上の前記安全コードをチェックする工程を含むことを特徴とするデータ通信方法。
【００１２】
（４）前記安全コードは、ＣＲＣコードを含むことを特徴とする（１）乃至（３）のいずれかに記載のデータ通信方法。
【００１３】
（５）前記安全コードは、入出力モジュール或いはコントローラの機種を特定するためのデバイスＩＤを含むことを特徴とする（１）乃至（４）のいずれかに記載のデータ通信方法。
【００１４】
（６）前記安全コードは、入出力データフレームの記憶手段上の格納場所を確認するためのブロックＩＤを含むことを特徴とする（１）乃至（５）のいずれかに記載のデータ通信方法。
【００１５】
（７）前記安全コードは、データが更新されていることを確認するための更新コードを含むことを特徴とする（１）乃至（６）のいずれかに記載のデータ通信方法。
【００１６】
（８）前記安全コードは、アプリケーションにより決定される入出力モジュールの設定情報のＣＲＣ演算値である設定情報ＣＲＣコードを含むことを特徴とする（１）乃至（７）のいずれかに記載のデータ通信方法。
【００１７】
（９）前記入出力データは、入出力モジュール毎の一括情報及び入出力モジュールのチャネル毎の個別情報であることを特徴とする（１）乃至（８）のいずれかに記載のデータ通信方法。
【００１８】
（１０）入出力モジュールとコントローラ間のデータ通信方法において、
データ送信側で、データの安全性を確認するための安全コードをデータに付加し、前記安全コード付データを分割して順番に送信する工程と、
データ受信側で、分割された前記安全コード付データを受信順に記憶手段上に展開して構築し、該記憶手段上の前記安全コードをチェックする工程を含むことを特徴とするデータ通信方法。
【００１９】
（１１）前記安全コードは、ＣＲＣコードを含むことを特徴とする（１０）記載のデータ通信方法。
【００２０】
（１２）プラントからの信号を入力する入力モジュールとコントローラ間でデータ通信を行い、プラントの安全を図る安全システムにおいて、
前記入力モジュールは、データの安全性を確認するための安全コードを入力データに付加した入力データフレームを生成する入力データフレーム生成手段を有し、
前記コントローラは、前記入力モジュールから受信した前記入力データフレームを展開する記憶手段と、
該記憶手段上の前記安全コードをチェックする安全コードチェック手段とを有することを特徴とする安全システム。
【００２１】
（１３）プラントへ信号を出力する出力モジュールとコントローラ間でデータ通信を行い、プラントの安全を図る安全システムにおいて、
前記コントローラは、データの安全性を確認するための安全コードを出力データに付加した出力データフレームを生成する出力データフレーム生成手段を有し、
前記出力モジュールは、前記コントローラから受信した前記出力データフレームを展開する記憶手段と、
該記憶手段上の前記安全コードをチェックする安全コードチェック手段とを有することを特徴とする安全システム。
【００２２】
（１４）プラントと信号を授受する入出力モジュールとコントローラ間でデータ通信を行い、プラントの安全を図る安全システムにおいて、
前記入出力モジュールは、データの安全性を確認するための安全コードを入力データに付加した入力データフレームを生成する入力データフレーム生成手段を有し、
前記コントローラは、前記入出力モジュールから受信した前記入力データフレームを展開する記憶手段と、
該記憶手段上の前記安全コードをチェックする安全コードチェック手段とを有するとともに、
前記コントローラは、データの安全性を確認するための安全コードを出力データに付加した出力データフレームを生成する出力データフレーム生成手段を有し、
前記入出力モジュールは、前記コントローラから受信した前記出力データフレームを展開する記憶手段と、
該記憶手段上の前記安全コードをチェックする安全コードチェック手段とを有することを特徴とする安全システム。
【００２３】
（１５）前記入力データフレームは、前記入出力モジュールのステータス情報を有し、
前記出力データフレームは、前記コントローラのステータス情報を有することを特徴とする（１２）乃至（１４）のいずれかに記載の安全システム。
【００２４】
（１６）前記入出力モジュールは、該入出力モジュールのステータスと、前記コントローラのステータスを判断するステータス判断手段を有し、
該ステータス判断手段の入力のうち、前記入出力モジュールのステータス入力部をアサートするとともに、前記入力データフレームにて前記入出力モジュールのステータスを前記コントローラに渡す際に、前記ステータス判断手段の入力のうち、前記コントローラのステータス入力部をネゲートしておき、
前記出力データフレームにて前記コントローラのステータスを受け、該ステータスにて前記ステータス判断手段のコントローラのステータス入力部がアサートされたときに前記ステータス判断手段は有効となることを特徴とする（１２）乃至（１５）のいずれかに記載の安全システム。
【００２５】
（１７）前記コントローラは、該コントローラのステータスと、前記入出力モジュールのステータスを判断するステータス判断手段を有し、
該ステータス判断手段の入力のうち、前記コントローラのステータス入力部をアサートするとともに、前記出力データフレームにて前記コントローラのステータスを前記入出力モジュールに渡す際に、前記ステータス判断手段の入力のうち、前記入出力モジュールのステータス入力部をネゲートしておき、
前記入力データフレームにて前記入出力モジュールのステータスを受け、該ステータスにて前記ステータス判断手段の入出力モジュールのステータス入力部がアサートされたときに前記ステータス判断手段は有効となることを特徴とする（１２）乃至（１６）のいずれかに記載の安全システム。
【００２６】
（１８）前記入出力モジュールは、入出力モジュールのフェイル時に前記記憶手段とは別の記憶手段にあらかじめ設定されているフェイルセーフデータを使用することを特徴とする（１２）乃至（１７）のいずれかに記載の安全システム。
【００２７】
（１９）前記入出力モジュールは、フェイル復帰したことを知らせるフェイル復帰ステータスを前記入力データフレームにて前記コントローラに渡し、
該コントローラは、前記入出力モジュールの起動を要求する起動要求ステータスを前記出力データフレームにて前記入出力モジュールに渡し、
該入出力モジュールは、起動する準備が整ったことを知らせる起動準備完了ステータスを前記入出力データフレームにて前記コントローラに渡し、
該コントローラは、起動を許可する起動許可ステータスを前記出力データフレームにて前記入出力モジュールに渡し、
該入出力モジュールは、フェイルセーフデータを使用しているフェイルセーフ動作から通常動作に切り替えることを特徴とする（１２）乃至（１８）のいずれかに記載の安全システム。
【発明の効果】
【００２８】
本発明によれば次のような効果がある。
入出力モジュール及びコントローラの記憶手段上に展開されたデータフレームの安全コードの内容のチェックを行うことにより異常検出率が高く、信頼性の高いデータ通信方法が安価で実現できる。
また、データフレームの信頼性確保は、入出力モジュール及びコントローラの記憶手段上のデータとしてEND to ENDでチェックすることで実現しているので、データを互いの記憶手段上に転送するまでの処理階層（物理層やデータリンク層）の手段により、通信の異常検出率が影響を受けることはない。
【発明を実施するための最良の形態】
【００２９】
以下、図面を用いて本発明を詳細に説明する。
図１は本発明の一実施例を示す構成図である。
図１で入出力モジュール１０は、フィールド機器１からの信号をディジタルデータに変換しコントローラ２０へ伝え、コントローラ２０からのディジタルデータをアナログ信号や接点信号に変換してフィールド機器１へ出力する。
ここでは、入力モジュールと出力モジュールが一体となった入出力モジュールとして説明しているが、入力モジュールと出力モジュールが別々の構成の場合も同様である。
【００３０】
入出力モジュール１０は、内部通信機能によりコントローラ２０とインターフェースを確立しており、入出力モジュール１０とコントローラ２０はそれぞれ更新したデータを定周期で交換している。この内部通信によって、入出力モジュール１０及びコントローラ２０で生成された入出力データは、それぞれ入出力モジュール１０及びコントローラ２０上に実装されるＲＡＭ（Random Access Memory）１１，２１上に入出力データイメージとして展開される。
コントローラ２０からは、内部通信機能を使用して入出力モジュール１０の任意のＲＡＭ領域をアクセス可能であり、入出力モジュール１０からは、内部通信機能を使用してコントローラ２０の任意のＲＡＭ領域をアクセス可能である。
【００３１】
入出力データフレーム１２，２３は入出力データ１２１，２３１に安全コード１２２，２３２を付加した構成となっている。
入力データ１２１は入出力モジュール１０からコントローラ２０への入力情報であり、例えば、フィールドのプロセス量などが格納されている。
出力データ２３１はコントローラ２０から入出力モジュール１０への設定値であり、例えば、操作量などが格納されている。
【００３２】
図２は入出力データのフレーム構成例を示した図である。
入力データフレーム１２において、Ｒ＿ＣＲＣ１２２ａは入力データフレーム１２に対するＣＲＣ（Cyclic Redundancy Check）コードであり、入出力モジュール１０が生成する。入出力モジュール１０はこのＲ＿ＣＲＣ１２２ａ付きのデータである入力データフレーム１２を内部通信によりコントローラ２０へ送信する。
コントローラ２０は受信した入力データフレーム２２をＲＡＭ２１上に展開し、入力データフレーム２２に付けられているＣＲＣコードと、コントローラ２０側で受信した入力データフレーム２２を基に生成したＣＲＣコードとを比較することにより、受信したデータの正当性を確認する。その結果、データが正常の場合に入力データフレーム２２の中身を使用する。
これにより、入力データが通信の途中で内容が変更されていないかの検出をすることができる。
【００３３】
出力データフレーム２３において、Ｗ＿ＣＲＣ２３２ａは出力データフレーム２３に対するＣＲＣコードであり、コントローラ２０が生成する。コントローラ２０はこのＷ＿ＣＲＣ２３２ａ付きのデータである出力データフレーム２３を内部通信により入出力モジュール１０へ送信する。
入出力モジュール１０は受信した出力データフレーム１３をＲＡＭ１１上に展開し、出力データフレーム１３に付けられているＣＲＣコードと、入出力モジュール１０側で受信した出力データフレーム１３を基に生成したＣＲＣコードとを比較することにより、受信したデータの正当性を確認する。その結果、データが正常の場合に出力データフレーム１３の中身を使用する。
これにより、出力データが通信の途中で内容が変更されていないかの検出をすることができる。
【００３４】
図３は本発明の動作説明図である。この図ではデータの送受信元を確認する手順を示している。
設定情報２４は、システムの動作定義や入出力モジュールの動作定義、実装情報が定義されているデータベースであり、各入出力モジュール毎、各種アプリケーション毎に決定される。
この設定情報２４は、コントローラ２０で作成され、入出力モジュール１０へダウンロードされることでコントローラ２０と入出力モジュール１０の設定情報１４は等値化されている。
【００３５】
Ｓ＿ＤＥＶＩＣＥ＿ＩＤ１２２ｂ及びＭ＿ＤＥＶＩＣＥ＿ＩＤ２３２ｂはデバイスＩＤであり、入出力モジュール１０及びコントローラ２０が互いに機種を特定するための情報が格納されている。
データの受信側では、受信したデータフレームのデバイスＩＤと、設定情報２４，１４にあらかじめ設定されているデバイスＩＤとの比較を行い、一致した場合にデータフレームの中身を使用し、不一致である場合は使用しない。
【００３６】
Ｓ＿ＣＯＮＦＩＧ＿ＣＲＣ１２２ｃ及びＭ＿ＣＯＮＦＩＧ＿ＣＲＣ２３２ｃは設定情報ＣＲＣコードであり、入出力モジュール１０及びコントローラ２０が互いに認識している設定情報１４，２４のＣＲＣコードが格納されている。
設定情報１４のＣＲＣであるＳ＿ＣＯＮＦＩＧ＿ＣＲＣ１２２ｃは、入出力モジュール１０で生成される。コントローラ２０では、受信したＳ＿ＣＯＮＦＩＧ＿ＣＲＣ２２２ｃと、設定情報２４から生成したＣＲＣの値を比較を行い、一致した場合に入力データフレーム２２の中身を使用し、不一致である場合は使用しない。
【００３７】
設定情報２４のＣＲＣであるＭ＿ＣＯＮＦＩＧ＿ＣＲＣ２３２ｃは、コントローラ２０で生成される。入出力モジュール１０では、受信したＭ＿ＣＯＮＦＩＧ＿ＣＲＣ１３２ｃと、設定情報１４から生成したＣＲＣの値を比較を行い、一致した場合に出力データフレーム１３の中身を使用し、不一致である場合は使用しない。
【００３８】
Ｓ＿ＢＬＫ＿ＩＤ１２２ｄ及びＭ＿ＢＬＫ＿ＩＤ２３２ｄはブロックＩＤである。入出力データフレームはそれぞれ複数のブロックで構成されるため、どのブロックかを指定するためのブロック番号が格納されている。
データの受信側では、受信したデータフレームのブロックＩＤと、実際にデータフレームが送られてきたアドレスの比較を行い、一致した場合にデータフレームの中身を使用し、不一致である場合は使用しない。
【００３９】
これらにより、データの送信元と受信元が正しくリンクされ、同じアプリケーションであることを認識していることが確認でき、安全システムとしてシステムへの誤入力やシステムからの誤出力を防止することができる。
【００４０】
図４は本発明の動作説明図である。この図ではデータの更新を確認する手順を示している。
Ｒ＿ＵＰＤＡＴＥ１２２ｅは入力データフレーム１２の更新カウンタである。入出力モジュール１０は、入力値を更新毎にＲ＿ＵＰＤＡＴＥ１２２ｅをインクリメントする。コントローラ２０は、一定時間入力データが更新されていないことを確認すると、入力データフレームが喪失されたと判断し、入力異常とする。
【００４１】
Ｗ＿ＵＰＤＡＴＥ２３２ｅは出力データフレーム２３の更新カウンタである。コントローラ２０は、出力値を更新毎にＷ＿ＵＰＤＡＴＥ２３２ｅをインクリメントする。入出力モジュール１０は、一定時間出力データが更新されていないことを確認すると、出力データフレームが喪失されたと判断し、フィールド側への出力ＯＦＦなどの必要なフェイルセイフを実行する。
これらにより、過去のデータの繰り返し、必要なデータの喪失、データ遅延などの通信異常を検出することができる。
【００４２】
図５は入出力データの他のフレーム構成例を示した図である。
安全コード１２２でプロテクトされた入力データフレーム１２として、ＳＳＴＲ１２１ａ（スレーブステータスレジスタ）やＭＤＬ＿ＳＴＡＴ１２１ｂ（チャネル共通のステータス）などのモジュール全体に共通の情報（モジュール一括情報）と、ＣＨ＿ＳＴＡＴｎ１２１ｄ（各チャネルのステータス）やＲ＿ＤＡＴＡｎ１２１ｅ（各チャネルの入力値）などのチャネル毎に個別の情報（チャネル個別情報）を構成することにより、簡単に安全通信で入力データの即時型アクセスをすることができる。
【００４３】
また、安全コード２３２でプロテクトされた出力データフレーム２３として、ＭＳＴＲ２３１ａ（マスターステータスレジスタ）やＭＤＬ＿ＣＴＲＬ２３１ｂ（チャネル共通の制御情報）などのモジュール全体に共通の情報（モジュール一括情報）と、ＣＨ＿ＣＴＲＬｎ２３１ｄ（各チャネルの制御情報）やＷ＿ＤＡＴＡｎ２３１ｅ（各チャネルの出力値）などのチャネル毎に個別の情報（チャネル個別情報）を構成することにより、簡単に安全通信で出力データの即時型アクセスをすることができる。
【００４４】
図６は安全通信の概念図である。
入出力データに安全コードを付加したデータフレーム構成とし、ＲＡＭ上に展開されたデータフレームの安全コードの内容のチェックを行う安全通信階層でデータの通信異常を検出することができる。
よって、入出力モジュール及びコントローラのＲＡＭ上のデータとしてEND to ENDのチェックが行え、データを互いのＲＡＭ上に転送するまでの物理層やデータリンク層の手段により、通信の異常検出率は影響を受けることはない。
【００４５】
いままでの例では、安全通信として入出力モジュールとコントローラ間でデータ転送するには、安全コード付きのデータフレーム単位で行っていたが、設定情報などの大容量のデータ転送をする場合などは、データ送信側でデータの安全性を確認するための安全コードをデータに付加し、安全コード付きのデータを分割して順番に送信し、データ受信側で分割された安全コード付きのデータを受信順にＲＡＭ上に展開して再構築し、ＲＡＭ上の安全コードをチェックするようにしてもよい。
【００４６】
図７は即時型アクセスの動作説明図である。
入出力モジュール１０は通常時、コントローラ２０から設定された出力データフレーム１３を使用しており、この状態から入出力モジュール１０がフェイルすると、自発的にフェイルセーフデータ１５を使用するように切り替わる。
【００４７】
その後、入出力モジュール１０がフェイル復帰すると、ステータス判断手段１６のＲＤＹ１２１ａ１入力部はアサートされ、フェイル復帰信号によりステータス判断手段１６のもう一方の入力部はネゲートされるので、ステータス判断手段１６は無効状態である。
ステータス判断手段２６のＲＤＹ１２１ａ１入力部はアサートされ、フェイル復帰信号によりステータス判断手段２６及び２７のＡＰＲＥＱ１２１ａ２入力部もアサートされる。
ステータス判断手段２６は、起動要求２５がない限り無効状態であり、起動要求２５があると有効となる。
【００４８】
ステータス判断手段２６が有効となり、ＡＰＡＣＫ２３１ａ１がアサートされると、ステータス判断手段１６が有効となり、ステータス判断手段１７の一方の入力部をアサートし、入出力モジュールが安定する一定時間Ｔ［ｍｓ］後にＯＮＳ１２１ａ３をアサートする。
また、ＡＰＡＣＫ２３１ａ１がアサートされることにより、ＡＰＲＥＱ１２１ａ２はネゲートされるので、ステータス判断手段２７は有効となるとともに、ステータス判断手段２６は無効となりＡＰＡＣＫ２３１ａ１をネゲートする。
【００４９】
コントローラ２０は入出力モジュール１０が正常稼働になったことを確認すると出力データフレーム２３を必要な初期値に再設定してＯＵＴＥＮ２３１ａ２をアサートし、出力データフレーム１３の使用を許可する。ステータス判断手段１７が有効となることでフェイルセーブデータ１５から出力データフレーム１３の出力データの使用に切り替わり、入出力モジュール１０は通常動作となる。
【００５０】
なお、コントローラ２０は次回入出力モジュール１０がフェイル復帰した際に、出力が急変しないように、通常時はＡＰＡＣＫ２３１ａ１をネゲートしている。
【００５１】
図８は図７の即時型アクセスの入出力データフレームを示す図である。
図７のＡＰＡＣＫ２３１ａ１，ＯＵＴＥＮ２３１ａ２のステータスは、出力データフレーム２３のＭＳＴＲ２３１ａに埋め込まれており、入出力モジュール１０が出力データフレーム１３を受け取り、データに異常がなければＡＰＡＣＫ１３１ａ１，ＯＵＴＥＮ１３１ａ２を使用して処理を行う。
ＲＤＹ１２１ａ１，ＡＰＲＥＱ１２１ａ２，ＯＮＳ１２１ａ３のステータスは、入力データフレーム１２のＳＳＴＲ１２１ａに埋め込まれており、コントローラ２０が入力データフレーム２２を受け取り、データに異常がなければＲＤＹ２２１ａ１，ＡＰＲＥＱ２２１ａ２，ＯＮＳ２２１ａ３を使用して処理を行う。
【００５２】
これらの即時型アクセスもＲＡＭ上に展開された入出力データフレームのやり取りで実現することができる。
また、この仕組みにより、入出力モジュールがフェイル復帰した際、システムに外乱を与える出力の急変を防止することができる。
さらに、入出力モジュールが一度でもフェイルを検出したことを確実にコントローラに通知し、コントローラの指示があるまではフェイル発生時の動作をラッチすることができるので、安全性の高いシステムを構築することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施例を示す構成図である。
【図２】入出力データのフレーム構成例を示した図である。
【図３】本発明の動作説明図である。
【図４】本発明の動作説明図である。
【図５】入出力データの他のフレーム構成例を示した図である。
【図６】安全通信の概念図である。
【図７】即時型アクセスの動作説明図である。
【図８】図７の即時型アクセスの入出力データフレームを示す図である。
【符号の説明】
【００５４】
１０  入出モジュール
１１  記憶手段（ＲＡＭ）
１２  入力データフレーム
１２１  入力データ
１２１ａ〜１２１ｃ  モジュール一括情報
１２１ｄ，１２１ｅ  チャネル個別情報
１２２，１２２ａ〜１２２ｅ  安全コード
１５  フェイルセーフデータ
１６，１７，２６，２７  ステータス判断手段
２０  コントローラ
２１  記憶手段（ＲＡＭ）
２３  出力データフレーム
２３１  出力データ
２３１ａ〜２３１ｃ  モジュール一括情報
２３１ｄ，２３１ｅ  チャネル個別情報
２３２，２３２ａ〜２３２ｅ  安全コード
【図１】
2006236301.tif 000003
【図２】
2006236301.tif 000004
【図３】
2006236301.tif 000005
【図４】
2006236301.tif 000006
【図５】
2006236301.tif 000007
【図６】
2006236301.tif 000008
【図７】
2006236301.tif 000009
【図８】
2006236301.tif 000010