(57)【要約】【課題】伝送装置において、通信障害発生時の通信遅延の検出を可能とし、その通信障害の要因の絞り込みを容易とする。【解決手段】実施形態の伝送装置は、同期フレームと完了フレームを用いたインプリシット・トークンパッシング方式のネットワークを構成する伝送装置である。同期フレームに、マスタノードのＣＰＵクロック周波数およびマスタノードにおける同期フレーム組立時のＣＰＵクロックカウントの情報を含め、周回中の同期フレームから得られるマスタノードのＣＰＵクロック周波数およびマスタノードにおける同期フレーム組立時のＣＰＵクロックカウントの情報を基に、各伝送装置での時間を、マスタノードでの時間を基準に共通化する。また、送信権の有効期間内に送信処理を完了できなかった場合、自伝送装置における送信プロセスの遅延を伝送装置毎にビット単位で示す通信遅延マップを作成し保持する。【選択図】図４
2017163288.tif 000002
【特許請求の範囲】
【請求項１】
インプリシット・トークンパッシング方式のネットワークを構成する伝送装置であって、
記憶部と、
マスタノードとなった場合、インプリシット・トークンパッシングの開始タイミングを示す同期フレームに、当該マスタノードとなった前記伝送装置のＣＰＵクロック周波数および当該同期フレーム組立時のＣＰＵクロックカウントの情報を含めて、周期的に同報送信する処理を行う同期フレーム送信処理部と、
マスタノードとなった前記伝送装置から送信された同期フレームを受信した場合、当該同期フレームに含まれる前記ＣＰＵクロック周波数および前記同期フレーム組立時のＣＰＵクロックカウントの情報を抽出して、前記記憶部に保持する同期フレーム受信処理部と、
送信権をもった場合、スケジュールに従って所定の送信処理を行う送受信処理部と、
前記送信処理の完了後、他の前記伝送装置へ前記送信権の譲渡を示す完了フレームに、認識しているマスタノードの識別情報と前記記憶部に保持している当該送信周回における前記同期フレーム組立時のＣＰＵクロックカウントと
含めて同報送信する処理を行う完了フレーム送信処理部と、
受信した前記完了フレームを処理する完了フレーム受信処理部と、
を備え、
周回中の前記同期フレームから得られる前記マスタノードのＣＰＵクロック周波数および前記マスタノードにおける前記同期フレーム組立時のＣＰＵクロックカウントの情報を基に、各伝送装置での時間を、前記マスタノードでの時間を基準に共通化した、
伝送装置。
【請求項２】
前記送受信処理部は、前記送信権の有効期間内に前記送信処理を完了できなかった場合、自伝送装置における送受信プロセスの遅延を伝送装置毎にビット単位で示す通信遅延マップを作成し、前記記憶部に保持する、請求項１に記載の伝送装置。
【請求項３】
前記完了フレーム内の情報から、当該完了フレームが、インプリシット・トークンパッシングの過去の周回の完了フレームであると判別される場合、遅延の発生およびその頻度を示す通信遅延管理情報を作成し、前記記憶部に保持する請求項１または請求項２に記載の伝送装置。
【請求項４】
前記完了フレーム受信処理部は、前記送信権をもつ前記伝送装置から、送信権の有効期間満了時までに前記完了フレームを受信しなかった場合、遅延の発生およびその頻度を示す通信遅延管理情報を作成し、前記記憶部に保持する請求項１または請求項２に記載の伝送装置。
【請求項５】
前記完了フレーム受信処理部は、前記送信権の有効期間満了時までに前記完了フレームを受信しなかった場合、前記完了フレームを遅延して受信したことの履歴を、前記通信遅延マップに記録し、前記記憶部に保持する、請求項２に記載の伝送装置。
【請求項６】
前記送信権をもつ前記伝送装置の完了フレーム送信処理部は、当該伝送装置で保持している前記通信遅延マップの情報を前記完了フレームに含めて同報送信する、請求項５に記載の伝送装置。
【請求項７】
前記送受信処理部は、発生した事象を記録するためのシステムログを作成し、該システムログに、事象の発生時刻に加え、自伝送装置で得られる情報と、受信した前記同期フレーム内の前記同期フレーム組立時のＣＰＵクロックカウントの情報から算出した事象発生時のマスタノードのＣＰＵクロックカウントの情報を記録し、前記記憶部に保持するようにした、請求項１から請求項６のいずれか１項に記載の伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、伝送装置に関する。
【背景技術】
【０００２】
従来より、ＰＬＣ（Programmable  Logic  Controller）等のコントローラのＬＡＮ通信機能として動作する伝送装置には、一定時間内に装置間の通信が完了するリアルタイム性を確保するためにＩＥＥＥ８０２．４方式に代表されるトークンパッシング方式やそれを改良した方式を実装した装置がある。トークンパッシング方式を改良した方式のものには、送信の終了時に送信の完了を通知するフレームを送信することにより、送信権を他の伝送装置に譲渡するものもある。
【０００３】
また、従来技術においては、コントローラ用のＬＡＮにおいて通信障害が発生した場合、ＬＡＮ上の各装置のシステムログや通信エラーカウンタ等により障害の要因や異常箇所の特定を実施している。その対応の中で、通信障害の要因がハードウェア要因かソフトウェア要因かの切り分けは重要であり、この切り分けは、通信障害対応の中で優先される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０４４６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のように送信の完了を示すフレームを他装置に通知するような伝送装置を用いた通信システムでは、受信装置側の診断において、送信権の有効期間内に、送信権のある装置から上記フレームを受信しなかった場合はタイムアウトのエラーがカウントされるが、通信経路上の障害など受信装置側の物理層で検出されるエラーはカウントされない場合がある。この場合、ＨＵＢなどを含む通信経路で障害が発生したことによるものか、伝送装置内のソフトウェアプロセスの遅延等によるものか判断ができず、従来は、通信障害の要因がハードウェア要因かソフトウェア要因かの判別を行うことが困難であった。
【０００６】
本発明が解決しようとする課題は、通信障害発生時の通信遅延の検出を可能とし、その通信障害の要因の絞り込みを容易とする伝送装置を提供することである。
【課題を解決するための手段】
【０００７】
実施形態の伝送装置は、インプリシット・トークンパッシング方式のネットワークを構成する伝送装置である。この伝送装置は、記憶部と、マスタノードとなった場合、インプリシット・トークンパッシングの開始タイミングを示す同期フレームに、当該マスタノードとなった伝送装置のＣＰＵクロック周波数および当該同期フレーム組立時のＣＰＵクロックカウントの情報を含めて、周期的に同報送信する処理を行う同期フレーム送信処理部と、マスタノードとなった伝送装置から送信された同期フレームを受信した場合、該同期フレームに含まれるＣＰＵクロック周波数および同期フレーム組立時のＣＰＵクロックカウントの情報を抽出して、記憶部に保持する同期フレーム受信処理部と、送信権をもった場合、スケジュールに従って所定の送信処理を行う送信処理部と、送信処理の完了後、他の伝送装置へ送信権の譲渡を示す完了フレームに、認識しているマスタノードの識別情報と記憶部に保持している当該送信周回における同期フレーム組立時ＣＰＵクロックカウントと含めて同報送信する処理を行う完了フレーム送信処理部と、受信した完了フレームを処理する完了フレーム受信処理部と、を備える。周回中の同期フレームから得られるマスタノードのＣＰＵクロック周波数およびマスタノードにおける同期フレーム組立時のＣＰＵクロックカウントの情報を基に、各伝送装置での時間を、マスタノードでの時間を基準に共通化する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態の伝送装置と、通信経路上にあるハブとを含んで構成されるＬＡＮの構成例を示す図である。
【図２】図２は、図１に示す構成における同期フレームの送信の様子を示す図である。
【図３】図３は、図１に示す構成における完了フレームの送信の様子を示す図である。
【図４】図４は、第１の実施形態の伝送装置の機能構成を示す図である。
【図５】図５は、同期フレームのフレームフォーマットの概略を示す図である。
【図６】図６は、自ノードＣＰＵクロックカウンタテーブルの一例を示す図である。
【図７】図７は、通信遅延マップの一例を示す図である。
【図８】図８は、完了フレームのフレームフォーマットの概略を示す図である。
【図９】図９は、通信遅延管理テーブルの一例を示す図である。
【図１０】図１０は、ＣＰＵクロックカウンタ対応テーブルの一例を示す図である。
【図１１】図１１は、システムログテーブルの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、諸実施形態の伝送装置について説明する。
【００１０】
（概説）
以下に説明する諸実施形態の伝送装置は、プラント制御用などに使用されるＰＬＣ等のコントローラのＬＡＮ通信機能として動作する伝送装置である。このような伝送装置は、一定時間内に装置間の通信が完了するリアルタイム性が要求される。リアルタイム通信機能の実現方法は、専用のハードウェアを使用するＩＲＴ（Isochronous  Real-Time）と、ＩＲＴに比べてリアルタイム性能は劣るものの、専用のハードウェアを使用しないでソフトウェア機能にて実現するＳＲＴ（Soft  Real-Time）の２種類がある。本実施形態の伝送装置は、ＳＲＴによるものとし、当該伝送装置に備わるＯＳとそのＯＳ上で動作するソフトウェアによりリアルタイム通信を行う。また、本実施形態の伝送装置は、トークンパッシング方式における明示的なトークンのやりとりを省き、後述の同期フレームおよび完了フレームを用いたインプリシット・トークンパッシング方式（インプリシット・トークンパス方式）で送信タイミングのスケジューリングを行うものとする。この方式では、マスタノードとなっている伝送装置から同期フレームが同報送信され、この同期フレームを受信した他の伝送装置が順に送信権を得る。送信権を得た伝送装置における送信処理が完了すると、この伝送装置は完了フレームを同報送信し、完了フレームを受信した次の順番の伝送装置が送信権を得る。この送信権を得る順番は、伝送装置のノード番号（識別情報）やアドレスなどを基に定められる（例えば、ノード番号やＩＰアドレスのホスト部の若い順の順番とする）。
【００１１】
また、ＯＳにおいては、ＣＰＵクロック周波数やシステム起動時からのＣＰＵクロックカウンタ（ＣＰＵクロックのカウント値）を取得できる命令を提供しているものがあり、この命令を用いて高性能の時間計測が可能である。以下に説明する諸実施形態では、このＯＳの機能を利用し時間計測を行うものとして説明する。なお、時間計測に関しては、この手法に限らず、任意の手法を採用することができる。
【００１２】
（第１の実施形態）
図１は、本実施形態の伝送装置１１（図中、ＮｏｄｅＡ、ＮｏｄｅＢ、…、ＮｏｄｅＸ、ＮｏｄｅＹ）と、通信経路上にあるハブ１２（図中、ＨＵＢ  Ａ、ＨＵＢ  Ｂ）とを含んで構成されるＬＡＮの構成例を示す図である。同図に示すように、本実施形態の伝送装置１１は、他の伝送装置１１およびハブ１２と接続されＬＡＮを構成する。
【００１３】
図２は、図１に示す構成における同期フレームの送信の様子を示す図である。また、図３は、図１に示す構成における完了フレームの送信の様子を示す図である。
【００１４】
図１に示したＬＡＮを構成する伝送装置１１の中には、図２に示すように、ＬＡＮの制御を司るマスタノード１１−Ｍとなっている伝送装置１１が１台存在している。本実施形態では、マスタノード１１−Ｍとなった伝送装置１１が、従来のトークンパッシング方式における明示的なトークンのやりとりを省いたインプリシット・トークンパッシング方式で送信タイミングのスケジュールを行う。マスタノード１１−Ｍとなっている伝送装置１１は、バス型のインプリシット・トークンパッシングの開始タイミングを同期させる同期フレーム１３を、図２に示すようにＬＡＮ内で同報送信する。この同期フレーム１３の受信後、送信権を得た伝送装置１１−Ｓ（図３）は、スケジュールに従って所定の送信処理を行った後、図３に示すように、送信権の譲渡を示す完了フレーム１４を同報送信する。この完了フレーム１４により送信権を譲渡することにより、ＬＡＮに参加している各伝送装置１１は順番に送信権を得ることになる。
【００１５】
図４は、本実施形態の伝送装置１１の機能構成を示す図である。
【００１６】
伝送装置１１は、制御部１００と記憶部２００を備える。制御部１００は、同期フレーム送信処理部１０１と、同期フレーム受信処理部１０２と、送信受処理部１０３と、完了フレーム送信処理部１０４と、完了フレーム受信処理部１０５とを備える。
【００１７】
同期フレーム送信処理部１０１は、当該伝送装置１１がマスタノード１１−Ｍとなった場合、周期的に、バス型のインプリシット・トークンパッシングの開始タイミングを同期させる（送信周期の開始のタイミングを示す）同期フレーム１３を作成し、同報送信する処理を行う（詳細は後述）。
【００１８】
同期フレーム受信処理部１０２は、マスタノード１１−Ｍとなった伝送装置１１から送信された同期フレーム１３を受信した場合、この同期フレーム１３に含まれる所定の情報を抽出して、記憶部２００に記録する（詳細は後述）。
【００１９】
送受信処理部１０３は、同期フレーム受信後、当該伝送装置１１が送信権を得た場合、所定のスケジュールに従って送信処理を行い、また、他の伝送装置１１から送信されてきた同期フレーム１３および完了フレーム１４以外の電文を処理する。また、システムログの作成等も行う。システムログ処理部１０６は、システムログの記録及び読み出し要求の処理を行う。
【００２０】
完了フレーム送信処理部１０４は、当該伝送装置１１が送信権をもつ場合、上記送信処理の完了時に、他の伝送装置１１に送信権を譲渡するための完了フレーム１４を作成し、同報送信する処理を行う（詳細は後述）。
【００２１】
完了フレーム受信処理部１０５は、送信権をもつ伝送装置１１から送信された完了フレーム１４を受信した場合、この完了フレーム１４に含まれる所定の情報を抽出して、記憶部２００に記録する。また、送信権の有効期間内に完了フレーム１４を受信しなかった場合は、遅延に関する情報を記憶部２００に記録する（いずれも詳細は後述）。
【００２２】
記憶部２００は、後述する自ノードＣＰＵクロックカウンタテーブル２０１、ＣＰＵクロックカウンタ対応テーブル２０２、通信遅延管理テーブル２０３、および通信遅延マップ２０４、システムログテーブル２０５や、ＯＳおよび制御プログラム等を記憶する。
【００２３】
なお、制御部１００は、ハードウェアとしては、ＣＰＵと、ＲＯＭ（Read  Only  Memory）や主記憶装置となるＲＡＭを含んで構成され、制御部１００の各処理部は、ＣＰＵが、ＯＳおよび制御プログラムを記録した記録媒体（上記ＲＯＭや、ＨＤＤ等）から各プログラムを主記憶装置にロードすることにより、制御部１００の機能として実現される。また、記憶部２００は、ＲＡＭやＨＤＤ等からなり、この記憶部２００に、ＯＳおよび制御プログラムの一部または全部を記憶することも可能である。
【００２４】
図５は、本実施形態の伝送装置１１が用いる同期フレーム１３のフレームフォーマットの概略を示す図である。同図に示すように、同期フレーム１３のフレームフォーマットは、イーサネット（登録商標）・フレーム２１の構成を基本に、そのデータ部に、従来と同様にＩＰパケット２２の情報およびこのＩＰパケット２２のデータ部にＵＤＰパケット２３の情報が格納されるが、ＵＤＰデータ内に、本実施形態において特徴的な、同期フレーム１３であることを示すフレーム種別２４とＣＰＵクロック周波数２５と当該同期フレーム組立時のＣＰＵクロックカウント（同期フレーム組立時ＣＰＵクロックカウント２６）の情報を含むものとなっている。
【００２５】
続いて、本実施形態における同期フレーム１３の送信・受信の際の伝送装置１１の動作について説明する。
【００２６】
（同期フレームの送信）
マスタノードとなっている伝送装置１１−Ｍの同期フレーム送信処理部１０１は、同期フレーム１３を送信するため同期フレーム１３を組み立てる時に、ＣＰＵクロック周波数とこの同期フレーム組立時のＣＰＵクロックカウントの情報とを、当該伝送装置１１−ＭのＯＳにより提供される命令（ＡＰＩ：Application  Programming  Interface）を使用して取得する。そして、この伝送装置１１の同期フレーム送信処理部１０１は、取得したＣＰＵクロック周波数とＣＰＵクロックカウントを同期フレーム１３内のＣＰＵクロック周波数２５と同期フレーム組立時ＣＰＵクロックカウント２６に書き込んだ後に、同期フレーム１３の同報送信を行う。
【００２７】
（同期フレームの受信）
マスタノードからの同期フレーム１３を受信した伝送装置１１の同期フレーム受信処理部１０２は、マスタノード番号で特定される送信元が当該伝送装置１１で認識しているマスタノードであれば、図６に示す自ノードＣＰＵクロックカウンタテーブル２０１の設定を行う。具体的には、同期フレーム１３を受信した伝送装置１１の同期フレーム受信処理部１０２は、自ノードＣＰＵクロックカウンタテーブルのマスタノード番号３１に、自装置で認識しているマスタノードのノード番号であるマスタノード番号を記録し、マスタノードＣＰＵクロック周波数３２に、同期フレーム１３内のＣＰＵクロック周波数２５を記録し、マスタノード同期フレーム組立時ＣＰＵクロックカウント３３に、同期フレーム１３内の同期フレーム組立時ＣＰＵクロックカウント２６を記録し、自ノードＣＰＵクロック周波数３４に、当該伝送装置１１のＯＳにより提供される命令を使用して取得したＣＰＵクロック周波数を記録し、同期フレーム受信時ＣＰＵクロックカウント３５に、当該伝送装置１１のＯＳにより提供される命令を使用して取得したＣＰＵクロックカウントを記録する。また、図９に示す通信遅延管理テーブル内の全ノードについての疑似完了フラグ８１および通信遅延フラグ８３をクリアする。これらのフラグは、インプリシット・トークンパッシングの周回ごとにクリアすることになる。なお、図９に示す通信遅延管理テーブルのその他の設定については、第２の実施形態にて説明する。
【００２８】
同期フレーム１３を受信した後、送信権を獲得した伝送装置１１−Ｓは送信ノードとなり、送受信処理部１０３がスケジュールに従って送信処理を実施する。送信ノードとなっている伝送装置１１−Ｓの送受信処理部１０３は、送信権を得た有効期間内にスケジュール登録されている情報の送信が完了しなかったときは、送信プロセスの遅延発生として、図７に示す通信遅延マップの自ノードに該当するビットをＯＮに設定する。図７に示す通信遅延マップは、伝送装置１１毎に保有されており、ノード毎に１ビットの情報で、すなわちビット単位で通信遅延発生の履歴を表すものとなっている（図の例では１〜２５４で示す部分がそれぞれビットに相当する）。つまり、この通信遅延マップは、あるビットがＯＮになっていれば、該当ノードにて通信遅延が発生したことを示す。
【００２９】
図８は、本実施形態における伝送装置１１が用いる完了フレーム１４のフレームフォーマットの概略を示す図である。同図に示すように、完了フレーム１４のフレームフォーマットは、イーサネット・フレーム５１の構成を基本に、そのデータ部には、従来と同様にＩＰパケットの情報５２およびこのＩＰパケットのデータ部にＵＤＰパケットの情報５３が格納されるが、ＵＤＰデータ内に、本実施形態において特徴的な、完了フレーム１４であることを示すフレーム種別５４とマスタノード番号６１とマスタノードＣＰＵクロック周波数６２とマスタノード同期フレーム組立時ＣＰＵクロックカウント６３とノードＣＰＵクロック周波数６４と同期フレーム受信時ＣＰＵクロックカウント６５と前送信ノード番号６６と前送信ノードＣＰＵクロック周波数６７と前送信ノード完了フレーム組立時ＣＰＵクロックカウント６８と完了フレーム受信時ＣＰＵクロックカウント６９とノード完了フレーム組立時ＣＰＵクロックカウント７０と通信遅延マップ７１の情報を含むものとなっている。
【００３０】
（完了フレームの組み立ておよび送信）
送信権をもつ伝送装置１１−Ｓ（送信ノード）は、この伝送装置１１−Ｓが送信権を他の伝送装置１１に譲る際、完了フレーム送信処理部１０４が、完了フレーム１４を組み立てる。具体的には、送信権をもつ伝送装置１１−Ｓの完了フレーム送信処理部１０４は、この完了フレーム１４のマスタノード番号６１に自ノードＣＰＵクロックカウンタテーブル（図６）のマスタノード番号３１を書き込み、マスタノードＣＰＵクロック６２に自ノードＣＰＵクロックカウンタテーブルのマスタノードＣＰＵクロック周波数３２を書き込み、マスタノード同期フレーム組立時ＣＰＵクロックカウント６３に自ノードＣＰＵクロックカウンタテーブルのマスタノード同期フレーム組立時ＣＰＵクロックカウント３３を書き込み、ノードＣＰＵクロック周波数６４に自ノードＣＰＵクロックカウンタテーブルの自ノードＣＰＵクロック周波数３４を書き込み、同期フレーム受信時ＣＰＵクロックカウント６５に自ノードＣＰＵクロックカウンタテーブルの同期フレーム受信時ＣＰＵクロックカウント３５を書き込み、前送信ノード番号６６には自ノードＣＰＵクロックカウンタテーブルの前送信ノード番号３６を書き込み、前送信ノード完了フレーム組立時ＣＰＵクロックカウント６８には自ノードＣＰＵクロックカウンタテーブルの前送信ノード完了フレーム組立時ＣＰＵクロックカウント３７を書き込み、完了フレーム受信時ＣＰＵクロックカウント６９に自ノードＣＰＵクロックカウンタテーブルの完了フレーム受信時ＣＰＵクロックカウント３８を書き込む。
【００３１】
なお、上記の設定で用いる、自ノードＣＰＵクロックカウンタテーブルの前送信ノード番号３６、前送信ノード完了フレーム組立時ＣＰＵクロックカウント３７、および完了フレーム受信時ＣＰＵクロックカウント３８については、完了フレーム１４を受信した伝送装置１１の完了フレーム受信処理部１０５が、自ノードＣＰＵクロックカウンタテーブルの前送信ノード番号３６に、完了フレーム１４の送信元のノード番号を書き込み、前送信ノード完了フレーム組立時ＣＰＵクロックカウント３７に、完了フレーム１４のノード完了フレーム組立時ＣＰＵクロックカウント７０を書き込み、完了フレーム受信時ＣＰＵクロックカウント３８に、完了フレーム１４の完了フレーム受信時ＣＰＵクロックカウント６９を書き込むようにしている。また、１番目の送信ノードとなる伝送装置１１−Ｓの完了フレーム送信処理部１０４が完了フレーム１４を組み立てる際は、完了フレーム１４を受信していない（存在していない）ので、前送信ノード番号３６および前送信ノード完了フレーム組立時ＣＰＵクロックカウント３７および完了フレーム受信時ＣＰＵクロックカウント３８には、事前に決められた値を書き込む。
【００３２】
完了フレーム１４の前送信ノードＣＰＵクロック周波数６７については、伝送装置１１−Ｓの完了フレーム受信処理部１０５が、図１０に示すＣＰＵクロックカウンタ対応テーブルの中で、前送信ノード番号３６に一致するノード番号のノードＣＰＵクロック周波数４４の情報を取得し、その情報を書き込む。また、ノード完了フレーム組立時ＣＰＵクロックカウント７０については、伝送装置１１−Ｓの完了フレーム送信処理部１０４が、完了フレーム組立時に伝送装置１１−ＳのＯＳにより提供される命令を使用してＣＰＵクロックカウントを取得し、その値を書き込む。また、通信遅延マップ７１は、伝送装置１１−Ｓの完了フレーム送信処理部１０４が、図７に示す当該伝送装置１１−Ｓの通信遅延マップの値を取得し書き込む。なお、ＣＰＵクロックカウンタ対応テーブル（図１０）の設定については、第２の実施形態にて説明する。
【００３３】
以上のようにして、送信権をもつ伝送装置１１−Ｓの完了フレーム送信処理部１０４は、完了フレーム１４を組み立てた後、この完了フレーム１４を同報送信する。
【００３４】
本実施形態では、ＬＡＮ（ネットワーク）に参加している、マスタノード以外の全伝送装置１１が、同期フレーム受信時にマスタノードのＣＰＵクロック周波数およびマスタノードにおける同期フレーム組立時ＣＰＵクロックカウントの情報を認識する。この情報と、同期フレーム受信時の自ノードにおけるＣＰＵクロック周波数およびＣＰＵクロックカウントの情報とを利用して、マスタノード以外の全伝送装置１１は、マスタノードにおける同期フレーム組立時の時間を基準とした時間（経過時間）を正確に計時できるようになる。マスタノードは、自身のＣＰＵクロック周波数およびＣＰＵクロックカウントの情報から、時間を正確に計時できる。つまり、本実施形態では、全伝送装置１１が共通の時間を認識できるようになり、各種の遅延の要因を判別する際、助けとなる。
【００３５】
また、本実施形態では、以上のように同期フレーム１３および完了フレーム１４の送受信を行い、各伝送装置１１は、図７に示す通信遅延マップで示される情報をそれぞれもつようになる。その情報を基に、各伝送装置１１にて、自装置における送受信プロセス（ソフトウェア）による遅延を検出することができ、また、送受信プロセス（ソフトウェア）による遅延でない遅延が発生した場合は、例えば異常のためフレームが捨てられた場合など、通信経路で障害が発生したことによる遅延であると判断することができる。
【００３６】
また、伝送装置１１毎に保持されている図７の通信遅延マップは、各伝送装置１１の送信完了時に同報される完了フレーム１４内に組み込まれるので、ネットワークに参加している全伝送装置１１に通知することができる。これにより、本実施形態の伝送装置１１では、ネットワーク内の他の伝送装置１１で検出した通信遅延についても認識することが可能となる。
【００３７】
（第２の実施形態）
次に、第２の実施形態について説明する。本実施形態における伝送装置における基本構成は、前述の第１の実施形態のものと同様である。ここでは、第１の実施形態のものと異なる点について説明する。
【００３８】
第１の実施形態で上述した伝送装置１１において、送信権をもつ伝送装置１１−Ｓの送信権の有効期間満了時に、他の伝送装置１１が、この送信権をもつ伝送装置１１−Ｓからの完了フレーム１４を受信しなかった場合、他の伝送装置１１の完了フレーム受信処理部１０５は、図９の通信遅延管理テーブルの疑似完了フラグ８１をＯＮに設定し、疑似完了カウンタ８２（初期値：０）をインクリメントする。また、このとき、他の伝送装置１１の完了フレーム受信処理部１０５は、図６の自ノードＣＰＵクロックカウンタテーブルの前送信ノード番号３６に、送信権の有効期間が満了した伝送装置１１−Ｓ（送信ノード）のノード番号を書き込み、完了フレーム受信時ＣＰＵクロックカウントに、当該伝送装置１１のＯＳにより提供される命令を使用してＣＰＵクロックカウントを取得し、その値を書き込む。
【００３９】
伝送装置１１−Ｓから完了フレーム１４を受信した時、完了フレーム受信処理部１０５は、受信した完了フレーム１４内のマスタノード番号６１と自ノードＣＰＵクロックカウンタテーブル内のマスタノード番号３１とが一致しており、かつ完了フレーム１４内のマスタノード同期フレーム組立時ＣＰＵクロックカウント６３と自ノードＣＰＵクロックカウンタテーブル内のマスタノード同期フレーム組立時ＣＰＵクロックカウント３３とが一致していれば、伝送装置１１の完了フレーム受信処理部１０５は、受信した完了フレーム１４は、現在のインプリシット・トークンパッシングの周回の完了フレーム１４であると判定する。そうでない場合は、伝送装置１１の完了フレーム受信処理部１０５は、受信した完了フレーム１４は、過去の周回の完了フレーム１４であると判定する。
【００４０】
受信した完了フレーム１４が、過去の周回の完了フレーム１４であると判定された場合、つまり、過去の周回の完了フレーム１４を受信すると、この完了フレーム１４を受信した伝送装置１１の完了フレーム受信処理部１０５は、図９の通信遅延管理テーブルの中から、完了フレーム１４の送信元のノード番号に一致する情報の内、通信遅延カウンタ８４をインクリメントする。また、この完了フレーム受信処理部１０５は、図７の通信遅延マップの完了フレーム１４の送信元のノード番号に対応するビットをＯＮに設定する。
【００４１】
一方、受信した完了フレーム１４が、現在のインプリシット・トークンパッシングの周回の完了フレーム１４であると判定した場合、この完了フレーム１４を受信した伝送装置１１の完了フレーム受信処理部１０５は、図９の通信遅延管理テーブルの完了フレーム１４の送信元のノード番号に一致する情報の疑似完了フラグ８１を参照し、ＯＮになっていれば、つまり、現在の周回の完了フレーム１４を受信しても、上記有効期間満了後に受信した履歴があった場合、この完了フレーム１４を遅延して受信したと判断し、この完了フレーム１４の送信元のノード番号に一致する情報の内、通信遅延フラグ８３をＯＮに設定し、通信遅延カウンタ（８４）をインクリメントする。また、このときこの伝送装置１１の完了フレーム受信処理部１０５は、図７の通信遅延マップの完了フレーム１４の送信元のノード番号に対応するビットをＯＮに設定する。
【００４２】
他方、送信権をもつ伝送装置１１−Ｓから遅延なく完了フレーム１４を受信したときは、この完了フレーム１４を受信した伝送装置１１の完了フレーム受信処理部１０５は、図１０のＣＰＵクロックカウンタ対応テーブルの、完了フレーム１４の送信元のノード番号に一致する情報の内、マスタノード番号４１に完了フレーム１４のマスタノード番号６１を書き込み、マスタノードＣＰＵクロック周波数４２に完了フレーム１４のマスタノードＣＰＵクロック周波数６２を書き込み、マスタノード同期フレーム組立時ＣＰＵクロックカウント４３に完了フレーム１４のマスタノード同期フレーム組立時ＣＰＵクロックカウント６３を書き込み、ノードＣＰＵクロック周波数４４に完了フレーム１４のノードＣＰＵクロック周波数６４を書き込み、ノード完了フレーム組立時ＣＰＵクロックカウント４５に完了フレーム１４のノード完了フレーム組立時ＣＰＵクロックカウント７０を書き込み、また、図６の自ノードＣＰＵクロックカウンタテーブルの前送信ノード番号３６に、完了フレーム１４の送信元のノード番号（これは送信元のアドレスから識別される）を書き込み、前送信ノード完了フレーム組立時ＣＰＵクロックカウント３７には、完了フレーム１４のノード完了フレーム組立時ＣＰＵクロックカウント７０を書き込む。また、このとき完了フレーム１４を受信した伝送装置１１の完了フレーム受信処理部１０５は、完了フレーム受信時ＣＰＵクロックカウント４６については、伝送装置１１のＯＳにより提供される命令を使用してＣＰＵクロックカウント取得し、その値を書き込み、同時に図６の自ノードＣＰＵクロックカウンタテーブルの完了フレーム受信時ＣＰＵクロックカウント３８にもその値を書き込む。
【００４３】
本実施形態の伝送装置１１によれば、各送信ノードからの完了フレームの遅延を検出し、検出結果を遅延の発生およびその頻度を示す通信遅延管理テーブル（通信遅延管理情報）として記録し、通信遅延マップに加えて、その記録を利用することにより、通信障害の要因の絞り込みを容易にすることができる。
【００４４】
（第３の実施形態）
ログとして記録するような事象が発生したとき、本実施形態では、ログとして図１１に示すシステムログテーブル２０５の各項目を記録する。伝送装置１１が管理する時刻を伝送装置１１間で同期していない場合、ログに記録された時刻から伝送装置１１間の事象発生の時系列を判別することができないが、本実施形態では、各伝送装置１１がもつシステムログテーブル（図１１）のマスタノード番号９３とマスタノードＣＰＵクロックカウント９５を比較することで判別が可能となる。なお、図１１の例では、発生した事象毎に割り振られるイベントＮｏ．９１、発生時刻９２、マスタノード番号９３、マスタノードＣＰＵクロック周波数９４、マスタノードＣＰＵクロックカウント９５、発生した事象の内容等を記録する付帯情報９６が記録されている。
【００４５】
ログとして記録するような事象が発生したとき、伝送装置１１の送受信処理部１０３は、マスタノード番号９３に、自ノードＣＰＵクロックカウンタテーブルのマスタノード番号３１の値を記録し、マスタノードＣＰＵクロック周波数９４に、自ノードＣＰＵクロックカウンタテーブルのマスタノードＣＰＵクロック周波数３２の値を記録する。マスタノードＣＰＵクロックカウント９５には、送受信処理部１０３が、次の項目を使用して事象発生時のマスタノードのＣＰＵクロックカウントみなし値を算出して記録する。
【００４６】
システムログに記録する事象が発生した時、伝送装置１１のシステムログ処理部１０６は、この伝送装置１１のＯＳにより提供される命令を使用してＣＰＵクロック周波数とＣＰＵクロックカウントを取得する。そして、この伝送装置１１の送受信処理部１０３は、事象発生時のＣＰＵクロックカウントと自ノードＣＰＵクロックカウンタテーブルの同期フレーム受信時ＣＰＵクロックカウント３５との差分（自ノードでの同期フレーム受信時から事象発生時までのＣＰＵクロックカウント差分）、および、自ノードＣＰＵクロック周波数３４とマスタノードＣＰＵクロック周波数３２の比率を基に、マスタノードでの同ＣＰＵクロックカウント差分を算出する。最後に、この伝送装置１１は、自ノードＣＰＵクロックカウンタテーブルのマスタノード同期フレーム組立時ＣＰＵクロックカウント３３に、上記のようにして算出したマスタノードでのＣＰＵクロックカウント差分と同期フレーム１３の通信処理に要するマスタノードのＣＰＵクロックカウント（この値は事前に取得しておく）とを加算した値を、事象発生時におけるマスタノードＣＰＵクロックカウント９５の値（みなし値）として記録する。
【００４７】
本実施形態では、ログとして記録するような事象が発生した場合、上記のようなシステムログテーブルを作成するので、伝送装置１１間で時刻を同期させなくとも、マスタノードＣＰＵクロックカウント９５の値で事象発生の時系列を判別することが可能となる。また、伝送装置１１間のシステムログの記録の時系列が分かるようになることで、障害対策時間の短縮に貢献できる。
【００４８】
以上説明したとおり、第１から第３の実施形態によれば、コントローラのＬＡＮ通信機能として動作する伝送装置１１において、各伝送装置１１における時間を共通化できるとともに、通信障害発生時に、ソフトウェアプロセスにおける通信遅延と、通信経路でのハードウェアの故障によるパケット喪失等の障害の区別が容易となる。
【００４９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５０】
１１  伝送装置
１２  ハブ
１００  制御部
１０１  同期フレーム送信処理部
１０２  同期フレーム受信処理部
１０３  送受信処理部
１０４  完了フレーム送信処理部
１０５  完了フレーム受信処理部
２００  記憶部
２０１  自ノードＣＰＵクロックカウンタテーブル
２０２  ＣＰＵクロックカウンタ対応テーブル
２０３  通信遅延管理テーブル
２０４  通信遅延マップ
２０５  システムログテーブル
【図１】
2017163288.tif 000003
【図２】
2017163288.tif 000004
【図３】
2017163288.tif 000005
【図４】
2017163288.tif 000006
【図５】
2017163288.tif 000007
【図６】
2017163288.tif 000008
【図７】
2017163288.tif 000009
【図８】
2017163288.tif 000010
【図９】
2017163288.tif 000011
【図１０】
2017163288.tif 000012
【図１１】
2017163288.tif 000013