(57)【要約】【課題】  簡単なフレーム構造をとりつつ、高信頼性を発揮できる伝送システムを提供すること【解決手段】  高信頼性伝送が必要なコマンドを送信するフレームオーマットを、ＳＦＤ領域，正転ヘッダ領域，正転データ領域，正転用チェック領域，反転ヘッダ領域，反転データ領域，反転用チェック領域とした。各データ領域に、コマンドデータ及びそれを反転したデータを格納する。同様にレスポンスについては、データ領域にレスポンスデータ（正転／反転）を格納する。チェック領域には、ヘッダ領域とデータ領域のチェックを行うチェックコードを格納する。受信側では、正転用と反転用の２つのチェックコードによるチェックと、正転ヘッダ領域と反転ヘッダ領域との比較と、正転データ領域と反転データ領域との比較を行ない、全ての比較結果が正しい関係にあることを条件に正常に受信する。【選択図】        図４
2009049642.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の装置間でデータ伝送を行う伝送システムであって、
送信側の装置は、正転ヘッダ領域，正転データ領域，正転用チェック領域からなる正転パケットと、反転ヘッダ領域，反転データ領域，反転用チェック領域からなる反転パケットと、を受信側の装置に向けて送信する手段を備え、
前記正転用チェック領域には、前記正転ヘッダ領域と前記正転データ領域のチェックを行うチェックコードを格納し、前記反転用チェック領域には、前記反転ヘッダ領域と前記反転データ領域のチェックを行うチェックコードを格納するようにし、
受信側の装置は、
受信した正転ヘッダ領域と正転データ領域に基づいて算出したチェックコードと、正転用チェック領域に格納されたチェックコードとを比較する正転用チェックコード比較手段と、
受信した反転ヘッダ領域と反転データ領域に基づいて算出したチェックコードと、反転用チェック領域に格納されたチェックコードとを比較する反転用チェックコード比較手段と、
正転ヘッダ領域と反転ヘッダ領域とを比較するヘッダ領域比較手段と、
正転データ領域と反転データ領域とを比較するデータ領域比較手段と、
を備え、それら全ての比較結果が正しい関係にあることを条件に正常に受信したと判断し、内部に取り込むようにした、
ことを特徴とする伝送システム。
【請求項２】
前記正転パケットと前記反転パケットとは、１つのフレームで送信するようにしたことを特徴とする請求項１に記載の伝送システム。
【請求項３】
前記正転パケットと前記反転パケットとをそれぞれ別のフレームで送信するともとに、それら各フレームには、ＩＤ情報を組み込んで関連づけをするようにし、
受信側の装置では、そのＩＤ情報に基づいて各パケットを組み合わせ、前記各比較手段による比較処理を行なうようにしたことを特徴とする請求項１に記載の高信頼性伝送システム。
【請求項４】
高信頼性を要求されるデータは、前記正転パケットと前記反転パケットを用いた通信により送信し、
高信頼性を要求されないデータは、前記正転パケットと同一構成からなるフレームにて送信するように構成したことを特徴とする請求項１から４のいずれか１項に記載の伝送システム。
【請求項５】
前記送信側の装置における正転パケット並びに反転パケットを作成し、送信する手段、並びに前記受信側の装置における各比較手段は、それぞれ通信コントローラＡＳＩＣにより構成されることを特徴とする請求項１から４のいずれか１項に記載の伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、高信頼性伝送を行なうための伝送システムに関するものである。
【背景技術】
【０００２】
ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）におけるネットワークシステムは、生産設備の制御を司るＰＬＣ（プログラマブルコントローラ）と、そのＰＬＣにより動作が制御される機器とが、制御系のネットワークに接続される。それらＰＬＣと機器は、その制御系のネットワークを介してサイクリックに通信を行なうことで、ＩＯデータの送受を行ない、生産設備を制御する。
【０００３】
このネットワークを構成するノード機器間でデータを送受するためのデータ伝送システムの一つとして、マスタ−スレーブ１：Ｎ通信システムがある。この通信システムは、１つのマスタと複数のスレーブとにより構成される。マスタは、バス管理機能を持つ。スレーブは、マスタからのポーリングにしたがって、レスポンスを返送する。
【０００４】
図１（ａ）は、この伝送システムにおける伝送プロトコルフォーマットの一例を示している。このプロトコルフォーマットは、先頭からスタートフレームデリミタ（ＳＦＤ）領域，ヘッダ領域，データ領域，チェック（ＣＲＣ）領域を有する。スタートフレームデリミタは、フレームの開始を表すフレーム同期コードである。ヘッダは、フレームの宛先，送信元，種別，データサイズなどの情報が含まれる。データは、アプリケーションによって定義されるもので、実際に送信したい内容である。チェック領域には、フレームチェックシーケンスとしてＦＣＳコードが格納される。このＦＣＳコードは、ヘッダとデータのチェックを行うためのものである。
【０００５】
図１（ｂ）は、伝送プロトコルフォーマットの別の例を示している。このプロトコルフォーマットでは、ヘッダ領域とデータ領域との間にヘッダ領域のチェックを行なうためのＦＣＳコードを格納する第１チェック領域を設けるとともに、データ領域の後にデータ領域をチェックするためのＦＣＳコードを格納する第２チェック領域を設けている。このようにすると、スレーブは、ヘッダを受信直後にヘッダについてのＦＣＳチェックを行うことができる。従って、スレーブは、レスポンスの準備を行いながらデータを受信することができ、レスポンス応答性を向上させることも出来る。
【０００６】
一方、データの誤り見逃し率を単独のＦＣＳによるものと比べて遙かに向上させた高信頼性の伝送プロトコルを実現するためには、一般的には、図１に示すフィールドバスにおける伝送プロトコルのデータ部分を冗長することにより行なう。具体的には、反転二連送照合が有効であり、加えてそれぞれの正転ＦＣＳと反転ＦＣＳチェックを行うことで高信頼性となる。つまり、データ部の内容を図２のように、データ部分に、本来伝送すべきデータ内容である正転データと、その正転データを反転させた反転データとを設けるとともに、各正転データと反転データのそれぞれに各データをチェックするためのＦＣＳコードを格納するチェック領域を設けたデータ構造とする。また、図１（ｂ）と同様に、ヘッダ領域とデータ領域との間にヘッダ領域のチェックを行なうためのＦＣＳコードを格納するチェック領域を設けたものにも対応できる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＡＳＩＣによってフレームを処理することを前提とすると、論理回路の単純化をはかるためには、よりシンプルな構造であることが望ましい。しかし、図２（ａ）のフレーム構造をとった場合、ＦＣＳのチェックが３回必要となり、図２（ｂ）のフレーム構造をとった場合、ＦＣＳのチェックは４回必要となるので複雑となる。複数のＦＣＳコードが存在するとともに、ＦＣＳの演算範囲（演算対象のデータ長）が複数種類存在することになるので、複雑となる。
【０００８】
さらに、データについては複数回チェックされて高信頼性が得られるものの、図２（ａ），（ｂ）に示すいずれの場合も、ヘッダ情報については１つのＦＣＳでのみチェックされており、データよりもかなり信頼性が劣っているという問題がある。
【０００９】
この発明の目的は、簡単なフレーム構造をとりつつ、高信頼性を発揮できる伝送システムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するため、本発明に係る伝送システムは、（１）ネットワークに接続された複数の装置間でデータ伝送を行う伝送システムであって、送信側の装置は、正転ヘッダ領域，正転データ領域，正転用チェック領域からなる正転パケットと、反転ヘッダ領域，反転データ領域，反転用チェック領域からなる反転パケットと、を受信側の装置に向けて送信する手段を備える。そして、前記正転用チェック領域には、前記正転ヘッダ領域と前記正転データ領域のチェックを行うチェックコードを格納し、前記反転用チェック領域には、前記反転ヘッダ領域と前記反転データ領域のチェックを行うチェックコードを格納するようにした。更に、受信側の装置は、受信した正転ヘッダ領域と正転データ領域に基づいて算出したチェックコードと、正転用チェック領域に格納されたチェックコードとを比較する正転用チェックコード比較手段と、受信した反転ヘッダ領域と反転データ領域に基づいて算出したチェックコードと、反転用チェック領域に格納されたチェックコードとを比較する反転用チェックコード比較手段と、正転ヘッダ領域と反転ヘッダ領域とを比較するヘッダ領域比較手段と、正転データ領域と反転データ領域とを比較するデータ領域比較手段と、を備え、それら全ての比較結果が正しい関係にあることを条件に正常に受信したと判断し、内部に取り込むようにした。
【００１１】
正転（反転）データ領域は、実施形態では、正転（反転）データ領域と正転（反転）レスポンスデータ領域に対応するものである。つまり、送信側の装置は、実施形態ではコマンドの送信についてはマスタであり、レスポンスの送信についてはスレーブとなる。受信側の装置は、実施形態ではコマンドの受信についてはスレーブであり、レスポンスの受信についてはマスタとなる。
【００１２】
また、正転用チェックコード比較手段は、実施形態ではＦＣＳ−１チェック部１４ｅ，２３ｅに対応し、反転用チェックコード比較手段は、実施形態ではＦＣＳ−２チェック部１４ｆ，２３ｆに対応する。ヘッダ領域比較手段とデータ領域比較手段は、実施形態ではそれぞれ受信コントロール部１４ａ，２３ａにより実現され、処理ステップＳ１７，Ｓ２８，Ｓ１８，Ｓ２９の分岐処理を実行する部分に対応する。
【００１３】
（２）前記正転パケットと前記反転パケットとは、１つのフレームで送信するようにしすることができる。これは、実施形態では、図４に示すフレームフォーマットとすることで実現できる。
【００１４】
（３）また、前記正転パケットと前記反転パケットとをそれぞれ別のフレームで送信するともとに、それら各フレームには、ＩＤ情報を組み込んで関連づけをするようにし、受信側の装置では、そのＩＤ情報に基づいて各パケットを組み合わせ、前記各比較手段による比較処理を行なうようにすることもできる。これは、実施形態では、図１１に示すフレームフォーマットとすることで実現できる。
【００１５】
（４）高信頼性を要求されるデータは、前記正転パケットと前記反転パケットを用いた通信により送信し、高信頼性を要求されないデータは、前記正転パケットと同一構成からなるフレームにて送信するように構成することができる。
【００１６】
（５）前記送信側の装置における正転パケット並びに反転パケットを作成し、送信する手段、並びに前記受信側の装置における各比較手段は、それぞれ通信コントローラＡＳＩＣ１２，２２により構成することができる。
【００１７】
本発明によれば、一般的によく用いられるマスタ−スレーブ１：Ｎ通信システムを一定周期の通信サイクルで実行する伝送システムにおいて、高信頼性のプロトコルを提供することができる。つまり、正転パケットと反転パケットとを分け、それぞれにチェックコードを付加するようにしたため、正転用チェックコード領域と、反転用チェックコード領域の２カ所となり、フレーム構成が簡略化できる。各チェックコードは、ヘッダ領域とデータ領域をまとめてチェックするため、ヘッダ領域に格納される情報についての信頼性も向上する。更に、フレーム構成が簡易となるので、ＡＳＩＣによって伝送プロトコルを実行することが容易に行なえる。
【発明の効果】
【００１８】
本発明では、簡単なフレーム構造をとりつつ、高信頼性を発揮できる伝送システムが実現できる。
【発明を実施するための最良の形態】
【００１９】
図３は、伝送システムの一例を示している。このシステムは、１つのマスタ１０と複数のスレーブ２０とが、フィールドバス３０等のネットワークに接続されて構成される。このように、マスタ１０がシステムに１ノード存在し、バス管理機能を持つ。複数のスレーブ２０は、マスタ１０からのポーリングにしたがって、レスポンスを返送する。マスタは、たとえばＰＬＣを構成するマスタユニットにより実現され、スレーブは、フィールドバスに接続されるＩＯターミナルやＩＯ機器などにより実現される。
【００２０】
従来より、ＰＬＣ等のコントローラとＩ／Ｏターミナルとをネットワークで結んでなる制御システムが知られている。コントローラは、Ｉ／Ｏターミナルに対してネットワーク通信する通信マスタ機能を備えている。コントローラが複数のユニット筐体（例えば、電源ユニット、ＣＰＵユニット、ＩＯユニット、通信ユニット等）を結合させてなるビルディングブロックタイプである場合には、通信マスタユニットにその通信マスタ機能が内蔵される。その通信マスタユニットは「マスタ局」、「マスタユニット」や「マスタ」と称されることもある。
【００２１】
Ｉ／Ｏターミナルは、コントローラの通信マスタ機能との間でネットワーク通信機能、つまり、通信スレーブ機能を備えている。Ｉ／Ｏターミナルは接続端子を備えていて、その接続端子に、オンオフ信号を出すスイッチ等の入力機器と、制御信号の出力先となる出力機器との少なくとも一方が接続されている。入力機器の例は、停止用スイッチ、ドアスイッチ、２ハンドスイッチなどである。出力機器の例は、リレーやコンタクタである。Ｉ／Ｏターミナルは、接続された機器から入力した信号に基づいて制御データを生成し、生成した制御データをコントローラへネットワーク通信する。
【００２２】
コントローラがビルディングブロックタイプのものであれば、各ユニットは、共通内部バスに接続され、コントローラ全体の制御を司るＣＰＵユニットとの間でバス通信をし、データをやり取りする。連結されたＩ／Ｏユニットも接続端子を備えていて、その接続端子に、入力機器または出力機器が接続されている。そして、コントローラは、通信マスタユニットを介してＩ／Ｏターミナルからネットワーク通信により入力した入力機器の入力信号、または連結されたＩ／Ｏユニットに接続された入力機器の入力信号を入力し、予め記憶されたロジックプログラムによってその入力信号のオンオフを論理演算する。その演算結果に基づく出力信号を、通信マスタユニットを介してネットワーク通信によりＩ／Ｏターミナルへ出力するか、または連結されたＩ／Ｏユニットへ出力をする。Ｉ／Ｏユニット及びＩ／Ｏターミナルは、その出力信号を出力機器へ出力する。この一連の動作を繰り返し実行することにより、コントローラにより製造機ロボットを含むシステム全体が制御される。
【００２３】
なお、コントローラとＩ／Ｏターミナルとの間の通信サイクルは、コントローラの繰り返し実行のサイクルと同期していてもよいし、非同期でもよい。また、コントローラあるいはＣＰＵユニットにおけるロジック演算処理の対象となるロジックプログラムは、プログラマーにより予め作成される。作成する際のプログラミング記述については、例えば、ラダー表記、ニーモニック表記、ファンクションブロック表記であってもよい。プログラミング言語でいうと、インタプリタ型言語、スクリプト言語、アセンブリ言語、高級言語、Ｊａｖａ言語と呼ばれるものであってもよい。このようなプログラミング言語で書かれたソースコードを、アセンブルやコンパイルなどの処理を行ってＣＰＵに実行させる。
【００２４】
また、Ｉ／Ｏターミナルに接続された出力機器であるところのリレーやコンタクタは、製造機ロボットや加工機械等につながれていて、リレーやコンタクタの接点がオン中は製造機ロボット等が動作し、接点がオフ中は製造機ロボット等が停止するようになっている。よって、コントローラは、出力機器をオンオフ制御することで、最終的な制御対象の操作ロボット等の動作停止に関する制御をする。具体的な例をいうと、コントローラは、停止用スイッチが正常に操作されたことをＩ／Ｏターミナルから通信にて入力されると、出力機器（リレーやコンタクタ）をオフする処理を行なう。
【００２５】
図３に示す伝送システムにおいて、通信サイクルは、マスタ１０が管理する。マスタ１０は、各スレーブ２０に対して順番にポーリングフレーム（マスタからスレーブへ向けて送信するフレーム）を送出し、スレーブ２０は、自局宛のフレームであった場合に受信処理を行い、レスポンス（スレーブからマスタへ返送するフレーム）を返送する。マスタ１０は、決められた時間内に全てのスレーブ２０にポーリングすることで、一定周期で全スレーブ２０との通信を実行することになる。この一定周期を通信サイクルと呼ぶ。
【００２６】
図４は、本伝送システムで用いる高信頼性伝送プロトコルフォーマットの一例を示している。マスタ１０から送信されるポーリングフレームのプロトコルフォーマットでは、先頭からスタートフレームデリミタ（ＳＦＤ）領域，正転ヘッダ領域，正転データ領域，正転用チェック領域，反転ヘッダ領域，反転データ領域，反転用チェック領域，を有する。スタートフレームデリミタは、フレームの開始を表すフレーム同期コードである。
【００２７】
正転ヘッダ領域には、転送先スレーブアドレスと、フレームタイプ（“コマンド”と“レスポンス”の区別）、フレーム種別と、データサイズと、を格納する。フレーム種別で特定する種類としては、たとえば、“高信頼性伝送”と“メッセージ伝送”がある。図４に示すフォーマットは高信頼性伝送メッセージ用であるため、この場合のフレーム種別は“高信頼性伝送”を特定するコードとなる。正転データ領域に格納される正転データは、アプリケーションによって定義されるもので、マスタからスレーブに対して実際に送信したい内容である。正転用チェック領域には、フレームチェックシーケンスとしてＦＣＳコードが格納される。この正転ＦＣＳコードは、正転ヘッダと正転データのチェックを行う（コードを求める際の計算範囲は、正転ヘッダから正転データまでとなる）ためのものである。
【００２８】
同様に、反転ヘッダ領域には、正転ヘッダ領域に格納するデータを反転したデータを格納する。反転データ領域に格納される反転データは、上記の正転データを反転したデータである。反転用チェック領域には、フレームチェックシーケンスとしてＦＣＳコードが格納される。この反転ＦＣＳコードは、反転ヘッダと反転データのチェックを行う（コードを求める際の計算範囲は、反転ヘッダから反転データまでとなる）ためのものである。
【００２９】
一方、スレーブ２０から送信されるレスポンスフレームのプロトコルフォーマットでは、先頭からフレームのスタートを示すスタートフレームデリミタ（ＳＦＤ）領域，正転ヘッダ領域，正転レスポンスデータ領域，正転用チェック領域，反転ヘッダ領域，反転レスンポンス領域，反転用チェック領域，を有する。正転ヘッダ領域には、レスポンスの転送先であるマスタアドレスを格納する。正転レスポンスデータ領域には、スレーブからマスタ宛のレスポンスデータを格納する。反転ヘッダ領域には、正転ヘッダ領域を反転したデータを格納する。反転レスポンスデータ領域には、正転レスポンスデータ領域に格納するレスポンスデータを反転したデータが格納される。チェック領域には、対応するヘッダ領域とレスポンスデータのチェックを行うためのＦＣＳコードが格納される。
【００３０】
このようなフォーマットをとることにより、受信側では、反転二連送照合とＦＣＳチェックをそれぞれ正転用と反転用とで２回行うだけですむ。さらに、ヘッダ情報も二連送照合の対象であるため、フレーム種別や宛先情報等が誤りを発生する確率も非常に低くなり、ヘッダの高信頼性も確保できる。すなわち、他局宛のフレームを誤って受信してしまう可能性が非常に低くなり、後述するメッセージ伝送フォーマットとの混同も発生しにくくなる。このように、単純なフォーマット構造でもって高信頼性伝送を確保でき、ＡＳＩＣＳによる処理を容易に実現できる。
【００３１】
また、図５では、１つのスレーブとの間のマスタ−スレーブ通信を示しており、このようなコマンドとレスポンスの送受信が、各スレーブごとに繰り返し行なわれる。
【００３２】
図６は、マスタ１０並びにスレーブ２０の内部構造を示している。マスタ１０は、ＭＰＵ１１と、通信制御を行う通信コントローラＡＳＩＣ１２と、を備えている。同様に、スレーブ２０は、ＭＰＵ２１と通信制御を行う通信コントローラＡＳＩＣ２２と、を備えている。いずれも、マスタ−スレーブ通信を行う機能について図示しており、ハードウエア構成としては、これ以外に、たとえば、ＭＰＵ１１，２１が演算実行する際にワークメモリとして使用するＲＡＭや、各種のプログラム等が格納されたＲＯＭ等を備えている。
【００３３】
まず、マスタ１０側の動作を説明しつつ、ＭＰＵ１１，通信コントローラＡＳＩＣ１２の機能を説明する。ＭＰＵ１１は、各種のアプリケーションを実行中に、送信すべきデータが生じた場合、送信データをセットし、通信コントローラＡＳＩＣ１３へ送信を依頼する。更に送信するデータが、高信頼性伝送すべきものの場合、ＭＰＵ１１は、送信すべき正規のデータ（正転データ）を反転させた反転データも生成するとともに、送信バッファに格納する。また、ＭＰＵ１１は、通信コントローラＡＳＩＣ１２が受信したデータ（レスポンス等）を取得する。
【００３４】
通信コントローラＡＳＩＣ１２は、機能の点から送信部１３と、受信部１４と、を備えている。送信部１３は、送信コントロール部１３ａと、送信バッファ１３ｂと、ヘッダ生成部１３ｃと、パラシリ変換部１３ｄと、ＦＣＳ−１生成部１３ｅと、ＦＣＳ−２生成部１２ｆと、を備える。受信部１４は、受信コントロール部１４ａと、受信バッファ１４ｂと、ヘッダ解析部１４ｃと、シリパラ変換部１４ｄと、ＦＣＳ−１チェック部１４ｅと、ＦＣＳ−２チェック部１４ｆと、を備える。
【００３５】
送信コントロール部１３ａは、ＭＰＵ１１から送信の依頼を受け取ると、図６に示すフローチャートに従って各処理部を動作させ、高信頼性伝送プロトコルのフレームを送信する。送信バッファ１３ｂは、ＭＰＵ１１から与えられるデータを一時的に記憶保持する。つまり、図４における正転データ領域に格納するデータを保存する。ヘッダ生成部１３ｃは、ＭＰＵ１１から取得した情報に基づき、送信するフレームの宛先等を格納する。ＦＣＳ−１生成部１３ｆ並びにＦＣＳ−１生成部１３ｅは、それぞれ正転データと反転データのＦＣＳを計算し、生成した各ＦＣＳコードをヘッダ生成部１３ｃに渡す。つまり、ヘッダ生成部１３ｃは、フレームを構成するヘッダ情報を生成する機能に加え、各処理部から取得したデータに基づき、送信するフレームを作成し、次段のパラシリ変換部１３ｄに渡す機能も有する。パラシリ変換部１３ｄは、与えられたデータに対してパラレル−シリアル変換を行ない、シリアル信号としてフィールドバス３０に送信する。
【００３６】
一方、受信コントロール部１４aは、図７に示すフローチャートに従って各処理部を動作させ、スレーブから送られてくるレスポンスを受信すると共に、受信したレスポンス内に格納されたデータをＭＰＵ１１に渡す。シリパラ変換部１４ｄは、フィールドバス３０から受信したシリアル信号をパラレル信号に変換する。ヘッダ解析部１４ｃは、受信したレスポンス受信データのヘッダ領域に格納されたデータを解析し、自己宛のレスポンスか否か等の判断を行う。ＦＣＳ−１チェック部１４ｅ並びにＦＣＳ−２チェック部１４ｆは、受信したデータの正転部分或いは反転部分のＦＣＳを算出し、フレーム中に格納されているＦＣＳコードと一致するか否かのチェックを行う。受信バッファ１４ｂは、受信したフレームデータを一時的に保存するものである。正規のフレームデータと確認されたならば、受信バッファ１４ｂに格納された所定のデータがＭＰＵ１１に読み取られる。
【００３７】
次に、図６，図７に基づいて、マスタ１０における上記の各処理部による具体的な送信処理並びに受信処理を説明する。ここでは、シンプルなマスタのコマンド送信並びにレスポンス受信処理を示しており、説明の便宜上、通常の通信プロトコルで行われることの多い、レスポンス待ちにおけるタイムアップやレスポンスとしてＮＡＫなどの異常なレスポンスコードを受信した場合の処理を省略して記述している。
【００３８】
ＭＰＵ１１が、送信データをセットするとともに通信コントローラＡＳＩＣ１２に対して送信起動命令を送る。このとき、ＭＰＵ１１は、送信する正転データと反転データとともに、送信フレームの種別（高信頼性伝送であること等）や、送信相手に関する情報なども併せて送る。なお、反転データは、正転データを受け取った通信コントローラＡＳＩＣ１２側で生成してもよい。通信コントローラＡＳＩＣ１２は、かかる送信起動命令を受信すると送信処理を開始する。
【００３９】
まず、送信コントロール部１３ａは、ＭＰＵ１１から取得した送信フレームについてのＳＦＤを生成し、送信する（Ｓ２）。なお、実際の送信処理は、パラシリ変換部１３ｄにてフレームのデータをシリアル信号に変換後に実行される（以下、同じ）。
【００４０】
次いで、ヘッダ生成部１３ｃはＭＰＵ１１から取得した宛先等の情報に基づき、正転データを送信するための送信ヘッダ（正転ヘッダ）を生成する（Ｓ３）。つまり、ヘッダ生成部１３ｃは、“転送先スレーブアドレス”，“コマンド”（フレームタイプ）、“高信頼性伝送”（フレーム種別）、“データサイズ”からなる正転ヘッダ領域に格納するデータを生成する。データサイズは、たとえば、送信バッファ１３ｂに格納された正転データに基づき求めることができる。もちろん、ＭＰＵ１１から取得してもよい。
【００４１】
そして、生成した正転ヘッダと、ＭＰＵ１１から与えられた正転データ（送信バッファ１３ｂに格納されている）と、からなる送信フレームの正転部分を送信する（Ｓ４）。
【００４２】
その後、ＦＣＳ−１生成部１３ｅは、処理ステップＳ４で送信した正転部分のＦＣＳ−１を計算し求める（Ｓ５）。そして、その求めたＦＣＳ−１を、送信フレームの正転用チェック領域のデータとして送信する（Ｓ６）。なお、これらＳ１からＳ６までの各処理ステップの内容は、高信頼性伝送でない通常のフレーム（ＦＣＳは、ヘッダから送信データまで）を送信するものと同様とすることができる。また、この処理ステップＳ６まで実行することで、図４におけるマスタからの送信フレーム中の、ＳＦＤ領域，正転ヘッダ領域，正転データ領域，正転用チェック領域部分の送信が完了する。
【００４３】
続いて、反転用側のデータの転送処理に移行する。すなわち、ヘッダ生成部１３ｃはＭＰＵ１１から取得した宛先等の情報に基づき、反転データを送信するための送信ヘッダ（反転ヘッダ）を生成する（Ｓ７）。すなわち、Ｓ３の処理で生成した正転ヘッダを反転させて反転ヘッダのデータを生成する。
【００４４】
そして、生成した反転ヘッダと、ＭＰＵ１１から与えられた反転データ（送信バッファ１３ｂに格納されている）と、からなる送信フレームの反転部分を送信する（Ｓ８）。
【００４５】
その後、ＦＣＳ−２生成部１３ｆは、処理ステップＳ８で送信した反転部分のＦＣＳ−２を計算し求める（Ｓ９）。そして、その求めたＦＣＳ−２を、送信フレームの反転用チェック領域のデータとして送信する（Ｓ１０）。この処理ステップＳ１０まで実行することで、図４におけるマスタからの送信フレームのすべての送信が完了する。
【００４６】
このようにして送信したフレームが、宛先スレーブで受信されると、そのスレーブからレスポンスが返ってくる。そこで、かかるレスポンスは、図７に示すフローチャートを実行することで内部に取り込むことができる。
【００４７】
すなわち、受信部１４（受信コントロール部１４ａ）は、レスポンスのＳＦＤを受信するのを待つ（Ｓ１１）。レスポンスのＳＦＤを受信したならば、同期をとってそれに続いて送られてくるレスポンスフレームの正転部分を受信する（Ｓ１２）。具体的には、フィールドバス３０上を伝送されるフレームデータ（シリアル）は、シリパラ変換部１４ｄを介してパラレル信号に変換され、ヘッダ解析部１４ｃに渡される。ヘッダ解析部１４ｃにて、正転ヘッダ領域を解析し、その領域に格納された宛先が自己宛のレスポンスを受信する。
【００４８】
自己宛のレスポンスの正転部分を受信したならば、ＦＣＳ−１チェック部１４ｅは、正転ヘッダから正転データまでを対象にＦＣＳを求め、正転用チェック領域に格納されているＦＣＳコードと一致しているかチェックする（Ｓ１３）。
【００４９】
同様に、正転部分に続いて送られてくるレスポンスフレームの反転部分を受信し、受信した反転部分のデータのＦＣＳをチェックする（Ｓ１４，Ｓ１５）。そして、受信したレスポンス受信データは、受信バッファ１４ｂに格納される。
【００５０】
次いで、受信コントロール部１４ａは各チェック部１４ｅ，１４ｆのチェック結果から、正転部分のＦＣＳのチェック並びに反転部分のＦＣＳのチェックがいずれも正常であったか否かを判断する（Ｓ１６）。その判断した結果、いずれか一方でも異常の場合には、受信バッファ１４ｂに一時保存したレスポンス受信データを破棄する（Ｓ１９）。
【００５１】
受信コントロール部１４ａは、レスポンスフレームの正転ヘッダと反転ヘッダとを比較し、正しく反転の関係にあるか否かを判断する（Ｓ１７）。その判断した結果、反転関係にない場合には、受信バッファ１４ｂに一時保存したレスポンス受信データを破棄する（Ｓ１９）。
【００５２】
受信コントロール部１４ａは、レスポンスフレームの正転データと反転データとを比較し、正しく反転の関係にあるか否かを判断する（Ｓ１８）。その判断した結果、反転関係にない場合には、受信バッファ１４ｂに一時保存したレスポンス受信データを破棄する（Ｓ１９）。
【００５３】
処理ステップＳ１６，Ｓ１７，Ｓ１８のすべての分岐判断がいずれも正常と判断された場合、受信したレスンポンスは正規のものとして受理される。つまり、受信バッファ１４ｂに格納されたレスポンス受信データ（正転データ）がＭＰＵ１１に取得される。
【００５４】
次に、スレーブ２０側の動作を説明しつつ、ＭＰＵ２１，通信コントローラＡＳＩＣ２２の機能を説明する。ＭＰＵ２１は、通信コントロールＡＳＩＣ２２を介してマスタ１０からのコマンドを受信すると、そのコマンドに伴う処理を実行し、レスポンスデータを生成し、通信コントローラＡＳＩＣ２２にセットするとともに、送信起動命令を発行する。本実施形態では、マスタから送られてくるコマンドも高信頼性伝送用のフレームで送られてくるため、レスポンスフレームも高信頼性伝送用のフレームとなる。そこで、ＭＰＵ２１は、レスポンスデータも返信すべき正規のデータ（正転データ）とともに、それを反転させた反転データも生成するとともに、送信バッファに格納する。
【００５５】
通信コントローラＡＳＩＣ２２は、機能の点から受信部２３と、送信部２４と、レスンポンスコントロール部２５と、を備えている。受信部２３は、受信コントロール部２３ａと、受信バッファ２３ｂと、ヘッダ解析部２３ｃと、シリパラ変換部２３ｄと、ＦＣＳ−１チェック部２３ｅと、ＦＣＳ−２チェック部２３ｆと、を備える。送信部２４は、送信コントロール部２４ａと、送信バッファ２４ｂと、ヘッダ生成部２４ｃと、パラシリ変換部２４ｄと、ＦＣＳ−１生成部２４ｅと、ＦＣＳ−２生成部２４ｆと、を備える。
【００５６】
受信コントロール部２３aは、図８に示すフローチャートに従って各処理部を動作させ、マスタから送られてくるコマンドフレームを受信すると共に、受信したコマンド内に格納されたデータをＭＰＵ２１に渡す。シリパラ変換部２３ｄは、フィールドバス３０から受信したシリアル信号をパラレル信号に変換する。ヘッダ解析部２３ｃは、受信したコマンドフレームの正転ヘッダ領域に格納されたデータを解析し、自己宛のコマンドか否か等の判断を行う。ＦＣＳ−１チェック部２３ｅ並びにＦＣＳ−２チェック部２３ｆは、受信したデータの正転部分或いは反転部分のＦＣＳを算出し、フレーム中に格納されているＦＣＳコードと一致するか否かのチェックを行う。受信バッファ２３ｂは、受信したフレームデータを一時的に保存するものである。正規のフレームデータと確認されたならば、受信バッファ２３ｂに格納された所定のデータがＭＰＵ１１に読み取られる。
【００５７】
一方、送信コントロール部２４ａは、レスポンスコントロール部２５からレスポンス送信の依頼を受け取ると、図９に示すフローチャートに従って各処理部を動作させ、高信頼性伝送プロトコルのレスポンスフレームを送信する。送信バッファ２４ｂは、ＭＰＵ２１から与えられるレスポンスデータを一時的に記憶保持する。つまり、図４における正転レスポンスデータ領域に格納するデータを保存する。ヘッダ生成部２４ｃは、レスポンスコントロール部２５から取得した情報に基づき、送信するフレームの宛先等を格納する。
【００５８】
ＦＣＳ−１生成部２４ｅ並びにＦＣＳ−２生成部２４ｆは、それぞれ正転レスポンスデータと反転レスポンスデータのＦＣＳを計算し、生成した各ＦＣＳコードをヘッダ生成部２４ｃに渡す。つまり、ヘッダ生成部２４ｃは、フレームを構成するヘッダ情報を生成する機能に加え、各処理部から取得したデータに基づき、送信するフレームを作成し、次段のパラシリ変換部２４ｄに渡す機能も有する。パラシリ変換部２４ｄは、与えられたデータに対してパラレル−シリアル変換を行ない、シリアル信号としてネットワーク３０に送信する。
【００５９】
レスポンスコントロール部２５は、受信部２３（受信コントロール部２３ａ）が、マスタからコマンドフレームを受信した場合に、その旨並びにレスポンスの返信先となるマスタのアドレス等の情報を受け取り、送信コントロール部２４ａに対してそのコマンドに対するレスポンスの返信を指示する。
【００６０】
次に、図８，図９に基づいて、スレーブ２０における上記の各処理部による具体的なコマンド受信並びにそれに対するレスポンス送信処理を説明する。ここでは、シンプルなマスタのコマンド受信・レスポンス送信処理を示しており、説明の便宜上、通常の通信プロトコルで行われることの多い、コマンドのＦＣＳチェックエラーに伴う、ＮＡＫレスポンス返送処理やレスポンスデータの準備が出来ていない場合にＢＵＳＹレスポンスを返送するなどの異常処理を省略して記述している。
【００６１】
受信部２３（受信コントロール部２３ａ）は、コマンドフレームのＳＦＤを受信するのを待つ（Ｓ２２）。コマンドフレームのＳＦＤを受信したならば、同期をとってそれに続いて送られてくるコマンドフレームの正転部分を受信する（Ｓ２３）。具体的には、フィールドバス３０上を伝送されるフレームデータ（シリアル）は、シリパラ変換部２３ｄを介してパラレル信号に変換され、ヘッダ解析部２３ｃに渡される。ヘッダ解析部２３ｃにて、正転ヘッダ領域を解析し、その領域に格納された宛先が自己宛のコマンドフレームを受信する。
【００６２】
自己宛のコマンドフレームの正転部分を受信したならば、ＦＣＳ−１チェック部２３ｅは、正転ヘッダから正転データまでを対象にＦＣＳを求め、正転用チェック領域に格納されているＦＣＳコードと一致しているかチェックする（Ｓ２４）。
【００６３】
同様に、正転部分に続いて送られてくるコマンドフレームの反転部分を受信し、受信した反転部分のデータのＦＣＳをチェックする（Ｓ２５，Ｓ２６）。そして、受信したコマンドフレームの受信データは、受信バッファ２３ｂに格納される。
【００６４】
次いで、受信コントロール部２３ａは各チェック部２３ｅ，２３ｆのチェック結果から、正転部分のＦＣＳのチェック並びに反転部分のＦＣＳのチェックがいずれも正常であったか否かを判断する（Ｓ２７）。その判断した結果、いずれか一方でも異常の場合には、受信バッファ２３ｂに一時保存したコマンド受信データを破棄する（Ｓ３０）。
【００６５】
受信コントロール部２３ａは、コマンドフレームの正転ヘッダと反転ヘッダとを比較し、正しく反転の関係にあるか否かを判断する（Ｓ２８）。その判断した結果、反転関係にない場合には、受信バッファ２３ｂに一時保存したコマンド受信データを破棄する（Ｓ３０）。
【００６６】
受信コントロール部２３ａは、コマンドフレームの正転データと反転データとを比較し、正しく反転の関係にあるか否かを判断する（Ｓ２９）。その判断した結果、反転関係にない場合には、受信バッファ２３ｂに一時保存したコマンド受信データを破棄する（Ｓ３０）。
【００６７】
処理ステップＳ２７，Ｓ２８，Ｓ２９のすべての分岐判断がいずれも正常と判断された場合、受信したコマンドは正規のものとして受理される。つまり、受信バッファ２３ｂに格納されたコマンド受信データ（正転データ）がＭＰＵ２１に取得される。これに伴い、ＭＰＵ２１は、取得したコマンドの内容に従い、所定の処理を実行し、コマンドに対するレスポンスデータ（正転レスポンスデータと反転レスポンスデータ）を作成し、送信バッファ２４ｂにセットする。また、受信コントロール部２３ａは、レスポンスコントロール部２５に対して、正常にコマンドフレームの受信が行われたこと、並びに、レスポンスの送信に必要な情報が送られる。
【００６８】
まず、送信コントロール部２４ａは、レスポンスコントロール部２５から取得したレスポンスデータを送信する送信フレームについてのＳＦＤを生成し、送信する（Ｓ４１）。なお、実際の送信処理は、パラシリ変換部２４ｄにてフレームのデータをシリアル信号に変換後に実行される（以下、同じ）。
【００６９】
次いで、ヘッダ生成部２４ｃはレスポンスコントロール部２５から取得した宛先等の情報に基づき、正転データを送信するための送信ヘッダ（正転ヘッダ）を生成する（Ｓ４２）。つまり、ヘッダ生成部２４ｃは、“転送先マスタアドレス”，“レスポンス”（フレームタイプ）、“高信頼性伝送”（フレーム種別）、“データサイズ”からなる正転ヘッダ領域に格納するデータを生成する。データサイズは、たとえば、送信バッファ２４ｂに格納された正転データに基づき求めることができる。もちろん、ＭＰＵ２１から取得してもよい。
【００７０】
そして、生成した正転ヘッダと、ＭＰＵ２１から与えられた正転データ（送信バッファ２４ｂに格納されている）と、からなる送信フレームの正転部分を送信する（Ｓ４３）。
【００７１】
その後、ＦＣＳ−１生成部２４ｅは、処理ステップＳ４３で送信した正転部分のＦＣＳ−１を計算し求める（Ｓ４４）。そして、その求めたＦＣＳ−１を、送信フレームの正転用チェック領域のデータとして送信する（Ｓ４５）。この処理ステップＳ４５まで実行することで、図４におけるスレーブ２０からのレスポンスの送信フレーム中の、ＳＦＤ領域，正転ヘッダ領域，正転レスポンスデータ領域，正転用チェック領域部分の送信が完了する。
【００７２】
続いて、反転用側のデータの転送処理に移行する。すなわち、ヘッダ生成部２４ｃはレスポンスコントロール部２５から取得した宛先等の情報に基づき、正転ヘッダ領域に格納するデータを反転したデータ（反転ヘッダ）を生成する（Ｓ４６）。
【００７３】
そして、生成した反転ヘッダと、ＭＰＵ２１から与えられた反転データ（送信バッファ２４ｂに格納されている）と、からなる送信フレームの反転部分を送信する（Ｓ４７）。
【００７４】
その後、ＦＣＳ−２生成部２４ｆは、処理ステップＳ４７で送信した反転部分のＦＣＳ−２を計算し求める（Ｓ４８）。そして、その求めたＦＣＳ−２を、送信フレームの反転用チェック領域のデータとして送信する（Ｓ４９）。この処理ステップＳ４９まで実行することで、図４におけるスレーブからのレスポンスの送信フレームのすべての送信が完了する。
【００７５】
図１０は、メッセージ伝送プロトコルフォーマットの一例を示している。図４と比較すると明らかなように、高信頼性伝送プロトコルフォーマットにおける正転部分と同様の構成となる。このように、高信頼性伝送プロトコルの正転部分と同様の構成とすることで、正転データ部分のフォーマットだけで伝送を行う。これにより、通信コントローラＡＳＩＣにおけるフレーミング処理や受信解析処理の論理回路を共用できるメリットがある。これにより、高信頼性フレームによる伝送を行うと共に、通常の信頼性レベルでメッセージ情報等の転送を行うこともできる。
【００７６】
図１１は、高信頼性伝送プロトコルの別のフォーマットを示している。この例では、正転コマンドデータ（正転レスポンスデータ）と、反転コマンドデータ（反転レスポンスデータ）と、をそれぞれ分けて別々のフレームで送信するようにした。つまり、“ＳＦＤ領域，ヘッダ領域，データ（レスポンス）領域，チェック領域”を１つのフォーマットとする。そして、ペアとなる正転部分のフレームと反転部分のフレームとの関連づけは、ヘッダ領域にＩＤ番号を書き込むことで行う。図示の場合、コマンドフレームは、ＩＤ＝＃１がセットされることで関連づけされ、レスポンスフレームは、ＩＤ＝＃５がセットされることで関連づけられる。受信側では、このようにＩＤ番号で対応するフレーム同士を関連づけし、高信頼性伝送のフレームが正しく受信できたかないかの判断をし、受信データの取り込み或いは破棄を行うことになる。
【００７７】
先に説明した実施形態では、図４に示す“高信頼性伝送プロトコルフォーマット”と、図１０に示す“メッセージ伝送プロトコルフォーマット”と、の２つのフォーマットをサポートすることになる。この図１１に示すようにフレームにＩＤ番号を付加し、セットとなる（２つ以上の）複数のパケットを設定しておくことで、１つのフォーマットをサポートしつつ、上述の高信頼性伝送プロトコルフォーマットと同等の高信頼性な伝送を行うことができる。さらに、１セットを３フレーム以上で構成することで、図４に示すフォーマットよりもさらに高信頼性な転送を行うことができる。
【００７８】
そして、この図１１に示すように、正転部分と反転部分とを別々のフレームで送信するようにした場合には、反転部分のフレームの反転ヘッダ領域には、受信側のアドレス等を正しく入れる必要があるため、正転ヘッダ領域に格納するデータと、反転ヘッダ領域に格納する領域は、同じ内容（転送先スレーブアドレスと、フレームタイプと、フレーム種別と、データサイズ）が書き込まれる。従って、受信側の装置における正転ヘッダ領域と反転ヘッダ領域の対比判定（Ｓ１７，Ｓ２８）は、“反転状態”ではなく、“同一であること”を合致条件とする。
【００７９】
更に、受信側の装置において、受信したフレームが正転部分のものか反転部分のものかを認識させるため、ヘッダ領域に格納するデータとして、正転か反転の判定ビットを設定し、送信側の装置でヘッダ領域を生成するに際しその判定ビットを追加し、受信側では下手領域を解析するに際しその判定ビットを認識することで、データをどちらで受信するかを判断すると良い。或いは、ＳＦＤを正転フレームと反転フレームで異なるものを使用してもよい。
【図面の簡単な説明】
【００８０】
【図１】従来のフレームフォーマットの一例を示す図である。
【図２】従来のフレームフォーマットの一例を示す図である。
【図３】本発明が適用されるネットワークシステムの一例を示す図である。
【図４】本実施形態で使用される高信頼性伝送用のフレームフォーマットの一例を示す図である。
【図５】マスタおよびスレーブの内部構造の一例を示す図である。
【図６】マスタ側の送信部の機能を示すフローチャートである。
【図７】マスタ側の受信部の機能を示すフローチャートである。
【図８】スレーブ側の受信部の機能を示すフローチャートである。
【図９】スレーブ側の送信部の機能を示すフローチャートである。
【図１０】本実施形態で使用される通常のメッセージ伝送用のフレームフォーマットの一例を示す図である。
【図１１】本実施形態で使用される高信頼性伝送用のフレームフォーマットの別の一例を示す図である。
【符号の説明】
【００８１】
１０  マスタ
１１  ＭＰＵ
１２  通信コントローラＡＳＩＣ
１３  送信部
１３ａ  送信コントロール部
１３ｂ  送信バッファ
１３ｃ  ヘッダ生成部
１３ｄ  パラシリ変換部
１３ｅ  ＦＣＳ−１生成部
１３ｆ  ＦＣＳ−２生成部
１４  受信部
１４ａ  受信コントロール部
１４ｂ  受信バッファ
１４ｃ  ヘッダ解析部
１４ｄ  シリパラ変換部
１４ｅ  ＦＣＳ−１チェック部
１４ｆ  ＦＣＳ−２チェック部
２０  スレーブ
２１  ＭＰＵ
２２  通信コントローラＡＳＩＣ
２３  受信部
２３ａ  受信コントロール部
２３ｂ  受信バッファ
２３ｃ  ヘッダ解析部
２３ｄ  シリパラ変換部
２３ｅ  ＦＣＳ−１チェック部
２３ｆ  ＦＣＳ−２チェック部
２４  送信部
２４ａ  送信コントロール部
２４ｂ  送信バッファ
２４ｃ  ヘッダ生成部
２４ｄ  パラシリ変換部
２４ｅ  ＦＣＳ−１生成部
２４ｆ  ＦＣＳ−２生成部
２５  レスポンスコントロール部
３０  ネットワーク
【図１】
2009049642.tif 000003
【図２】
2009049642.tif 000004
【図３】
2009049642.tif 000005
【図４】
2009049642.tif 000006
【図５】
2009049642.tif 000007
【図６】
2009049642.tif 000008
【図７】
2009049642.tif 000009
【図８】
2009049642.tif 000010
【図９】
2009049642.tif 000011
【図１０】
2009049642.tif 000012
【図１１】
2009049642.tif 000013