(57)【要約】【課題】高信頼化が不要な既存モジュールを改造することなく容易に高信頼なバスシステムに組み込める仕組みを提供する。【解決手段】送信データ作成部と、送信データ作成部から出力される送信データのＥＣＣを生成するＥＣＣ生成部と、送信データとＥＣＣを送信するデータ出力部と、を備えた送信部を有するバスシステムにおいて用いられるデータ送信装置であって、データ出力部は、バスクロックの立ち上がりに同期してＥＣＣを送信する立ち上がりＥＣＣ送信部と、バスクロックの立ち下がりに同期して送信データを送信する立ち下がりデータ送信部と、を備える。【選択図】図１
2014116894.tif 000002
【特許請求の範囲】
【請求項１】
送信データ作成部と、前記送信データ作成部から出力される送信データのＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）を生成するＥＣＣ生成部と、前記送信データと前記ＥＣＣを送信するデータ出力部と、を備えた送信部を有するバスシステムにおいて用いられるデータ送信装置であって、
前記データ出力部は、
バスクロックの立ち上がりに同期して前記ＥＣＣを送信する立ち上がりＥＣＣ送信部と、
前記バスクロックの立ち下がりに同期して前記送信データを送信する立ち下がりデータ送信部と、
を備えることを特徴とするデータ送信装置。
【請求項２】
ＥＣＣと送信データを受信するデータ入力部と、前記ＥＣＣと前記送信データからＥＣＣ訂正を行うＥＣＣ訂正部と、を備えた受信部を有するバスシステムにおいて用いられるデータ受信装置であって、
前記データ入力部は、
前記バスクロックの立ち下がりに同期して前記ＥＣＣを受信する立ち下がりＥＣＣ受信部と、
前記バスクロックの立ち上がりに同期して前記送信データを受信する立ち上がりデータ受信部と、
を備えることを特徴とするデータ受信装置。
【請求項３】
送信データ作成部と、前記送信データ作成部から出力される送信データのＥＣＣを生成するＥＣＣ生成部と、前記送信データと前記ＥＣＣを送信するデータ出力部と、を備えたデータ送信装置と、前記ＥＣＣと前記送信データを受信するデータ入力部と、前記ＥＣＣと前記送信データからＥＣＣ訂正を行うＥＣＣ訂正部と、を備えたデータ受信装置と、を有するバスシステムであって、
前記データ送信装置が有する前記データ出力部は、
バスクロックの立ち上がりに同期して前記ＥＣＣを送信する立ち上がりＥＣＣ送信部と、
前記バスクロックの立ち下がりに同期して前記送信データを送信する立ち下がりデータ送信部と、を備え、
前記データ受信装置が有する前記データ入力部は、
前記バスクロックの立ち下がりに同期して前記ＥＣＣを受信する立ち下がりＥＣＣ受信部と、
前記バスクロックの立ち上がりに同期して前記送信データを受信する立ち上がりデータ受信部と、
を備えることを特徴とするバスシステム。
【請求項４】
前記データ送信装置はマスタモジュールとして動作し、前記データ受信装置はスレーブモジュールとして動作し、前記データ通信装置と前記データ受信装置とが互いにバス接続されている、
ことを特徴とする請求項３に記載のバスシステム。
【請求項５】
前記データ送信装置は、
前記データ出力部が、前記ＥＣＣを送信するサイクルにおいて、前記ＥＣＣの送信タイミングと共に、前記モジュールを識別するためのモジュール識別子を送信し、
前記データ受信装置は、
前記データ入力部が、受信した前記モジュール識別子に基づいて前記モジュールを識別する、
ことを特徴とする請求項４に記載のバスシステム。
【請求項６】
前記データ送信装置は、
前記データ出力部が、前記ＥＣＣを送信するサイクルにおいて、前記ＥＣＣの送信タイミングと共に、前記送信データの順番を示すシーケンス番号を送信し、
前記データ受信装置は、
前記データ入力部が、前記シーケンス番号に基づいて前記送信データの順番に並べ替える、
ことを特徴とする請求項３〜５のいずれか１項に記載のバスシステム。
【請求項７】
前記データ送信装置は、
前記データ出力部が、前記ＥＣＣを送信するサイクルにおいて、前記ＥＣＣの送信タイミングと共に、前記送信データのタイムスタンプを送信し、
前記データ入力装置は、
前記データ入力部が、前記タイムスタンプと前記送信データとを対応づけて保存する、
ことを特徴とする請求項３〜６のいずれか１項に記載のバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信装置、データ受信装置、およびバスシステムに関する。
【背景技術】
【０００２】
プラント、鉄道、航空機など、人命や環境の安全確保のために非常に高い信頼性が求められる産業制御システムでは、万が一、システム内で故障や異常が発生しても、できるだけシステムを停止させないように可用性を高めることが求められる。このようなシステムの内部では、システムを制御するコントローラが使用されることが多く、そのコントローラの信頼性や可用性を高めることが重要である。
【０００３】
コントローラの内部では、コントローラを構成する複数のモジュールを接続して通信を行って制御しているが、特にバスシステムにおける通信の可用性を高めるには、例えば、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）と呼ばれる誤り訂正符号を追加することが考えられる。ＥＣＣは、データ本体部分に対し数ビットのＥＣＣビットを追加することで、１ビットエラーの訂正に加え、２ビットエラーの検出を効率的に実現できる。
【０００４】
ここで、既存のバスシステムを高信頼化してＥＣＣを追加しようとした場合、ＥＣＣビットのための数ビットをバスのビットに追加する必要がある。これは場合によってはハードウェアに大幅な変更を加える必要があり、高信頼システムを短期間に開発することの妨げになり得る。そこで、ＥＣＣビットのためのハードウェアを追加せずともＥＣＣを付加した通信を実現することが考えられる。
【０００５】
図１３は、高信頼化を行っていない従来のバスシステムの例を示す図である。以降のバスシステムでは、いずれのデータ転送もバスクロックに同期して動作するものとして説明する。送信部１０１内の送信データ作成部１０４で作成された送信データは、データ出力部１０６からバス１０３を通って、受信部１０２内のデータ入力部１０９で受信され、受信部１０２内でデータとして使用される。
【０００６】
図１３に示したバスシステムで転送を行う場合のタイミングチャートの例を図１４に示す。図１４に示すバスクロックの立ち上がりエッジＣ０で送信データＤ１をデータ出力部１０６から送信し、次の立ち上がりエッジＣ２でデータ入力部１０９が受信する。以下同様に、データＤ２、Ｄ３、Ｄ４と送信、受信が行われる。ここで、バスシステムの送信データにＥＣＣを加え、バス幅を増やさずに転送する場合のバスシステムの例を図１５に示す。
【０００７】
図１５に示す送信部２０６内の送信データ作成部２０４で作成された送信データは、ＥＣＣ生成部２０５にてデータに対応するＥＣＣが生成され、データ出力部２０６に送られる。このデータ出力部２０６内には出力タイミング制御部２１１があり、ＥＣＣとデータを送信するタイミングを調整する。受信部２０２内のデータ入力部２０９内には入力タイミング制御部２１２があり、ＥＣＣとデータを受信するタイミングを調整し、ＥＣＣ訂正部２１３に送信し、ＥＣＣ訂正部２１３は受信したデータとＥＣＣビットから誤り訂正を行う。図１５に示したバスシステムで転送を行う場合のタイミングチャートの例を図１６に示す。
【０００８】
図１６に示す立ち上がりエッジＣ０で、データＤ１に対するＥＣＣ１をデータ出力部２０６が送信し、次の立ち上がりエッジＣ２で、データ入力部２０９がＥＣＣ１を受信する。同じ立ち上がりエッジＣ２でデータ出力部２０６はデータＤ１本体を送信し、次の立ち上がりエッジＣ４でデータ入力部２０９がデータＤ１を受信する。ＥＣＣ２、データ２の送受信も同様である。ここで、バス２０３はデータ部分のビット幅しかないため、出力タイミング制御部２１１と入力タイミング制御部２１２を設計して、ＥＣＣとデータ本体のタイミング調整を図る必要がある。また、特許文献１には、ＥＣＣを付加したデータ転送において、バス幅を増加させずに高信頼なデータ転送を行う例が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−３５４３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、従来のバスシステムにＥＣＣを付加して転送を行う高信頼なバスシステムについて、本発明者が検討した結果、以下のようなことが明らかとなった。
【００１１】
ＥＣＣビット用のビット幅を増やさないようにバスシステムを改変するためには、データを送信するバスでＥＣＣも転送する必要があるが、ＥＣＣとデータ本体のタイミング調整を行うために、出力タイミング制御部と入力タイミング制御部を新規に設計する必要があった。このため、例えばデバッグ用途や、高信頼機能確認のためのエラー注入用途といった、開発時には必要だがシステムの実運用時には使用しないため高信頼化が不要な既存モジュールとの通信をする場合においても、既存モジュールのデータ受信部分に改造が必要になってしまうという問題があった。
【００１２】
また、ＥＣＣビット用のビット幅を増やさないように転送するためには、図１６に示したように、データを転送するサイクルとは別に、ＥＣＣを転送するサイクルを設ける必要があり、転送のオーバヘッドが大きくなるという問題があった。
【００１３】
また更に、前記特許文献１には、ＥＣＣビット用のビット幅を増やさないようにして高信頼なデータを転送する仕組みが記載されているが、ＥＣＣを転送するサイクルを送信側と受信側で新規に決めておく仕組みを実装しておく必要があるため、やはり、高信頼化が不要な既存モジュールについても改造が必要になってしまうという問題があった。
【００１４】
そこで、本発明は、産業制御システムなどのコントローラに使用されるバスシステムにおいて、高信頼化が不要な設計済みの既存モジュールのバスの仕様を変更することなく、新規に高信頼が必要なモジュールのみを新規設計して、例えば、バスシステムを有するコントローラ及びそれを使った産業制御システムに用いられるデータ送信装置、データ受信装置、およびバスシステムを容易に構築できるようにする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本題は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、送信データ作成部と、前記送信データ作成部から出力される送信データのＥＣＣを生成するＥＣＣ生成部と、前記送信データと前記ＥＣＣを送信するデータ出力部と、を備えた送信部を有するバスシステムにおいて用いられるデータ送信装置であって、前記データ出力部は、バスクロックの立ち上がりに同期して前記ＥＣＣを送信する立ち上がりＥＣＣ送信部と、前記バスクロックの立ち下がりに同期して前記送信データを送信する立ち下がりデータ送信部と、を備えることを特徴とする。
【００１６】
また、ＥＣＣと送信データを受信するデータ入力部と、前記ＥＣＣと前記送信データからＥＣＣ訂正を行うＥＣＣ訂正部と、を備えた受信部を有するバスシステムにおいて用いられるデータ受信装置であって、前記データ入力部は、前記バスクロックの立ち下がりに同期して前記ＥＣＣを受信する立ち下がりＥＣＣ受信部と、前記バスクロックの立ち上がりに同期して前記送信データを受信する立ち上がりデータ受信部と、を備えることを特徴とする。
【００１７】
また、送信データ作成部と、前記送信データ作成部から出力される送信データのＥＣＣを生成するＥＣＣ生成部と、前記送信データと前記ＥＣＣを送信するデータ出力部と、を備えたデータ送信装置と、前記ＥＣＣと前記送信データを受信するデータ入力部と、前記ＥＣＣと前記送信データからＥＣＣ訂正を行うＥＣＣ訂正部と、を備えたデータ受信装置と、を有するバスシステムであって、前記データ送信装置が有する前記データ出力部は、バスクロックの立ち上がりに同期して前記ＥＣＣを送信する立ち上がりＥＣＣ送信部と、前記バスクロックの立ち下がりに同期して前記送信データを送信する立ち下がりデータ送信部と、を備え、前記データ受信装置が有する前記データ入力部は、前記バスクロックの立ち下がりに同期して前記ＥＣＣを受信する立ち下がりＥＣＣ受信部と、前記バスクロックの立ち上がりに同期して前記送信データを受信する立ち上がりデータ受信部と、を備えることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、ＥＣＣを付加するバスシステムに対し、高信頼化が不要な既存モジュールを改造することなく容易に高信頼なバスシステムに組み込める仕組みを提供することができ、例えば、コントローラやコントローラを使った産業制御システムに用いられるデータ送信装置、データ受信装置、およびバスシステムを短期間でより簡単に設計することが可能になる。
【００１９】
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００２０】
【図１】本発明のバスシステムにおける、高信頼な送信部の例である。
【図２】本発明のバスシステムにおける、高信頼な受信部の例である。
【図３】実施例１における、高信頼な送信部と高信頼な受信部を接続した例である。
【図４】図３に示した送信部と受信部で、バスクロック１サイクルでＥＣＣとデータの送受信を行うタイミングチャートの例である。
【図５】図３に示した送信部と受信部で、バスクロック２サイクルでＥＣＣとデータの送受信を行うタイミングチャートの例である。
【図６】実施例２における、高信頼な送信部と高信頼不要な既存のモジュールである受信部を接続した例である。
【図７】図６に示した送信部と受信部でＥＣＣとデータの送受信を行うタイミングチャートの例である。
【図８】実施例３における、高信頼なモジュールＡと高信頼なモジュールＢでデータの送受信を行うブロック図の例である。
【図９】実施例３における、高信頼なモジュールＡと高信頼不要な既存モジュールＣでデータの送受信を行うブロック図の例である。
【図１０】実施例３における、高信頼なモジュールＡと、高信頼なモジュールＢ、高信頼不要な既存モジュールＣでデータの送受信を行うブロック図の例である。
【図１１】実施例４における、ＥＣＣの転送時にＥＣＣ以外の情報を含める場合の例である。
【図１２Ａ】実施例５における、コントローラ及びそれを使用した産業制御システムの例である（産業制御システム）。
【図１２Ｂ】実施例５における、コントローラ及びそれを使用した産業制御システムの例である（情報処理システム）。
【図１３】従来のバスシステムにおける送信部と受信部の例である。
【図１４】図１３に示した送信部と受信部で、データの送受信を行うタイミングチャートの例である。
【図１５】従来のバスシステムにおける、高信頼な送信部と高信頼な受信部の例である。
【図１６】図１５に示した送信部と受信部で、ＥＣＣとデータの送受信を行うタイミングチャートの例である。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照して、本発明にかかるデータ送信装置、データ受信装置、およびバスシステムの実施の形態を詳細に説明する。以降のバスシステムでは、いずれのデータ転送もバスクロックに同期して動作するものとして説明する。
【実施例１】
【００２２】
図１は、本実施の形態におけるバスシステムにおける送信部の例を示した図であり、図２は、本実施の形態におけるバスシステムの受信部の例を示した図である。図１に示す送信部と図２に示す受信部を接続して示した例が図３であるため、図３を用いて本実施の形態におけるバスシステムを説明する。図３に示すバスシステムは、送信部１からバス３を介して受信部２にデータを送信する。送信されるデータには１ビットエラー訂正と２ビットエラー検出ができるＥＣＣを付加して、バスシステムの可用性を高めるものとする。
【００２３】
送信部１内の送信データ作成部４から、送信するデータを作成してＥＣＣ生成部５とデータ出力部６に送信する。ＥＣＣ生成部５では、送信するデータに対応するＥＣＣを生成してデータ出力部６に送信する。
【００２４】
データ出力部６は、立ち上がりＥＣＣ送信部７および立ち下がりデータ送信部８を有する。この立ち上がりＥＣＣ送信部７は、バスクロックの立ち上がりに同期してデータのＥＣＣを送信する。また立ち下がりデータ送信部８は、バスクロックの立ち下がりに同期してデータ本体を送信する。データ出力部６から出力されたＥＣＣおよびデータは、バス３を介して受信部２内のデータ入力部９で受信される。
【００２５】
このデータ入力部９は、立ち下がりＥＣＣ受信部１０および立ち上がりデータ受信部１１を有する。この立ち下がりＥＣＣ受信部１０は、バスクロックの立ち下がりに同期してデータのＥＣＣを受信する。また立ち上がりデータ受信部１１は、バスクロックの立ち上がりに同期してデータ本体を受信する。データ入力部９で受信したＥＣＣおよびデータはＥＣＣ訂正部１２で受信され、誤り訂正が施されたデータとなって、受信部２内、またはその先のシステムにて使用される。
【００２６】
図３に示したバスシステムでデータ転送を行う場合のタイミングチャートの例を図４に示す。図４は、送信部１と受信部２でのデータ転送を、バスクロックに同期して１サイクルで行う場合の例を示している。バスクロックの立ち上がりエッジＣ０において、送信部１のデータ出力部６内にある立ち上がりＥＣＣ送信部７から、データＤ１に対応するＥＣＣ１を先に送信し、立ち下がりエッジＣ１において、立ち下がりデータ送信部８からデータＤ１を送信する。一方、受信部２では、バスクロックの立ち下がりエッジＣ１において、データ入力部９内にある立ち下がりＥＣＣ受信部１０でＥＣＣ１を先に受信し、立ち上がりエッジＣ２において、立ち上がりデータ受信部１１でデータＤ１を受信する。受信部２内のＥＣＣ訂正部１２では、このＥＣＣ１を使ってデータＤ１の誤り訂正を行う。
【００２７】
同様に、バスクロックの立ち上がりエッジＣ２において送信部１がＥＣＣ２を送信し、立ち下がりエッジＣ３において受信部２がＥＣＣ２を受信し、立ち下がりエッジＣ３において送信部１がデータＤ２を送信し、立ち上がりエッジＣ４において受信部２がデータＤ２を受信する。受信部２内のＥＣＣ訂正部１２では、このＥＣＣ２を使ってデータＤ２の誤り訂正を行う。以降のＥＣＣ３とデータＤ３、ＥＣＣ４とデータＤ４についても同様である。
【００２８】
また、図５は、図３に示したバスシステムの送信部１と受信部２でのデータ転送を、バスクロックに同期して２サイクルで行う場合の例である。図５では、バスクロックの立ち上がりエッジＣ０において送信部１が送信したＥＣＣ１が、バスクロックの立ち下がりエッジＣ３において受信部２で受信され、バスクロックの立ち下がりエッジＣ１において送信部１が送信したデータＤ１が、バスクロックの立ち上がりエッジＣ４において受信部２で受信される。
【００２９】
このように、本実施の形態におけるバスシステムでは、送信側ではバスクロックの立ち上がりに同期してＥＣＣを送信し、受信側ではバスクロックの立ち下がりに同期してＥＣＣを受信し、また、送信側でバスクロックの立ち下がりに同期してデータを送信し、受信側ではバスクロックの立ち上がりに同期してデータを受信する点を特徴とする。
【００３０】
これらのことにより、高信頼化していない既存のバスシステムに対し、ＥＣＣビット用のバス幅を新規に設ける必要がなくなる。また、立ち下がりエッジに同期してＥＣＣを転送する構成としているため、従来の立ち上がりエッジに同期したデータの送受信に対してサイクルオーバヘッドを増加することなく高信頼なバスシステムを実現することが可能になり、このバスシステムを使ったコントローラやコントローラを使った産業制御システムを早期に開発することが可能になる。
【実施例２】
【００３１】
図６は、本実施の形態におけるバスシステムにおける、高信頼な送信部と、高信頼不要な既存モジュールを受信部として接続した場合の例である。なお、送信部１は実施例１と同じ構成であるため詳細説明は省略する。図６に示す受信部２１は、高信頼不要な既存モジュールであり、バス転送時のＥＣＣに対応する回路を実装していない。受信部２１内のデータ入力部２２は、バスクロックの立ち上がりに同期してデータを受信する回路であり、バス３を介して送信部１と接続されている。
【００３２】
図７に、図６に示したバスシステムでデータ転送を行う場合のタイミングチャートの例を示す。送信部１はＥＣＣに対応した高信頼モジュールであるため、データ出力部６内の立ち上がりＥＣＣ送信部７により、バスクロックの立ち上がりエッジＣ０において、データＤ１に対応するＥＣＣ１を送信する。また、立ち下がりデータ送信部８により、バスクロックの立ち下がりエッジＣ１において、データＤ１を送信する。
【００３３】
一方、受信部２１は、ＥＣＣに対応していない既存モジュールであり、データ入力部２２はバスクロックの立ち上がりに同期してデータを受信する機能しか持たない。よって、送信部１から送信されたＥＣＣ１は無視され、送信されたデータＤ１のみを、バスクロックの立ち上がりエッジＣ２において受信し、受信部２２内およびその先のモジュールで使用する。以降のＥＣＣ２とデータＤ２、ＥＣＣ３とデータＤ３、ＥＣＣ４とデータＤ４およびそれ以降に送信されるＥＣＣとデータについても同様である。
【００３４】
これらのことにより、高信頼化していない既存のバスシステムに対し、ＥＣＣビット用のバス幅を新規に設ける必要がなくなる。また、高信頼化している送信側ではバスクロックの立ち下がりエッジに同期してＥＣＣを転送し、立ち上がりエッジにデータを送信することで、高信頼化していない受信側では従来通り、バスクロックの立ち上がりに同期してデータのみ受信する構成としているため、高信頼なバスシステムに、高信頼化の不要な既存モジュールを改造不要で組み込むことが可能になる。
【実施例３】
【００３５】
図８は、本実施の形態におけるバスシステムにおける、高信頼なデータの送受信を双方向で行うバスシステムの例である。モジュールＡ（４１）は、データ送信を行う部分として、実施例１の図１に示した送信部の機能と同様に、送信データ作成部４、ＥＣＣ生成部５、データ出力部６をもち、データ出力部６内には立ち上がりＥＣＣ送信部７および立ち下がりデータ送信部８がある。このデータ出力部６から出力されたデータはバス３を介してモジュールＢ（４２）に接続している。
【００３６】
モジュールＢ（４２）は、データ受信を行う部分として、実施例１の図２に示した受信部の機能と同様に、データ入力部９、ＥＣＣ訂正部１２をもち、データ入力部９内には立ち下がりＥＣＣ受信部１０および立ち上がりデータ受信部１１がある。一方、モジュールＢ（４２）は、データ送信を行う部分として、実施例１の図１に示した送信部の機能と同様に、送信データ作成部５４、ＥＣＣ生成部５５、データ出力部５６をもち、データ出力部５６内には立ち上がりＥＣＣ送信部５７および立ち下がりデータ送信部５８がある。このデータ出力部５６から出力されたデータはバス５３を介してモジュールＡ（４１）に接続している。
【００３７】
また一方で、モジュールＡ（４１）は、データ受信を行う部分として、実施例１の図２に示した受信部の機能と同様に、データ入力部５９、ＥＣＣ訂正部６２をもち、データ入力部５９内には立ち下がりＥＣＣ受信部６０および立ち上がりデータ受信部６１がある。モジュールＡ（４１）およびモジュールＢ（４２）内の各機能ブロックはこれまでの実施例にて説明した通りの動作を行い、モジュールＡ（４１）とモジュールＢ（４２）間のバス３とバス５３でのデータ転送は、図４や図５に示したタイミングチャートに示したように、送信側ではバスクロックの立ち上がりエッジにおいてＥＣＣを送信し、バスクロックの立ち下がりエッジにおいてデータを送信する。また受信側ではバスクロックの立ち下がりエッジにおいてＥＣＣを受信し、バスクロックの立ち上がりエッジにおいてデータを受信する。
【００３８】
また図９は、本実施の形態のバスシステムにおける、ＥＣＣに対応した高信頼なモジュールと高信頼不要な既存モジュールとの間でデータの送受信を双方向で行うバスシステムの例である。モジュールＡ（４１）は図８に示したものと同じ構成であるため詳細説明は省略する。モジュールＣ（４３）は、高信頼不要でＥＣＣ対応の改造が必要ない既存モジュールである。モジュールＣ（４３）内のデータ入力部２２は、バスクロックの立ち上がりに同期してデータを受信する回路であり、送信データ作成部５４からのデータを送信するデータ出力部２３は、バスクロックの立ち上がりに同期してデータを送信する回路である。
【００３９】
モジュールＡ（４１）からバス３を介してモジュールＣ（４３）にデータが送信され、反対に、モジュールＣ（４３）からバス５３を介してモジュールＡ（４１）にデータが送信される。モジュールＡ（４１）からモジュールＣ（４３）に送信されるデータのタイミングチャートは、図７に示したように、高信頼なモジュールＡ（４１）からＥＣＣとデータを送信し、高信頼不要なモジュールＣ（４３）ではデータのみ受信する。
【００４０】
一方、高信頼不要なモジュールＣ（４３）から高信頼なモジュールＡ（４１）へ送信されるデータは、ＥＣＣが付加されておらず、データ本体のみとなる。この場合、データ入力部５９では、立ち下がりＥＣＣ受信部６０にてデータをＥＣＣと認識して受信してしまうことになるが、システム上ではこれをｄｏｎ‘ｔ  ｃａｒｅとして無視し、ＥＣＣ訂正部６２を使用しない。立ち上がりデータ受信部６１で受信したデータをそのままデータ線７１を介し、モジュールＡ（４１）内およびその先のモジュールで使用する。
【００４１】
図１０は、図８で示した高信頼モジュールＡ（４１）、高信頼モジュールＢ（４２）と、図９で示した高信頼不要な既存モジュールＣ（４３）について、モジュールＡ（４１）に、モジュールＢ（４２）とモジュールＣ（４３）を接続する場合のバスシステムの例である。モジュールＡ（４１）は高信頼モジュールであるため、ＥＣＣおよびデータをモジュールＢ（４２）との間で送受信する。一方、モジュールＣ（４３）は高信頼不要な既存モジュールであるため、モジュールＡ（４１）からＥＣＣおよびデータが送信されてきても、バスクロックの立ち上がりエッジでデータのみを受信し、モジュールＡ（４１）に対してはデータのみを送信し、モジュールＡ（４１）内でＥＣＣに対応する部分は無視して処理される。
【００４２】
このように、モジュール間でバスを増やすことにより、ＥＣＣに対応した高信頼なモジュール同士であればデータ転送を双方向で高速に行うことが可能となる。また、通信するモジュールの一方が高信頼化の不要な既存モジュールである場合でも、既存モジュールは改造不要で組み込むことが可能になる。
【００４３】
図１１に、上述した実施例１〜４に示したバスシステムにおける、データ転送のフォーマットの例を示す。本実施の形態におけるＥＣＣに対応した高信頼なバスシステムでのデータ転送は、例えば図４、図５に示したタイミングチャートのように実行される。
【００４４】
ここで、一般に、転送データに対して誤り訂正のＥＣＣビットを付加する場合、例えば、３２ビットのデータに対しては７ビットを付加し、６４ビットのデータに対しては８ビットを付加することが知られている。このように、ＥＣＣビットのビット幅は、データ本体のビット幅に対して非常に小さい。つまり、図４や図５に示したタイミングチャートにおいて、ＥＣＣの転送を示しているバスサイクルでは、バス幅に対して転送できるビット数の一部を使用しているにすぎない。よって、ＥＣＣの転送サイクルにおいて、ＥＣＣビット以外の情報を含めて送信することも可能である。
【００４５】
図１１（ａ）は、ＥＣＣビットを最下位に配置し、上位ビット部分にモジュール識別子３１を配置した場合の例である。本システムは、１つの装置が他の1つまたは複数の装置を一方的に制御するようなマスタ−スレーブの関係にある装置やシステムに対して適用することも可能であり、例えば、一つのマスタと複数のスレーブでデータの送受信を行うバスシステムにおいて、スレーブからマスタに対して固有のモジュール識別子をＥＣＣと同時に送信する。受信したマスタは、どのスレーブから送信されたデータかを確認することができ、より信頼性の高い、きめ細かな制御を行うことが可能になる。
【００４６】
図１１（ｂ）は、ＥＣＣビットを最下位に配置し、上位ビット部分にシーケンス番号３２を配置した場合の例である。例えば、バスシステムにおいて、送信するデータに順番が決まっておらず、順番が入れ替わって送信される場合において、転送データのシーケンス番号をＥＣＣと同時に送信する。受信側で、シーケンス番号をチェックしてデータの並びを順番通りに並べ替えるなど、より効率の良い制御を行うことが可能になる。
【００４７】
図１１（ｃ）は、ＥＣＣビットを最下位に配置し、上位ビット部分にタイムスタンプ３３を配置した場合の例である。例えば、バスシステムにおいて、転送されたデータの時刻のログを残しておきたい場合において、転送データのタイムスタンプをＥＣＣと同時に送信する。受信側で、タイムスタンプをチェックして、データとタイムスタンプデータとを対応付けて一緒に保存しておくことで、例えばどの時刻に異常なデータ送信が行われたかなどを解析できるシステムの実現が可能になる。
【００４８】
なお、図１１では、ＥＣＣビットを最下位に配置した例で示したが、空いているどの部分に配置しても良い。また、ＥＣＣ以外に含める情報のビット数が小さい場合は、図１１（ｄ）に示すように、モジュール識別子３１、シーケンス番号３２、タイムスタンプ３３など、複数の情報を一度に送信するフォーマットにしてもよい。
【００４９】
また、ＥＣＣビットと同時に送信する情報として、１ビットの誤りを検出するパリティビットや、巡回冗長符号（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｏｄｅ）、リード・ソロモン符号など、送信するデータのビット幅に余裕がある限り、様々な情報を送信することに応用できる。これらのことにより、ＥＣＣビット以外に様々な情報を同時に送信することで、バスシステムの信頼性をより高めたり、よりきめ細かな制御を行ったりすることが可能になる。
【００５０】
図１２Ａには、上述した実施例１〜４に示したバスシステムを有するコントローラを使った産業制御システムの一例を示す。
【００５１】
図１２Ａに示す産業制御システムは、発電プラント３０５を制御するものである。制御端末３０１からの指示がバス３１２からコントローラ３０３に伝わり、Ｉ／Ｏ制御３０７からＩ／Ｏ装置３０４を介して指示を送信し、発電プラントを制御する。この制御端末３０１からの指示が誤って発電プラント３０５に伝わってしまうと、発電プラントが正常な動作をしなくなり甚大な被害が出るおそれがあるため、制御端末３０１とコントローラ３０３を接続するバス３１１とバス３１２は、ＥＣＣを用いて高信頼な通信を行う。
【００５２】
ここで、デバッグ用端末３０２は、コントローラ３０３のＩ／Ｏ制御の不具合を調査するデバッグ用の端末である。デバッグ用端末３０２は、デバッグ制御３０８と接続されているが、Ｉ／Ｏ制御３０７からのデータを解析するために使用するものであり、発電プラント３０５を直接制御するわけではない。このため、コントローラ３０３のＣＰＵモジュール３０６がバス３１３を介して高信頼な通信のためのＥＣＣをデータと一緒に送信してきても、デバッグ用端末は高信頼化をせずに従来のデータのみをバス３１４から出力する仕様のままでよい。
【００５３】
これらのことにより、上述した実施例１〜４に示したバスシステムを適用することで、コントローラを用いた産業制御システムなどにおいて、高信頼な部分と高信頼が不要な部分とに分割して設計でき、高信頼が不要な部分は従来の設計資産をそのまま活用できるため、システムを早期に開発することが可能になる。
【００５４】
また、実施例１〜４に示したバスシステムは、上述したコントローラを用いた産業制御システム以外の情報処理システムに対しても、同様に広く適用することが可能である。例えば、正確な時刻を計時することが求められるタイムスタンプシステムにおいて、システム内で故障や異常が発生しても、正確に時刻を計時する必要があるために可用性を高めることが求められる。したがって、上述した産業制御システムと同様に、コントローラの信頼性や可用性を高めることが重要となる。
【００５５】
図１２Ｂには、上述した実施例１〜４に示したバスシステムを有するコントローラを使った情報処理システムの一例を示す。
【００５６】
図１２Ｂに示す情報処理システムは、時刻監査サーバ３０５１を制御するものである。クライアント制御端末３０１１からの指示がバス３１２からタイムスタンプ装置３０３１に伝わり、Ｉ／Ｏ制御３０７１から通信装置３０４１を介して指示を送信し、時刻監査サーバを制御する。このクライアント制御端末３０１からの指示が誤って時刻監査サーバ３０５１に伝わってしまうと、正確な時刻の計時や監査が行われなくなるおそれがあるため、クライアント制御端末３０１１とタイムスタンプ装置３０３１を接続するバス３１１とバス３１２は、ＥＣＣを用いて高信頼な通信を行う。
【００５７】
ここで、開発用端末３０２１は、タイムスタンプ装置３０３１のＩ／Ｏ制御や装置内部の不具合を調査したり、新たなシステムを開発するデバッグ用・開発用の端末である。開発用端末３０２１は、開発テスト制御３０８１と接続されているが、Ｉ／Ｏ制御３０７１からのデータを解析するために使用するものであり、時刻監査サーバ３０５１を直接制御するわけではない。このため、タイムスタンプ装置３０３１のＣＰＵモジュール３０６１がバス３１３を介して高信頼な通信のためのＥＣＣをデータと一緒に送信してきても、デバッグ用端末は高信頼化をせずに従来のデータのみをバス３１４から出力する仕様のままでよい。
【００５８】
これらのことにより、上述した実施例１〜４に示したバスシステムを適用することで、このような情報処理システムにおいても、上述した産業制御システムの場合と同様に、高信頼な部分と高信頼が不要な部分とに分割して設計でき、高信頼が不要な部分は従来の設計資産をそのまま活用できるため、システムを早期に開発することが可能になる。
【００５９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００６０】
１  送信部
２、２１  受信部
３、５３  バス
４、５４  送信データ作成部
５、５５  ＥＣＣ生成部
６、２３、５６  データ出力部
７、５７  立ち上がりＥＣＣ送信部
８、５８  立ち下がりデータ送信部
９、２２、５９  データ入力部
１０、６０  立ち下がりＥＣＣ受信部
１１、６１  立ち上がりデータ受信部
１２、６２  ＥＣＣ訂正部
３１  モジュール識別子
３２  シーケンス番号
３３  タイムスタンプ
４１  モジュールＡ
４２  モジュールＢ
４３  モジュールＣ
７１  データ線
３０１、３０２  制御端末
３０３  コントローラ
３０４  Ｉ／Ｏ装置
３０５  発電プラント
３０１１  クライアント制御端末
３０２１  開発用端末
３０３１  タイムスタンプ装置
３０４１  通信装置
３０５１  時刻監査サーバ。
【図１】
2014116894.tif 000003
【図２】
2014116894.tif 000004
【図３】
2014116894.tif 000005
【図４】
2014116894.tif 000006
【図５】
2014116894.tif 000007
【図６】
2014116894.tif 000008
【図７】
2014116894.tif 000009
【図８】
2014116894.tif 000010
【図９】
2014116894.tif 000011
【図１０】
2014116894.tif 000012
【図１１】
2014116894.tif 000013
【図１２Ａ】
2014116894.tif 000014
【図１２Ｂ】
2014116894.tif 000015
【図１３】
2014116894.tif 000016
【図１４】
2014116894.tif 000017
【図１５】
2014116894.tif 000018
【図１６】
2014116894.tif 000019