(57)【要約】【課題】スレーブ機器の状態を非常に短いサンプリング周期で確認する必要がある通信装置に対して、通信速度を向上した通信方法及び通信システムを提供する。【解決手段】マスタ通信装置は、所定の送信周期で、通し番号を付与した送信メッセージをスレーブ通信装置２０へ送信する。スレーブ通信装置２０は、メッセージ異常判断手段２２が受信した送信メッセージに付与された通し番号の抜けをチェックして消失送信メッセージがあるか判定し、メッセージ再送判断手段２３が直近の送信メッセージの内容を解析して消失送信メッセージの再送を要求するか否かを判断し、メッセージ送受信手段２１は、再送要求する場合には再送要求メッセージを返送し、再送要求しない場合には、直近の送信メッセージに対する応答メッセージを、同一の番号を付与して返送する。【選択図】図２
2011010016.tif 000002
【特許請求の範囲】
【請求項１】
インターネットプロトコルに依拠する通信網を介してデータを送受信する少なくとも２台以上の通信装置を備えたマスタ／スレーブ方式の通信方法であって、
マスタ通信装置は、
通し番号を付与したメッセージを所定の送信周期でスレーブ通信装置へ送信するメッセージ送信ステップを有し、
前記スレーブ通信装置は、
前記マスタ通信装置から送信された前記メッセージを受信するメッセージ受信ステップと、
受信した前記メッセージに付与された通し番号に基づいて、前記メッセージ受信以前に前記マスタ通信装置から送信されたが当該スレーブ通信装置で受信しなかった消失送信メッセージがあるか判定し、当該消失送信メッセージがある場合に通信異常と判断する異常判断ステップと、
前記異常判断ステップで通信異常がないと判断された場合に、前記メッセージと同じ番号を付与した応答メッセージを前記マスタ通信装置へ返送する応答メッセージ送信ステップと、
前記異常判断ステップで通信異常があると判断された場合に、前記メッセージの内容を解析して、前記消失送信メッセージの再送を要求するか否かを判断する再送判断ステップと、
前記再送判断ステップで再送を要求すると判断された場合に、再送要求メッセージを前記マスタ通信装置へ送信する再送要求メッセージ送信ステップとを有することを特徴とするマスタ／スレーブ方式の通信方法。
【請求項２】
請求項１に記載のマスタ／スレーブ方式の通信方法であって、
マスタ通信装置は、
スレーブ通信装置から送信された応答メッセージを受信する応答メッセージ受信ステップと、
受信した前記応答メッセージに付与された番号に基づいて、前記応答メッセージ受信以前に前記スレーブ通信装置から送信されたが当該マスタ通信装置で受信しなかった消失応答メッセージがあるか判定し、当該消失応答メッセージがある場合に通信異常と判断する異常判断ステップと、
前記異常判断ステップで通信異常があると判断された場合に、前記消失応答メッセージに付与された番号に相当する通し番号のメッセージの内容を解析して、当該メッセージを再送するか否かを判断する再送判断ステップと、
前記再送判断ステップで再送すると判断された場合に、前記メッセージを再度、前記スレーブ通信装置へ送信するメッセージ再送信ステップとを有することを特徴とするマスタ／スレーブ方式の通信方法。
【請求項３】
請求項２に記載のマスタ／スレーブ方式の通信方法であって、
マスタ通信装置は、
異常判断ステップでは、受信した応答メッセージが再送要求メッセージか否かを判断し、
再送判断ステップでは、前記異常判断ステップで再送要求メッセージであると判断された場合に、前記再送要求メッセージで指定されたメッセージの内容を解析して、当該メッセージを再送するか否かを判断することを特徴とするマスタ／スレーブ方式の通信方法。
【請求項４】
インターネットプロトコルに依拠する通信網を介してデータを送受信する少なくとも２台以上の通信装置を備えたマスタ／スレーブ方式の通信システムであって、
マスタ通信装置は、
通し番号を付与したメッセージを所定の送信周期でスレーブ通信装置へ送信するメッセージ送信手段を有し、
前記スレーブ通信装置は、
前記マスタ通信装置から送信された前記メッセージを受信するメッセージ受信手段と、
受信した前記メッセージに付与された通し番号に基づいて、前記メッセージ受信以前に前記マスタ通信装置から送信されたが当該スレーブ通信装置で受信しなかった消失送信メッセージがあるか判定し、当該消失送信メッセージがある場合に通信異常と判断する異常判断手段と、
前記異常判断手段で通信異常があると判断された場合に、前記メッセージの内容を解析して、前記消失送信メッセージの再送を要求するか否かを判断する再送判断手段と、
前記異常判断手段で通信異常がないと判断された場合に、前記メッセージと同じ番号を付与した応答メッセージを前記マスタ通信装置へ返送し、前記再送判断手段で再送を要求すると判断された場合に、再送要求メッセージを前記マスタ通信装置へ返送するメッセージ送信手段とを有することを特徴とするマスタ／スレーブ方式の通信システム。
【請求項５】
請求項４に記載のマスタ／スレーブ方式の通信システムであって、
マスタ通信装置は、
スレーブ通信装置から送信された応答メッセージを受信するメッセージ受信手段と、
受信した前記応答メッセージに付与された番号に基づいて、前記応答メッセージ受信以前に前記スレーブ通信装置から送信されたが当該マスタ通信装置で受信しなかった消失応答メッセージがあるか判定し、当該消失応答メッセージがある場合に通信異常と判断する異常判断手段と、
前記異常判断手段で通信異常があると判断された場合に、前記消失応答メッセージに付与された番号に相当する通し番号のメッセージの内容を解析して、当該メッセージを再送するか否かを判断する再送判断手段とを有し、
メッセージ送信手段は、前記再送判断手段で再送すると判断された場合に、前記メッセージを再度、前記スレーブ通信装置へ送信することを特徴とするマスタ／スレーブ方式の通信システム。
【請求項６】
請求項５に記載のマスタ／スレーブ方式の通信システムであって、
マスタ通信装置は、
異常判断手段では、受信した応答メッセージが再送要求メッセージか否かを判断し、
再送判断手段では、前記異常判断手段で再送要求メッセージであると判断された場合に、前記再送要求メッセージで指定されたメッセージの内容を解析して、当該メッセージを再送するか否かを判断することを特徴とするマスタ／スレーブ方式の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信網を介してデータを送受信する２台以上の通信装置によるマスタ／スレーブ方式の通信方法及び通信システムに関するものである。
【背景技術】
【０００２】
従来、製造加工ラインの工程を制御するシステムにおいては、制御コントローラをマスタ機器とし、フィールド機器（センサ、アクチュエータ等）との信号のやりとりを行う複数のコントローラをスレーブ機器として、マスタ機器と複数のスレーブ機器とが通信回線を介して双方向で大量のデータを送受信するようにしている。
【０００３】
この構成の場合、マスタ機器となる制御コントローラは、定周期でデータリクエスト又は動作コマンドを対象となるスレーブ機器に送信する。スレーブ機器は、マスタ機器からの要求に応じた応答をする。このパケット通信では、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルがＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰのネットワーク層における制御を担っているが、さらに、高速通信を可能とするイーサネット（登録商標／以下、記載を省略する。）に接続される機器をアドレス指定するためにＩＰプロトコルの上位レベルのプロトコルとしてＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）も使用されている。このＵＤＰでは、送信先にエラーが発生したときに、送信されたＵＤＰパケットが破棄される。このため、エラー制御は、アプリケーション又はさらに上位のプロトコルで行っている。
【０００４】
例えば特許文献１のパケット通信装置では、エラー制御のための上位プロトコルにＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃａｌ）を用いていた。ＡＲＰは、パケットの宛先を、ＴＣＰ／ＩＰのネットワーク層からイーサネットで通用するＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）に変換するプロトコルとして、ＩＰプロトコルの上位に置かれる。特許文献１のパケット通信装置では、ＡＲＰパケットを通信相手に送信して通信相手が正常かどうかを確認したうえで、パケットを送信するようにしていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１７４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の通信装置は以上のように構成されているので、システム制御に必要なデータ以外にエラー制御のための通信、ヘッダ等の通信が必要となってしまい、通信速度の向上が望めないという課題があった。
【０００７】
この発明は、上記のような課題を解決するためになされたもので、スレーブ機器の状態を非常に短いサンプリング周期で確認する必要がある通信装置に対して、通信速度を向上した通信方法及び通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係る通信方法は、マスタ通信装置が、通し番号を付与したメッセージを所定の送信周期でスレーブ通信装置へ送信するメッセージ送信ステップを有し、スレーブ通信装置は、マスタ通信装置から送信されたメッセージを受信するメッセージ受信ステップと、受信したメッセージに付与された通し番号に基づいて、メッセージ受信以前にマスタ通信装置から送信されたが当該スレーブ通信装置で受信しなかった消失送信メッセージがあるか判定し、当該消失送信メッセージがある場合に通信異常と判断する異常判断ステップと、異常判断ステップで通信異常がないと判断された場合に、メッセージと同じ番号を付与した応答メッセージをマスタ通信装置へ返送する応答メッセージ送信ステップと、異常判断ステップで通信異常があると判断された場合に、メッセージの内容を解析して、消失送信メッセージの再送を要求するか否かを判断する再送判断ステップと、再送判断ステップで再送を要求すると判断された場合に、再送要求メッセージをマスタ通信装置へ送信する再送要求メッセージ送信ステップとを有するものである。
【０００９】
この発明に係る通信方法は、マスタ通信装置が、スレーブ通信装置から送信された応答メッセージを受信する応答メッセージ受信ステップと、受信した応答メッセージに付与された番号に基づいて、応答メッセージ受信以前にスレーブ通信装置から送信されたが当該マスタ通信装置で受信しなかった消失応答メッセージがあるか判定し、当該消失応答メッセージがある場合に通信異常と判断する異常判断ステップと、異常判断ステップで通信異常があると判断された場合に、消失応答メッセージに付与された番号に相当する通し番号のメッセージの内容を解析して、当該メッセージを再送するか否かを判断する再送判断ステップと、再送判断ステップで再送すると判断された場合に、メッセージを再度、スレーブ通信装置へ送信するメッセージ再送信ステップとを有するものである。
【００１０】
この発明に係る通信方法は、マスタ通信装置が、異常判断ステップでは、受信した応答メッセージが再送要求メッセージか否かを判断し、再送判断ステップでは、異常判断ステップで再送要求メッセージであると判断された場合に、再送要求メッセージで指定されたメッセージの内容を解析して、当該メッセージを再送するか否かを判断するものである。
【００１１】
この発明に係る通信システムは、マスタ通信装置が、通し番号を付与したメッセージを所定の送信周期でスレーブ通信装置へ送信するメッセージ送信手段を有し、スレーブ通信装置は、マスタ通信装置から送信されたメッセージを受信するメッセージ受信手段と、受信したメッセージに付与された通し番号に基づいて、メッセージ受信以前にマスタ通信装置から送信されたが当該スレーブ通信装置で受信しなかった消失送信メッセージがあるか判定し、当該消失送信メッセージがある場合に通信異常と判断する異常判断手段と、異常判断手段で通信異常があると判断された場合に、メッセージの内容を解析して、消失送信メッセージの再送を要求するか否かを判断する再送判断手段と、異常判断手段で通信異常がないと判断された場合に、メッセージと同じ番号を付与した応答メッセージをマスタ通信装置へ返送し、再送判断手段で再送を要求すると判断された場合に、再送要求メッセージをマスタ通信装置へ返送するメッセージ送信手段とを有するものである。
【００１２】
この発明に係る通信システムは、マスタ通信装置が、スレーブ通信装置から送信された応答メッセージを受信するメッセージ受信手段と、受信した応答メッセージに付与された番号に基づいて、応答メッセージ受信以前にスレーブ通信装置から送信されたが当該マスタ通信装置で受信しなかった消失応答メッセージがあるか判定し、当該消失応答メッセージがある場合に通信異常と判断する異常判断手段と、異常判断手段で通信異常があると判断された場合に、消失応答メッセージに付与された番号に相当する通し番号のメッセージの内容を解析して、当該メッセージを再送するか否かを判断する再送判断手段とを有し、メッセージ送信手段は、再送判断手段で再送すると判断された場合に、メッセージを再度、スレーブ通信装置へ送信するものである。
【００１３】
この発明に係る通信システムは、マスタ通信装置が、異常判断手段では、受信した応答メッセージが再送要求メッセージか否かを判断し、再送判断手段では、異常判断手段で再送要求メッセージであると判断された場合に、再送要求メッセージで指定されたメッセージの内容を解析して、当該メッセージを再送するか否かを判断するものである。
【発明の効果】
【００１４】
この発明によれば、マスタ通信装置が送信メッセージに通し番号を付与し、スレーブ通信装置がこの通し番号に基づいて通信異常発生を判断して、直近のメッセージの内容に応じて再送要求可否を判断するようにしたので、パケットエラーが発生しても再送要求することにより通信の信頼性を向上させることができると共に、無駄な通信をしないことにより通信の速度を向上させることができる。
【００１５】
この発明によれば、スレーブ通信装置が受信したメッセージと同じ番号を付与した応答メッセージを返送し、マスタ通信装置がこの番号に基づいて通信異常発生を判断して、この番号に対応するメッセージの内容に応じて再送可否を判断するようにしたので、パケットエラーが発生しても再送することにより通信の信頼性を向上させることができると共に、無駄な通信をしないことにより通信の速度を向上させることができる。
【００１６】
この発明によれば、マスタ通信装置は、再送要求メッセージを受信すると、再送要求するメッセージの内容に応じて再送可否を判断するようにしたので、パケットエラーが発生しても再送することにより通信の信頼性を向上させることができると共に、無駄な通信をしないことにより通信の速度を向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】この発明の実施の形態１に係るマスタ通信装置の構成を示すブロック図である。
【図２】この発明の実施の形態１に係るスレーブ通信装置の構成を示すブロック図である。
【図３】図１に示す送信メッセージデータ記憶手段に格納された送信メッセージデータテーブルの一例を示す説明図である。
【図４】実施の形態１に係るマスタ通信装置の動作を示すフローチャートである。
【図５】実施の形態１に係るスレーブ通信装置の動作を示すフローチャートである。
【図６】実施の形態１に係るマスタ通信装置−スレーブ通信装置間の通信のシーケンスであり、通常時の通信の一例を示す。
【図７】実施の形態１に係るマスタ通信装置−スレーブ通信装置間の通信のシーケンスであり、マスタ通信装置側でパケットエラー発生時の通信の一例を示す。
【図８】実施の形態１に係るマスタ通信装置−スレーブ通信装置間の通信のシーケンスであり、スレーブ通信装置側でパケットエラー発生時の通信の一例を示す。
【図９】実施の形態１に係るマスタ通信装置−スレーブ通信装置間の通信のシーケンスであり、マスタ通信装置側、スレーブ通信装置側共にパケットエラー発生時の通信の一例を示す。
【発明を実施するための形態】
【００１８】
実施の形態１．
図１はこの発明の実施の形態１に係るマスタ通信装置１０の構成を示すブロック図であり、図２はスレーブ装置２０の構成を示すブロック図である。本実施の形態１では、マスタ通信装置１０から少なくとも１台以上のスレーブ通信装置２０に対して、ＩＰに依拠する通信網を介して所定の送信周期でデータ送受信する通信システムを例に用いて通信方法を説明する。特に、非常に短いサンプリング周期でマスタ通信装置１０−スレーブ通信装置２０間の通信が必要なロボットシステム等の通信システムを想定し、以下の例では、これら通信装置間を結ぶ通信網に、新たな投資が必要なく、かつ、高速で通信が可能なイーサネットを利用することとする。
【００１９】
先ず、マスタ通信装置１０の構成を説明する。マスタ通信装置１０は、図１に示すように、スレーブ通信装置２０との間でメッセージを受信及び送信するメッセージ送受信手段１１と、パケットエラーの発生有無を判断するメッセージ異常判断手段１２と、再送要求に応じてメッセージを再送するか判断するメッセージ再送判断手段１３と、スレーブ通信装置２０へ送信するメッセージのデータを記憶している送信メッセージデータ記憶手段１４と、メッセージの送信周期をカウントする送信周期計時手段１５とを備える。
【００２０】
送信メッセージデータ記憶手段１４は、メモリ等を有して、スレーブ通信装置２０へ送信するメッセージの基となるデータを記憶している。図３に、送信メッセージデータ記憶手段１４に格納された送信メッセージデータテーブルの一例を示す。図３において、「送信先ＩＤ」は複数のスレーブ通信装置２０に割り当てられた識別番号を示す。「処理コマンド」としてデータリクエストとデマンドがあり、データリクエスト処理コマンドはスレーブ通信装置２０が保持するデータを取得するためのコマンドであり、デマンド処理コマンドはスレーブ通信装置２０が制御するフィールド機器等に対して電源を入力する、運転開始するといった動作指示をするためのコマンドである。「処理コマンド」の具体的な内容は「範囲」に格納されている。
【００２１】
送信周期計時手段１５は、メッセージの送信周期をカウントし、所定の送信周期になると、メッセージ送受信手段１１へメッセージを送信するよう通知する。
【００２２】
メッセージ送受信手段１１は、送信周期計時手段１５の通知に基づく所定の送信周期で、通し番号を付与した送信メッセージをスレーブ通信装置２０へ送信する。送信メッセージの内容としてはデータリクエスト処理コマンドとデマンド処理コマンドとがあり、メッセージ送受信手段１１は送信メッセージデータ記憶手段１４の送信メッセージデータテーブルから送信メッセージを生成する。送信メッセージの一例としては、例えば、送信メッセージデータテーブル（図３）の先頭行の送信メッセージデータに基づき、送信先ＩＤ「１」のスレーブ通信装置２０に対して、範囲「１〜１００」のデータを要求する旨の送信メッセージがある。また、例えば、送信メッセージデータテーブルの２行目の送信メッセージデータに基づき、送信先ＩＤ「１」のスレーブ通信装置２０に対して、このスレーブ通信装置２０に接続された「ＩＤ１−１０」のフィールド機器の電源を「ＯＦＦ→ＯＮ」させる旨の送信メッセージがある。
また、メッセージ送受信手段１１は、スレーブ通信装置２０が送信した応答メッセージ又はエラーメッセージを受信する。
【００２３】
メッセージ異常判断手段１２は、スレーブ通信装置２０が送信した応答メッセージに付与された通し番号をチェックし、通し番号に抜けがあればパケットエラー（パケットロス）が発生したと判断する。以下、抜けた通し番号が付与されているはずの、受信できなかった応答メッセージを、消失応答メッセージと称す。
【００２４】
メッセージ再送判断手段１３は、スレーブ通信装置２０が送信した応答メッセージが再送要求メッセージであれば、そのメッセージに付与された通し番号に対応する送信メッセージが、データリクエスト処理コマンドかデマンド処理コマンドか判断する。
また、メッセージ再送判断手段１３は、メッセージ異常判断手段１２でパケットエラーが発生していると判断された場合に、抜けた通し番号の応答メッセージに対応する送信メッセージが、データリクエスト処理コマンドかデマンド処理コマンドか判断する。
判断の結果がデマンド処理コマンドであれば、メッセージ再送判断手段１３がメッセージ送受信手段１１に対して、その送信メッセージを次の送信周期で再送するように指示する。
【００２５】
次に、スレーブ通信装置２０の構成を説明する。スレーブ通信装置２０は、図２に示すように、マスタ通信装置１０との間でメッセージを受信及び送信するメッセージ送受信手段２１と、パケットエラーの発生有無を判断するメッセージ異常判断手段２２と、再送要求するか判断するメッセージ再送判断手段２３と、マスタ通信装置１０へ応答するメッセージのデータを記憶している応答メッセージデータ記憶手段２４と、マスタ通信装置１０から受信したメッセージに従って処理コマンドを実行するコマンド実行手段２５と、フィールド機器の状態を監視するエラー監視手段２６とを備える。
【００２６】
メッセージ送受信手段２１は、マスタ通信装置１０が所定の送信周期で送信する、通し番号が付与された送信メッセージを受信すると共に、この送信メッセージに応答する応答メッセージに同一番号を付与してマスタ通信装置１０へ送信する。また、メッセージ送受信手段２１は、メッセージ再送判断手段２３で再送要求が必要と判断された場合に、再送要求メッセージをマスタ通信装置１０へ送信する。さらに、メッセージ送受信手段２１は、スレーブ通信装置２０が制御するフィールド機器にエラーが発生した場合にエラー監視手段２６から通知を受け、エラーメッセージとしてマスタ通信装置１０へ送信する。
【００２７】
メッセージ異常判断手段２２は、送信メッセージに付与された通し番号をチェックし、通し番号に抜けがあればパケットエラー（パケットロス）が発生したと判断する。以下、抜けた通し番号が付与されているはずの、受信できなかった送信メッセージを、消失送信メッセージと呼ぶ。
【００２８】
メッセージ再送判断手段２３は、受信した送信メッセージのうち、最新の通し番号が付与された送信メッセージが、データリクエスト処理コマンドかデマンド処理コマンドか判断する。デマンド処理コマンドであれば、メッセージ再送判断手段２３がコマンド実行手段２５に指示して、そのデマンド処理コマンドを実行させる。データリクエスト処理コマンドであれば、メッセージ再送判断手段２３がメッセージ送受信手段２１に指示して、データリクエスト処理コマンド実行に代え、消失送信メッセージの再送要求メッセージを送信させる。
【００２９】
応答メッセージデータ記憶手段２４は、メモリ等を有して、フィールド機器のステータス及びエラーの情報を応答メッセージデータテーブルとして記憶する。応答メッセージデータテーブルに格納されているデータのうち、送信メッセージのデータリクエスト処理コマンドで指定された範囲のデータが応答メッセージとしてマスタ通信装置１０へ送信される。
【００３０】
コマンド実行手段２５は、送信メッセージがデータリクエスト処理コマンドであれば、指定された範囲のデータを応答メッセージデータ記憶手段２４の応答メッセージデータテーブルから取得して、応答メッセージを作成し、送信メッセージと同一の番号を付与する。また、コマンド実行手段２５は、送信メッセージがデマンド処理コマンドであれば、その指示に従ってスレーブ通信装置２０に接続されているフィールド機器を制御し、そのステータス等の情報を含めた応答メッセージを作成し、送信メッセージと同一の番号を付与する。
【００３１】
エラー監視手段２６は、スレーブ通信装置２０に接続されているフィールド機器の状態を監視し、そのステータス及びエラーを応答メッセージデータ記憶手段２４へ格納する。
【００３２】
次に、マスタ通信装置１０及びスレーブ通信装置２０の動作を説明する。図４は、実施の形態１に係るマスタ通信装置１０の動作を示すフローチャートであり、図５はスレーブ通信装置２０の動作を示すフローチャートである。また、図６〜図９はマスタ通信装置１０／スレーブ通信装置２０間の通信のシーケンスである。以下、図６〜図９に示すそれぞれの場合について、マスタ通信装置１０及びスレーブ通信装置２０の動作を図４及び図５を用いて説明する。ただし、以下の例では、マスタ通信装置１０の送信処理は所定の送信周期で実施され、受信処理はスレーブ通信装置２０の応答メッセージ又はエラーメッセージ受信を契機とするイベントドリブンとする。また、スレーブ通信装置２０の送信処理は、マスタ通信装置１０の送信メッセージ受信又はフィールド機器のエラー発生を契機とするイベントドリブンとする。
【００３３】
図６は、通常時の通信の一例である。先ず、マスタ通信装置１０において、送信周期計時手段１５がカウントする送信周期になると、メッセージ送受信手段１１が通し番号（以下、Ｎｏ．）ｎ−１の送信メッセージ（データリクエスト）を送信する（図４のステップＳＴ１１、メッセージ送信ステップ）。
【００３４】
スレーブ通信装置２０のメッセージ送受信手段２１が、Ｎｏ．ｎ−１のデータリクエスト処理コマンドの送信メッセージを受信して（図５のステップＳＴ２１“メッセージ受信”、メッセージ受信ステップ）、メッセージ異常判断手段２２が通し番号をチェックしてパケットエラー発生有無を判断する（ステップＳＴ２３、異常判断ステップ）。この例ではＮｏ．ｎ−１以前のメッセージがないためパケットエラーは発生していないものとする（ステップＳＴ２３“ＮＯ”）。
パケットエラーが発生していなければ、コマンド実行手段２５がデータリクエスト処理コマンドに従ってコマンドを実行すると共に、Ｎｏ．ｎ−１と同一番号のＡｃｋ（ｎ−１）を付与した応答メッセージとして送信する（ステップＳＴ２４、応答メッセージ送信ステップ）。
【００３５】
マスタ通信装置１０のメッセージ送受信手段１１は、Ａｃｋ（ｎ−１）の応答メッセージを受信すると（ステップＳＴ１２“ＹＥＳ”、応答メッセージ受信ステップ）、メッセージ異常判断手段１２が受信したメッセージがエラーメッセージでないことを判断して（ステップＳＴ１３“ＮＯ”）、通し番号の抜けをチェックすると共に、再送要求か判断する（ステップＳＴ１４、異常判断ステップ）。この例では応答メッセージの通し番号に抜けはなく再送要求でもないので（ステップＳＴ１４“ＮＯ”）、メッセージ異常判断手段１２はパケットエラーは発生していない（通信異常がない）と判断する。なお、応答メッセージの受信がなければ（ステップＳＴ１２“ＮＯ”）、マスタ通信装置１０はステップＳＴ１１の定周期送信のみ実施し続ける。また、図１では特に図示していないが、マスタ通信装置１０に、応答メッセージデータを格納しておく記憶手段を設けて、ステップＳＴ１２で受信したメッセージのデータを保持する。
【００３６】
次の送信周期になると、マスタ通信装置１０のメッセージ送受信手段１１が、Ｎｏ．ｎの送信メッセージ（デマンド）を送信する（ステップＳＴ１１）。
【００３７】
スレーブ通信装置２０のメッセージ送受信手段２１はＮｏ．ｎの送信メッセージを受信して（ステップＳＴ２１“メッセージ受信”）、メッセージ異常判断手段２２が通し番号をチェックしてパケットエラー発生有無を判断する（ステップＳＴ２３）。この例ではＮｏ．ｎ−１とＮｏ．ｎが連続していて通し番号に抜けがないため、メッセージ異常判断手段２２はパケットエラーが発生していないと判断する（ステップＳＴ２３“ＮＯ”）。なお、Ｎｏ．１はデマンド処理コマンドの送信メッセージであるため、スレーブ通信装置２０はデマンド処理コマンドに従ってコマンドを実行すると共に、Ｎｏ．ｎと同一番号のＡｃｋ（ｎ）を付与した応答メッセージ（フィールド機器のステータス等の情報）として送信する（ステップＳＴ２４）。
【００３８】
なお、マスタ通信装置１０は、スレーブ通信装置２０からＡｃｋ（ｎ）の応答メッセージが受信できるのを待たずに、次の送信周期になると次のＮｏ．ｎ＋１の送信メッセージを送信する。
また、スレーブ通信装置２０も、Ａｃｋ（ｎ）の応答メッセージの送信が間に合わず、その送信前にＮｏ．ｎ＋１の送信メッセージを受信した場合でも、図５のフローチャートに従ってＡｃｋ（ｎ），Ａｃｋ（ｎ＋１）の応答メッセージを順に送信する。
【００３９】
Ａｃｋ（ｎ＋１）の応答メッセージ送信後、スレーブ通信装置２０のエラー監視手段２６がフィールド機器のエラー発生を検知すると（ステップＳＴ２１“エラー発生”）、データリクエスト処理コマンドの送信メッセージが無くともメッセージ送受信手段２１がエラーメッセージ（ＥＭ）をマスタ通信装置１０へ送信する（ステップＳＴ２２）。
【００４０】
マスタ通信装置１０のメッセージ送受信手段１１は、エラーメッセージを受信すると（ステップＳＴ１２“ＹＥＳ”）、メッセージ異常判断手段１２が受信したメッセージがエラーメッセージかそれ以外か判断する（ステップＳＴ１３）。この例ではフィールド機器のエラー発生を示すエラーメッセージであるため（ステップＳＴ１３“ＹＥＳ”）、マスタ通信装置１０で所定の処理を行えばよい。
【００４１】
図７は、送信メッセージにパケットエラーが発生した場合の通信の一例である。先ず、マスタ通信装置１０が、Ｎｏ．ｎ−１の送信メッセージ（データリクエスト又はデマンド）を送信する（ステップＳＴ１１）。続いて、スレーブ通信装置２０がこれを受信して、Ａｃｋ（ｎ−１）の応答メッセージを送信する（ステップＳＴ２４）。
【００４２】
次の送信周期になると、マスタ通信装置１０がＮｏ．ｎの送信メッセージを送信するが（ステップＳＴ１１）、パケットエラーにより消失する。さらに次の送信周期になると、マスタ通信装置１０がＮｏ．ｎ＋１の送信メッセージを送信する（ステップＳＴ１１）。
【００４３】
スレーブ通信装置２０は、Ｎｏ．ｎ＋１の送信メッセージを受信して（ステップＳＴ２１“メッセージ受信”）、メッセージ異常判断手段２２が通し番号をチェックする（ステップＳＴ２３）。この例ではＮｏ．ｎが抜けているため、メッセージ異常判断手段２２はパケットエラーが発生したと判断する（ステップＳＴ２３“ＹＥＳ”）。
続いて、メッセージ再送判断手段２３は、最新のＮｏ．ｎ＋１の送信メッセージがデータリクエスト処理コマンドか、デマンド処理コマンドかを判定する（ステップＳＴ２５、再送判断ステップ）。
【００４４】
最新のＮｏ．ｎ＋１がデマンド処理コマンドであれば（ステップＳＴ２５“ＹＥＳ”）、メッセージ再送判断手段２３がコマンド実行手段２５にそのデマンド処理コマンドを実行させると共に、Ａｃｋ（ｎ＋１）の応答メッセージとしてステータス等の情報を送信させる（ステップＳＴ２４）。
マスタ通信装置１０では、メッセージ送受信手段１１がＡｃｋ（ｎ＋１）の応答メッセージを受信し（ステップＳＴ１２“メッセージ受信”）、メッセージ異常判断手段１２がエラーメッセージでないことを判断して（ステップＳＴ１３“ＮＯ”）、通し番号をチェックすると共に、再送要求か判断する（ステップＳＴ１４）。この例ではＡｃｋ（ｎ）が抜けているので、メッセージ異常判断手段１２がパケットエラーが発生したことを判断して（ステップＳＴ１４“ＹＥＳ”）、続いてメッセージ再送判断手段１３が、Ａｃｋ（ｎ）に対応するＮｏ．ｎの消失送信メッセージが、データリクエスト処理コマンドかデマンド処理コマンドか判断する（ステップＳＴ１５、再送判断ステップ）。
【００４５】
他方、最新のＮｏ．ｎ＋１がデータリクエスト処理コマンドであれば（ステップＳＴ２５“ＮＯ”）、メッセージ再送判断手段２３はＮｏ．ｎの消失送信メッセージを再送要求する必要があると判断して、メッセージ送受信手段２１から再送要求（ｎ）の再送要求メッセージを送信させる（ステップＳＴ２６、再送要求メッセージ送信ステップ）。
マスタ通信装置１０では、メッセージ送受信手段１１が再送要求（ｎ）の再送要求メッセージを受信し（ステップＳＴ１２“メッセージ受信”）、メッセージ異常判断手段１２がエラーメッセージでないことを判断する（ステップＳＴ１３“ＮＯ”）。続いて、メッセージ異常判断手段１２が通し番号をチェックすると共に、再送要求メッセージであるか判断する（ステップＳＴ１４）。この例では、応答メッセージが再送要求（ｎ）であるため、メッセージ異常判断手段１２が再送要求ありと判断して（ステップＳＴ１４“ＹＥＳ”）、メッセージ再送判断手段１３がその再送要求メッセージに含まれる番号（ｎ）に対応するＮｏ．ｎの送信メッセージが、データリクエスト処理コマンドかデマンド処理コマンドか判定する（ステップＳＴ１５）。
【００４６】
再送要求メッセージ又は消失送信メッセージであるＮｏ．ｎの送信メッセージがデータリクエスト処理コマンドであれば（ステップＳＴ１５“ＮＯ”）、メッセージ再送判断手段１３は再送の必要がないと判断する。次の送信周期では、次の送信メッセージがＮｏ．ｎ＋２の通し番号と共に送信されることとなる。
他方、Ｎｏ．ｎの送信メッセージがデマンド処理コマンドであれば（ステップＳＴ１５“ＹＥＳ”）、メッセージ再送判断手段１３は再送の必要があると判断して、このデマンド処理コマンドに次の送信周期で送信するＮｏ．ｎ＋２の通し番号を付与して、メッセージ送受信手段１１から再送信させる（ステップＳＴ１６、メッセージ再送信ステップ）。
【００４７】
図８は、応答メッセージにパケットエラーが発生した場合の通信の一例である。先ず、マスタ通信装置１０が、Ｎｏ．ｎ−１の送信メッセージ（データリクエスト又はデマンド）を送信する（ステップＳＴ１１）。続いて、スレーブ通信装置２０がこれを受信して、Ａｃｋ（ｎ−１）の応答メッセージを送信する（ステップＳＴ２４）。
【００４８】
次の送信周期になると、マスタ通信装置１０がＮｏ．ｎの送信メッセージを送信し（ステップＳＴ１１）、スレーブ通信装置２０がＡｃｋ（ｎ）の応答メッセージを送信するが（ステップＳＴ２４）、パケットエラーにより消失する。さらに次の送信周期になると、マスタ通信装置１０がＮｏ．ｎ＋１の送信メッセージを送信し（ステップＳＴ１１）、スレーブ通信装置２０がＡｃｋ（ｎ＋１）の応答メッセージを送信する（ステップＳＴ２４）。
【００４９】
マスタ通信装置１０は、Ａｃｋ（ｎ＋１）の応答メッセージを受信して（ステップＳＴ１２“ＹＥＳ”）、メッセージ異常判断手段１２がエラーメッセージでないことを判断する（ステップＳＴ１３“ＮＯ”）。続いて、メッセージ異常判断手段１２が通し番号をチェックすると共に、再送要求メッセージであるか判断する（ステップＳＴ１４）。この例では、Ａｃｋ（ｎ）が抜けているので、メッセージ異常判断手段１２がパケットエラーが発生したことを判断して（ステップＳＴ１４“ＹＥＳ”）、続いてメッセージ再送判断手段１３が、Ａｃｋ（ｎ）の消失応答メッセージに対応するＮｏ．ｎの送信メッセージが、データリクエスト処理コマンドかデマンド処理コマンドか判定する（ステップＳＴ１５）。
【００５０】
消失応答メッセージに対応するＮｏ．ｎの送信メッセージがデータリクエスト処理コマンドであれば（ステップＳＴ１５“ＮＯ”）、メッセージ再送判断手段１３は再送の必要がないと判断する。次の送信周期では、次の送信メッセージがＮｏ．ｎ＋２の通し番号と共に送信されることとなる。
他方、Ｎｏ．ｎの送信メッセージがデマンド処理コマンドであれば（ステップＳＴ１５“ＹＥＳ”）、メッセージ再送判断手段１３は再送の必要があると判断して、このデマンド処理コマンドに次の送信周期で送信するＮｏ．ｎ＋２の通し番号を付与して、メッセージ送受信手段１１から送信させる（ステップＳＴ１６）。
【００５１】
図９は、送信メッセージ及び応答メッセージにパケットエラーが発生した場合の通信の一例である。先ず、マスタ通信装置１０が、Ｎｏ．ｎ−１の送信メッセージ（データリクエスト又はデマンド）を送信する（ステップＳＴ１１）。続いて、スレーブ通信装置２０がこれを受信して、Ａｃｋ（ｎ−１）の応答メッセージを送信する（ステップＳＴ２４）。
【００５２】
次の送信周期になると、マスタ通信装置１０がＮｏ．ｎの送信メッセージを送信するが（ステップＳＴ１１）、パケットエラーにより消失する。さらに次の送信周期になると、マスタ通信装置１０がＮｏ．ｎ＋１の送信メッセージを送信する（ステップＳＴ１１）。
【００５３】
スレーブ通信装置２０は、図７を用いた上述の説明のように、再送要求（ｎ）の応答メッセージを送信するか（ステップＳＴ２４）、又はＡｃｋ（ｎ＋１）の応答メッセージを送信するが（ステップＳＴ２１）、パケットエラーにより消失する。
【００５４】
次の送信周期になると、マスタ通信装置１０がＮｏ．ｎ＋２の送信メッセージを送信する（ステップＳＴ１１）。続いて、スレーブ通信装置２０がこれを受信して（ステップＳＴ２１“ＹＥＳ”）、メッセージ異常判断手段２２がＮｏ．ｎ＋１、Ｎｏ．ｎ＋２の通し番号に抜けはないと判断して（ステップＳＴ２３“ＮＯ”）、コマンド実行手段２５がメッセージ送受信手段２１に指示してＡｃｋ（ｎ＋２）の応答メッセージを送信させる（ステップＳＴ２４）。
【００５５】
マスタ通信装置１０は、Ａｃｋ（ｎ＋２）の応答メッセージを受信すると（ステップＳＴ１２“ＹＥＳ”、ステップＳＴ１３“ＮＯ”）、メッセージ異常判断手段１２がＡｃｋ（ｎ）及びＡｃｋ（ｎ＋１）が抜けていることを判断して、パケットエラーが発生していると判断する（ステップＳＴ１４“ＹＥＳ”）。続いて、メッセージ再送判断手段１３が、Ａｃｋ（ｎ）に対応するＮｏ．ｎの送信メッセージが、データリクエスト処理コマンドかデマンド処理コマンドか判断する（ステップＳＴ１５）。
【００５６】
Ｎｏ．ｎの送信メッセージがデータリクエスト処理コマンドであれば（ステップＳＴ１５“ＮＯ”）、そもそも再送の必要はなく、また、スレーブ通信装置２０側から再送要求メッセージが送信されることもないので、メッセージ再送判断手段１３は再送の必要がないと判断する。次の送信周期では、次の送信メッセージがＮｏ．ｎ＋３の通し番号と共に送信されることとなる。
他方、Ｎｏ．ｎの送信メッセージがデマンド処理コマンドであれば（ステップＳＴ１５“ＹＥＳ”）、再送の必要があり、さらに、再送要求メッセージがパケットエラーにより消失している可能性もあるため、メッセージ再送判断手段１３は再送の必要があると判断して、このデマンド処理コマンドに次の送信周期で送信するＮｏ．ｎ＋３の通し番号を付与して、メッセージ送受信手段１１から送信させる（ステップＳＴ１６）。
【００５７】
図６〜図９の例を用いて説明したように、マスタ通信装置１０からの送信メッセージに通し番号を付番し、スレーブ通信装置２０はこの通し番号と同じ番号を付番した応答メッセージを返信するようにしたことにより、マスタ通信装置１０から送信されたメッセージが何らかの異常によって捨てられたとしても、スレーブ通信装置２０側で通し番号が連続していない（抜けている）ことを判断して再送要求を行うことができる。
また、スレーブ通信装置２０が、デマンド処理コマンドの送信メッセージにパケットエラーが発生したと判断した場合に再送要求を行うことにより、あるいはマスタ通信装置１０が、デマンド処理コマンドの送信メッセージを再送することにより、通信の信頼性が向上すると共に、通信のトラフィックをできるだけ抑え、通信速度を向上することができる。
さらに、マスタ通信装置１０は、スレーブ通信装置２０からの応答メッセージにパケットエラーが発生した場合であっても、通し番号によって再送が必要か判断することができる。
【００５８】
以上より、実施の形態１によれば、通信システムは、マスタ通信装置１０が、送信周期計時手段１５のカウントに基づく所定の送信周期で、通し番号を付与した送信メッセージをスレーブ通信装置２０へ送信するメッセージ送受信手段１１を有し、スレーブ通信装置２０が、受信した送信メッセージに付与された通し番号に基づいて、この送信メッセージ受信以前にマスタ通信装置１０から送信されたが当該スレーブ通信装置２０で受信しなかった消失送信メッセージがあるか判定し、当該消失送信メッセージがある場合に通信異常と判断するメッセージ異常判断手段２２と、メッセージ異常判断手段２２で通信異常があると判断された場合に、この送信メッセージの内容を解析して、消失送信メッセージの再送を要求するか否かを判断するメッセージ再送判断手段２３と、メッセージ異常判断手段２２で通信異常がないと判断された場合に、この送信メッセージと同じ番号を付与した応答メッセージをマスタ通信装置１０へ返送し、メッセージ再送判断手段２３で再送を要求すると判断された場合には、再送要求メッセージをマスタ通信装置１０へ返送するメッセージ送受信手段２１とを有するように構成した。
このため、マスタ通信装置１０からスレーブ通信装置２０へ送信した送信メッセージにパケットエラーが発生しても再送要求することにより通信の信頼性を向上させることができると共に、無駄な通信をしないことにより通信の速度を向上させることができる。
【００５９】
また、実施の形態１によれば、通信システムは、マスタ通信装置１０が、スレーブ通信装置１０から送信された応答メッセージを受信するメッセージ送受信手段１１と、受信した応答メッセージに付与された番号に基づいて、応答メッセージ受信以前にスレーブ通信装置２０から送信されたが当該マスタ通信装置１０で受信しなかった消失応答メッセージがあるか判定し、当該消失応答メッセージがある場合に通信異常と判断するメッセージ異常判断手段１２と、メッセージ異常判断手段１２で通信異常があると判断された場合に、消失応答メッセージに付与された番号に相当する通し番号の送信メッセージの内容を解析して、当該送信メッセージを再送するか否かを判断するメッセージ再送判断手段１３とを有し、メッセージ送受信手段１１は、メッセージ再送判断手段１３で再送すると判断された場合に、この送信メッセージを再度、スレーブ通信装置２０へ送信するように構成した。
このため、スレーブ通信装置２０からマスタ通信装置１０へ送信した応答メッセージにパケットエラーが発生しても再送することにより通信の信頼性を向上させることができると共に、無駄な通信をしないことにより通信の速度を向上させることができる。
【００６０】
さらに、実施の形態１によれば、通信システムは、マスタ通信装置１０が、メッセージ異常判断手段１２では、受信した応答メッセージが再送要求メッセージか否かを判断し、メッセージ再送判断手段１３では、メッセージ異常判断手段１２で再送要求メッセージであると判断された場合に、再送要求メッセージで指定された送信メッセージの内容を解析して、当該送信メッセージを再送するか否かを判断するように構成した。
このため、マスタ通信装置１０からスレーブ通信装置２０へ送信した送信メッセージにパケットエラーが発生しても再送することにより通信の信頼性を向上させることができると共に、無駄な通信をしないことにより通信の速度を向上させることができる。
【符号の説明】
【００６１】
１０  マスタ通信装置
１１  メッセージ送受信手段
１２  メッセージ異常判断手段
１３  メッセージ再送判断手段
１４  送信メッセージデータ記憶手段
１５  送信周期計時手段
２０  スレーブ通信装置
２１  メッセージ送受信手段
２２  メッセージ異常判断手段
２３  メッセージ再送判断手段
２４  応答メッセージデータ記憶手段
２５  コマンド実行手段
２６  エラー監視手段
【図１】
2011010016.tif 000003
【図２】
2011010016.tif 000004
【図３】
2011010016.tif 000005
【図４】
2011010016.tif 000006
【図５】
2011010016.tif 000007
【図６】
2011010016.tif 000008
【図７】
2011010016.tif 000009
【図８】
2011010016.tif 000010
【図９】
2011010016.tif 000011