(57)【要約】【課題】ノイズ耐性の向上とリアルタイム性の確保とを両立可能な同期通信技術を提供する。【解決手段】同期通信の各帯域時間内において送信対象のデータに誤り訂正コードを付与して連送する送信装置と通信する受信装置に以下のデータ回復部とデータ検証部とフロー制御を設ける。データ回復部は、各帯域時間において受信した一連のデータから選択される処理対象データを用いて送信データの回復を試みる。このデータ回復部は、各々異なる処理により送信対象のデータの回復を試みる複数種のデータ回復手段を含み、少なくとも一部の手段を連携させつつ各手段を並列に動作させる。データ検証部は送信データが正しく回復されたか否かを誤り訂正コードを用いて検証する。フロー制御部は、送信データが正しく回復されたとの検証結果が得られるまで、一連のデータから受信順に処理対象データを選択し、データ回復部に与える。【選択図】図６
2015089068.tif 000002
【特許請求の範囲】
【請求項１】
同期通信の各帯域時間において送信データに誤り訂正コードを付与して連送する送信装置から送信されてくるデータを受信し、各帯域時間において受信した一連のデータから選択される処理対象データを用いて送信データを回復するデータ回復部と、
前記データ回復部によって正しい送信データが回復されたか否かを前記処理対象データに付与されていた誤り訂正コードを用いて検証するデータ検証部と、
正しい送信データが回復されたとの検証結果が得られるまで、前記一連のデータから受信順に処理対象データを選択し、前記データ回復部に与えるフロー制御部と、を有し、
前記データ回復部は、
各々異なる処理により送信データの回復を行う複数種のデータ回復手段を含み、少なくとも一部のデータ回復手段を連携させつつ前記複数種のデータ回復手段の各々を並列に動作させる
ことを特徴とする受信装置。
【請求項２】
前記複数種のデータ回復手段には、
処理対象データと処理対象データよりも先に受信したデータとを対象とするビット毎の多数決により送信データの回復を行う一方、多数決に用いた全てのデータにおいて値が揃っていなかったビットの位置を示すビット位置情報を生成する多数決手段と、
前記処理対象データにおける前記ビット位置情報の示すビットについて全てのビットパターンのデータを生成することで送信データの回復を行う組み合わせ合成手段と、が含まれる
ことを特徴とする請求項１に記載の受信装置。
【請求項３】
前記組み合わせ合成手段は、
処理対象データに対して発生させたビットパターンを記憶し、次に与えられる処理対象データに対してビットパターンを発生させる際には当該記憶したビットパターンを除外する
ことを特徴とする請求項２に記載の受信装置。
【請求項４】
前記複数種のデータ回復手段には、前記処理対象データに対して誤り訂正コードを用いた誤り訂正を施してデータの回復を試みるとともに、誤り訂正ができなかった場合には誤りビット数を示すビット数情報を生成する誤り訂正手段が含まれ、
前記組み合わせ合成手段は、前記ビット位置情報の示すビットのうちから前記ビット数情報の示す数のビットを選択する際のビットの組み合わせの各々について、前記処理対象データにおける当該選択したビットを反転させたデータを生成して送信データの回復を行う
ことを特徴とする請求項２または請求項３に記載の受信装置。
【請求項５】
前記組み合わせ合成手段は、前記ビット位置情報の示すビットについて前記処理対象データおよび前記処理対象データよりも先に受信したデータにおけるビット値の出現態様に応じた優先度を定め、当該優先度度の高い順にビットの組み合わせを選択することを特徴とする請求項４に記載の受信装置。
【請求項６】
同期通信の各帯域時間内において送信データに誤り訂正コードを付与して連送する送信装置と、
前記送信装置と同期通信を行う受信装置と、を含み、
前記受信装置は、
前記送信装置から送信されてくるデータを受信し、各帯域時間において受信した一連のデータから選択される処理対象データを用いて送信データを回復するデータ回復部と、
前記データ回復部によって正しい送信データが回復されたか否かを前記処理対象データに付与されていた誤り訂正コードを用いて検証するデータ検証部と、
正しい送信データが回復されたとの検証結果が得られるまで、前記一連のデータから受信順に処理対象データを選択し、前記データ回復部に与えるフロー制御部と、を有し、
前記データ回復部は、
各々異なる処理により送信データの回復を行う複数種のデータ回復手段を含み、少なくとも一部のデータ回復手段を連携させつつ前記複数種のデータ回復手段の各々を並列に動作させる
ことを特徴とする通信システム。
【請求項７】
前記送信装置は、送信データを複数のデータブロックに分割し、前記誤り訂正コードとともに各データブロックについての第２の誤り訂正コードを前記送信データに付与して送信し、前記受信装置のデータ回復部はデータブロック毎に回復を試みる
ことを特徴とする請求項６に記載の通信システム。
【請求項８】
前記送信装置は、送信データの末尾に前記第２の誤り訂正コードを前記データブロックの配列順に付与し、さらにその後ろに前記誤り訂正コードを付与して連送する
ことを特徴とする請求項７に記載の通信システム。
【請求項９】
コンピュータに、
同期通信の各帯域時間内において送信データに誤り訂正コードを付与して連送する送信装置から送信されてくるデータを受信し、各帯域時間において受信した一連のデータから選択される処理対象データを用いて前記送信データの回復を行うステップであって、各々内容が異なる複数種のデータ回復処理を含み、少なくとも一部のデータ回復処理を連携させつつ前記複数種のデータ回復処理を並列に実行させる第１のステップと、
前記第１のステップにより送信データが正しく回復されたか否かを前記処理対象データに付与されていた誤り訂正コードを用いて検証する第２のステップと、
送信データが正しく回復されたとの検証結果が得られるまで、前記一連のデータから受信順に処理対象データを選択し、前記第１のステップを実行する第３のステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定められた周期でデータの送受信を行う同期通信に関する。
【背景技術】
【０００２】
同期通信では、予め定められた帯域時間内に各種データの送受信が実施される。例えば図１１に示すように、一つの帯域時間内では一回だけデータの送受信が行われるといった具合である。送信装置と受信装置との間の伝送経路（有線通信であれば通信ケーブル、無線通信であれば無線区間）内では、その伝送経路を流れるデータに周囲からのノイズ等によってビット化け（本来、０であったビットが１に化ける、或いはその逆）が発生する場合がある。このようなビット化けの発生した壊れたデータを用いて後段の処理を行ってしまうと、正しい処理結果が得られなくなってしまう。そこで、受信したデータが壊れているか否かを受信装置側で判定できるようにするために、ＣＲＣ（Cyclic Redundancy Check）などの検証コードを付与してデータを送信することが一般に行われている。そして、検証コードを用いた検証によりデータ破壊が検出された場合には、データの再送信を要求するメッセージを受信装置に送信させ、送信装置には再度新しい帯域時間を使ってデータを再送する処理を実行させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６２−１３１６３６号公報
【特許文献２】特開２００７−１０４４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＦＡ（Factory Automation）の実現等のために、工場などの産業施設内に敷設される同期通信システム（以下、産業用同期通信システム）では、リアルタイム性の保証や受信データの正しさへの要求が極めて高い。ここで、リアルタイム性とは、受信タイミングの定められたデータがその受信タイミングまでに送り届けられることをいう。リアルタイム性が保証されていなかったり、受信データの正しさが保証されていなかったりすると、産業施設内の機器の誤動作を招き、大事故に繋がる虞があるからである。その一方、産業用同期通信システムの動作環境には、電動機やインバータなど強力なノイズ源となり得る機器が多数存在する。加えて、産業施設における温度や湿度などの環境条件は過酷な場合も多く、これらに起因したデータ破壊も発生し得る。このように、産業用同期通信システムでは、一般的なコンシューマ向けの通信システム（メールサービスやウェッブサービスなどを実現するための通信システム）に比較して、伝送中のデータにビット化け等のデータ破壊が発生する可能性が高いと考えられ、ノイズ耐性の向上に充分に配慮する必要がある。しかし、その一方で、前述した再送によりノイズ耐性を高めようとすると、再送が頻発してリアルタイム性を損なう虞がある。
【０００５】
本発明は上記課題に鑑みて為されたものであり、ノイズに対する耐性の向上とリアルタイム性の確保とを両立可能な同期通信技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明は、同期通信の各帯域時間において送信データに誤り訂正コードを付与して連送する送信装置から送信されてくるデータを受信し、各帯域時間において受信した一連のデータから選択される処理対象データを用いて送信データを回復するデータ回復部と、前記データ回復部によって正しい送信データが回復されたか否かを前記処理対象データに付与されていた誤り訂正コードを用いて検証するデータ検証部と、正しい送信データが回復されたとの検証結果が得られるまで、前記一連のデータから受信順に処理対象データを選択し、前記データ回復部に与えるフロー制御部と、を有し、前記データ回復部は、各々異なる処理により送信データの回復を行う複数種のデータ回復手段を含み、少なくとも一部のデータ回復手段を連携させつつ前記複数種のデータ回復手段の各々を並列に動作させることを特徴とする受信装置、を提供する。
【０００７】
本発明の受信装置によれば、複数種のデータ回復手段の少なくとも一部を連携させつつ並列に動作させるため、送信データの回復を従来よりも効率良く行うことが可能になる。例えば、処理対象データと当該処理対象データよりも先に受信したデータを対象とするビット毎の多数決によりデータの回復を試みるとともに、多数決に用いた全てのデータにおいて値が揃っていなかったビットの位置を示すビット位置情報を生成する多数決手段と、処理対象データにおけるビット位置情報の示すビットについての全てのビットパターンのデータを生成して送信データの回復を試みる組み合わせ合成手段とが上記複数種のデータ回復手段に含まれていたとする。この場合、多数決手段による処理結果を利用して組み合わせ合成手段に発生させるビットパターンの絞り込みが行われる。一般に、処理対象データを構成する全てのビットを対象として全てのビットパターンのデータを発生させる総当たり式のデータ回復であれば正しい送信データを確実に回復することができるものの、正しい送信データを得るまでに多大な処理時間を要する場合がある。これに対して、本発明の受信装置では、このような総当たり式のデータ回復に比較して短い処理時間で正しい送信データを回復することが可能になる。したがって、本発明の受信装置によれば、ノイズに対する耐性の向上（すなわち、送信データを確実に回復できること）とリアルタイム性の確保（すなわち、短い処理時間で送信データの回復を行えること）とを両立させることが可能になる。
【０００８】
特許文献１には、送信側が１パケットのデータを複数回連送し、受信側が連送されたデータから多数決で正しいと推測されるデータを選出する技術が開示されている。しかし、特許文献１には、正しい送信データを回復するための処理として互いに処理内容の異なる複数種の処理を並列に実行することや、一部の処理を互いに連携させることは記載も示唆もされておらず、本願発明とは全く異なる技術である。また、特許文献２には、連送と多数決処理との組み合わせによりノイズ耐性を向上させる技術が開示されているが、正しい送信データを回復するための処理として互いに処理内容の異なる複数種の処理を並列に実行することや、一部の処理を互いに連携させることは記載も示唆もされておらず、本願発明とは全く異なる技術である。
【０００９】
より好ましい態様においては、前記組み合わせ合成手段は、処理対象データに対して発生させたビットパターンを記憶し、次に与えられる処理対象データに対してビットパターンを発生させる際には当該記憶したビットパターンを除外することを特徴とする。このような態様によれば、前回までの処理によって送信データとは異なることが判っているビットパターンが重複してチェックされることが除外され、正しい送信データを効率良く回復することが可能になる。
【００１０】
より好ましい態様によれば、前記複数種のデータ回復手段には、前記処理対象データに対して誤り訂正コードを用いた誤り訂正を施してデータの回復を試みるとともに、誤り訂正ができなかった場合には誤りビット数を示すビット数情報を生成する誤り訂正手段が含まれ、前記組み合わせ合成手段は、前記ビット位置情報の示すビットのうちから前記ビット数情報の示す数のビットを選択する際の組み合わせの各々について、前記処理対象データにおける当該選択したビットを反転させたデータを生成して送信データの回復を試みることを特徴とする。このような態様によれば、組み合わせ合成手段により発生させるビットパターンをさらに絞り込み、正しい送信データを一層効率良く回復することが可能になる。なお、さらに好ましい態様においては、前記組み合わせ合成手段は、前記ビット位置情報の示すビットについて前記処理対象データおよび前記処理対象データよりも先に受信したデータにおけるビット値の出現態様に応じた優先度を定め、当該優先度度の高い順にビットの組み合わせを選択することを特徴とする。詳細については後述するが、このような態様によれば、正しい送信データをさらに効率良く回復することが可能になる。
【００１１】
また、上記課題を解決するために本発明は、同期通信の各帯域時間内において送信データに誤り訂正コードを付与して連送する送信装置と、前記送信装置と同期通信を行う受信装置と、を含み、前記受信装置は、前記送信装置から送信されてくるデータを受信し、各帯域時間において受信した一連のデータから選択される処理対象データを用いて送信データを回復するデータ回復部と、前記データ回復部によって正しい送信データが回復されたか否かを前記処理対象データに付与されていた誤り訂正コードを用いて検証するデータ検証部と、正しい送信データが回復されたとの検証結果が得られるまで、前記一連のデータから受信順に処理対象データを選択し、前記データ回復部に与えるフロー制御部と、を有し、前記データ回復部は、各々異なる処理により送信データの回復を行う複数種のデータ回復手段を含み、少なくとも一部のデータ回復手段を連携させつつ前記複数種のデータ回復手段の各々を並列に動作させることを特徴とする通信システム、を提供する。このような通信システムによっても、ノイズに対する耐性の向上とリアルタイム性の確保との両立が可能になる。
【００１２】
より好ましい態様においては、前記送信装置は、送信データを複数のデータブロックに分割（例えば等分）し、前記誤り訂正コードとともに各データブロックについての第２の誤り訂正コードを前記送信データに付与して送信し、前記受信装置のデータ回復部はデータブロック毎に回復を試みることを特徴とする。一般に、送信装置から受信装置へ送信されるデータのデータサイズが大きくなるほどその一部がノイズにより壊れる可能性は高くなり、壊れるビット数も増えると考えられる。このため、送信装置から受信装置へ送信されるデータのデータサイズが大きくなるほど誤り訂正コードによるビット誤りの訂正や誤りビット数の検出は困難になる。本態様によれば、送信装置から受信装置へ送信されるデータを分割して得られるデータブロック単位で上記第２の誤り訂正コードによるビット誤りの訂正や誤りビット数の検出を行うことができる。
【００１３】
このため、ビット誤りの全く発生していないデータブロックを回復対象から除外することができ、また、データブロックのデータサイズを適切に定めておけば、多数決や組み合わせ合成によらずとも上記第２の誤り訂正コードを用いた誤り訂正により正しいデータブロックを回復することができると期待される。また、第２の誤り訂正コードによる訂正ができない場合であっても、誤りビット数が検出されていれば多数決の処理結果を加味して組み合わせ合成を行うことで効率良く正しいデータブロックを回復することができる。このようにデータブロック単位でデータ回復を行うようにすれば、送信装置から受信したデータ全体を処理対象としてデータ回復を行う場合に比較して、正しい送信データを効率良く回復することが可能になる。
【００１４】
さらに好ましい態様においては、前記送信装置は、送信データの末尾に前記第２の誤り訂正コードを前記データブロックの配列順に付与し、さらにその後ろに前記誤り訂正コードを付与して連送することを特徴とする。このような態様によれば、連送において最後に送信されたデータ全体を受信装置が帯域時間内に受信しきれなかった場合であっても、その受信しきれなかった部分が何れかのデータブロックについての第２の誤り訂正コード以降であれば、受信できた第２の誤り訂正コードを用いたデータブロックの回復は可能であり、また、多数決による正しい送信データの回復は可能である。
【００１５】
また、上記課題を解決するために本発明は、ＣＰＵ（Central Processing Unit）などのコンピュータに、同期通信の各帯域時間内において送信データに誤り訂正コードを付与して連送する送信装置から送信されてくるデータを受信し、各帯域時間において受信した一連のデータから選択される処理対象データを用いて前記送信データの回復を行うステップであって、各々内容が異なる複数種のデータ回復処理を含み、少なくとも一部のデータ回復処理を連携させつつ前記複数種のデータ回復処理を並列に実行させる第１のステップと、前記第１のステップにより送信データが正しく回復されたか否かを前記処理対象データに付与されていた誤り訂正コードを用いて検証する第２のステップと、送信データが正しく回復されたとの検証結果が得られるまで、前記一連のデータから受信順に処理対象データを選択し、前記第１のステップを実行する第３のステップと、を実行させることを特徴とするプログラム、を提供する。
【００１６】
このようなプログラムを一般的な通信装置にインストールし、その通信装置の制御部（ＣＰＵ）を当該プログラムにしたがって作動させることで、当該通信装置を本発明の受信装置として機能させることが可能になる。なお、このようなプログラムの具体的な配布態様としては、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などのコンピュータ読み取り可能な記録媒体に書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、同期通信におけるノイズに対する耐性の向上とリアルタイム性の確保とを両立させることが可能になる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態の通信システム１の構成例を示す図である。
【図２】同通信システム１に含まれる送信装置１０の構成例を示す図である。
【図３】同送信装置１０の制御部１１０が送信制御プログラムにしたがって実行する処理を説明するための図である。
【図４】各帯域時間における送信装置１０のデータ送信例を示す図である。
【図５】通信システム１に含まれる受信装置２０の構成例を示す図である。
【図６】同受信装置２０の制御部２１０が受信制御プログラムにしたがって実行する処理を説明するための図である。
【図７】同受信装置２０の動作例を示す図である。
【図８】同受信装置２０の動作例を示す図である。
【図９】本発明の第２実施形態を説明するための図である。
【図１０】同実施形態の変形例を説明するための図である。
【図１１】従来の同期通信システムの各帯域時間における送信装置のデータ送信例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ本発明の実施形態について説明する。
（Ａ：第１実施形態）
図１は、本発明の第１実施形態の通信システム１の構成例を示す図である。
この通信システム１は、例えば工場などの産業施設内に敷設される産業用同期通信システムであり、送信装置１０と受信装置２０とを含んでいる。送信装置１０と受信装置２０は産業施設内に敷設された通信網（例えば、Local Area Network）３０に有線接続されており、通信網３０を介して前述した同期通信を行う。本実施形態では、通信網３０における通信プロトコルとして、物理層およびデータリンク層についてはトークンリングが、ネットワーク層についてはＩＰが、トランスポート層についてはＵＤＰが夫々採用されているが、これらの組み合わせに限定される訳ではない。図１では図面が煩雑になることを避けるために、送信装置１０と受信装置２０が夫々１つずつ図示されているが、複数の送信装置１０が通信網３０に接続されていても良く、同様に複数の受信装置２０が通信網３０に接続されていても良い。また、本実施形態では、送信装置１０と受信装置２０とが有線通信を行う場合について説明するが無線通信を行う態様であっても良い。
【００２０】
送信装置１０は、産業施設に設置された各種機器（電動機やその駆動制御を行うインバータなど）或いはこれら各機器の稼働監視を行うための各種センサに接続されている。以下、送信装置１０に接続されている機器やセンサを「送信側上位装置」と呼ぶ。一方、受信装置２０には、上記各種機器や各種センサからその稼働状況等を示すデータを収集して稼働監視を行うコントローラが接続されている。以下では受信装置２０に接続されているコントローラのことを「受信側上位装置」と呼ぶ。送信装置１０は送信側上位装置の出力データを、前述した同期通信により受信装置２０へ送信する。一方、受信装置２０は通信網３０を介して送信装置１０から送信されてくるデータを受信し、受信側上位装置に与える。これにより、受信側上位装置による送信側上位装置の稼働監視が実現される。
【００２１】
図２は、送信装置１０の構成例を示す図である。
図２に示すように送信装置１０は、制御部１１０、外部機器インタフェース部（以下、「外部機器Ｉ／Ｆ部」と略記）１２０、通信インタフェース部（以下、「通信Ｉ／Ｆ部」と略記）１３０、記憶部１４０、およびこれら構成要素間のデータ授受を仲介するバス１１５０を含んでいる。
【００２２】
制御部１１０は、例えばＣＰＵである。制御部１１０は記憶部１４０（より正確には不揮発性記憶部１４４）に格納されている送信制御プログラムを実行することで送信装置１０の制御中枢として機能する。制御部１１０が送信制御プログラムにしたがって実行する処理の詳細については後に明らかにする。
【００２３】
外部機器Ｉ／Ｆ部１２０は、例えばパラレルインタフェースやシリアルインタフェースであり、信号線を介して送信側上位装置に接続されている。外部機器Ｉ／Ｆ部１２０は、送信側上位装置から受け取ったデータを制御部１１０に引き渡す。通信Ｉ／Ｆ部１３０は例えばＮＩＣ（Network Interface Card）であり、通信網３０に接続されている。通信Ｉ／Ｆ部１３０は通信網３０から送信されてくるデータを受信し、制御部１１０に引き渡す一方、制御部１１０から与えられるデータを通信網３０へと送出する。
【００２４】
記憶部１４０は、図２に示すように、揮発性記憶部１４２と不揮発性記憶部１４４とを含んでいる。揮発性記憶部１４２は、例えばＲＡＭ（Random Access Memory）などの揮発性メモリにより構成されている。揮発性記憶部１４２は、前述した送信制御プログラムを実行する際のワークエリアとして制御部１１０によって利用される。また、揮発性記憶部１４２は、外部機器Ｉ／Ｆ部１２０を介して送信側上位装置から受け取ったデータを一時的に蓄積しておく送信データバッファの役割も果たす。不揮発性記憶部１４４は例えばＥＥＰＲＯＭやフラッシュメモリなどの不揮発性メモリにより構成されている。不揮発性記憶部１４４には、前述した送信制御プログラムが格納されている他、前述した同期通信を実現するための各種データ（送信装置１０の通信アドレスや、帯域時間の時間長を示すデータなど）が格納されている。
【００２５】
制御部１１０は、送信装置１０の電源（図示略）を契機として送信制御プログラムを不揮発性記憶部１４４から揮発性記憶部１４２に読み出し、その実行を開始する。送信制御プログラムにしたがって作動している制御部１１０は、送信側上位装置からのデータ引き渡しを待ち受けるとともに、図３に示す帯域同期制御処理ＳＡ１００、誤り訂正コード追加処理ＳＡ１１０、連送制御処理ＳＡ１２０、および送信データ出力処理ＳＡ１３０の各処理を実行する。これら各処理の内容は以下の通りである。
【００２６】
帯域同期制御処理ＳＡ１００は、送信データバッファに格納されたデータ（すなわち、受信側上位装置へ送信するデータ、或いは当該データを所定のデータサイズに分割して得られる各データ、以下、送信データ）に対して同期通信における帯域時間を割り当てる処理である。誤り訂正コード追加処理ＳＡ１１０は、帯域同期制御処理ＳＡ１００にて帯域時間に割り当てられた送信データについてＥＣＣなどの誤り訂正コードを算出し、当該送信データの末尾に付与する処理である。連送制御処理ＳＡ１２０は、誤り訂正コードの付与された送信データを当該データに対応する帯域時間に亙って連続送信するための処理である。この連送制御処理ＳＡ１２０では、制御部１１０は、誤り訂正コードの付与された送信データの連送数をそのデータサイズ（誤り訂正コードを含めたデータサイズ）と帯域時間の時間長および通信網３０にて利用可能な帯域幅に応じて算出し、その数に応じた分だけ当該データのコピーを生成する。そして、送信データ出力処理ＳＡ１３０は、連送制御処理ＳＡ１２０にて生成された連送数分のデータの各々を送信タイミングが重ならないように通信Ｉ／Ｆ部１３０に順次与え、当該データを通信網３０へ送出させる処理である。
【００２７】
これらの処理が実行される結果、本実施形態では、図４に示すように、１つの帯域時間において各々誤り訂正コードの付与された複数の送信データが連続して送信装置１０から通信網３０へ送出される。図４に示すように、本実施形態では、各帯域時間において最初に送信されるデータを「１回目のデータ」と呼び、以降のデータをその送信順に「連送Ｎ回目のデータ」（Ｎは１以上の整数）と呼ぶ。例えば、１回目の直後に送信されるデータは「連送１回目のデータ」である。１つの帯域時間においてＮ回の連送が行われる場合には、図４に示すように、当該帯域時間においては合計Ｎ＋１個のデータが送信される。
以上が送信装置１０の構成である。
【００２８】
次いで受信装置２０の構成を説明する。
図５は受信装置２０の構成例を示す図である。受信装置２０のハードウェア構成は送信装置１０のハードウェア構成と同一である。すなわち、受信装置２０は、制御部２１０、外部機器Ｉ／Ｆ部２２０、通信Ｉ／Ｆ部２３０、記憶部２４０およびバス２５０を含んでいる。制御部２１０は送信装置１０における制御部１１０に、外部機器Ｉ／Ｆ部２２０は送信装置１０における外部機器Ｉ／Ｆ部１２０に、通信Ｉ／Ｆ部２３０は送信装置１０における通信Ｉ／Ｆ部１３０に、記憶部２４０は送信装置１０における記憶部１４０に、バス２５０は送信装置１０におけるバス１５０に、夫々対応する。但し、外部機器Ｉ／Ｆ部２２０については、受信側上位装置に接続されている点が送信装置１０における外部機器Ｉ／Ｆ部１２０と異なる。
【００２９】
図５に示すように、記憶部２４０は、揮発性記憶部２４２と不揮発性記憶部２４４を含んでいる。揮発性記憶部２４２は送信装置１０における揮発性記憶部１４２と同様に揮発性メモリにより構成されており、不揮発性記憶部２４４は送信装置１０における不揮発性記憶部１４４と同様に不揮発性メモリにより構成されている。不揮発性記憶部２４４には受信制御プログラムが格納されており、この点が送信装置１０と異なる。揮発性記憶部２４２は受信制御プログラムを実行する際のワークエリアとして制御部２１０によって利用されるとともに、通信Ｉ／Ｆ部２３０を介して受信したデータを一時的に蓄積する受信データバッファの役割も果たす。また、揮発性記憶部２４２の一部の記憶領域は、複数の処理からアクセス可能な共有メモリとして利用される。この共有メモリの利用態様の詳細については後に明らかにする。
【００３０】
制御部２１０は、受信装置２０の電源（図示略）の投入を契機として受信制御プログラムの実行を開始する。この受信制御プログラムにしたがって作動している制御部２１０は、図６に示す帯域同期制御処理ＳＢ１００、データ回復処理ＳＢ１１０、データ検証処理ＳＢ１２０、フロー制御処理ＳＢ１３０、および受信データ出力処理ＳＢ１４０の各処理を実行する。これら各処理の内容は以下の通りである。
【００３１】
帯域同期制御処理ＳＢ１００は、受信データバッファに格納されたデータを同期通信における帯域時間毎に分類する処理である。なお、以下では、帯域時間毎に分類された各データの誤り訂正コードを除いた部分（すなわち、前述した送信データに対応する部分）を「受信データ」と呼ぶ。通信網３０における伝送過程でノイズ等に起因するビット化けが発生していなければ、各帯域時間における受信データは送信データと一致する。しかし、実際にはビット化けを完全に排除することはできないため、送信パターンと同じビットパターンのデータを受信データから回復すること、すなわち、受信データから正しい送信データを回復することが必要となる。データ回復処理ＳＢ１１０はこのための処理である。
【００３２】
データ回復処理ＳＢ１１０は、各帯域時間の複数の受信データのうちから選択された処理対象データを用いて正しい送信データを回復する処理である。図６に示すように、データ回復処理ＳＢ１１０には、誤り訂正処理ＳＢ１１１０、多数決処理ＳＢ１１２０、および組み合わせ合成処理ＳＢ１１３０の３種類の処理が含まれている。これら３つの処理はフロー制御処理ＳＢ１３０による制御の下で互いに並列に実行される。これら３種類の処理の処理内容は以下の通りである。
【００３３】
誤り訂正処理ＳＢ１１１０は、処理対象データに付与されている誤り訂正コードを用いて当該データにおけるビット誤りの訂正を試みる処理である。本実施形態では、誤り訂正コードとしてＥＣＣコードが採用されている。このため、受信データのうちの１ビットが誤っている場合には誤り訂正処理ＳＢ１１１０により正しい送信データの回復が可能であり、２ビットが誤っている場合にはその検出（すなわち、ビット誤りの位置は判らないものの２つのビットが誤っていることの検出）が可能である。
【００３４】
誤り訂正処理ＳＢ１１１０では、制御部２１０は、受信データにビット誤りが無い場合には当該受信データをそのままデータ検証処理ＳＢ１２０に引き渡し、１ビットのビット誤りが含まれていた場合にはそのビット誤りを訂正したデータをデータ検証処理ＳＢ１２０に引き渡す。以下では、誤り訂正処理ＳＢ１１１０によりデータ検証処理ＳＢ１２０に引き渡されるデータのことを「自動訂正データ」と呼ぶ。前述したように、この自動訂正データはビット誤りを含まない正しい送信データである。これに対して、受信データにビット誤りが２つ以上含まれていた場合には、制御部２１０はデータの回復を行えなかったことをフロー制御処理ＳＢ１３０に通知する。これに加えて、受信データに含まれるビット誤りが２つであった場合には、制御部２１０は、２ビットのビット誤りを検出したことを示すビット数情報を揮発性記憶部２４２の所定の記憶領域（前述した共有メモリ）に書き込む。
【００３５】
多数決処理ＳＢ１１２０は、処理対象データとその処理対象データに先立って受信したデータを対象としてビット毎の多数決により正しい送信データの回復を試みるとともに、多数決に用いた全ての受信データにおいて値が揃っていなかったビットを示すビット情報を生成して前述した共有メモリに書き込む処理である。この多数決処理ＳＢ１１２０により回復されたデータのことを以下では「多数決データ」と呼ぶ。例えば、処理対象データが連送２回目の受信データであった場合、多数決処理ＳＢ１１２０では、制御部２１０は、まず、１回目の受信データ、連送１回目および連送２回目の各受信データの第ｋビットを参照し、当該ビットの値が１となっているデータと０となっているデータとが混在しているか否かを判定する。
【００３６】
混在していない場合には、制御部２１０は上記各受信データにおける第ｋビットの値を多数決データにおける第ｋビットの値とする。これに対して混在していた場合には、制御部２１０は、当該ビットの位置を示すビット位置情報（すなわち、先頭から何ビット目かを示す情報）を前述した共有メモリに書き込むとともに、上記各受信データにおいて当該ビットが０となっているものが過半数を占めれば多数決データにおける当該ビットを０とする一方、１となっているものが過半数を占めれば多数決データにおける当該ビットを１として多数決データを生成する。なお、１回目の受信データおよび連送１回目の受信データが処理対象データである場合には、多数決を実行できないため、制御部２１０はデータの回復を行えなかったことをフロー制御処理ＳＢ１３０に通知する。ただし、連送１回目の受信データが処理対象データである場合、多数決データの生成はできないものの、ビット位置情報の生成は可能であるため、共有メモリへのビット位置情報の書き込みは行われる。
【００３７】
組み合わせ合成処理ＳＢ１１３０は、他の２種類の回復処理により得られた情報（誤りビット数情報およびビット位置情報）に基づいて正しい送信データとして想定し得るビットパターンを発生させ、それらビットパターンの各々を表すデータ（以下、組み合わせ合成データ）をデータ検証処理ＳＢ１２０に引き渡す処理である。例えば、処理対象データに２ビット分のビット誤りがあることを示すビット数情報が上記共有メモリに格納されており、かつ当該データの第２、第３、第５、第６および第８ビットの各ビットを示すビット位置情報が上記共有メモリに格納されていた場合には、組み合わせ合成処理ＳＢ１１３０において制御部２１０は、上記受信データに基づいてこれら５ビットのうちの任意の２個を反転した組み合わせ合成データ（合計１０通りのデータ）を生成し、データ検証処理ＳＢ１２０に引き渡す。受信データに２個のビット誤りが含まれており、第２、第３、第５、第６および第８ビットの各ビットが怪しいのであれば、上記１０通りの組み合わせ合成データのなかに正しい送信データがあるはずだからである。
【００３８】
上記共有メモリにビット数情報とビット位置情報とが格納されていない場合には、データの回復が不能である旨をフロー制御処理ＳＢ１３０に通知し、組み合わせ合成データの生成を行わせないようにしても良いし、受信データを構成する全てのビットについて全てのビットパターンの組み合わせ合成データを生成してデータ検証処理ＳＢ１２０に与える処理を実行させるようにしても良い。本実施形態では、後者の態様が採用されている。後者の態様により生成される組み合わせ合成データの中には正しい送信データが必ず含まれている。しかし、このような総当たり式の処理を採用した場合には、受信データのデータサイズが１バイトであったとしても、２５６個の組み合わせ合成データを生成してその各々について誤り訂正コードによる検証を行うこととなり、膨大な処理時間を要する。このため、制御部２１０は、フロー制御処理ＳＢ１３０から処理の打ち切りを通知された場合には、その時点で組み合わせ合成処理ＳＢ１１３０の実行を打ち切る。
【００３９】
データ検証処理ＳＢ１２０は、データ回復処理ＳＢ１１０により回復されたデータ（自動訂正データ、多数決データ、または組み合わせ合成データ）について処理対象データに付与されていた誤り検出コードを用いて正しい送信データであるか否かの検証を行い、正しい送信データであるとの検証結果が得られた場合には、当該データを受信データ出力処理ＳＢ１４０に引き渡すとともに正しい送信データが回復されたことをフロー制御処理ＳＢ１３０に通知する。この通知にはセマフォ等を利用すれば良い。フロー制御処理ＳＢ１３０は、帯域時間毎に実行される処理である。このフロー制御処理ＳＢ１３０では、制御部２１０は、１つの帯域時間内に受信した複数のデータから受信順に処理対象データを１つ選択してデータ回復処理ＳＢ１１０に与えることを、データ検証処理ＳＢ１２０により正しい送信データの回復を通知されるまで繰り返す。データ検証処理ＳＢ１２０にて正しい送信データであるとの検証結果が得られたデータは受信データ出力処理ＳＢ１４０において、外部機器Ｉ／Ｆ部２２０を介して受信側上位装置へ出力される。
【００４０】
加えて、制御部２１０は、データ回復処理ＳＢ１１０に含まれる３つの処理のうちの任意の２つからデータ回復不能である旨の通知を受けると、残りの１つの処理の実行をその時点で打ち切り、次の処理対象データを選択する。このように本実施形態では、１つの帯域時間について正しい送信データが回復されると、その帯域時間について以降の処理対象データの選択が行われることはなく、省電力化を図ることができる。
以上が受信装置２０の構成である。
【００４１】
次いで、送信データのデータサイズが８ビットである場合を例にとって受信装置２０の動作を説明する。１つの帯域時間内のデータとして１回目の受信データ、連送１回目の受信データ、連送２回目の受信データ、連送３回目の受信データ・・・が帯域同期制御処理ＳＢ１００により得られると、フロー制御処理ＳＢ１３０では制御部２１０は、まず、１回目の受信データを「処理対象データ」として選択し、データ回復処理ＳＢ１１０に与える。このデータ回復処理ＳＢ１１０では、上記１回目の受信データを処理対象データとして誤り訂正処理ＳＢ１１１０、多数決処理ＳＢ１１２０および組み合わせ合成処理ＳＢ１１３０が並列に実行される。
【００４２】
図７（ａ）に示すように１回目の受信データにビット誤りが発生していない場合、または図７（ｂ）に示すように１回目の受信データにビット誤りが１つだけ発生していた場合には誤り訂正処理ＳＢ１１１０では正しい送信データが回復され、自動訂正データとしてデータ検証処理ＳＢ１２０に引き渡される。これに対して、多数決処理ＳＢ１１２０では、処理対象データが「１回目の受信データ」であるため、データ回復不能である旨の通知がフロー制御処理ＳＢ１３０に与えられる。組み合わせ合成処理ＳＢ１１３０では、共有メモリにビット数情報やビット位置情報が格納されることはないため、前述した総当たり方式で組み合わせ合成データが生成される。
【００４３】
図７（ａ）または図７（ｂ）に示す動作例において誤り訂正処理ＳＢ１１１０からデータ検証処理ＳＢ１２０に引き渡される自動訂正データは正しい送信データである。このため、データ検証処理ＳＢ１２０では当該データの受信データ出力処理ＳＢ１４０への引き渡しと、正しい送信データが回復されたことのフロー制御処理ＳＢ１３０への通知が実行される。受信データ出力処理ＳＢ１４０では、正しく回復された送信データの受信側上位装置への出力が実行され、フロー制御処理ＳＢ１３０では、データ回復処理ＳＢ１１０（より正確には、組み合わせ合成処理ＳＢ１１３０）の実行を打ち切る処理が実行される。以上の処理が実行される結果、正しく回復された送信データが受信側上位装置に引き渡される。
【００４４】
図８に示すように１回目の受信データに３つのビット誤りが発生していた場合には誤り訂正処理ＳＢ１１１０では、データの回復を行えず、データ回復不能である旨の通知がフロー制御処理ＳＢ１３０に与えられる。多数決処理ＳＢ１１２０においても同様にデータ回復不能である旨の通知がフロー制御処理ＳＢ１３０に通知される。本動作例においても、組み合わせ合成処理ＳＢ１１３０では前述した総当たり方式で組み合わせ合成データの生成が行われるが、誤り訂正処理ＳＢ１１１０および多数決処理ＳＢ１１２０からのデータ回復不能の通知を受け取ったことを契機として、フロー制御処理ＳＢ１３０によって、組み合わせ合成処理ＳＢ１１３０の実行が打ち切られる。そして、フロー制御処理ＳＢ１３０では、「連送１回目の受信データ」が新たな処理対象データとして選択し直される。
【００４５】
図８に示すように本動作例における「連送１回目の受信データ」には、ビット誤りが２つ含まれている。このため、誤り訂正処理ＳＢ１１１０では、処理対象データに２個のビット誤りが含まれることを示すビット数情報を共有メモリに書き込む処理と、データ回復不能であることをフロー制御処理ＳＢ１３０に通知する処理とが実行される。多数決処理ＳＢ１１２０では、処理対象データが「連送１回目の受信データ」であるため、多数決データの生成は行われず、データ回復不能であることをフロー制御処理ＳＢ１３０に通知する処理とビット位置情報を共有メモリに書き込む処理とが実行される。図８における「１回目の受信データ」と「連送１回目の受信データ」とでは、第２、第３、第５、第６および第８ビットの合計５つのビットが互いに異なっている。このため、本動作例では、上記第２、第３、第５、第６および第８ビットを示すビット位置情報が上記共有メモリに書き込まれる。
【００４６】
組み合わせ合成処理ＳＢ１１３０では、共有メモリに格納されているビット数情報およびビット位置情報に基づいて以下の１０通りの組み合わせ合成データを生成してデータ検証処理ＳＢ１２０に与える処理が実行される。すなわち、処理対象データに対して、第２、第３、第５、第６および第８ビットのうちから任意の２つを選んで反転させる処理を施すことで生成された１０個の組み合わせ合成データがデータ検証処理ＳＢ１２０に与えられる。これら１０個の組み合わせデータのなかには送信データを正しく回復したものが含まれている。図８を参照すれば明らかなように、処理対象データ（連送１回目の受信データ）の第２および第６ビットを反転すれば正しい送信データが得られるからである。
【００４７】
誤り訂正処理ＳＢ１１１０および多数決処理ＳＢ１１２０からのデータ回復不能の通知を受け取ったことを契機とするフロー制御処理ＳＢ１３０による打ち切りよりも先に、上記正しく回復された送信データが組み合わせ合成処理ＳＢ１１３０からデータ検証処理ＳＢ１２０に与えられれば、その時点で送信データの回復は完了し、正しく回復された送信データが受信側上位装置に与えられる。
【００４８】
ここで、フロー制御処理ＳＢ１３０による打ち切りのほうが先に発生したとしても特段の問題は生じない。理由は以下の通りである。この場合、フロー制御処理ＳＢ１３０では、「連送２回目の受信データ」が新たな処理対象データとして選択し直される。図８に示すように本動作例における「連送２回目の受信データ」にも、ビット誤りが２つ含まれているため、誤り訂正処理ＳＢ１１１０では、処理対象データに２個のビット誤りが含まれることを示すビット数情報を共有メモリに書き込む処理とデータ回復不能であることフロー制御処理ＳＢ１３０に通知する処理とが実行される。図８を参照すれば明らかなように、本動作例における１回目の受信データ、連送１回目の受信データおよび連送２回目の受信データを第１〜第８ビットのビット毎に比較すると、全てのビットにおいて正しいビット値の方が多くなっている。このため、本動作例における「連送２回目の受信データ」を処理対象データとする多数決処理ＳＢ１１２０では多数決データとして正しい送信データが生成される。つまり、「連送１回目の受信データ」を処理対象データとするデータ回復処理の実行過程でフロー制御処理ＳＢ１３０による打ち切りのほうが先に発生したとしても、結局、「連送２回目の受信データ」を処理対象データとするデータ回復処理の実行過程で正しい送信データが多数決処理によって回復され、受信側上位装置への引き渡しが行われる。したがって、特段の問題は生じないのである。
【００４９】
以上説明したように本実施形態によれば、正しい送信データを確実に回復することができ、ノイズに対する耐性を従来よりも高めることができる。また、組み合わせ合成処理ＳＢ１１３０により正しい送信データが回復される場合であっても、誤り訂正処理ＳＢ１１１０により得られたビット数情報および多数決処理ＳＢ１１２０により得られたビット位置情報に基づいて発生させるビットパターンの絞り込みが行われるため、総当たり方式に比較して短い処理時間で正しい送信データを回復することができ、リアルタイム性に悪影響を及ぼすことはない。つまり、本実施形態によれば、同期通信におけるノイズに対する耐性の向上とリアルタイム性の確保とを両立させることが可能になる。また、本実施形態では、正しい送信データを回復する処理に受信側上位装置は一切関与しないため、受信側上位装置に余分な処理負荷がかかることもない。
【００５０】
（Ｂ：第２実施形態）
上記第１実施形態では、各帯域時間において送信装置１０から受信装置２０へ送信するデータのデータサイズが１バイトである場合について説明したが、実際の産業用同期通信システムでは、よりデータサイズの大きいデータを各帯域時間において送受信することが多い。そして、各帯域時間において送受信するデータのデータサイズが大きい程、ノイズに対する耐性は低くなる。例えば、各帯域時間において送信装置１０から受信装置２０へ送信するデータのデータサイズが１キロバイトである場合、そのうちの３ビットにビット誤りが発生したとしても、誤り訂正コードによる誤り訂正は勿論、ビット数情報の生成すらできない。多数決処理による回復や組み合わせ合成処理による回復は勿論不可能ではないが、多大な処理時間を要する虞がある。本実施形態は、このような事情を考慮したものである。
【００５１】
より詳細に説明すると、本実施形態の送信装置１０は、送信データをよりデータサイズの小さい複数のデータブロックに分割（等分）し、図９に示すようにデータブロック毎に当該データブロックについての誤り訂正のための第２の誤り訂正コード（以下、ブロック単位誤り訂正コード）を付与して連送する。そして、受信装置２０では、データブロック毎に前述したデータ回復処理ＳＢ１１０およびデータ検証処理ＳＢ１２０が実行され、正しく回復されたデータブロックを連結して受信側上位装置へ与える処理が受信データ出力処理ＳＢ１４０において実行される。このような態様によれば、ブロック単位誤り訂正コードによりビット誤りの発見されたデータブロックについてのみ回復が行われ、送信データ全体を１つの単位として回復を行う場合に比較して効率良くデータの回復を行うことが可能になる。なお、本実施形態によれば、ブロック単位誤り訂正コードを付与する分だけ、送信データのデータサイズが同じであれば、１回のデータ送信当たりのデータ量が第１実施形態に比べて増加する。この増加分と、通信網３０において利用可能な帯域幅と、帯域時間の時間長と、各帯域時間におけるノイズの発生状況とに基づいて、各データブロックのデータサイズ（或いは送信データの分割数）を適切な値に定めるようにすれば良い。
【００５２】
つまり、本実施形態によれば、前述した第１実施形態と同様にノイズに対する耐性の高い同期通信を行うことが可能になることは勿論、ノイズの影響により壊れたデータを上記第１実施形態よりも効率良く回復することが可能になる。なお、本実施形態では、送信データを分割して得られる各データブロックにブロック単位誤り訂正コードを付与したが、図１０に示すように、各データブロックに誤り訂正コードを付与するのではなく、送信データに後続してブロック単位誤り訂正コードをデータブロックの順に配列し、さらに当該ブロック単位誤り訂正コードの配列の後ろに送信データ全体についての誤り訂正コードを付与しても良い。このような態様によれば、連送において最後に送信されたデータ全体を受信装置が帯域時間内に受信しきれなかった場合であっても、その受信しきれなかった部分が何れかのデータブロックについてのブロック単位誤り訂正コード以降であれば、受信できたブロック単位誤り訂正コードを用いたデータブロックの回復は可能であり、また、送受信対象のデータそのものは受信できているため、多数決処理による回復には当該データを利用できるといったメリットがあるからである。
【００５３】
（Ｃ：その他の実施形態）
以上本発明の第１および第２実施形態について説明したが、これらの他にも以下の実施形態が考えられる。
（１）上記第１および第２実施形態では、誤り訂正処理ＳＢ１１１０により得られたビット数情報と多数決処理ＳＢ１１２０により得られたビット位置情報とを共有メモリに書き込み、組み合わせ合成処理ＳＢ１１３０では上記共有メモリに格納されているビット数情報およびビット位置情報を参照するといった具合に、共有メモリを利用して誤り訂正処理ＳＢ１１１０および多数決処理ＳＢ１１２０と、組み合わせ合成処理ＳＢ１１３０とを連携させた。しかし、誤り訂正処理ＳＢ１１１０、多数決処理ＳＢ１１２０および組み合わせ合成処理ＳＢ１１３０の各々に対応するプロセスを生成し、誤り訂正処理ＳＢ１１１０から組み合わせ合成処理ＳＢ１１３０へのビット数情報の引き渡しや多数決処理ＳＢ１１２０から組み合わせ合成処理ＳＢ１１３０へのビット位置情報の引き渡しを、プロセス間通信により実現しても良い。要は、誤り訂正処理ＳＢ１１１０および多数決処理ＳＢ１１２０と、組み合わせ合成処理ＳＢ１１３０とを連携させる（前者の処理により得られた情報を後者の処理において利用する）ことができれば良く、その実現方法は問わない。
【００５４】
（２）組み合わせ合成処理ＳＢ１１３０においてビット数情報およびビット位置情報に応じたビットの組み合わせを選択する場合、ビット位置情報の示すビットについて多数決処理の対象となっている受信データにおけるビット値の出現態様に応じた優先度を定め、当該優先度の高い順にビットの組み合わせを選択しても良い。例えば、処理対象データにおけるビット値がこれに先行する他の全ての受信データにおけるビット値と異なるビットを優先度を高くする（優先的に選択する）態様が考えられる。図８に示す例において「連送２回目の受信データ」を処理対象データとして組み合わせ合成処理ＳＢ１１３０を実行する場合、この態様が採用されていれば、第４および第７ビットが優先的に選択され、正しい送信データをいち早く回復することができると期待される。
【００５５】
（３）上記第１および第２実施形態では、組み合わせ合成処理ＳＢ１１３０において発生させるビットパターンをビット数情報およびビット位置情報の両方を用いて絞り込む場合について説明したが、ビット位置情報のみを用いても勿論良い。例えば、第２、第３、第５、第６および第８ビットの合計５ビットを示すビット位置情報が共有メモリに格納されている場合には、これら５つのビットについて０／１の全ての組み合わせ（合計３２通り）のデータ（他のビットは処理対象データにおけるビット値そのままとする）を生成すれば良く、総当たり式に比較して生成する組み合わせ合成データの数を絞り込むことができるからである。ただし、この場合、１回目の受信データ→連送１回目の受信データ→連送２回目の受信データ・・・と処理対象データの選択が進むにつれてビット位置情報の示すビットが増加する場合がある（前掲図８参照）。そこで、１回目の受信データ→連送１回目の受信データ→連送２回目の受信データ・・・と処理対象データを順次選択してデータ回復処理を実行する過程で、正しい送信データのビットパターンではないことが明らかとなったビットパターンを順次記憶し、次回以降のビットパターンの生成の際にはこれら処理済みのビットパターンを除外するようにしても良い。
【００５６】
（４）上記第１および第２実施形態では、正しい送信データを回復するための処理として、誤り訂正処理ＳＢ１１１０、多数決処理ＳＢ１１２０、および組み合わせ合成処理ＳＢ１１３０の３種類の処理が採用されていたが、誤り訂正処理ＳＢ１１１０を省略しても良い。誤り訂正処理ＳＢ１１１０を省略しても多数決処理ＳＢ１１２０と組み合わせ合成処理ＳＢ１１３０とを連携させる（すなわち、多数決処理ＳＢ１１２０により得られたビット位置情報を用いて組み合わせ合成処理ＳＢ１１３０にて発生させるビットパターンを絞り込むこと）は可能である一方、多数決処理ＳＢ１１２０と組み合わせ合成処理ＳＢ１１３０の何れか一方を省略してしまうと、誤り訂正処理ＳＢ１１１０にて生成されたビット数情報を残りの他方で有効に利用することはできず、両者を連携させることはできないからである。
【００５７】
また、正しい送信データを回復するための処理は上記３種類の処理には限定されず、他の処理を追加しても良く、また、誤り訂正処理ＳＢ１１１０を他の処理に差し替えても良い。ここで、上記他の処理の具体例としては、処理対象データまでに受信した各データを構成するビットのビット値のビット毎の加算平均が０．５以上であれば、当該ビットに対応する候補データのビットに１をセットし、逆に０．５未満であれば０をセットすることで候補データを生成する処理が考えられる。そして、上記加算平均に応じて前述した優先度を定める（例えば、上記加算値が０．５に近いほど優先度を高くする）ようにすれば当該処理を組み合わせ合成処理ＳＢ１１３０と連携させることができる。要は、送信装置１０から送信された正しいデータを回復するための処理として各々処理内容の異なる複数の処理を採用し、それら複数の処理のうちの少なくとも一部を連携させつつ、各々を並列に実行する態様であれば良い。また、正しい送信データを回復する処理の追加や差し替えを行う手段を受信装置２０に設けても良い。
【００５８】
（５）第１および第２実施形態の各受信装置において受信データにおけるビット誤りの発生履歴を示す情報（例えば、受信データの受信時刻とビット誤りの有無を示す情報とを対応付けて受信時刻順に記録したデータ）を蓄積しても良い。なお、ビット誤りの有無を示す情報としては、前述したビット数情報やビット位置情報をそのまま用いても良く、正しく回復された送信データと受信データとにおいて互いに異なるビットを表すデータを用いても良い。このような履歴情報に統計分析を施すことでビット誤りの発生し易い時刻（或いは時間帯）やビット誤りの発生周期を把握することが可能になる。携帯端末を用いたメール送受信やインターネットアクセスなどの所謂コンシューマ向けのデータ通信（特に無線通信）では、その携帯端末に至る伝送経路の周囲に様々な機器が存在する。このため、コンシューマ向けのデータ通信に影響を与えるノイズは所謂ホワイトノイズになると考えられ、ビット誤りの発生状況に周期性などの規則性は現れないと考えられる。これに対して、産業用システムでは、データ通信に影響を与える機器の種類は限られるものの、各機器が非常に強力なノイズ源となり、それら機器の稼働周期等に応じてビット誤りの発生状況にも周期性が現れると考えられる。このため、本態様を適用すれば、ビット誤りの発生し易い時刻（或いは時間帯）や発生周期に基づいてデータ通信に悪影響を及ぼしている（すなわち、強力なノイズ源となっている）機器を特定し、ノイズ対策（例えば、シールドの強化や、帯域時間長やその開始タイミング、各帯域時間における連送数、送信データをデータブロックに分割する際の分割数やデータブロックサイズ等の最適化）を行う際の参考とすることができると考えられる。
【００５９】
また、上記統計分析を実行する分析手段を受信装置に設け、その分析結果を受信装置から送信装置へ伝達する一方、送信装置にはデータの送信態様を当該分析結果に基づいて変更する処理を実行させるようにしても良い。ここで、データの送信態様を上記分析結果に基づいて変更する処理の具体例としては、ビット誤りの発生頻度の高い時刻を含む帯域時間ほど当該帯域時間における連送数を多くすることや、ビット誤りの発生頻度の高い時刻が空時間帯に含まれるように帯域時間の始点を調整すること、ビット誤りの発生頻度が高い時間帯ほど第２実施形態におけるデータブロックのデータサイズを小さくすることが挙げられる。一般にノイズによる影響を完全に排除することは難しいが、本態様によれば、ネットワーク管理者等に特段のノイズ対策を行わせなくても、ノイズによる影響を最小限に食い止めることが可能になると考えられる。
【００６０】
（６）上記各実施形態では、産業用同期通信システムへの本発明の適用例を説明したが、本発明の適用対象は産業用同期通信システムに限定される訳ではなく、コンシューマ向けの同期通信システムへの適用も勿論可能である。前述したように、コンシューマ向けのシステムにおけるノイズの現れ方と産業用システムにおけるノイズの現れ方とを考慮すれば、本発明は後者への適用が特に好適と考えられるが、コンシューマ向けのシステムであってもノイズに対する耐性を高めることが好ましいことは言うまでもないからである。
【００６１】
（７）上記各実施形態では、本発明の特徴を顕著に示す処理を送信装置および受信装置の各制御部に実行させるプログラム（送信装置であれば送信制御プログラム、受信装置であれば受信制御プログラム）が送信装置および受信装置の記憶部に予め記憶されていた。しかし、これらプログラムの各々をＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。このようにして配布されるプログラムを従来の通信装置にインストールし、当該通信装置の制御部を当該プログラムにしたがって作動させることで、当該通信装置を本発明の送信装置或いは受信装置として機能させることが可能になる。
【００６２】
（８）また、送信制御プログラムにしたがって制御部１１０が実行する処理のうち、連送制御処理ＳＡ１２０のみをコンピュータに実行させるプログラムを、帯域同期制御処理ＳＡ１００、誤り訂正コード追加処理ＳＡ１１０および送信データ出力処理ＳＡ１３０を実行する送信装置（すなわち、従来の同期通信における送信装置）向けの追加ソフトウェアモジュールとして提供しても良い。同様にデータ回復処理ＳＢ１１０およびフロー制御処理ＳＢ１３０をコンピュータに実行させるプログラムを、帯域同期制御処理ＳＢ１００、データ検証処理ＳＢ１２０および受信データ出力処理ＳＢ１４０を実行する受信装置（すなわち、従来の同期通信における受信装置）向けの追加ソフトウェアモジュールとして提供しても良い。
【００６３】
（９）上記各実施形態では、本発明の受信装置（或いは送信装置）の特徴を顕著に示す処理をソフトウェアにより実現したが、ハードウェアにより実現しても良い。具体的には、帯域同期制御処理ＳＡ１００を実行する帯域同期制御部、誤り訂正コード追加処理ＳＡ１１０を実行する誤り訂正コード追加部、連送制御処理ＳＡ１２０を実行する連送制御部、および送信データ出力処理ＳＡ１３０を実行する送信データ出力部をＦＰＧＡ（Field- Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などの電子回路で実現し、当該電子回路を用いて送信装置１０を構成しても良い。受信装置２０についても同様に、帯域同期制御処理ＳＢ１００を実行する帯域同期制御部、データ回復処理ＳＢ１１０を実行するデータ回復部、データ検証処理ＳＢ１２０を実行するデータ検証部、フロー制御処理ＳＢ１３０を実行するフロー制御部、および受信データ出力処理ＳＢ１４０を実行する受信データ出力部を電子回路で実現し、当該電子回路を用いて受信装置２０を構成すれば良い。この場合、データ回復部については、誤り訂正処理ＳＢ１１１０を実行する誤り訂正手段、多数決処理ＳＢ１１２０を実行する多数決手段、および組み合わせ合成処理ＳＢ１１３０を実行する組み合わせ合成手段を上記電子回路で実現し、この電子回路を用いてデータ回復部を構成すれば良い。
【符号の説明】
【００６４】
１…通信システム、１０…送信装置、２０…受信装置、１１０，２１０…制御部、１２０，２２０…外部機器Ｉ／Ｆ部、１３０，２３０…通信Ｉ／Ｆ部、１４０，２４０…記憶部、１４２，２４２…揮発性記憶部、１４４，２４４…不揮発性記憶部、１５０，２５０・・・バス。
【図１】
2015089068.tif 000003
【図２】
2015089068.tif 000004
【図３】
2015089068.tif 000005
【図４】
2015089068.tif 000006
【図５】
2015089068.tif 000007
【図６】
2015089068.tif 000008
【図７】
2015089068.tif 000009
【図８】
2015089068.tif 000010
【図９】
2015089068.tif 000011
【図１０】
2015089068.tif 000012
【図１１】
2015089068.tif 000013