(57)【要約】【課題】無線伝送誤りによるデータ異常に起因するシステム障害を回避して、定周期動作の信頼性を向上させること。【解決手段】実施形態の通信システムは、共有データを無線通信で順次送信する複数の通信装置を備えた通信システムであって、複数の通信装置のそれぞれは、複数の通信装置ごとの共有データを記憶可能な共有メモリと、共有メモリに記憶された自己の通信装置の共有データを、他の通信装置である第２通信装置に送信する送信処理部と、第２通信装置が通信装置から受信した共有データを、第２通信装置以外の他の通信装置である第３通信装置へ転送するデータを監視して、当該データをモニタデータとして受信する受信処理部と、受信したモニタデータと、直前に第２通信装置に送信したデータと、を比較するデータ比較部と、を備えた。【選択図】図３
2015144375.tif 000002
【特許請求の範囲】
【請求項１】
共有データを無線通信で順次送信する複数の通信装置を備えた通信システムであって、
前記複数の通信装置のそれぞれは、
前記複数の通信装置ごとの共有データを記憶可能な共有メモリと、
前記共有メモリに記憶された自己の通信装置の共有データを、他の通信装置である第２通信装置に送信する送信処理部と、
前記第２通信装置が前記通信装置から受信した共有データを、前記第２通信装置以外の他の通信装置である第３通信装置へ転送するデータを監視して、当該データをモニタデータとして受信する受信処理部と、
受信したモニタデータと、直前に前記第２通信装置に送信したデータと、を比較するデータ比較部と、
を備えた通信システム。
【請求項２】
前記データ比較部は、前記受信したモニタデータと、直前に前記第２通信装置に送信したデータとして、前記共有メモリに記憶された前記通信装置の前記共有データと、を比較する、
請求項１に記載の通信システム。
【請求項３】
前記通信装置のそれぞれは、送信データ記憶部、をさらに備え、
前記送信処理部は、前記共有データを前記第２通信装置に送信するとともに、送信したデータを前記送信データ記憶部に保存し、
前記データ比較部は、前記受信したモニタデータと、直前に前記第２通信装置に送信したデータとして、前記送信データ記憶部に記憶された前記データと、を比較する、
請求項１に記載の通信システム。
【請求項４】
前記通信装置のそれぞれは、
前記共有メモリの前記複数の通信装置の共有データごとに、各共有データの有効性を示す有効性フラグを記憶する記憶部と、を備え、
前記データ比較部は、受信したモニタデータと、直前に前記第２通信装置に送信したデータとが一致しない場合に、前記モニタデータを送信した前記第２通信装置に対応する共有データに対応する有効性フラグに、無効の旨を登録する、
請求項１〜３のいずれか一つに記載の通信システム。
【請求項５】
前記通信装置のそれぞれは、
受信したモニタデータと、直前に前記第２通信装置に送信したデータとが一致しない場合に、前記モニタデータを送信した通信装置の第１識別情報と、異常を検知した通信装置の第２識別情報とを含む異常通知を、前記第２通信装置に送信する異常通知送信処理部、
をさらに備えた請求項１に記載の通信システム。
【請求項６】
前記通信装置のそれぞれは、
前記共有メモリの前記複数の通信装置の共有データごとに、各共有データの有効性を示す有効性フラグを記憶する記憶部と、
前記異常通知を受信し、前記異常通知に含まれる前記第１識別情報に基づいて、前記共有メモリにおける、前記モニタデータを送信した前記通信装置に対応する共有データを特定し、特定した共有データに対応する有効性フラグに無効の旨を登録する異常通知受信処理部と、
をさらに備えた請求項５に記載の通信システム。
【請求項７】
前記送信処理部は、受信したモニタデータと、直前に前記第２通信装置に送信したデータとが一致しない場合に、直前に前記第２通信装置に送信したデータを、前記第２通信装置に再送信する、
請求項１に記載の通信システム。
【請求項８】
前記異常通知送信処理部は、受信したモニタデータと、直前に前記第２通信装置に送信したデータとが一致しない場合に、前記異常通知を、前記複数の通信装置のすべてに対して同報送信する、
請求項５に記載の通信システム。
【請求項９】
共有データを無線通信で順次送信する複数の通信装置ごとの共有データを記憶可能な共有メモリに記憶された前記通信装置の前記共有データを、他の通信装置である第２通信装置に送信し、
前記第２通信装置が、前記通信装置から受信した共有データを、前記第２通信装置以外の他の第３通信装置へ転送するデータを監視して、当該データをモニタデータとして受信し、
受信したモニタデータと、直前に前記第２通信装置に送信したデータと、を比較する、
ことを含む通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信システムおよび通信方法に関する。
【背景技術】
【０００２】
従来から、複数のコンピュータ等の装置から構成され、各装置が同期して個々の処理を行う分散型の処理システムや、プラント等において複数の制御装置を同期して動作させるような制御システムが知られている。このようなシステムにおいて、無線通信路を用いて、複数の装置間で所定のデータを順次転送しながら共有する場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３４７７号公報
【特許文献２】特開平１１−１２７４７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような従来技術においては、周辺環境からの干渉等によりデータ誤りが発生しやすく、このような場合、以降の装置のデータは誤ったデータが転送されたり、あるいは、データが到達せず、装置間のデータに不一致が生じる。このため、無線通信方式を用いた場合の無線伝送誤りによるデータ異常に起因するシステム障害を回避して信頼性を向上させることが望まれている。
【課題を解決するための手段】
【０００５】
実施形態の通信システムは、共有データを無線通信で順次送信する複数の通信装置を備えた通信システムであって、複数の通信装置のそれぞれは、複数の通信装置ごとの共有データを記憶可能な共有メモリと、共有メモリに記憶された自己の通信装置の共有データを、他の通信装置である第２通信装置に送信する送信処理部と、第２通信装置が通信装置から受信した共有データを、第２通信装置以外の他の通信装置である第３通信装置へ転送するデータを監視して、当該データをモニタデータとして受信する受信処理部と、受信したモニタデータと、直前に第２通信装置に送信したデータと、を比較するデータ比較部と、を備えた。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態１にかかる通信システムのネットワーク構成を示す図である。
【図２】図２は、本実施形態のスキャン伝送方式によるデータの送受信動作を示す図である。
【図３】図３は、実施形態１にかかる通信装置の機能的構成を示すブロック図である。
【図４】図４は、実施形態１の送信データおよび受信データの構造の一例を示す図である。
【図５】図５は、実施形態１にかかる通信処理の手順の一例を示すフローチャートである。
【図６】図６は、実施形態１のデータの送受信動作の例を示すタイムチャートである。
【図７】図７は、実施形態１のデータの有効性判断処理の手順の一例のフローチャートである。
【図８】図８は、実施形態２の通信装置の機能的構成を示すブロック図である。
【図９】図９は、実施形態２にかかる通信処理の手順の一例を示すフローチャートである。
【図１０】図１０は、実施形態３の通信装置の機能的構成を示すブロック図である。
【図１１】図１１は、実施形態３の異常通知メッセージのデータ構造の一例を示す図である。
【図１２】図１２は、実施形態３にかかる通信処理の手順の一例を示すフローチャートである。
【図１３】図１３は、実施形態３のデータの送受信動作の例を示すタイムチャートである。
【図１４】図１４は、実施形態４の通信装置の機能的構成を示すブロック図である。
【図１５】図１５は、実施形態４にかかる通信処理の手順の一例を示すフローチャートである。
【図１６】図１６は、実施形態４のデータの送受信動作の例を示すタイムチャートである。
【図１７】図１７は、実施形態５のデータの送受信動作の例を示すタイムチャートである。
【発明を実施するための形態】
【０００７】
以下、添付図面を参照して実施形態について説明する。
（実施形態１）
図１は、実施形態１にかかる通信システムのネットワーク構成を示す図である。本実施形態の通信システムは、図１に示すように、５台の通信装置１００−１〜１００−５から構成され、各通信装置１００−１〜１００−５は無線通信機能を有している。各通信装置１００−１〜１００−５は、それぞれ無線通信領域１１ａ，１２ａ，１３ａ，１４ａ，１５ａ内に存在する他の通信装置と無線通信可能となっている。図１の例では、通信装置１００−２は、自装置の無線通信領域１２ａ内に存在する通信装置１００−１と通信装置１００−３と、それぞれ装置間の無線通信路１１ｂ，１２ｂを確立して通信を行う。
【０００８】
本実施形態にかかる通信装置１００−１〜１００−５は、例えば、上下水道処理設備、焼却設備、海水淡水化設備、水処理設備など、各種設備、プラントの監視制御を行うＰＬＣ等のプラント制御装置等に適用される。但し、これらに限定されるものではなく、無線通信により複数の通信装置間でデータを共有する装置であれば、いずれにも適用することができる。
【０００９】
通信装置１００−１〜１００−５は、無線通信により共有データのスキャン伝送を実現している。スキャン伝送方式とは、通信装置間で送信権を順に送信し、送信権を受信した通信装置がトーカとなり一定周期でその通信装置の共有メモリの自データを他の通信装置に送信し、そのデータを受信した通信装置は、その共有メモリにおける該当の通信装置（トーカ）のデータを更新するようにしたものである。
【００１０】
図２は、本実施形態のスキャン伝送方式によるデータの送受信動作を示す図である。図２の例では、スキャン伝送方式で、通信装置１００−１から他の通信装置にデータを送信する場合を考える。通信装置１００−１は、送信権を得ると共有メモリ２５の自装置に割り当てられたメモリブロック３１のデータを読み出して送信する。送信データは、装置間の無線通信路１１ｂを経由して隣接する通信装置１００−２に送信される。
【００１１】
通信装置１００−２は、通信装置１００−１から受信したデータを自装置内の共有メモリ２５の通信装置１００−１に割り当てられたメモリブロック３２に保存する。通信装置１００−２は、さらに、受信データを装置間の無線通信路１２ｂで次の通信装置１００−３に転送する。各通信装置が、このような動作を順次行うことにより、通信装置１００−１のデータを他の通信装置１００−２〜１００−５で共有する。送信権は、順次、通信装置１００−１〜１００−５に割り当てられ、これによりすべての通信装置１００−１〜１００−５は、各通信装置のデータを共有することが可能となる。
【００１２】
なお、これ以降、通信装置１００−１〜１００−５を総称する場合には、通信装置１００と称する。また、通信装置１００の台数は一例であり、５台に限定されるものではない。
【００１３】
このような方式で順次データを転送することにより、すべての通信装置１００は、各通信装置１００のデータを共有することができるが、例えば、装置間の無線通信路１２ｂにおいて無線による電波干渉などでデータ誤りが発生した場合、以降の通信装置１００に誤ったデータが転送されたり、あるいは、データが到達せず、通信装置１００間のデータに不一致が生じてしまう。
【００１４】
このため、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）等のプロトコルで規定されている送達確認の手法を用いて、受信側の受領状況によって再送処理を行う方策が考えられる。しかしながら、各通信装置１００が定周期で同期して動作するような通信システムでは、受信側で異常を検知する処理と異常時に再送要求を行う処理が必要となり、定周期動作を維持できなくなり、システム障害が発生してしまう恐れがある。
【００１５】
このため、本実施形態では、これを回避して、無線伝送誤りによるデータ異常に起因するシステム障害を回避して定周期動作の信頼性を向上させている。以下、その構成等について説明する。
【００１６】
図３は、実施形態１にかかる通信装置１００の機能的構成を示すブロック図である。図３に示すように、本実施形態の通信装置１００は、アプリケーション処理部２６と、有効データ選択部８８と、共有メモリ２５と、記憶部８７と、メモリアクセス部２４と、メモリブロック読出部５５と、転送処理部２７と、無線受信処理部２３と、無線モニタ部５２と、振分部２１と、無線送信処理部２８と、無線アンテナ部２２と、データ比較部５６と、モニタデータ記憶部５３とを備えている。なお、通信装置１００−１〜１００−５のすべてにおいて、同一の機能的構成を有している。
【００１７】
共有メモリ２５は、５個のメモリブロック１１〜１５の領域を有し、各メモリブロック１１〜１５が通信装置１００−１〜１００−５のそれぞれに対応している。そして、各メモリブロック１１〜１５に、通信装置１００−１〜１００−５それぞれの共有データが格納される。
【００１８】
記憶部８７には、メモリブロック１１〜１５のそれぞれに対応して、メモリブロック１１〜１５に格納されたデータの有効性を示す有効性フラグが記憶されている。この有効性フラグは、デフォルト値として「有効」が設定されており、後述するデータ比較部５６により、データに異常が検知された場合に、「無効」が登録される。ここで、記憶部８７は、メモリやハードディスクドライブ装置（ＨＤＤ）等の記憶媒体である。
【００１９】
アプリケーション処理部２６は、共有メモリ２５に記憶されているデータをアクセスしてアプリケ−ションに固有の処理を行う。有効データ選択部８８は、アプリケーション処理部２６から共有メモリ２５のデータのアクセス要求があった場合、記憶部８７の有効フラグを参照して、アプリケーション処理部２６に対するデータ読出しの許可／不許可を行う。
【００２０】
無線アンテナ部２２は、無線通信ネットワークからの電波の送受信を担うものである。
図４は、実施形態１の送信データおよび受信データの構造の一例を示す図である。本実施形態では、送信データおよび受信データは、図４に示すように、ヘッダ部とデータ部とから構成される。
【００２１】
データ部に、データの内容が含まれる。ヘッダ部は、図４に示すように、宛先アドレスと、送信元アドレスと、データ識別番号とを含んでいる。データ識別番号は、データ部のデータがどの通信装置１００のものであるかを識別するための番号であり、データ識別番号がメモリブロックの番号を示している。ただし、これに限定されるものではなく、メモリブロックを特定できるものであればデータ識別番号は任意に設定することができる。
【００２２】
図３に戻り、振分部２１は、無線アンテナ部２２で受信した電波に基づく受信データのヘッダ部の宛先アドレスを参照し、自装置のアドレスか否かを判断する。振分部２１は、受信データの宛先アドレスが自装置のアドレスである場合には、受信データを無線受信処理部２３に送出する。一方、振分部２１は、宛先アドレスが自装置以外のアドレスである場合には、受信データを無線モニタ部５２に送出する。
【００２３】
無線受信処理部２３は、振分部２１から受信データを受けとり、受信データのヘッダ部を解析して、メモリアクセス部２４と転送処理部２７とに送出する。
【００２４】
メモリアクセス部２４は、受信データのデータ部のデータを、共有メモリ２５内においてヘッダ部のデータ識別番号が示すメモリブロック、すなわちデータを生成した通信装置１００に対応するメモリブロックに保存する。また、メモリアクセス部２４は、共有メモリ２５から自装置に対応するメモリブロックのデータを読み出して、無線送信処理部２８に送出する。
【００２５】
転送処理部２７は、無線受信処理部２３から受信データを受け取って、そのデータ部のデータを無線送信処理部２８に送出する。
【００２６】
無線送信処理部２８は、転送処理部２７から受け取ったデータ、およびメモリアクセス部２４から受け取ったデータに、ヘッダ部を付与して送信データを生成する。無線送信処理部２８は、ヘッダ部の宛先アドレスに次の通信装置１００のアドレスを設定し、送信元アドレスに自装置のアドレスを設定する。また、無線送信処理部２８は、メモリアクセス部２４から受け取ったデータの場合には、ヘッダ部のデータ識別番号に、自装置のメモリブロックの番号を設定する。無線送信処理部２８は、転送処理部２７から受け取ったデータの場合には、ヘッダ部のデータ識別番号に、受信データのヘッダ部に設定されていたデータ識別番号をそのまま設定する。そして、無線送信処理部２８は、送信データを無線アンテナ部２２を介して無線通信で送信する。
【００２７】
無線モニタ部５２は、無線送信処理部２８から次の通信装置１００に送信した送信データを監視する。具体的には、送信データが次の通信装置１００から、その次の通信装置１００に送信された場合に、当該送信データを取得する。このような監視を行っている状態をモニタ状態という。また、モニタ状態で取得した、次の通信装置１００からその次の通信装置１００に送信させる送信データをモニタデータと称する。
【００２８】
この場合、この送信データの宛先アドレスが、自装置のアドレスではないため、振分部２１によって無線モニタ部５２に振り分けられる。そして、無線モニタ部５２は、モニタデータをモニタデータ記憶部５３に保存する。ここで、モニタデータ記憶部５３は、メモリやＨＤＤ等の記憶媒体である。
【００２９】
メモリブロック読出部５５は、直前に無線送信処理部２８で送信データとして送信した、共有メモリ２５における自装置のメモリブロックのデータを読み出す。
【００３０】
データ比較部５６は、直前に送信した送信データとして、メモリブロック読出部５５で読み出された、自装置のメモリブロックのデータと、モニタデータ記憶部５３に保存されたモニタデータのデータ部のデータと、を比較して、両者が一致するか否かを判断する。そして、データ比較部５６は、両者が一致しない場合に、モニタデータを送信した通信装置のメモリブロックに対応する有効性フラグに「無効」を登録する。
【００３１】
本実施形態では、有効性フラグにはデフォルト値として「有効」が設定されているため、モニタデータと、自装置のメモリブロックのデータとが一致する場合には、有効性フラグへの登録は行われないが、両者が一致する場合に、該当する有効性フラグに「有効」を設定するように、データ比較部５６を構成してもよい。
【００３２】
次に、以上のように構成された本実施形態にかかる通信処理について説明する。図５は、実施形態１にかかる通信処理の手順の一例を示すフローチャートである。
【００３３】
まず、通信装置１００は、自身が送信権を現在有しているか否かをメモリ等の設定を確認することなどにより判断する（ステップＳ１１）。そして、通信装置１００が送信権を有している場合には（ステップＳ１１：Ｙｅｓ）、メモリアクセス部２４の共有メモリ２５の自装置に対応するメモリブロックから自装置のデータを読み出す（ステップＳ１２）。そして、無線送信処理部２８が、読み出された自装置のデータにヘッダ部を付加して送信データを生成し、送信データを次の通信装置１００に送信する（ステップＳ１３）。
【００３４】
ステップＳ１１で、通信装置１００が送信権を有していない場合には（ステップＳ１１：Ｎｏ）、ステップＳ１２、Ｓ１３の処理は行われない。
【００３５】
次に、通信装置１００はデータ受信待ちとなる（ステップＳ１４：Ｎｏ）。無線アンテナ部２２がデータを受信すると（ステップＳ１４：Ｙｅｓ）、振分部２１は、受信データのヘッダ部の宛先アドレスに自装置のアドレスが設定されているか否かを判断する（ステップＳ１５）。
【００３６】
そして、受信データの宛先アドレスに自装置のアドレスが設定されている場合には（ステップＳ１５：Ｙｅｓ）、受信データは他の通信装置１００から転送されてきたデータであるため、振分部２１は受信データを無線受信処理部２３に送出する。そして、無線受信処理部２３は、受信データのデータ部とヘッダ部のデータ識別番号を、メモリアクセス部２４に渡し、メモリアクセス部２４は、データ識別番号が示すメモリブロックにデータ部のデータを保存する（ステップＳ２１）。
【００３７】
また、無線受信処理部２３は、受信データを転送処理部２７に送出し、転送処理部２７はそのデータ部を無線送信処理部２８に送出する。無線送信処理部２８は、受け取ったデータ部にヘッダ部を付加して送信データを生成し、送信データを次の通信装置１００に送信する（ステップＳ２２）。これにより、受信データが次の通信装置１００に転送される。
【００３８】
ステップＳ１５において、受信データの宛先アドレスに自装置のアドレスが設定されていない場合には（ステップＳ１５：Ｎｏ）、受信データは、次の通信装置１００で送信された送信データを監視して取得したデータ（モニタデータ）である。このため無線モニタ部５２は、振分部２１から受信したモニタデータを受け取って、モニタデータ記憶部５３にモニタデータを保存する（ステップＳ１６）。
【００３９】
次に、メモリブロック読出部５５は、直前に送信した自装置のデータを、共有メモリ２５の自装置に対応するメモリブロックから読み出す（ステップＳ１７）。そして、データ比較部５６は、モニタデータ記憶部５３に記憶されているモニタデータのデータ部と、自装置のデータとを比較する（ステップＳ１８）。そして、データ比較部５６は、両者が一致するか否かを判断する（ステップＳ１９）。両者が一致する場合には（ステップＳ１９：Ｙｅｓ）、データ比較部５６は、送信データは正常に次の通信装置１００からさらに転送されていると判断し、処理を終了する。
【００４０】
一方、ステップＳ１９で、モニタデータ記憶部５３に記憶されているモニタデータのデータ部と、自装置のデータとが一致しない場合には（ステップＳ１９：Ｎｏ）、モニタデータ、すなわち、次の通信装置１００から送信された送信データに誤りが混入されたと判断する。そして、データ比較部５６は、モニタデータのヘッダ部のデータ識別番号が示すメモリブロックに対応する有効性フラグに「無効」を設定する（ステップＳ２０）。
【００４１】
次に、上述した処理を実行することにより行われる送受信動作の例について説明する。図６は、実施形態１のデータの送受信動作の例を示すタイムチャートである。通信装置１００−１は、送信権を取得すると、共有メモリ２５から読出処理（ステップＳ３１）で、自己のデータを取得して、次に通信装置１００−２に送信する（ステップＳ３２）。次の通信装置１００−２は、通信装置１００−１からの電波を受信しデータを取得すると共に、転送処理を行い（ステップＳ３３）、次の通信装置１００−３にデータを送信する（ステップＳ３４）。
【００４２】
一方、通信装置１００−１はデータ送信後、無線モニタ部５２によるデータのモニタ状態となっており（ステップＳ３５）、通信装置１００−２が通信装置１００−３に転送する送信データ（モニタデータ）を受信する（ステップＳ３６）。
【００４３】
さらに、通信装置１００−１は、自装置のデータと、モニタ状態で受信した通信装置１００−２から転送された送信データ（モニタデータ）を比較し、次の通信装置１００−２に正常に送信できたかどうかを、両データを比較することにより検査している（ステップＳ３７）。検査結果は、上述のとおり有効性フラグに反映される。このような処理が、次に通信装置１００−２からさらにその次の通信装置１００−３へのデータ送信のように順次行われる。
【００４４】
次に、このように次の通信装置１００−２に正常に送信できたかの検査結果が有効性フラグに反映された状態で、アプリケーション処理部２６から共有メモリ２５のデータへアクセスする際の有効性判断処理について説明する。図７は、実施形態１のデータの有効性判断処理の手順の一例のフローチャートである。
【００４５】
有効性データ選択部８８は、アプリケーション処理部２６から共有メモリ２５のデータの読出し要求を受けると、データセット分のメモリブロックに対応する有効性フラグをすべて取得する（ステップＳ４１）。ここで、データセットとは、処理の対象とあるデータの単位であり、本実施形態では、メモリブロック１１からメモリブロック１５のデータ、すなわち、通信装置１００−１〜１００−５の各データをまとめた単位を１データセットとしている。ただし、データセット分のデータ数はこれに限定されるものではない。
【００４６】
そして、有効データ選択部８８は、取得した全ての有効性フラグを確認し、無効が設定されている有効性フラグが存在するか否かを判断する（ステップＳ４２）。そして、データセット中の全ての有効性フラグに無効がなく、全て有効である場合（ステップＳ４２：Ｎｏ）、有効データ選択部８８は、アプリケーション処理部２６に対して、データセット分のメモリブロックのデータの読出しを許可する（ステップＳ４３）。
【００４７】
一方、ステップＳ４２で、データセット中のいずれかの有効性フラグに無効が設定されている場合には（ステップＳ４２：Ｙｅｓ）、有効データ選択部８８は、アプリケーション処理部２６に対して、データセット分のメモリブロックのデータが無効の旨の応答を返し（ステップＳ４４）、データセット分のメモリブロックのデータの読出しの許可を行わない。すなわち、本実施形態では、アプリケーション処理部２６がデータセットを単位に共有メモリにアクセスすることから、データセット内のデータに一つでもデータ誤り等がある場合には、データセット全体でアクセスを行えないようにしている。
【００４８】
このように本実施形態では、通信装置１００は、自装置のデータを次の通信装置１００へ送信した後、次の通信装置１００へ転送される際に、転送される送信データを取得して、自装置のデータと比較し、両者が一致しない場合には、そのデータを無効としてアプリケ−ション処理部２６からのアクセスを不許可としている。このため、本実施形態によれば、無線伝送により誤りが生じたデータの発生を監視して、誤りデータを除外しているので、データ誤りに起因するシステム障害を回避して、定周期動作の信頼性を向上させることができる。
【００４９】
なお、本実施形態では、データの有効性判断処理において、１データセットを単位として、データセット内のデータの有効性フラグに一つでも無効が設定されている場合には、データセット全体でアクセスの対象外としているが、これに限定されるものではない。例えば、データセット内のデータを単位として有効性フラグが有効であれば、当該データをアクセスの対象とするように通信装置１００を構成してもよい。
【００５０】
（実施形態２）
実施形態１では、データ比較部５６は、モニタデータと、共有メモリ２５のメモリブロックに格納された自置のデータ（直前に送信されたデータ）とを比較していた。この実施形態２では、通信装置は、送信データを次の通信装置に送信する際に、通信データを一時的に保存しておき、当該送信データとモニタデータとを比較している。
【００５１】
本実施形態では、５台の通信装置５００−１、５００−２、５００−３、５００−４、５００−５が図１に示すように無線通信可能となっている。通信装置５００−１、５００−２、５００−３、５００−４、５００−５を総称する場合には、通信装置５００という。
【００５２】
図８は、実施形態２の通信装置５００の機能的構成を示すブロック図である。図８に示すように、本実施形態の通信装置５００は、アプリケーション処理部２６と、有効データ選択部８８と、共有メモリ２５と、記憶部８７と、メモリアクセス部２４と、転送処理部２７と、無線受信処理部２３と、無線モニタ部５２と、振分部２１と、無線送信処理部２８と、無線アンテナ部２２と、データ比較部５６と、モニタデータ記憶部５３と、送信データ記憶部６５とを備えている。
【００５３】
ここで、アプリケーション処理部２６、有効データ選択部８８、共有メモリ２５、記憶部８７、メモリアクセス部２４、転送処理部２７、無線受信処理部２３、無線モニタ部５２、振分部２１、無線アンテナ部２２、モニタデータ記憶部５３の機能については実施形態１と同様である。
【００５４】
また、図９は、実施形態２にかかる通信処理の手順の一例を示すフローチャートである。
【００５５】
本実施形態では、無線送信処理部２８が自装置のデータを次の通信装置５００に送信した場合（ステップＳ１３）、および無線送信処理部２８が前の通信装置５００からの受信データを次の通信装置５００に転送した場合（ステップＳ２２）、送信した送信データを、送信データ記憶部６５に一時的に保存する（ステップＳ５１、Ｓ５２）。
【００５６】
データ比較部５６は、モニタデータの検査を行う際に、直前に送信した送信データとして、送信データ記憶部６５から一時的に保存された送信データを読出し（ステップＳ５３）、読み出した送信データのデータ部とモニタデータのデータ部と、を比較する（ステップＳ１８）。その他の処理については実施形態１と同様に行われる。
【００５７】
このように本実施形態では、送信データを次の通信装置に送信する際に、通信データを一時的に保存しておき、当該送信データとモニタデータとを比較している。このため、本実施形態によれば、実施形態１と同様の効果を奏する他、自装置のデータの送信データを監視して検査するだけでなく、他の通信装置５００から受信したデータを転送した送信データについても次の通信装置５００からの送信を監視および検査することができ、データ誤りに起因するシステム障害を回避して、定周期動作の信頼性を向上させることができる。
【００５８】
（実施形態３）
実施形態３では、通信装置は、次の通信装置から取得した送信データ（モニタデータ）と直前の送信データとが一致しない場合に、異常通知メッセージを送信し、一方、異常通知メッセージを受信した場合には、異常なデータを特定して無効としている。
【００５９】
本実施形態では、５台の通信装置６００−１、６００−２、６００−３、６００−４、６００−５が図１に示すように無線通信可能となっている。通信装置６００−１、６００−２、６００−３、６００−４、６００−５を総称する場合には、通信装置６００という。
【００６０】
図１０は、実施形態３の通信装置６００の機能的構成を示すブロック図である。図１０に示すように、本実施形態の通信装置６００は、アプリケーション処理部２６と、有効データ選択部８８と、共有メモリ２５と、記憶部８７と、メモリアクセス部２４と、転送処理部２７と、無線受信処理部２３と、異常通知受信処理部１１３と、異常通知送信処理部１０３と、無線モニタ部５２と、振分部２１と、無線送信処理部１０４と、無線アンテナ部２２と、データ比較部５６と、モニタデータ記憶部５３と、送信データ記憶部６５とを備えている。
【００６１】
ここで、アプリケーション処理部２６、有効データ選択部８８、共有メモリ２５、記憶部８７、メモリアクセス部２４、転送処理部２７、無線受信処理部２３、無線モニタ部５２、振分部２１、無線アンテナ部２２、モニタデータ記憶部５３、送信データ記憶部６５の機能については実施形態２と同様である。
【００６２】
異常通知送信処理部１０３は、データ比較部５６によって、モニタ状態で次の通信装置１４００から受信した送信データ（モニタデータ）と、送信データ記憶部６５に一時的に保存されている送信データ（すなわち直前に次の通信装置１４００に送信した送信データ）とが一致しないと判断された場合に、モニタデータは異常であると判断し、異常通知メッセージを生成する。異常通知メッセージは、モニタデータ、すなわち送信データに異常があることを示すメッセージである。
【００６３】
図１１は、実施形態３の異常通知メッセージのデータ構造の一例を示す図である。異常通知メッセージは、図１１に示すように、ヘッダ部と異常通知情報とから構成される。ヘッダ部は、実施形態１、２と同様に、宛先アドレス、送信元アドレス、データ識別番号を含んでいる。異常通知情報は、図１１に示すように、異常データの送信元アドレスと、異常を検知した通信装置のアドレスとを含んでいる。なお、異常通知メッセージの構造は、一例であり、これに限定されるものではない。他の情報を含めるように異常通知メッセージを構成してもよい。
【００６４】
異常通知送信処理部１０３は、データ識別番号に、異常を検知したモニタデータのデータ識別番号を設定し、異常データの送信元アドレスに、モニタデータの取得先の通信装置６００のアドレスを設定し、異常を検知した装置のアドレスに、自装置のアドレスを設定する。そして、異常通知送信処理部１０３は、生成した異常通知メッセージを、送信処理部１０４、無線アンテナ部２２を介して、次の通信装置６０に送信する。この際、送信処理部１０４が実施形態１と同様に、ヘッダ部の宛先アドレスに次の通信アドレスを設定し、送信元アドレスに自装置のアドレスを設定する。この異常通知メッセージは、次の通信装置６００から、さらに次の通信装置６００へと、順次送信される。
【００６５】
異常通知受信処理部１１３は、他の通信装置６００から、無線アンテナ部２２、振分部２１、無線受信処理部２３を介して異常通知メッセージを受信する。そして、異常通知受信処理部１１３は、異常通知メッセージに含まれるデータ識別番号から、共有メモリ２５におけるモニタデータを送信した通信装置に対応するメモリブロックのデータを特定する。そして、異常通知受信処理部１１３は、特定したメモリブロックに対応する有効性フラグに「無効」を設定する。なお、異常通知メッセージは、共有メモリ２５のメモリブロックには保存されない。
【００６６】
次に、以上のように構成された本実施形態にかかる通信処理について説明する。図１２は、実施形態３にかかる通信処理の手順の一例を示すフローチャートである。
【００６７】
ステップＳ１１からＳ１５までの処理は実施形態２と同様に行われる。受信データの宛先が自装置のアドレスである場合（ステップＳ１５：Ｙｅｓ）、無線受信処理部２３は、受信データが異常通知メッセージか否かを受信データの内容から判断する（ステップＳ６１）。そして、受信メッセージが異常通知メッセージでない場合には（ステップＳ６１：Ｎｏ）、実施形態２と同様の処理（ステップＳ２１、Ｓ２２，Ｓ５２）が行われる。
【００６８】
受信データが異常通知メッセージである場合には（ステップＳ６１：Ｙｅｓ）、異常通知受信処理部１１３は、異常通知メッセージに含まれるデータ識別番号が示すメモリブロックに対応する有効性フラグに「無効」を設定する（ステップＳ６２）。
【００６９】
ステップＳ１５で、受信データの宛先が自装置のアドレスでない場合には（ステップＳ１５：Ｎｏ）、実施形態２と同様に、無線モニタ部５２は、受信データをモニタデータとして、モニタデータ記憶部５３に保存し（ステップＳ１６）、データ比較部５６が直前に送信した送信データとして、送信データ記憶部６５から一時的に保存された送信データを読出し（ステップＳ５３）、当該送信データのデータ部とモニタデータのデータ部と、を比較する（ステップＳ１８）。
【００７０】
そして、両者が一致する場合には（ステップＳ１９：Ｙｅｓ）、処理は終了する。一方、両者が一致しない場合には（ステップＳ１９：Ｎｏ）、異常通知送信処理部１０３は、上述のように、異常通知メッセージを生成して送信する（ステップＳ６３）。
【００７１】
次に、上述した処理を実行することにより行われる送受信動作の例について説明する。図１３は、実施形態３のデータの送受信動作の例を示すタイムチャートである。
【００７２】
図１３では、通信装置６００−２が送信した送信データに無線通信区間１３０１で誤りが混入された場合の例を示している。通信装置６００−３は、通信装置６００−２から受信したデータをさらに通信装置６００−４へ送信する（ステップＳ７１）。この誤りが混入されたデータは、ステップＳ７７で通信装置６００−５にも送信されてしまう。モニタ状態である通信装置６００−２も通信装置６００−３の送信データを受信する（ステップＳ７２）。
【００７３】
通信装置６００−２は、一時的に保存されている直前の送信データと通信装置６００−３から受信した送信データ（モニタデータ）を比較し、データの不一致を検知した場合は（ステップＳ７３）、異常通知メッセージを生成して送信する（ステップＳ７４）。異常通知メッセージは、通常のデータと同様に各通信装置６００で転送処理されるようになっており（ステップＳ７５、Ｓ７６）、全ての通信装置６００に異常通知メッセージが送信されて、異常が通知されることになる。
【００７４】
このように本実施形態では、通信装置６００は、次の通信装置から取得した送信データ（モニタデータ）と直前の送信データとが一致しない場合に、異常通知メッセージを送信する一方、異常通知メッセージを受信した場合には、異常なデータを特定して無効としている。このため、本実施形態によれば、無線通信区間での誤りが混入したデータが発生した場合でも、異常通知をネットワーク内のすべての通信装置６００で把握することができ、当該誤りのあるデータを除外して全ての通信装置６００のデータの同期性を維持することができる。これにより本実施形態によれば、データ誤りに起因するシステム障害を回避して、定周期動作の信頼性をより向上させることができる。
【００７５】
なお、本実施形態では、通常のデータの送受信のための無線伝送路と異常通知メッセージの送受信のための無線伝送路を同一としているが、さらに、両者で周波数チャネルを変更するように通信装置６００を構成してもよい。
【００７６】
また、本実施形態では、次の通信装置から取得した送信データ（モニタデータ）と比較する直前の送信データとして、送信データ記憶部６５に一時的に保存されている送信データを用いたが、これに限定されるものではない。共有メモリ２５の自装置に対応するメモリブロックからデータを読み出して、読み出したデータとモニタデータとを比較するようにデータ比較部５６を構成してもよい。
【００７７】
（実施形態４）
実施形態４では、通信装置は、次の通信装置から取得した送信データ（モニタデータ）と直前の送信データとが一致しない場合に、直前の送信データを次の通信装置に再送信している。
【００７８】
本実施形態では、５台の通信装置１４００−１、１４００−２、１４００−３、１４００−４、１４００−５が図１に示すように無線通信可能となっている。通信装置１４００−１、１４００−２、１４００−３、１４００−４、１４００−５を総称する場合には、通信装置１４００という。
【００７９】
図１４は、実施形態４の通信装置１４００の機能的構成を示すブロック図である。図１４に示すように、本実施形態の通信装置１４００は、アプリケーション処理部２６と、共有メモリ２５と、メモリアクセス部２４と、転送処理部２７と、無線受信処理部２３と、無線モニタ部５２と、振分部２１と、無線送信処理部１０４と、無線アンテナ部２２と、データ比較部５６と、モニタデータ記憶部５３と、送信データ記憶部６５とを備えている。
【００８０】
ここで、アプリケーション処理部２６、共有メモリ２５、メモリアクセス部２４、転送処理部２７、無線受信処理部２３、無線モニタ部５２、振分部２１、無線アンテナ部２２、モニタデータ記憶部５３、送信データ記憶部６５の機能については実施形態２と同様である。
【００８１】
また、図１５は、実施形態４にかかる通信処理の手順の一例を示すフローチャートである。
【００８２】
ステップＳ１１からＳ１９までの処理は実施形態２と同様に行われる。また、ステップＳ２１、Ｓ２２、Ｓ５２の処理も実施形態２と同様に行われる。
【００８３】
ステップＳ１９で、データ比較部５６によって、モニタ状態で次の通信装置１４００から受信した送信データ（モニタデータ）と、送信データ記憶部６５に一時的に保存されている送信データ（すなわち直前に次の通信装置１４００に送信した送信データ）とが一致しないと判断された場合には（ステップＳ１９：Ｎｏ）、無線送信処理部１０４は、モニタデータは異常であると判断し、直前に送信した送信データを、次の通信装置１４００に再送信する（ステップＳ８１）。具体的には、無線送信処理部１０４は、直前に送信した送信データとして、送信データ記憶部６５に一時的に保存されている送信データを再送信する。
【００８４】
次に、上述した処理を実行することにより行われる送受信動作の例について説明する。図１６は、実施形態４のデータの送受信動作の例を示すタイムチャートである。
【００８５】
図１６では、通信装置１４００−２が送信した送信データに無線通信区間１６０１で誤りが混入された場合の例を示している。通信装置１４００−３は、通信装置１４００−２から受信したデータをさらに通信装置１４００−４へ送信する（ステップＳ９１）。この誤りが混入されたデータは、ステップＳ９５で通信装置１４００−５にも送信されてしまう。ここで、モニタ状態である通信装置１４００−２も通信装置１４００−３の送信データを受信する（ステップＳ９２）。
【００８６】
通信装置１４００−２は、一時的に保存されている直前の送信データと通信装置１４００−３から受信した送信データ（モニタデータ）を比較し、データの不一致を検知した場合は（ステップＳ９３）、直前に送信した送信データ（符号１６０１の区間で送信したデータ）を再送信する（ステップＳ９４）。
【００８７】
このように本実施形態では、通信装置１４００が、次の通信装置から取得した送信データ（モニタデータ）と直前の送信データとが一致しない場合に、直前の送信データを次の通信装置に再送信しているので、ＴＣＰ等のプロトコルに規定されるような送達確認手順を用いることなく、簡易的な再送手順で誤りのあるデータを削減して、データ誤りに起因するシステム障害を回避して、定周期動作の信頼性をより向上させることができる。
【００８８】
なお、本実施形態では、再送信する直前の送信データとして、送信データ記憶部６５に一時的に保存されている送信データを用いたが、これに限定されるものではない。共有メモリ２５の自装置に対応するメモリブロックからデータを読み出して、読み出したデータを再送信するように無線送信処理部１０４を構成してもよい。
【００８９】
（実施形態５）
実施形態５では、通信装置は、次の通信装置から取得した送信データ（モニタデータ）と直前の送信データとが一致しない場合に、異常通知メッセージをマルチキャスト送信等で同報送信している。
【００９０】
本実施形態の通信装置６００の機能的構成は、実施形態３と同様である。本実施形態の異常通知送信処理部１０３は、モニタ状態で次の通信装置６００から受信した送信データ（モニタデータ）と、直前に次の通信装置６００に送信した送信データとが一致しない場合に、異常通知メッセージを生成して、生成した異常通知メッセージを複数の通信装置６００のすべてに対して同報送信する。ここで、異常通知メッセージのデータ構造は実施形態３と同様である。
【００９１】
次に、上述した処理を実行することにより行われる送受信動作の例について説明する。図１７は、実施形態５のデータの送受信動作の例を示すタイムチャートである。
【００９２】
図１７では、通信装置６００−２が送信した送信データに無線通信区間１３０１で誤りが混入された場合の例を示している。通信装置６００−３は、通信装置６００−２から受信したデータをさらに通信装置６００−４へ送信する（ステップＳ１００１）。この誤りが混入されたデータは、ステップＳ１００２で通信装置６００−５にも送信されてしまう。ここで、モニタ状態である通信装置６００−２も通信装置６００−３の送信データを受信する（ステップＳ１００３）。
【００９３】
通信装置６００−２は、一時的に保存されている直前の送信データと通信装置６００−３から受信した送信データ（モニタデータ）を比較し、データの不一致を検知した場合は（ステップＳ１００４）、異常通知メッセージを生成して異常通知チャネルに送信する（ステップＳ１００５）。これにより、異常通知メッセージは、異常通知チャネルから全ての通信装置６００に同報送信されることになる（ステップＳ１００６）。
【００９４】
ここで異常通知チャネルは、各通信装置６００に共通の異常通知手段であり、通常のデータ伝送に比べ情報量が少なくてよいので、例えば、通常のデータ伝送用の無線伝送方式とは異なる小容量の長距離無線で構成することができる。
【００９５】
このように本実施形態では、通信装置６００は、次の通信装置から取得した送信データ（モニタデータ）と直前の送信データとが一致しない場合に、異常通知メッセージを異常通知チャネルを介してすべての通信装置６００に同報送信している。一方、本実施形態では、実施形態３と同様に、通信装置６００が異常通知メッセージを受信した場合には、異常なデータを特定して無効としている。このため、本実施形態によれば、無線通信区間での誤りが混入したデータが発生した場合でも、異常通知をネットワーク内のすべての通信装置６００で把握することができ、当該誤りのあるデータを除外して全ての通信装置６００のデータの同期性を維持することができる。これにより本実施形態によれば、データ誤りに起因するシステム障害を回避して、定周期動作の信頼性をより向上させることができる。
【００９６】
上述した実施形態では、データを無線通信で順次送信して複数の通信装置で共有する方式としてスキャン伝送方式を例にあげて説明したが、これに限定されるものではない。データを無線通信で送信して複数の通信装置間で共有するものであれば、いずれの方式も適用することができる。
【００９７】
上述した実施形態の通信装置は、ＣＰＵなどの制御装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
上述した実施形態の通信装置で実行される通信プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【００９８】
また、上述した実施形態の通信装置で実行される通信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることによりコンピュータプログラムプロダクトとして提供するように構成しても良い。また、上述した実施形態の通信装置で実行される通信プログラムをコンピュータプログラムプロダクトとしてインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９９】
また、上述した実施形態の通信装置で実行される通信プログラムを、ＲＯＭ等に予め組み込んでコンピュータプログラムプロダクトとして提供するように構成してもよい。
【０１００】
上述した実施形態の通信装置で実行される通信プログラムは、上述した各部（アプリケーション処理部２６、有効データ選択部８８、メモリアクセス部２４と、メモリブロック読出部５５、転送処理部２７、無線受信処理部２３、無線モニタ部５２と、振分部２１、無線送信処理部２８、１０４と、データ比較部５６、異常通知受信処理部１１３、異常通知送信処理部１０３）を含むモジュール構成となっており、ＣＰＵ（プロセッサ）が上記記憶媒体から通信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、アプリケーション処理部２６、有効データ選択部８８、メモリアクセス部２４と、メモリブロック読出部５５、転送処理部２７、無線受信処理部２３、無線モニタ部５２と、振分部２１、無線送信処理部２８、１０４と、データ比較部５６、異常通知受信処理部１１３、異常通知送信処理部１０３がＲＡＭ上に生成されるようになっている。
【０１０１】
さらに、ここに記述されたシステムの種々のモジュールは、ソフトウェア・アプリケーション、ハードウェアおよび／またはソフトウェア・モジュール、あるいはサーバのような1台以上のコンピュータ上のコンポーネントとしてインプリメントすることができる。種々のモジュールは、別々に説明されているが、それらは同じ根本的なロジックかコードのうちのいくつかあるいはすべてを共有してもよい。
【０１０２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０３】
２１  振分部
２３  無線受信処理部
２４  メモリアクセス部
２５  共有メモリ
２６  アプリケーション処理部
２７  転送処理部
２８，１０４  無線送信処理部
５２  無線モニタ部
５３  モニタデータ記憶部
５５  メモリブロック読出部
５６  データ比較部
６５  送信データ記憶部
８７  記憶部
８８  有効データ選択部
１０３  異常通知送信処理部
１１３  異常通知受信処理部
【図１】
2015144375.tif 000003
【図２】
2015144375.tif 000004
【図３】
2015144375.tif 000005
【図４】
2015144375.tif 000006
【図５】
2015144375.tif 000007
【図６】
2015144375.tif 000008
【図７】
2015144375.tif 000009
【図８】
2015144375.tif 000010
【図９】
2015144375.tif 000011
【図１０】
2015144375.tif 000012
【図１１】
2015144375.tif 000013
【図１２】
2015144375.tif 000014
【図１３】
2015144375.tif 000015
【図１４】
2015144375.tif 000016
【図１５】
2015144375.tif 000017
【図１６】
2015144375.tif 000018
【図１７】
2015144375.tif 000019