(57)【特許請求の範囲】
【請求項１】
安全機能処理を行う安全ノードと、該安全ノードを制御する安全コントローラと、安全機能処理を行わない非安全ノードと通信するゲートウェイであって、
ＬＡＮを通じて前記安全コントローラと通信を行うインタフェースと、
前記インタフェースを通じて前記安全コントローラから受信した所定のフォーマットのデータを、前記安全ノード宛のデータ又は前記非安全ノード宛のデータに分離する、受信データ分離手段と、
安全通信路を通じて前記安全ノードと通信する安全データ通信手段と、
非安全通信路を通じて前記非安全ノードと通信する非安全データ通信手段と、
を有し、
前記安全ノードから前記安全通信路を通じて受信したデータ又は前記非安全ノードから前記非安全通信路を通じて受信したデータを、前記所定のフォーマットに結合して、前記安全コントローラに送信し、
前記安全データ通信手段は、前記安全ノード宛のデータを複製して複数の安全ノードに夫々送信する、
ゲートウェイ。
【請求項２】
前記複数の安全ノードに送信された前記データは、前記複数の安全ノードの間で照合され、前記照合の結果に基づいて異常状態が検出される、
請求項１に記載のゲートウェイ。
【請求項３】
前記安全通信路及び前記非安全通信路は独立して設けられる、
請求項１又は２に記載のゲートウェイ。
【請求項４】
前記安全通信路はシリアルバスによって構成され、前記非安全通信路はデュアルポートＲＡＭを用いて構成される、
請求項３に記載のゲートウェイ。
【請求項５】
前記安全通信路及び前記非安全通信路は夫々ＬＡＮを構成する、
請求項３に記載のゲートウェイ。
【請求項６】
安全機能処理を行う安全ノードと、該安全ノードを制御する安全コントローラと、安全機能処理を行わない非安全ノードと、ゲートウェイを有するシステムであって、
前記安全コントローラは、
ＬＡＮを通じて前記ゲートウェイと通信を行う第一インタフェース
を有し、
前記ゲートウェイは、
前記安全コントローラと通信を行う第二インタフェースと、
前記第二インタフェースを通じて前記安全コントローラから受信した、所定のフォーマットのデータを、前記安全ノード宛のデータ又は前記非安全ノード宛のデータに分離する、受信データ分離手段と、
安全通信路を通じて前記安全ノードと通信する安全データ通信手段と、
非安全通信路を通じて前記非安全ノードと通信する非安全データ通信手段と、
を有し、
前記安全ノードから前記安全通信路を通じて受信したデータ又は前記非安全ノードから前記非安全通信路を通じて受信したデータを、前記所定のフォーマットに結合して、前記安全コントローラに送信し、
前記安全ノードは、
前記安全通信路を通じて前記ゲートウェイと通信する第三インタフェース
を有し、
前記非安全ノードは、
前記非安全通信路を通じて前記ゲートウェイと通信する第四インタフェース
を有し、
前記安全データ通信手段は、前記安全ノード宛のデータを複製して複数の安全ノードに夫々送信する、
システム。
【請求項７】
安全機能処理を行う安全ノードと、該安全ノードを制御する安全コントローラと、安全機能処理を行わない非安全ノードと通信する方法であって、
ＬＡＮを通じて前記安全コントローラから受信した所定のフォーマットのデータを、前記安全ノード宛のデータ又は前記非安全ノード宛のデータに分離する、受信データ分離段階と、
安全通信路を通じて前記安全ノードと通信する安全データ通信段階と、
非安全通信路を通じて前記非安全ノードと通信する非安全データ通信段階と、
前記安全ノードから前記安全通信路を通じて受信したデータ又は前記非安全ノードから前記非安全通信路を通じて受信したデータを、前記所定のフォーマットに結合する結合段階と、
結合された前記データを前記安全コントローラに送信する送信段階と、
を有し、
前記安全データ通信段階では、前記安全ノード宛のデータを複製して複数の安全ノードに夫々送信する、方法。
【請求項８】
安全機能処理を行う安全ノードを制御する安全コントローラから受信したデータに基づいて異常状態を検知する方法であって、
ゲートウェイが、ＬＡＮを通じて前記安全コントローラから受信した所定のフォーマットのデータを、安全ノード宛のデータ又は非安全ノード宛のデータに分離する、受信データ分離段階と、
前記ゲートウェイが、前記安全ノード宛のデータを複製する複製段階と、
前記ゲートウェイが、複製した前記データを、前記非安全ノードが接続された非安全通信路と異なる安全通信路を通じて、複数の安全ノードに夫々送信するデータ送信段階と、
前記複数の安全ノードの一が、前記ゲートウェイから受信した前記データと、該安全ノードと異なる他の安全ノードが受信した前記データとを照合する照合段階と、
前記複数の安全ノードの一が、前記照合の結果に基づいて異常状態を検出する検出段階と、
を有する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートウェイ、システム及び方法に関し、特に、安全機能処理を行うコントローラとノードを接続するゲートウェイ、システム及び方法に関する。
【背景技術】
【０００２】
工作機器や化学プラント等で用いられる、高い安全性の求められる機器についての安全機能の規格を定めた、機能安全規格ＩＥＣ６１５０８が存在する。当該規格に準ずる「安全機器」を用いることで、安全なシステムを構築することができる。
【０００３】
特許文献１は、複数の安全機器（安全ノード）がＬＡＮに直接に接続されるシステムにおいて、非安全ノードと安全ノードの間で、安全情報を送受信する方法を開示する（図１７Ａ参照）。
【０００４】
非特許文献１は、ある安全ノードの一方をＬＡＮに接続し、他の一方を、他の１つの安全ノードに接続されたシリアルバス（又はデュアルポートＲＡＭ）に接続する方法を開示する（図１７Ｂ参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−０２６０６３号公報
【特許文献２】特開２００７−１９３８４３号公報
【非特許文献】
【０００６】
【非特許文献１】Training  for  "PROFIsafe certified designers",  February  10-12th,  Karlsruhe
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載されている方法では、全ての安全ノードがＬＡＮインタフェースを実装する必要があり、安全ノードの製造コストが高くなる。結果として、システム全体のコストが高くなる。
【０００８】
また、非特許文献１に記載されている方法では、１つの安全ノードを介して、他の安全機器が直列に接続される。従って、当該安全機器の故障が、他の安全機器の故障に波及し、可用性が低減する。また、全ての非安全ノードがＬＡＮインタフェースを実装する必要があり、非安全ノードの製造コストが高くなる。結果として、やはりシステム全体のコストが高くなる。
【０００９】
一方で、特許文献２では、非安全ノードの接続されるシリアルバスから独立した、安全ノード専用のシリアルバスを設けたコントローラシステムが開示されている。しかしながら、当該システムにおいては、安全ノードがＬＡＮを介してコントローラと通信することができない。
【００１０】
本発明は、このような問題に鑑みてなされたものであり、安全通信を行うシステムにおいて、システム全体のコストを抑え、かつ、ＬＡＮに接続された安全コントローラと各ノードとの間で安全通信を行えるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し目的を達成するため、本発明の一実施形態におけるゲートウェイは、
安全機能処理を行う安全ノードと、該安全ノードを制御する安全コントローラと、安全機能処理を行わない非安全ノードと通信するゲートウェイであって、
ＬＡＮを通じて前記安全コントローラと通信を行うインタフェースと、
前記インタフェースを通じて前記安全コントローラから受信した所定のフォーマットのデータを、前記安全ノード宛のデータ又は前記非安全ノード宛のデータに分離する、受信データ分離手段と、
安全通信路を通じて前記安全ノードと通信する安全データ通信手段と、
非安全通信路を通じて前記非安全ノードと通信する非安全データ通信手段と、
を有し、
前記安全ノードから前記安全通信路を通じて受信したデータ又は前記非安全ノードから前記非安全通信路を通じて受信したデータを、前記所定のフォーマットに結合して、前記安全コントローラに送信し、
前記安全データ通信手段は、前記安全ノード宛のデータを複製して複数の安全ノードに夫々送信する。
【００１２】
また、本発明の一実施形態におけるシステムは、
安全機能処理を行う安全ノードと、該安全ノードを制御する安全コントローラと、安全機能処理を行わない非安全ノードと、ゲートウェイを有するシステムであって、
前記安全コントローラは、
ＬＡＮを通じて前記ゲートウェイと通信を行う第一インタフェース
を有し、
前記ゲートウェイは、
前記安全コントローラと通信を行う第二インタフェースと、
前記第二インタフェースを通じて前記安全コントローラから受信した、所定のフォーマットのデータを、前記安全ノード宛のデータ又は前記非安全ノード宛のデータに分離する、受信データ分離手段と、
安全通信路を通じて前記安全ノードと通信する安全データ通信手段と、
非安全通信路を通じて前記非安全ノードと通信する非安全データ通信手段と、
を有し、
前記安全ノードから前記安全通信路を通じて受信したデータ又は前記非安全ノードから前記非安全通信路を通じて受信したデータを、前記所定のフォーマットに結合して、前記安全コントローラに送信し、
前記安全ノードは、
前記安全通信路を通じて前記ゲートウェイと通信する第三インタフェース
を有し、
前記非安全ノードは、
前記非安全通信路を通じて前記ゲートウェイと通信する第四インタフェース
を有し、
前記安全データ通信手段は、前記安全ノード宛のデータを複製して複数の安全ノードに夫々送信する。
【００１３】
また、本発明の一実施形態における方法は、
安全機能処理を行う安全ノードと、該安全ノードを制御する安全コントローラと、安全機能処理を行わない非安全ノードと通信する方法であって、
ＬＡＮを通じて前記安全コントローラから受信した所定のフォーマットのデータを、前記安全ノード宛のデータ又は前記非安全ノード宛のデータに分離する、受信データ分離段階と、
安全通信路を通じて前記安全ノードと通信する安全データ通信段階と、
非安全通信路を通じて前記非安全ノードと通信する非安全データ通信段階と、
前記安全ノードから前記安全通信路を通じて受信したデータ又は前記非安全ノードから前記非安全通信路を通じて受信したデータを、前記所定のフォーマットに結合する結合段階と、
結合された前記データを前記安全コントローラに送信する送信段階と、
を有し、
前記安全データ通信手段は、前記安全ノード宛のデータを複製して複数の安全ノードに夫々送信する。
【００１４】
また、本発明の一実施形態における方法は、
安全機能処理を行う安全ノードを制御する安全コントローラから受信したデータに基づいて異常状態を検知する方法であって、
ゲートウェイが、ＬＡＮを通じて前記安全コントローラから受信した所定のフォーマットのデータを、安全ノード宛のデータ又は非安全ノード宛のデータに分離する、受信データ分離段階と、
前記ゲートウェイが、前記安全ノード宛のデータを複製する複製段階と、
前記ゲートウェイが、複製した前記データを、前記非安全ノードが接続された非安全通信路と異なる安全通信路を通じて、複数の安全ノードに夫々送信するデータ送信段階と、
前記複数の安全ノードの一が、前記ゲートウェイから受信した前記データと、該安全ノードと異なる他の安全ノードが受信した前記データとを照合する照合段階と、
前記複数の安全ノードの一が、前記照合の結果に基づいて異常状態を検出する検出段階と、
を有する。
【発明の効果】
【００１５】
本発明によれば、安全通信を行うシステムにおいて、システム全体のコストを抑え、かつ、ＬＡＮに接続された安全コントローラと各ノードとの間で安全通信を行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態におけるシステムの概要を表す図。
【図２Ａ】本発明の一実施形態における安全／非安全ゲートウェイのハードウェア構成の例を表す図。
【図２Ｂ】本発明の一実施形態における安全コントローラのハードウェア構成の例を表す図。
【図２Ｃ】本発明の一実施形態における安全ノードのハードウェア構成の例を表す図。
【図２Ｄ】本発明の一実施形態における非安全ノードのハードウェア構成の例を表す図。
【図３】本発明の一実施形態におけるシステムの機能ブロックの例を表す図。
【図４Ａ】本発明の一実施形態におけるシステムで用いられるＬＡＮ通信伝文の構造の例を表す図。
【図４Ｂ】本発明の一実施形態におけるシステムで用いられる安全通信伝文の構造の例を表す図。
【図４Ｃ】本発明の一実施形態におけるシステムで用いられる非安全通信伝文の構造の例を表す図。
【図５Ａ】本発明の一実施形態におけるシステムの通信経路の例を表す図。
【図５Ｂ】本発明の一実施形態におけるシステムの通信経路の例を表す図。
【図５Ｃ】本発明の一実施形態におけるシステムの通信経路の例を表す図。
【図６Ａ】本発明の一実施形態における安全／非安全ゲートウェイで用いられるデータ管理テーブルの例を表す図。
【図６Ｂ】本発明の一実施形態における安全／非安全ゲートウェイで用いられるデータ管理テーブルの例を表す図。
【図６Ｃ】本発明の一実施形態における安全／非安全ゲートウェイで用いられるデータ管理テーブルの例を表す図。
【図６Ｄ】本発明の一実施形態における安全／非安全ゲートウェイで用いられるデータ管理テーブルの例を表す図。
【図７Ａ】本発明の一実施形態における安全ノードで用いられるデータ管理テーブルの例を表す図。
【図７Ｂ】本発明の一実施形態における安全ノードで用いられる照合テーブルの例を表す図。
【図８Ａ】本発明の一実施形態における受信データ分離処理を表す図。
【図８Ｂ】本発明の一実施形態における受信データ分離処理により用いられるデータを表す図。
【図９Ａ】本発明の一実施形態における非安全データ通信処理を表すフローチャート。
【図９Ｂ】本発明の一実施形態における非安全データ通信処理により用いられる通信伝文の構成の例を表す図。
【図９Ｃ】本発明の一実施形態における非安全データ通信処理により用いられるデータの構成の例を表す図。
【図１０Ａ】本発明の一実施形態における安全データ分配・通信処理を表すフローチャート。
【図１０Ｂ】本発明の一実施形態における安全データ分配・通信処理により安全ノードとの通信に用いられる通信伝文の構成の例を表す図。
【図１０Ｃ】本発明の一実施形態における安全データ分配・通信処理により送信振分手段に渡されるデータの構成の例を表す図。
【図１１Ａ】本発明の一実施形態における送信振分処理を表す図。
【図１１Ｂ】本発明の一実施形態における送信振分処理により用いられるデータの構成の例を表す図。
【図１２Ａ】本発明の一実施形態における送信データ結合処理を表すフローチャート。
【図１２Ｂ】本発明の一実施形態における送信データ結合処理により用いられるデータの構成の例を表す図。
【図１３Ａ】本発明の一実施形態における通信インタフェース処理を表すフローチャート。
【図１３Ｂ】本発明の一実施形態における通信インタフェース処理により用いられるデータの構成の例を表す図。
【図１３Ｃ】本発明の一実施形態における通信インタフェース処理により用いられる通信伝文の例を表す図。
【図１４Ａ】本発明の一実施形態における安全通信処理を表すフローチャート。
【図１４Ｂ】本発明の一実施形態における安全通信処理により用いられるデータの構成の例を表す図。
【図１５Ａ】本発明の一実施形態における受信照合処理を表すフローチャート。
【図１５Ｂ】本発明の一実施形態における受信照合処理により用いられるデータの構成の例を表す図。
【図１６Ａ】本発明の一実施形態におけるアプリケーションの処理を表すフローチャート。
【図１６Ｂ】本発明の一実施形態におけるアプリケーションにより用いられるデータの構成の例を表す図。
【図１６Ｃ】本発明の一実施形態におけるアプリケーションにより用いられるデータの構成の例を表す図。
【図１７Ａ】従来技術による安全通信システムの概要を表す図。
【図１７Ｂ】従来技術による安全通信システムの概要を表す図。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面に基づいて説明する。
【００１８】
１．概要
２．ハードウェア構成
３．機能構成
４．通信伝文
５．通信経路
６．データ管理テーブル
７．処理フロー
７．１  受信データ分離処理
７．２  非安全データ通信処理
７．３  安全データ分配・通信処理
７．４  送信振分処理
７．５  送信データ結合処理
７．６  通信インタフェース処理
７．７  安全通信処理
７．８  受信照合処理
７．９  アプリケーション処理
【００１９】
（１．概要）
最初に、図１を用いて、本発明の一実施形態におけるシステムの概要を説明する。図１は、本発明の一実施形態におけるシステムの概要を表す。本発明の一実施形態におけるシステムは、安全コントローラと安全ノード又は非安全ノードとの間に安全／非安全ゲートウェイを設け、安全コントローラと安全／非安全ゲートウェイとの間でＬＡＮによる通信を行う。
【００２０】
図１に示される本発明の一実施形態におけるシステムは、安全通信処理を行う安全コントローラと、安全コントローラのＬＡＮインタフェースであるＬＡＮ通信ノードと、安全通信処理を行う安全ノードと、安全通信処理を行わない非安全ノードと、安全／非安全ゲートウェイを有する。
【００２１】
当該システムは、図１に示したように、必要に応じて、安全ノード間の通信手段も有する。当該通信手段は、冗長化のために設けられた複数の安全ノード間で、それぞれが受信したデータの照合を行うために用いられる。詳細については後述する。
【００２２】
安全／非安全通信ゲートウェイは、安全コントローラから送信された通信フレ−ムを抽出し、通信プロトコルを変換して、安全／非安全ノードに送信する。ここで、ＩＥＣ６１５０８で定められるブラックチャネルの要件を満たすために、安全通信フレームには手を加えない。安全／非安全ゲートウェイは、必要に応じ、安全ノードと非安全ノードとの間にも通信手段を設ける。
【００２３】
以上の構成により、安全ノード及び非安全ノードのＬＡＮ通信ノードが不要となり、システム全体のコスト削減が可能となる。また、安全ノード及び非安全ノードの増設が容易となる。
【００２４】
（２．ハードウェア構成）
次に、図２Ａを用いて、本発明の一実施形態におけるゲートウェイのハードウェア構成について説明する。図２Ａに示されるゲートウェイは、ＣＰＵ２００と、ＲＡＭ２０２と、ＲＯＭ２０４と、ＬＡＮインタフェース２０６と、シリアルバスインターフェース２０８と、同期インタフェース２１０と、バス２１２を有する。
【００２５】
ＣＰＵ２００は、当該ゲートウェイの動作制御を行うプログラムを実行する。ＲＡＭ２０２は、ＣＰＵ２００のワークエリアを構成する。ＲＯＭ２０４は、ＣＰＵ２００が実行するプログラムやプログラムが使用するデータを記憶する。ＬＡＮインタフェース２０６は、例えばイーサネット（登録商標）のネットワークインターフェースを有する装置である。シリアルバスインターフェース２０８は、シリアル通信のためのインタフェースを有する装置である。デュアルポートインタフェース２１０は、デュアルポートＲＡＭを介して通信するためのインタフェースを有する装置である。バス２１２は、上記装置を電気的に接続する。
【００２６】
上記構成を有するゲートウェイによって、ＬＡＮに接続された安全コントローラと、シリアルバスに接続された安全ノードとが、安全通信を行うことができる。また、当該ゲートウェイを通じて、異なる通信路に接続された安全ノードと非安全ノードとが、通信することができる。
【００２７】
なお、シリアルバスインターフェース２０８及び／又はデュアルポートインタフェース２１０は、ＬＡＮインタフェースで置き換えられてもよい。これによって、ＬＡＮ通信のみによって、安全通信を行うことができる。
【００２８】
次に、図２Ｂを用いて、本発明の一実施形態における安全コントローラのハードウェア構成について説明する。図２Ｂに示される安全コントローラは、ＣＰＵ２２０と、ＲＡＭ２２２と、ＲＯＭ２２４と、ＬＡＮインタフェース２２６と、入力インタフェース２２８と、バス２３０を有する。
【００２９】
ＣＰＵ２２０は、当該安全コントローラの動作制御を行うプログラムを実行する。ＲＡＭ２２２は、ＣＰＵ２２０のワークエリアを構成する。ＲＯＭ２２４は、ＣＰＵ２２０が実行するプログラムやプログラムが使用するデータを記憶する。ＬＡＮインタフェース２２６は、例えばイーサネット（登録商標）のネットワークインターフェースを有する装置である。入力インタフェース２２８は、例えば外部の非常停止スイッチのような入力装置とのインタフェースを有する装置である。バス２３０は、上記装置を電気的に接続する。
【００３０】
上記構成を有するコントローラは、ＬＡＮを介して安全ノードと安全通信を行うことができる。また、コントローラは、ＬＡＮを介して非安全ノードと通信を行うこともできる。
【００３１】
次に、図２Ｃを用いて、本発明の一実施形態における安全ノードのハードウェア構成について説明する。図２Ｃに示される安全ノードは、ＣＰＵ２４０と、ＲＡＭ２４２と、ＲＯＭ２４４と、第一シリアルバスインターフェース２４６と、第二シリアルバスインターフェース２４８と、バス２５０を有する。
【００３２】
ＣＰＵ２４０は、当該安全ノードの動作制御を行うプログラムを実行する。ＲＡＭ２４２は、ＣＰＵ２４０のワークエリアを構成する。ＲＯＭ２４４は、ＣＰＵ２４０が実行するプログラムやプログラムが使用するデータを記憶する。第一シリアルバスインターフェース２４６及び第二シリアルバスインターフェース２４８は、シリアル通信のためのインタフェースを有する装置である。バス２５０は、上記装置を電気的に接続する。
【００３３】
上記構成を有する安全ノードは、ゲートウェイを介して、ＬＡＮに接続された安全コントローラと、安全通信を行うことができる。また、安全ノードは、ゲートウェイを介して、非安全ノードと通信を行うことができる。また、安全ノードは、冗長構成として設けられた他の安全ノードとのシリアル通信を通して、安全コントローラと送受信したデータの照合を行うことができる。
【００３４】
なお、第二シリアルバスインターフェース２４８は任意の構成要素である。
【００３５】
また、第一シリアルバスインターフェース２４６及び／又は第二シリアルバスインターフェース２４８は、ＬＡＮインタフェース又はデュアルポートインタフェースで置き換えられてもよい。
【００３６】
次に、図２Ｄを用いて、本発明の一実施形態における非安全ノードのハードウェア構成について説明する。図２Ｄに示される非安全ノードは、ＣＰＵ２６０と、ＲＡＭ２６２と、ＲＯＭ２６４と、デュアルポートインタフェース２６６と、バス２６８を有する。
【００３７】
ＣＰＵ２６０は、当該非安全ノードの動作制御を行うプログラムを実行する。ＲＡＭ２６２は、ＣＰＵ２６０のワークエリアを構成する。ＲＯＭ２６４は、ＣＰＵ２６０が実行するプログラムやプログラムが使用するデータを記憶する。デュアルポートインタフェース２６６は、デュアルポートＲＡＭを介して通信するためのインタフェースを有する装置である。バス２６８は、上記装置を電気的に接続する。
【００３８】
上記構成を有する非安全ノードは、ゲートウェイを介して、ＬＡＮに接続された安全コントローラと通信することができる。また、非安全ノードは、ゲートウェイを介して、安全ノードと通信を行うことができる。
【００３９】
なお、デュアルポートインタフェース２６６は、ＬＡＮインタフェース又はシリアルバスインタフェースで置き換えられてもよい。
【００４０】
（３．機能構成）
次に、図３を用いて、本発明の一実施形態におけるシステムの機能ブロックについて説明する。当該システムは、安全コントローラ１と、ＬＡＮ通信ノード２と、ＬＡＮ３と、安全／非安全ゲートウェイ４と、安全ノード５と、安全通信路６と、非安全通信路７と、非安全ノード８と、データ管理テーブル９と、データ管理・照合テーブル１０と、受信データ分離手段１１と、非安全データ通信手段１２と、安全データ分配・通信手段１３と、送信振分手段１４と、送信データ結合手段１５と、通信インタフェース手段１６と、安全通信手段１７と、受信照合手段１８と、アプリケーション１９と、ＬＡＮ通信インタフェース手段２０を有する。
【００４１】
安全コントローラ１は、ＬＡＮを介して接続された安全／非安全ゲートウェイ４を通じて、安全ノード５及び非安全ノード８と通信する。安全コントローラ１は、ＩＥＣ６１７８４−３又はＩＥＣ６２２８０に規定される、安全通信処理を行う。
【００４２】
ＬＡＮ通信ノード２は、当該ノード宛のＬＡＮ通信フレームを受け取る。また、ＬＡＮ通信ノード２は、当該ノードから発信するデータに基づいて、ＬＡＮ通信フレームを作成する。
【００４３】
ＬＡＮ３は、任意の通信プロトコルを使用可能なネットワークである。
【００４４】
安全／非安全ゲートウェイ４は、ＬＡＮ通信インタフェース手段２０を介して、ＬＡＮと接続される。また、安全／非安全ゲートウェイ４は、シリアル通信、バス結合又はプロトコルの異なるＬＡＮ通信等により、安全ノードと接続される。また、安全／非安全ゲートウェイ４は、シリアル通信、バス結合又はプロトコルの異なるＬＡＮ通信等により、非安全ノードと接続される。
【００４５】
安全ノード５は、安全に関連するアプリケーションを実行する。また、安全ノード５は、シリアル通信、バス結合又はプロトコルの異なるＬＡＮ通信等により、安全／非安全ゲートウェイ４及び他の安全ノードと接続される。安全ノード５は、他の安全ノードとは、安全／非安全ゲートウェイ４を経由しないで接続されてもよい。
【００４６】
安全通信路６は、異なる安全ノードの間、又は安全ノード５と安全／非安全ゲートウェイ４との間に設けられる通信路である。安全通信路６には、シリアル通信、バス結合又はプロトコルの異なるＬＡＮ通信等を使用することができる。
【００４７】
非安全通信路７は、異なる非安全ノード間、又は非安全ノード８と安全／非安全ゲートウェイ４との間に設けられる通信路である。非安全通信路７には、シリアル通信、バス結合又はプロトコルの異なるＬＡＮ通信等を使用することができる。
【００４８】
非安全ノード８は、安全に関連しないアプリケーションを実行する。非安全ノード８は、シリアル通信、バス結合又はプロトコルの異なるＬＡＮ通信等により、安全／非安全ゲートウェイ４又は他の非安全ノードと接続される。
【００４９】
データ管理テーブル９は、安全／非安全ゲートウェイ４の処理に使用するデータを管理する。詳しくは後述する。
【００５０】
データ管理・照合テーブル１０は、安全ノード５内の処理に使用するデータを管理する。詳しくは後述する。
【００５１】
受信データ分離手段１１は、ＬＡＮ通信インタフェース２０を通じて受信した、安全／非安全ゲートウェイ４宛の受信データの内容を、ｓａｆｅｔｙデータとｎｏｎ−ｓａｆｅｔｙデータに分離する。ｓａｆｅｔｙデータは、安全データ分配・通信手段１３に渡され、ｎｏｎ−ｓａｆｅｔｙデータは、非安全データ通信手段１２に渡される。
【００５２】
非安全データ通信手段１２は、受信データ分離手段１１から渡されたデータと、送信振分手段１４から渡されたデータを、予め定められたプロトコルを用いて、非安全ノード８に送信する。また、非安全データ通信手段１２は、非安全ノード８から受信したデータを、送信振分手段１４に渡す。
【００５３】
安全データ分配・通信手段１３は、受信データ分離手段１１から渡されたデータと、送信振分手段１４から渡されたデータを、予め定められたプロトコルを用いて、安全ノード５に送信する。また、安全データ分配・通信手段１３は、所定のアドレスから送信されたデータを複製して、複製されたデータをそれぞれ複数の安全ノード５に送信する。また、安全データ分配・通信手段１３は、安全ノード５から受信したデータを、送信振分手段１４に渡す。
【００５４】
送信振分手段１４は、非安全データ通信手段１２から受け取ったデータを、指定された宛先アドレスに基づいて、安全データ分配・通信手段１３又は送信データ結合手段１５に振り分ける。また、送信振分手段１４は、安全データ分配・通信手段１３から受け取ったデータを、指定された宛先アドレスに基づいて、非安全データ通信手段１２又は送信データ結合手段１５に振り分ける。
【００５５】
送信データ結合手段１５は、送信振分手段１４から受け取ったデータを結合して、ＬＡＮ通信データを作成し、ＬＡＮ通信インタフェース２０に渡す。
【００５６】
通信インタフェース手段１６は、全て通信処理に関するデータ、又は全てのアプリケーションに関するデータを、予め定められたプロトコルを用いて、安全ノード５又は安全／非安全ゲートウェイ４に送信する。また、通信インタフェース手段１６は、安全ノード５又は安全／非安全ゲートウェイ４から受信したデータのうち、ｓａｆｅｔｙデータを、安全通信手段１７に渡し、ｎｏｎ−ｓａｆｅｔｙデータをアプリケーションに渡す。ここで、ｓａｆｅｔｙデータの通信インタフェース手段と、ｎｏｎ−ｓａｆｅｔｙデータの通信インタフェ−ス手段は、安全通信の安全性を保つために、分離される。また、安全ノード５と安全／非安全ゲートウェイ４との間の安全通信路と、安全ノード間の安全通信路を分離する場合には、当該通信インタフェース手段１６は、二つに分離されて設けられる。これによって、異なる通信のハードウェアインタフェースや通信プロトコルを使用することができる。
【００５７】
安全通信手段１７は、ｓａｆｅｔｙデータに対し、ＩＥＣ６１７８４−３又はＩＥＣ６２２８０で規定される、安全通信処理を行う。なお、安全／非安全ゲートウェイ４との間で行われる安全通信処理と、他の安全ノードとの間で行われる安全通信処理は、安全通信路の安全度の柔軟性を保つため（すなわち、夫々の故障率が異なり、安全コードの式やビット数が異なるため）、分離され得る。
【００５８】
受信照合手段１８は、受信したｓａｆｅｔｙデータを、所定の他の安全ノードに転送する。また、受信照合手段１８は、受信したｓａｆｅｔｙデータを、所定の他の安全ノードで受信され、当該安全ノード５に転送されたｓａｆｅｔｙデータと照合して、一致しているか確認する。照合結果は、アプリケーションに通知される。
【００５９】
アプリケーション１９は、安全通信手段１７から受け取ったｓａｆｅｔｙデータや、受信照合手段１８から受け取った照合結果や、通信インタフェース手段１６から受け取ったｎｏｎ−ｓａｆｅｔｙデータを入力として、安全機能又は非安全機能を実行する。そして、アプリケーション１９は、その結果を、ｓａｆｅｔｙデータについては安全通信手段１７に、ｎｏｎ−ｓａｆｅｔｙデータについては通信インタフェース手段１６に出力する。
【００６０】
ＬＡＮインタフェース手段２０は、ＬＡＮ通信伝文から安全／非安全ゲートウェイ４宛の伝文を取り出し、受信データ分離手段１１に渡す。また、ＬＡＮインタフェース手段２０は、送信データ結合手段１５から受け取ったデータに基づいてＬＡＮ通信伝文を作成し、宛先アドレスを安全コントローラ１のＬＡＮ通信ノード２に指定して、送信する。
【００６１】
以上の構成により、ＬＡＮに接続された安全コントローラと、安全ノード及び非安全ノードとが、ゲートウェイを介して通信することができる。また、安全ノードと非安全ノードとが、ゲートウェイを介して通信することができる。また、安全ノードと非安全ノードとの通信として、シリアル通信、バス結合又はプロトコルの異なるＬＡＮ通信を用いることができ、通信の柔軟性が拡大する。また、安全通信路と非安全通信路を分離することにより、安全通信路が、非安全通信路の故障による影響を受けない利点がある。
【００６２】
（４．通信伝文）
次に、図４Ａ−４Ｃを用いて、安全通信システムで用いられる通信伝文について説明する。
【００６３】
図４Ａは、ＬＡＮ３で用いられる、ＬＡＮ通信伝文の構成を表す。ヘッダ１は、通し番号のような、通信プロトコルで決められたデータを表す。宛先アドレスは、当該ＬＡＮ通信伝文の送信先となる、ノード又はＬＡＮ通信インタフェースのアドレスを表す。送信元アドレス１は、当該ＬＡＮ通信伝文の送信元となる、ノード又はＬＡＮ通信インタフェースのアドレスを表す。データ識別情報１は、フレームの識別番号を表す。通信データは、安全機能に関連しないｎｏｎ−ｓａｆｅｔｙデータ、及び安全機能に関連するｓａｆｅｔｙデータの配列で構成される。フッタ１は、当該伝文のＣＲＣコードを表す。
【００６４】
図４Ｂは、安全通信路６で用いられる、安全通信伝文の構成を表す。ヘッダ２は、通し番号のような、通信プロトコルで決められたデータを表す。宛先アドレス２と送信元アドレス２は、それぞれ、当該安全通信伝文の送信先アドレスと送信元アドレスを表す。データ識別情報２は、当該伝文が、安全通信伝文であることを示すコードである。宛先アドレス１、送信元アドレス１及びデータ識別情報１は、ＬＡＮ通信伝文で指定された情報をそのまま格納することができる。宛先アドレス１、２、送信元アドレス１、２及びデータ識別情報１、２の詳細については、後述する。ｓａｆｅｔｙデータは、データ部と安全情報で構成される。安全情報は、宛先アドレス、シーケンス番号、タイムスタンプ、安全コードを含む。フッタ２は、当該伝文の巡回冗長検査（ＣＲＣ、Cyclic  Redundancy  Check）コードを表す。
【００６５】
図４Ｃは、安全通信路６又は非安全通信路７で用いられる、非安全通信伝文の構成を表す。基本的な構成は、図４Ｃで示した安全通信伝文と同様である。ここでは、データ識別情報２は、当該伝文が、非安全通信伝文であることを示すコードである。また、当該非安全通信伝文に含まれるｎｏｎ−ｓａｆｅｔｙデータには、安全情報が格納されない。
【００６６】
本発明の一実施形態における安全コントローラ１、安全／非安全ゲートウェイ４、安全ノード５及び非安全ノード８は、上記のような通信伝文を用いて、互いに通信を行うことができる。
【００６７】
（５．通信経路）
次に、図５Ａ−５Ｃを用いて、安全コントローラ１と複数の安全ノードとの間の通信経路について説明する。
【００６８】
図５Ａは、安全コントローラ１から安全ノード３へ送信される、ｓａｆｅｔｙデータの通信経路を表す。安全／非安全ゲートウェイ４は、安全コントローラ１から受信したｓａｆｅｔｙデータを、複数の安全ノードに振り分けて送信する。各安全ノードは、受信したｓａｆｅｔｙデータを互いに照合し、一致しない場合には、異常が生じたものとして安全機能を実行する。図５Ａの例では、安全コントローラ１は、個別の安全ノードに対して、ｓａｆｅｔｙデータを送信する必要がない。このため、安全コントローラ１側が、安全ノードの数やアドレスの変更の影響を受けないという利点がある。
【００６９】
図５Ｂは、安全コントローラ１から安全ノード３へ送信される、ｓａｆｅｔｙデータの通信経路の別の例を表す。図５Ａの例と異なり、安全／非安全ゲートウェイ４は、複数の安全ノードへのｓａｆｅｔｙデータを振り分けは行わない。代わりに、安全コントローラ１は、複数の安全ノードの宛先を指定する。図５Ｂの例では、安全／非安全ゲートウェイ４の負荷が抑えられるという利点がある。各安全ノードは、受信したｓａｆｅｔｙデータを互いに照合し、一致しない場合には、異常が生じたものとして安全機能を実行する。
【００７０】
図５Ｃは、安全ノード３から安全コントローラ１へ送信される、ｓａｆｅｔｙデータの通信経路の例を表す。安全コントローラ１は、複数の安全ノードから受信したｓａｆｅｔｙデータを照合し、一致しない場合には異常が生じたものとして安全機能を実行する。
【００７１】
以上の構成によって、本発明の一実施形態における安全コントローラ１と安全ノード３は、安全／非安全ゲートウェイ４を通じて安全通信を行うことができる。また、安全／非安全ゲートウェイ４がｓａｆｅｔｙデータを夫々安全ノードに振り分ける構成により、安全ノード３の数を容易に増加させることができる。
【００７２】
なお、安全ノードの数は２つに限定されず、１つ又は３つ以上であってもよい。
【００７３】
（６．データ管理テーブル）
次に、図６Ａ−６Ｄを用いて、安全／非安全ゲートウェイ４で用いられるデータ管理テーブルについて説明する。
【００７４】
図６Ａは、安全／非安全ゲートウェイ４が、ＬＡＮ３を経由して安全コントローラ１から受信する、通信データ構成を表す。この通信データ構成は、図４Ａに示したＬＡＮ通信伝文の中の、通信データのｎｏｎ−ｓａｆｅｔｙデータとｓａｆｅｔｙデータの並びを定義する。順序は、ｎｏｎ−ｓａｆｅｔｙデータとｓａｆｅｔｙデータの並びの順序を表す。宛先アドレスは、当該データに含まれるｎｏｎ−ｓａｆｅｔｙデータ又はｓａｆｅｔｙデータの夫々の宛先のアドレスを表す。通信データバイト数は、ｎｏｎ−ｓａｆｅｔｙデータ又はｓａｆｅｔｙデータのバイト数を表す。種別は、当該データが、ｎｏｎ−ｓａｆｅｔｙデータかｓａｆｅｔｙデータかを表し、例えば、「非安全」又は「安全」のような、ラベルを格納する。
【００７５】
図６Ｂは、ＬＡＮを経由して、安全/非安全ゲートウェイ４から安全コントローラ１へ送信される、ＬＡＮ送信通信データ構成を表す。このＬＡＮ送信通信データ構成は、図４Ａに示したＬＡＮ通信伝文の中の、通信データのｎｏｎ−ｓａｆｅｔｙデータとｓａｆｅｔｙデータの並びを定義する。順序は、ｎｏｎ−ｓａｆｅｔｙデータとｓａｆｅｔｙデータの並びの順序を表す。送信元アドレスは、ｎｏｎ−ｓａｆｅｔｙデータ又はｓａｆｅｔｙデータの送信元ノードのアドレスを示す。通信データバイト数は、ｎｏｎ−ｓａｆｅｔｙデータ又はｓａｆｅｔｙデータのバイト数を示す。
【００７６】
図６Ｃは、安全/非安全ゲートウェイ４が、ｓａｆｅｔｙデータを、冗長化された複数の安全ノードにコピーして分配するための、安全データ分配構成を表す。分配前アドレスは、安全／非安全ゲートウェイ４の受信データ分離手段１１で用いられる、分配前の宛先アドレスを表す。分配後アドレスは、冗長化された、複数の安全ノードの夫々の宛先アドレスを表す。
【００７７】
図６Ｄは、送信振分手段１４が、安全／非安全ゲートウェイ４から安全通信路６にデータを送信する場合、安全／非安全ゲートウェイ４から非安全通信路にデータを送信する場合、又は、振り分けを行う場合に使用される、送信振分構成を表す。宛先アドレスは、データの送信先の宛先アドレスを示す。種別は、データが非安全通信路７へ送信されるか、安全通信路６へ送信されるかを表し、例えば「非安全」又は「安全」のようなラベルで現される。
【００７８】
以上のデータ管理テーブルにより、安全／非安全ゲートウェイ４は、安全コントローラ１と、安全ノード５と、非安全ノード８との間の通信を管理することができる。
【００７９】
次に、図７Ａ、７Ｂを用いて、安全ノード５で用いられるデータ管理・照合テーブルについて説明する。
【００８０】
図７Ａは、安全ノードからデータを送信する場合に、宛先ノードが、安全ノードか、又は非安全ノードかを識別するために使用される、送信振分構成を表す。宛先アドレスは、データの送信先の宛先アドレスを示す。種別は、当該データの送信が、安全／非安全ゲートウェイを経由して非安全通信路７になされるか、又は安全通信路６を経由して安全ノードになされるかを表し、例えば「非安全」又は「安全」のラベルで表される。
【００８１】
図７Ｂは、安全ノード間でｓａｆｅｔｙデータを照合する場合に使用される、照合テーブルである。照合送信元アドレスは、ｓａｆｅｔｙデータの送信元である、安全コントローラのアドレスを表す。照合先アドレスは、ｓａｆｅｔｙデータを照合する、相手先の安全ノードのアドレスを表す。
【００８２】
以上のデータ管理・照合テーブルにより、安全ノード５は、安全コントローラ１、安全／非安全ゲートウェイ４、他の安全ノード、及び非安全ノード８と通信することができる。
【００８３】
（７．処理フロー）
次に、図８Ａ−１２Ｂを用いて、安全／非安全ゲートウェイ４の処理について詳細に説明する。
【００８４】
（７．１  受信データ分離処理）
図８Ａは、受信データ分離手段１１による処理のフローチャートを表す。また、図８Ｂは、安全データ分配・通信手段１３又は非安全データ通信手段１２に渡されるデータの構成を表す。図８Ｂにおいて、網掛けの部分は、受信データ分離手段１１によって、追加又は分離されるデータを表す。なお、受信データ分離手段１１による処理は、定周期で実行される。
−ステップＳ８０１：図６Ａに示した、データ管理テーブル９のＬＡＮ受信通信データ構成を読み込む。
−ステップＳ８０２：ＬＡＮ通信インタフェース手段２０から、安全／非安全ゲートウェイ４宛の通信データを読み込む。ここでは、宛先アドレス１から通信データまでの通信データを読み込む。
−ステップＳ８０３：ＬＡＮ受信通信データ構成に従って、ｓａｆｅｔｙデータとｎｏｎ−ｓａｆｅｔｙデータを、宛先アドレス別に分割する。分割されたｓａｆｅｔｙデータ又はｎｏｎ−ｓａｆｅｔｙデータの前に、送信元アドレス１、データ種別情報１の内容を、そのまま付加する。また、宛先アドレス1に、ＬＡＮ受信通信データ構成の「宛先アドレス」を書き込む。
−ステップＳ８０４：ＬＡＮ受信通信データ構成に従って、宛先アドレス2、送信元アドレス2、データ識別情報2及びフッタ2を、分割したｓａｆｅｔｙおよびｎｏｎ−ｓａｆｅｔｙデータのそれぞれに付加する。また、ＬＡＮ受信通信データ構成の「宛先アドレス」を、宛先アドレス2に書き込む。
−ステップＳ８０５：安全／非安全ゲートウェイ４のアドレスを、送信元アドレス2に書き込む。また、安全／非安全の情報を、データ識別情報2に書き込む。さらに、伝文のＣＲＣコードを計算して、フッタ2に書き込む。次に、ＬＡＮ受信通信データ構成に従って、「種別」が「安全」のものを安全データ分配・通信手段１３に渡し、「種別」が「非安全」のものを非安全データ通信手段１２に渡す。
【００８５】
（７．２  非安全データ通信処理）
図９Ａは、非安全通信手段１２による処理のフローチャートを表す。また、図９Ｂは、非安全ノード８と安全／非安全ゲートウェイ４との間の通信のに関する、通信伝文の構成を表す。また、図９Ｃは、非安全通信手段１２から送信振分手段１４に渡されるデータの構成を表す。なお、非安全通信手段１２による処理は、定周期で実行される。
−ステップＳ９０１：受信データ分離手段１１から受信データを読み込む。
−ステップＳ９０２：送信振分処理手段１４から非安全データ通信のデータを読み込む。なお、送信振分処理手段１４から渡されるデータについては、後述する。
−ステップＳ９０３：宛先アドレス2、送信元アドレス2及びデータ識別情報2を、ステップＳ９０２で読み込んだデータに追加する。宛先アドレス1のデータを、宛先アドレス2に書き込み、安全／非安全ゲートウェイ４のアドレスを、送信元アドレス2に書き込み、安全／非安全の情報を、データ識別情報2に書き込む。また、伝文のＣＲＣコードを計算し、フッタ２に書き込む。
−ステップＳ９０４：通信プロトコルに応じた、通し番号等のヘッダを付加する。
−ステップＳ９０５：宛先アドレスと通信プロトコルに従い、非安全ノード８と通信を行う。
−ステップＳ９０６：非安全ノード８から受信したデータを送信振分手段１４へ渡す。
【００８６】
（７．３  安全データ分配・通信処理）
図１０Ａは、安全データ分配・通信手段１３による処理のフローチャートを表す。また、図１０Ｂは、安全ノード５と安全／非安全ゲートウェイ４との間の通信に用いられる通信伝文の構成を表す。また、図１０Ｃは、安全データ分配・通信手段１３から送信振分手段１４に渡される、データの構成を示す。なお、安全データ分配・通信手段１３による処理は、定周期で実行される。以下のステップ１００１−１００７は、安全／非安全ゲートウェイ４から安全ノード５になされる通信処理を表し、ステップ１００７−１００８は、安全ノード５から安全／非安全ゲートウェイ４になされる通信処理を表す。
−ステップＳ１００１：受信データ分離手段１１から、受信データを読み込む。
−ステップＳ１００２：送信振分手段１４から、非安全データ通信のデータを読み込む。
−ステップＳ１００３：宛先アドレス２、送信元アドレス２、データ識別情報２を、ステップＳ１００２で読み込んだデータに追加する。宛先アドレス１のデータを、宛先アドレス２に書き込み、安全／非安全ゲートウェイ４のアドレスを、送信元アドレス２に書き込み、安全／非安全の情報を、データ識別情報２に書き込む。また、伝文のＣＲＣコードを計算し、フッタ２に書き込む。
−ステップＳ１００４：データ管理テーブル９の安全データ分配構成を読み込む。
−ステップＳ１００５：安全データ分配構成に従って、宛先アドレスを、分配後アドレスに書き換える。さらに、フッタのＣＲＣコードを再計算し、書き換える。
−ステップＳ１００６：通信プロトコルに応じて、通し番号等のヘッダを付加する。
−ステップＳ１００７：宛先アドレスと通信プロトコルに従って、通信を行う。
−ステップＳ１００８：宛先アドレス２が自局の場合には、安全ノード５から受信したデータを送信振分手段１４に渡す。宛先アドレス２が自局でない場合には、当該通信伝文を宛先アドレス２のアドレスに送信する。
【００８７】
（７．４  送信振分処理）
図１１Ａは、送信振分手段１４による処理のフローチャートを表す。また、図１１Ｂは、送信振分手段１４が扱うデータの構成を示す。なお、送信振分手段１４による処理は、定周期で実行される。
−Ｓ１１０１：データ管理テーブル９の送信振分構成を読み込む。
−Ｓ１１０２：安全データ分配・通信手段１３及び非安全データ通信手段１２から渡されたデータを読み込む。
−Ｓ１１０３：送信振分構成の「宛先アドレス」に合致したデータで、「種別」が安全のものを、安全データ分配・通信手段１３に渡す。
−Ｓ１１０４：送信振分構成の「宛先アドレス」に合致したデータで、「種別」が非安全のものを、非安全データ通信手段１２に渡す。
−Ｓ１１０５：送信振分構成の「宛先アドレス」に合致しないデータを、送信データ結合手段１５に渡す。
【００８８】
（７．５  送信データ結合処理）
図１２Ａは、送信データ結合手段１５による処理のフローチャートを表す。また、図１２Ｂは、ＬＡＮ通信インタフェース手段に渡されるデータの構成を示す。なお、送信データ結合手段１５による処理は、定周期で実行される。
−Ｓ１２０１：データ管理テーブル９のＬＡＮ送信通信データ構成を読み込む。
−Ｓ１２０２：送信振分手段１４から渡されたデータを読み込む。
−Ｓ１２０３：ＬＡＮ受信送信データ構成に従って、データを通信データ構成に埋め込む。
−Ｓ１２０４：送信元アドレス１、データ識別情報１及びフッタ１を追加する。安全／非安全ゲートウェイ４のアドレスを送信元アドレス1に書き込み、フレームＩＤ等の情報をデータ識別情報１に書き込む。また、伝文のＣＲＣコードを再計算し、フッタ１に書き込む。
−Ｓ１２０５：データをＬＡＮ通信インタフェース手段２０に渡す。
【００８９】
（７．６  通信インタフェース処理）
次に、図１３Ａ−１６Ｃを用いて、安全ノード５の処理について詳細に説明する。
【００９０】
図１３Ａは、通信インタフェース手段１６による処理のフローチャートを表す。また、図１３Ｂは、安全通信手段１７とアプリケーション１９との間で用いられるデータの構成を表す。図１３Ｃは、通信伝文の構成を表す。なお、通信インタフェース手段１６による処理は、定周期で実行される。以下のステップＳ１３０１−１３０３は、通信インタフェース手段１６から安全／非安全ゲートウェイ４又は他の安全ノードになされる通信処理を表す。また、ステップＳ１３０３−１３０４は、安全／非安全ゲートウェイ４又は他の安全ノードから通信インタフェース手段１６になされる通信処理を表す。
−Ｓ１３０１：安全通信手段１７から安全通信データを読み込む。また、アプリケーション１９から、非安全通信データを読み込む。
−Ｓ１３０２：ステップＳ１３０１で読み込んだデータに、宛先アドレス２、送信元アドレス２、及びデータ識別情報２を追加する。宛先アドレス１が他の安全ノードである場合には、その安全ノードのアドレスを、宛先アドレス２に書き込む。又は、宛先アドレス１が安全ノード以外である場合には、安全／非安全ゲートウェイ４のアドレスを、宛先アドレス２に書き込む。また、当該安全ノード５のアドレスを、送信元アドレス２に書き込み、安全／非安全の情報をデータ識別情報２に書き込む。さらに、伝文のＣＲＣコードを計算し、フッタ２に書き込む。宛先アドレス１が安全ノードであるかどうかの識別は、データ管理・照合テーブル１０の送信振分構成を参照することによって行われる。
−Ｓ１３０３：宛先アドレスと通信プロトコルに従って、安全／非安全ゲートウェイ４又は他の安全ノードと通信を行う。
−Ｓ１３０４：安全／非安全ゲートウェイ４から受信したデータに含まれる、データ識別情報２の安全／非安全の情報が、安全である場合には、当該データを安全通信手段１７に渡し、非安全である場合には、当該データをアプリケーション１９に渡す。
【００９１】
（７．７  安全通信処理）
図１４Ａは、安全通信手段１７による処理のフローチャートを表す。また、図１４Ｂは、安全通信手段１７と通信インタフェース手段１６との間、安全通信手段１７とアプリケーション手段１６との間、及び安全通信手段１７と受信照合手段１８との間でやりとりされるデータの構成を示す。なお、安全通信手段１７は、定周期で実行される。以下のステップＳ１４０１−１４０３は、通信インタフェース手段１６から安全通信手段１７になされる処理を表す。ステップＳ１４０４−１４０５は、安全通信手段１７から通信インタフェース手段１６になされる処理を表す。
−Ｓ１４０１：通信インタフェース手段１６からデータを読み込む。
−Ｓ１４０２：ｓａｆｅｔｙデータの安全情報を用いて、ｓａｆｅｔｙデータの安全性をチェックする。以下に、安全性のチェックの例を示す。  
シーケンス番号を確認し、正しい順番でデータを受け取っているか確認する
タイムスタンプを確認し、許容時間内に更新されているか確認する
宛先アドレスを確認し、メッセージの宛先が正しいか確認する
安全コードを確認し、ｓａｆｅｔｙデータの完全性を確認する
−Ｓ１４０３：通信インタフェース手段１６から受け取ったデータを、アプリケーション１９及び受信照合手段１８に渡す。
−Ｓ１４０４：アプリケーション１９及び受信照合手段１８からデータを読み込む。
−Ｓ１４０５：シーケンス番号、タイムスタンプ、安全コードをｓａｆｅｔｙデータに付加する。また、伝文のＣＲＣコードを再計算し、フッタ１に書き込む。
【００９２】
（７．８  受信照合処理）
図１５Ａは、受信照合手段１８による処理のフローチャートを表す。また、図１５Ｂは、受信照合手段１８と通信インタフェース手段との間、受信照合手段１８とアプリケーション１９との間、及び受信照合手段１８と他の安全ノードの受信照合手段１８との間においてやりとりされる、データの構成を表す。なお、受信照合手段１８は、定周期で実行される。以下のステップＳ１５０２は、受信照合手段１８から照合先になされる送信処理を表す。ステップＳ１５０３−１５０５は、照合先から受信照合手段１８になされる受信処理を表す。
−Ｓ１５０１：安全通信手段１７からデータを読み込む。
−Ｓ１５０２：送信元アドレス１が、図７Ｂの照合テーブルにおける照合送信元アドレスと一致する場合には、当該安全ノード以外の照合先アドレスを宛先アドレス１に書き込む。さらに、当該安全ノードのアドレスを送信元アドレス1に書き込む。そして、照合のために、安全通信手段１７へデータを渡し、照合先への送信を依頼する。
−Ｓ１５０３：送信元アドレス１が、図７Ｂの照合テーブルにおける照合先アドレスと一致する場合には、当該処理より前に、安全通信手段１７から、データ送信元アドレス１が同テーブルにおける照合送信元アドレスと一致し、かつ、データ識別情報1が同じものを受け取ったかどうか確認する。
−Ｓ１５０４：ステップＳ１５０３において、データ識別情報1が同じものを以前に受け取っている場合には、ｓａｆｅｔｙデータを照合する。照合の結果、一致した場合には、正常であることをアプリケーション１９に通知する。照合の結果、一致しない場合には、異常であることをアプリケーション１９に通知する。指定した時間内に照合データを受信しなかった場合には、タイムオーバである旨をアプリケーション１９に通知する。
【００９３】
（７．９  アプリケーション処理）
図１６Ａは、アプリケーション１９による処理のフローチャートを表す。また、図１６Ｂは、安全送受信データの構成を表す。また、図１６Ｃは、非安全送受信データの構成を示す。なお、アプリケーション１９は、定周期で実行される。
−Ｓ１６０１：安全通信手段１７からデータを読み込む。
−Ｓ１６０２：ｓａｆｅｔｙデータに対応した安全機能の処理を行う。
−Ｓ１６０３：受信照合手段１８からデータを読み込む。
−Ｓ１６０４：照合結果が正常である場合には、その旨を記録する。照合結果が異常である場合には、異常に対応したリアクションとして、システム停止などの安全状態に移行する。照合結果がタイムオーバである場合には、照合先異常とし、リアクションとして、片肺運転などの安全状態に移行する。
−Ｓ１６０５：通信インタフェース手段１６からデータを読み込む。
−Ｓ１６０６：ｎｏｎ−ｓａｆｅｔｙデータに対応した非安全機能の処理を行う。
−Ｓ１６０７：安全機能の処理のアウトプットによる安全送信データを作成し、安全通信手段１７へ送信を依頼する。なお、安全送信データのフッタ１は空欄とする。（安全通信手段１７における処理により、フッタ１のデータが作成される。）
−Ｓ１６０８：安全機能／非安全機能の処理のアウトプットによる非安全送信データを作成し、通信インタフェース手段１６に対して送信を依頼する。必要に応じて、非安全通信データのフッタ１を付加する。なお、非安全通信データの場合には、通信データのＣＲＣコードは必須ではない。
【００９４】
以上の通り、本発明の一実施形態においては、安全通信システムに含まれる安全ノード及び非安全ノードの、ＬＡＮとのインタフェースに、ＬＡＮ通信ノードではなく、安全／非安全ゲートウェイを設ける。これにより、安全ノードの通信路と非安全ノードの通信路が分離される。その結果、ＬＡＮ通信のノード数を削減でき、コスト削減が可能となる。また、安全ノードおよび非安全ノードが、シリアル通信や、バス結合や、プロトコルの異なるＬＡＮ通信を使用することができ、通信の柔軟性が拡大する。さらに、安全ノードの通信路と非安全ノードの通信路の分離によって、安全通信路が、非安全通信路の故障による影響を受けなくなり、可用性が向上する。さらに、安全ノード数を容易に増加することができ、安全ノードの拡張性が向上する。
【符号の説明】
【００９５】
１  安全コントローラ
２  ＬＡＮ通信ノード
３  ＬＡＮ
４  安全／非安全ゲートウェイ
５  安全ノード
６  安全通信路
７  非安全通信路
８  非安全ノード
９  データ管理テーブル
１０  データ管理・照合テーブル
１１  受信データ分離手段
１２  非安全データ通信手段
１３  安全データ分配・通信手段
１４  送信振分手段
１５  送信データ結合手段
１６  通信インタフェース手段
１７  安全通信手段
１８  受信照合手段
１９  アプリケーション
２０  ＬＡＮ通信インタフェース手段
【図１】
0005949003.tif 000002
【図２Ａ】
0005949003.tif 000003
【図２Ｂ】
0005949003.tif 000004
【図２Ｃ】
0005949003.tif 000005
【図２Ｄ】
0005949003.tif 000006
【図３】
0005949003.tif 000007
【図４Ａ】
0005949003.tif 000008
【図４Ｂ】
0005949003.tif 000009
【図４Ｃ】
0005949003.tif 000010
【図５Ａ】
0005949003.tif 000011
【図５Ｂ】
0005949003.tif 000012
【図５Ｃ】
0005949003.tif 000013
【図６Ａ】
0005949003.tif 000014
【図６Ｂ】
0005949003.tif 000015
【図６Ｃ】
0005949003.tif 000016
【図６Ｄ】
0005949003.tif 000017
【図７Ａ】
0005949003.tif 000018
【図７Ｂ】
0005949003.tif 000019
【図８Ａ】
0005949003.tif 000020
【図８Ｂ】
0005949003.tif 000021
【図９Ａ】
0005949003.tif 000022
【図９Ｂ】
0005949003.tif 000023
【図９Ｃ】
0005949003.tif 000024
【図１０Ａ】
0005949003.tif 000025
【図１０Ｂ】
0005949003.tif 000026
【図１０Ｃ】
0005949003.tif 000027
【図１１Ａ】
0005949003.tif 000028
【図１１Ｂ】
0005949003.tif 000029
【図１２Ａ】
0005949003.tif 000030
【図１２Ｂ】
0005949003.tif 000031
【図１３Ａ】
0005949003.tif 000032
【図１３Ｂ】
0005949003.tif 000033
【図１３Ｃ】
0005949003.tif 000034
【図１４Ａ】
0005949003.tif 000035
【図１４Ｂ】
0005949003.tif 000036
【図１５Ａ】
0005949003.tif 000037
【図１５Ｂ】
0005949003.tif 000038
【図１６Ａ】
0005949003.tif 000039
【図１６Ｂ】
0005949003.tif 000040
【図１６Ｃ】
0005949003.tif 000041
【図１７Ａ】
0005949003.tif 000042
【図１７Ｂ】
0005949003.tif 000043