(57)【要約】      （修正有）【課題】コントローラとの通信に異常が生じている期間も機器データのログをとる。【解決手段】機器９とコントローラ１０とに接続されてコントローラ１０との間で通信が行われる、あるいは機器９と中継装置４とに接続されて中継装置４とコントローラ１０との間で通信が行われる通信装置３であって、機器９の出力から得られた機器データを送信する処理部Ｐと記憶部Ｒとを備え、処理部Ｐは、少なくとも通信に異常が生じている期間に、記憶部Ｒに機器データのロギングを行う。【選択図】図４
2018128724.tif 000002
【特許請求の範囲】
【請求項１】
機器とコントローラとに接続されてコントローラとの間で通信が行われる、あるいは機器と中継装置とに接続されて前記中継装置とコントローラとの間で通信が行われる通信装置であって、
前記機器の出力から得られた機器データを送信する処理部と記憶部とを備え、
前記処理部は、少なくとも前記通信に異常が生じている期間に、前記記憶部に機器データのロギングを行う通信装置。
【請求項２】
前記処理部は、前記異常の発生を自律的に検知する請求項１に記載の通信装置。
【請求項３】
前記処理部は、前記異常の発生をトリガとしてロギングを開始する請求項２に記載の通信装置。
【請求項４】
前記処理部は、前記異常が発生する前からロギングを行う請求項２に記載の通信装置。
【請求項５】
前記通信がサイクリック通信であり、
前記通信について、サイクリック通信は異常であるがコントローラからの要求に対して通信するメッセージ通信が正常である期間に、前記処理部は、前記要求に対して、ロギングした機器データを送信する請求項１〜４のいずれか１項に記載の通信装置。
【請求項６】
前記処理部は、異常が生じている期間にロギングされた未送信の情報が書かれた領域に上書きを行わない請求項１〜５のいずれか１項に記載の通信装置。
【請求項７】
前記機器との間でサイクリック通信を行い、前記ロギングの間隔は前記機器との間の通信周期よりも長い請求項１〜６のいずれか１項に記載の通信装置。
【請求項８】
前記処理部は、外部装置あるいは前記中継装置からの要求に応じて、ロギングした情報を要求元に送信する請求項１〜７のいずれか１項に記載の通信装置。
【請求項９】
前記処理部は、前記異常を検知したことをロギングする請求項２に記載の通信装置。
【請求項１０】
前記処理部は、時系列に沿った方式でロギングを行う請求項１〜９のいずれか１項に記載の通信装置。
【請求項１１】
前記処理部は、前記中継装置から前記異常の発生を示す信号を受けて前記ロギングを開始する請求項１に記載の通信装置。
【請求項１２】
コントローラと、機器と、請求項１〜１１のいずれか１項に記載の通信装置とを備える通信システム。
【請求項１３】
前記通信について、サイクリック通信は異常であるがコントローラからの要求に対して通信するメッセージ通信が正常である期間に、コントローラは、ロギングした機器データの送信要求を行う請求項１２に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関する。
【背景技術】
【０００２】
特許文献１には、ＰＬＣ等のコントローラおよび複数の機器（例えば、センサ）に接続され、複数の機器から受信した機器データを一時保存した後に当該機器データをサイクリック通信によってコントローラに送信する通信装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−８５８０４号公報（２０１４年５月１２日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前記の従来技術では、サイクリック通信に異常が生じた場合に、通信装置が機器データをコントローラに送信できなくなり、サイクリック通信の異常が解消されるまでは機器データのログがとれなくなるという問題がある。
【課題を解決するための手段】
【０００５】
本発明の一実施形態にかかる通信装置は、機器とコントローラとに接続されてコントローラとの間で通信が行われる、あるいは機器と中継装置とに接続されて前記中継装置とコントローラとの間で通信が行われる通信装置であって、前記機器の出力から得られた機器データを送信する処理部と記憶部とを備え、前記処理部は、少なくとも前記通信に異常が生じている期間に、前記記憶部に機器データのロギングを行う。
【０００６】
前記構成によれば、コントローラおよび通信装置間の通信あるいはコントローラおよび中継装置間の通信に異常が生じている期間も機器データのログをとることができる。
【０００７】
前記処理部は、前記異常の発生を自律的に検知する構成でもよい。このように通信装置が自律的に通信異常を検知することで速やかに異常時の対応をとることができる。
【０００８】
前記処理部は、前記異常の発生をトリガとしてロギングを開始してもよい。このように通信異常の期間だけロギングを行う（通信が正常な期間はロギングを行わない）ことで処理部の負荷が軽減される。
【０００９】
前記処理部は、前記異常が発生する前からロギングを行ってもよい。このように通信が正常なときからロギングを行うことで、異常発生前後のトレースが容易になる。
【００１０】
前記通信はサイクリック通信であってもよい。サイクリック通信によってコントローラはリアルタイムに機器データを取得することができる。
【００１１】
前記通信について、サイクリック通信は異常であるがコントローラからの要求に対して通信するメッセージ通信が正常である期間に、前記処理部は、前記要求に対して、ロギングした機器データを送信してもよい。こうすれば、サイクリック通信に異常が生じていてもロギングした機器データをコントローラ側で取得することができる。
【００１２】
前記処理部は、異常が生じている期間にロギングされた未送信の情報が書かれた領域に上書きを行わない構成でもよい。こうすれば、通信異常の期間にロギングした機器データが失われることを防止することができる。
【００１３】
前記機器との間でサイクリック通信を行い、前記ロギングの間隔は前記機器との間の通信周期よりも長い構成でもよい。こうすれば、記憶部の容量を増やすことなくロギング可能時間を伸ばすことができる。
【００１４】
ユーザの入力によってロギングの対象となる機器データが設定される構成でもよい。トレースに必要な機器データだけをロギングすることで記憶部の容量を増やすことなくロギング可能時間を伸ばすことができる。
【００１５】
ユーザの入力によって前記ロギングの間隔が設定される構成でもよい。トレースに必要な間隔でロギングすることで記憶部の容量を増やすことなくロギング可能時間を伸ばすことができる。
【００１６】
前記処理部は、外部装置あるいは前記中継装置からの要求に応じて、ロギングした情報を要求元に送信する構成でもよい。こうすれば、通信が完全に遮断されたような場合でもロギングされた機器情報を取り出すことができる。
【００１７】
前記処理部は、前記異常を検知したことをロギングする構成でもよい。こうすれば、異常発生前後のトレースが容易になる。
【００１８】
前記処理部は、時系列に沿った方式でロギングを行う構成でもよい。こうすれば、異常発生期間のトレースが容易になる。
【００１９】
前記処理部は、前記中継装置から前記異常の発生を示す信号を受けて前記ロギングを開始する構成でもよい。
【００２０】
通信装置はネットワークあるいは通信バスを介して前記コントローラに接続される構成でもよい。こうすれば、様々なネットワーク構成を実現することができる。
【００２１】
前記中継装置が、ネットワークあるいは通信バスを介して前記コントローラに接続される構成でもよい。こうすれば、様々なネットワーク構成を実現することができる。
【００２２】
本発明の一実施形態にかかる通信システムは、コントローラと、機器とを備える。
【００２３】
前記通信システムは、前記通信について、サイクリック通信は異常であるがコントローラからの要求に対して通信するメッセージ通信が正常である期間に、コントローラは、ロギングした機器データの送信要求を行う構成でもよい。
【発明の効果】
【００２４】
コントローラおよび通信装置間の通信あるいはコントローラおよび中継装置間の通信に異常が生じている期間も機器データのログをとることができる。
【図面の簡単な説明】
【００２５】
【図１】通信装置およびコントローラを含む通信システムの構成を示すブロック図である。
【図２】通信システムの動作（通信正常時）を示す模式図である。
【図３】図１においてネットワークに接続される通信装置の動作を示すフローチャートである。
【図４】図１においてネットワークに接続される通信装置の動作（サイクリック通信のみ異常の期間）を示す模式図である。
【図５】図１においてネットワークに接続される通信装置の動作（サイクリック通信およびメッセージ通信が異常の期間）を示す模式図である。
【図６】図１において中継装置に接続される通信装置の動作を示すフローチャートである。
【図７】図１において中継装置に接続される通信装置の動作（サイクリック通信のみ異常の期間）を示す模式図である。
【図８】図１において中継装置に接続される通信装置の動作（サイクリック通信およびメッセージ通信が異常の期間）を示す模式図である。
【図９】図８の変形構成を示す模式図である。
【図１０】図１においてコントローラに外付けされる通信装置の動作を示すフローチャートである。
【図１１】図１においてコントローラに外付けされる通信装置の動作（サイクリック通信のみ異常の期間）を示す模式図である。
【図１２】図１においてコントローラに外付けされる通信装置の動作（サイクリック通信およびメッセージ通信が異常の期間）を示す模式図である。
【図１３】通信システムの別動作（通信正常時）を示す模式図である。
【図１４】図１３においてネットワークに接続される通信装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下に、本発明の実施形態を図１〜図１４を用いて説明する。ただし、この実施形態は例示に過ぎない。
【００２７】
図１は、通信装置およびコントローラを含む通信システムの構成を示すブロック図であり、図２は、図１の通信システムの動作（通信正常時）を示す模式図である。
【００２８】
図１・図２に示すように、本実施形態にかかる通信システム２は、コントローラ１０と、フィールドネットワーク２０を介してコントローラ１０に接続される通信装置３ｘと、フィールドネットワーク２０を介してコントローラ１０に接続される中継装置４と、中継装置４に接続される通信装置３ｙと、通信バスを介してコントローラ１０に外付け接続される通信装置３ｚと、通信装置３ｘに接続される機器９ａ・９ｂと、通信装置３ｙに接続される機器９ｃと、通信装置３ｚに接続される機器９ｄとを含む。
【００２９】
一例として、フィールドネットワーク２０はイーサキャット（Ether CAT：登録商標）ネットワークであり、コントローラ１０はイーサキャットマスタであり、通信装置３ｘはＩＯ−Ｌｉｎｋマスタであり、通信装置３ｙ・３ｚはセンサ入力ユニットであり、中継装置４はイーサキャットカプラユニットであり、機器９ａ・９ｂはＩＯ−Ｌｉｎｋデバイスであり、機器９ｃ・９ｄはセンサである。
【００３０】
図１に示すように、通信装置３ｘは、処理部Ｐｘおよび記憶部Ｒｘを含み、通信装置３ｙは、処理部Ｐｙおよび記憶部Ｒｙを含み、通信装置３ｚは、処理部Ｐｚおよび記憶部Ｒｚを含む。
【００３１】
コントローラ１０と通信装置３ｘとの間では、フィールドネットワーク２０を介してサイクリック通信Ｃｘおよびメッセージ通信Ｍｘが可能である。コントローラ１０と中継装置４との間では、フィールドネットワーク２０を介してサイクリック通信Ｃｙおよびメッセージ通信Ｍｙが可能であり、中継装置４と通信装置３ｙとの間では、サイクリック通信Ｃｔおよびメッセージ通信Ｍｔが可能である。コントローラ１０と通信装置３ｚとの間では、通信バスを介してサイクリック通信Ｃｚおよびメッセージ通信Ｍｚが可能である。
【００３２】
サイクリック通信は、分散共有メモリを用いて、ノード間でサイクリックにプロセスデータを共有し合う通信であり、メッセージ通信は、必要時にマスタ（コントローラ１０）の要求に、スレーブ（通信装置３ｘ・３ｚ、中継装置４）が応じることで行う通信である。
【００３３】
通信装置３ｘと機器９ａとの間ではサイクリック通信Ｃａが可能であり、通信装置３ｘと機器９ｂとの間ではサイクリック通信Ｃｂが可能である。通信装置３ｘの処理部Ｐｘは、例えば、機器９ａ・９ｂから受信した出力信号Ｓａ・Ｓｂ（デジタル値）を処理して機器データＫａ・Ｋｂ（光量、負荷量、電圧値等の物理量を示すデータ）とし、これをサイクリック通信Ｃｘによってコントローラ１０に送信する。
【００３４】
通信装置３ｙの処理部Ｐｙは、例えば、機器９ｃから受信した出力信号Ｓｃ（アナログ値）をＡＤ変換して機器データＫｃ（光量、負荷量、電圧値等の物理量を示すデータ）とし、機器データＫｃを中継装置４に送信する。中継装置４は、処理部Ｐｙから受信した機器データＫｃをサイクリック通信Ｃｙによってコントローラ１０に送信する。
【００３５】
通信装置３ｚの処理部Ｐｚは、例えば、機器９ｄから受信した出力信号Ｓｄ（アナログ値）をＡＤ変換して機器データＫｄ（光量、負荷量、電圧値等の物理量を示すデータ）とし、機器データＫｄをサイクリック通信Ｃｚによってコントローラ１０に送信する。
【００３６】
図３は、図１の通信装置３ｘの動作を示すフローチャートであり、図４は、図１の通信装置３ｘの動作（サイクリック通信のみ異常の期間）を示す模式図である。
【００３７】
図３および図２に示すように、ステップＳ１では、通信装置３ｘの処理部Ｐｘが、機器９ａ・９ｂとのサイクリック通信Ｃａ・Ｃｂおよびフィールドネットワーク２０を介してのコントローラ１０とのサイクリック通信Ｃｘを確立する。
【００３８】
ステップＳ２では、図２・図３に示すように、処理部Ｐｘが、機器９ａの出力Ｓａから得た機器データＫａおよび機器９ｂの出力Ｓｂから得た機器データＫｂを、サイクリック通信Ｃｘによってコントローラ１０に送信する。具体的には、処理部Ｐｘが、機器データＫａ・Ｋｂを、コントローラ１０のコモンメモリの所定領域（通信装置３ｘの領域）に周期的に書き込み、この所定領域に書き込まれた機器データＫａ・Ｋｂをコントローラ１０が取得する。なお、コントローラ１０は、サイクリック通信Ｃｘによって取得した機器データＫａ・Ｋｂを、内蔵の記憶部あるいは外付けの記憶装置等にロギングしていく。
【００３９】
その後、処理部Ｐｘがサイクリック通信Ｃｘの異常を検知したこと（ステップＳ３でＹＥＳの場合）をトリガとしてステップＳ４に移行する。ステップＳ３では、例えば、コモンメモリの所定領域に書き込んだ機器データＫａ・Ｋｂが所定の周期でコントローラ１０に取得されないことをもって、処理部Ｐｘが自律的に異常発生と判断する。なお、通信装置３ｘおよび機器９ａ・９ｂ間のサイクリック通信Ｃａ・Ｃｂは、通信装置３ｘおよびコントローラ１０間のサイクリック通信Ｃｘの異常に影響されない。
【００４０】
ステップＳ４では、処理部Ｐｘが、サイクリック通信Ｃｘの異常発生後に得られた機器データＫａ・Ｋｂを記憶部Ｒｘにロギングしていく。ここでは、例えば時系列（時刻あるいはサイクルＩＤ）に沿って機器データＫａ・Ｋｂを順次記録する。
【００４１】
その後、サイクリック通信Ｃｘが復旧すれば（ステップＳ５でＹＥＳ）、処理部Ｐｘはロギングを終了する（ステップＳ６）。一方、サイクリック通信Ｃｘが復旧する前に（ステップＳ５でＮＯ）、コントローラ１０からメッセージ通信Ｍｘによるロギングされた機器データＫａ・Ｋｂ（ログデータ）の送信要求があれば（ステップＳ７でＹＥＳ）、図４に示すように、処理部Ｐｘは、ログデータをメッセージ通信Ｍｘによってコントローラ１０に送信する（ステップＳ８）。ステップＳ８の後はステップＳ４に移行する。
【００４２】
以上のステップＳ１〜Ｓ８によって、機器データＫａ・Ｋｂを、サイクリック通信Ｃｘが正常である期間はコントローラ１０に、異常である期間は通信装置３ｘの記憶部Ｒｘにロギングすることができ、サイクリック通信に障害が生じても（機器データの）トレースが可能になる。また、メッセージ通信Ｍｘによって通信装置３ｘのログデータをコントローラ１０側に吸い上げることができる。
【００４３】
ステップＳ４では、異常発生のイベントについても時刻あるいはサイクルＩＤ等とともに記憶部Ｒｘにロギングすることが望ましい。こうすれば、後のトレースが容易になる。
【００４４】
ステップＳ４におけるロギングの方式として、リングバッファ方式あるいは上限数達成時停止方式が挙げられる。ここでは、通信異常の期間にロギングされ、コントローラ１０等の外部に送信していない情報が書かれた領域には上書きを行わない（メッセージ通信Ｍｘによって送信済の情報が書かれた領域には上書きを許可する）ことを前提としつつ、記憶部Ｒｘの容量上限までロギングを行うことが望ましい。こうすれば、通信異常期間のログデータを失うことなく、ロギング可能期間を最大限伸ばすことができる。
【００４５】
ステップＳ４でのロギングの間隔は、機器９ａ・９ｂとの間のサイクリック通信（Ｃｘ・Ｃａ・Ｃｂ）の周期よりも長いことが望しく、このロギングの間隔（例えば、数百μ秒〜数秒）は、事前のユーザ入力に応じて設定されることがより望ましい。例えば、ユーザのアプリケーションから通信装置３ｘに所望のロギングの間隔を示すデータが保存され、ステップＳ４においては処理部Ｐｘがこのデータを読み出してロギングを行う。このように、後のトレースに必要な間隔でロギングを行うことで、記憶容量を増やすことなくロギング可能期間を伸ばすことができる。
【００４６】
また、ロギングの対象となる機器データも、事前のユーザ入力に応じて設定されることが望ましい。例えば、ユーザのアプリケーションから通信装置３ｘに所望の機器データを示すデータが保存され、ステップＳ４においては処理部Ｐｘがこのデータを読み出して特定の機器データをロギングする。このように、後のトレースに必要な機器データだけを選択的にロギングすることで、記憶容量を増やすことなくロギング可能期間を伸ばすことができる。
【００４７】
ステップＳ６では、機器データのロギングの終了前に復旧のイベントについても時刻等とともに記憶部Ｒｘにロギングすることが望ましい。こうすれば、後のトレースが容易になる。
【００４８】
サイクリック通信Ｃｘおよびメッセージ通信Ｍｘがともに異常でステップＳ７がＹＥＳにならない場合、（例えば、通信装置３ｘがフィールドネットワーク２０から物理的に遮断された場合）には、図５のように、処理部Ｐｘが、外部機器６の送信要求に応じて、ログデータを外部機器６（例えば、外付けのＵＳＢメモリやユーザのコンピュータ）に送信することが望ましい。
【００４９】
こうすれば、コントローラ１０との間の通信断が生じてもトレースが可能になる。また、ロギングの最中にログデータが読み出されることで、読み出されたログデータが占めていた領域は新たに書き込み可能となるため、記憶部Ｒｘの残量（書き込み可能な領域）を増やすことができる。
【００５０】
通信装置３ｘは、ステップＳ６に到る前に、異常が生じている期間にロギングされ、外部に未送信の情報によって記憶部Ｒｘの容量の所定割合（例えば、７０％〜９０％）が占められた場合に警告を発したり、記憶部Ｒｘの残量を段階的に外部に報知したりする構成でもよい。前記所定割合についてはユーザ入力に応じて設定されることが望ましい。
【００５１】
なお、図４・図５の構成に限られず、通信が復旧してロギングが終了した後に、コントローラ１０あるいは外部機器６からの要求に応じて、処理部Ｐｘがログデータを要求元に送信する構成でもよい。
【００５２】
図６は、図１の通信装置３ｙの動作を示すフローチャートであり、図７は、図１の通信装置３ｙの動作（サイクリック通信のみ異常の期間）を示す模式図である。
【００５３】
図６および図２に示すように、ステップＳ１１では、通信装置３ｙの処理部Ｐｙが、中継装置４とのサイクリック通信Ｃｔを確立し、機器９ｃの出力Ｓｃから得た機器データＫｃを、サイクリック通信Ｃｔによって中継装置４に送信する。具体的には、処理部Ｐｙが、機器データＫｃを、中継装置４のコモンメモリの所定領域（通信装置３ｙの領域）に周期的に書き込み、この所定領域に書き込まれた機器データＫｃを中継装置４が取得する。
【００５４】
ステップＳ１２では、サイクリック通信Ｃｙによって中継装置４からコントローラ１０に機器データＫｃを送信する。具体的には、中継装置４が、機器データＫｃを、コントローラ１０のコモンメモリの所定領域（中継装置４の領域）に周期的に書き込み、この所定領域に書き込まれた機器データＫｃをコントローラ１０が取得する。コントローラ１０は、サイクリック通信Ｃｙによって取得した機器データＫｃを、内蔵の記憶部あるいは外付けの記憶装置等にロギングしていく。
【００５５】
その後、処理部Ｐｙがサイクリック通信Ｃｙの異常を検知したこと（ステップＳ１３でＹＥＳの場合）をトリガとしてステップＳ１４に移行する。ステップＳ１３では、例えば、コモンメモリの所定領域に書き込んだ機器データＫａ・Ｋｂが所定の周期で中継装置４に取得されないことをもって、処理部Ｐｙが自律的に異常発生と判断する。ここでは、コントローラ１０やフィールドネットワーク２０が正常で中継装置４自体に問題が生じたために機器データＫａ・Ｋｂが所定の周期で中継装置４に取得されない場合も同様に異常と判断される。
【００５６】
ステップＳ１４では、処理部Ｐｘが、サイクリック通信Ｃｙの異常発生後に得られた機器データＫｃを記憶部Ｒｙにロギングしていく。ここでは、例えば時系列（時刻あるいはサイクルＩＤ）に沿って機器データＫｃを順次記録する。
【００５７】
その後、サイクリック通信Ｃｙが復旧すれば（ステップＳ１５でＹＥＳ）、処理部Ｐｙはロギングを終了する（ステップＳ１６）。一方、サイクリック通信Ｃｙが復旧する前に（ステップＳ１５でＮＯ）、コントローラ１０からメッセージ通信Ｍｙによるログデータの送信要求があれば（ステップＳ１７でＹＥＳ）、中継装置４はこの送信要求をメッセージ通信Ｍｔによって処理部Ｐｙに転送する。送信要求を受けた処理部Ｐｙは、図７に示すように、メッセージ通信Ｍｔによってログデータを中継装置４に送信し（ステップＳ１８）、ステップＳ１９で、中継装置４がメッセージ通信Ｍｙによってログデータをコントローラ１０に送信する。ステップＳ１９の後はステップＳ１４に移行する。
【００５８】
以上のステップＳ１１〜Ｓ１９によって、機器データＫｃを、サイクリック通信Ｃｙが正常である期間はコントローラ１０に、異常である期間は通信装置３ｙの記憶部Ｒｙにロギングすることができる。また、メッセージ通信Ｍｙを用いて通信装置３ｙのログデータをコントローラ１０側に吸い上げることができる。
【００５９】
ステップＳ１６では、機器データのロギングの終了前に復旧のイベントについても時刻等とともに記憶部Ｒｙにロギングすることが望ましい。こうすれば、後のトレースが容易になる。
【００６０】
サイクリック通信Ｃｙおよびメッセージ通信Ｍｙがともに異常でステップＳ１７がＹＥＳにならない場合、（例えば、中継装置４がフィールドネットワーク２０から物理的に遮断された場合）には、図８のように、処理部Ｐｙが、外部機器６の送信要求に応じて、ログデータを外部機器６（例えば、外付けのＵＳＢメモリやユーザのコンピュータ）に送信することが望ましい。こうすれば、コントローラ１０との間の通信断が生じてもトレースが可能になる。また、ロギング最中にログデータを読み出すことで、読み出されたログデータが占めていた領域は新たに書き込み可能となるため、記憶部Ｒｘの残量（書き込み可能な領域）を増やすことができる。
【００６１】
通信装置３ｙは、ステップＳ１６に到る前に、異常が生じている期間にロギングされ、外部に未送信の情報によって記憶部Ｒｙの容量の所定割合（例えば、７０％〜９０％）が占められた場合に警告を発したり、記憶部Ｒｙの残量を段階的に外部に報知したりする構成でもよい。前記所定割合についてはユーザ入力に応じて設定されることが望ましい。
【００６２】
なお、図９のように、外部機器６の送信要求が中継装置４を介して処理部Ｐｙに送られ、これに応じて処理部Ｐｙが中継装置４を介して外部機器６（例えば、外付けのＵＳＢメモリやユーザのコンピュータ）にログデータを送信する構成でもよい。
【００６３】
なお、図７〜図９の構成に限られず、通信が復旧してロギングが終了した後に、コントローラ１０あるいは外部機器６からの要求に応じて、処理部Ｐｙがログデータを要求元に送信する構成でもよい。
【００６４】
なお、処理部Ｐｙがサイクリック通信Ｃｙの異常を自律的に検知する構成に限られない。処理部Ｐｙが、中継装置４から前記異常の発生を示す信号を受けて、記憶部Ｒｙへのロギングを開始する構成でもよい。
【００６５】
図１０は、図１の通信装置３ｚの動作を示すフローチャートであり、図１１は、図１の通信装置３ｚの動作（サイクリック通信のみ異常の期間）を示す模式図である。
【００６６】
図１０および図２に示すように、ステップＳ２１では、通信装置３ｚの処理部Ｐｚが、フィールドネットワーク２０を介してのコントローラ１０とのサイクリック通信Ｃｚを確立する。
【００６７】
ステップＳ２２では、図２に示すように、処理部Ｐｚが、機器９ｄの出力Ｓｄから得た機器データＫｄを、サイクリック通信Ｃｚによってコントローラ１０に送信する。具体的には、処理部Ｐｚが、機器データＫｄを、コントローラ１０のコモンメモリの所定領域（通信装置３ｚの領域）に周期的に書き込み、この所定領域に書き込まれた機器データＫｄをコントローラ１０が取得する。なお、コントローラ１０は、サイクリック通信Ｃｚによって取得した機器データＫｄを、内蔵の記憶部あるいは外付けの記憶装置等にロギングしていく。
【００６８】
その後、処理部Ｐｚがサイクリック通信Ｃｚの異常を検知したこと（ステップＳ２３でＹＥＳの場合）をトリガとしてステップＳ２４に移行する。ステップＳ２３では、例えば、コモンメモリの所定領域に書き込んだ機器データＫａ・Ｋｂが所定の周期でコントローラ１０に取得されないことをもって、処理部Ｐｚが自律的に異常発生と判断する。
【００６９】
ステップＳ２４では、処理部Ｐｚが、サイクリック通信Ｃｚの異常発生後に得られた機器データＫｄを記憶部Ｒｚにロギングしていく。ここでは、例えば時系列（時刻あるいはサイクルＩＤ）に沿って機器データＫｄを順次記録する。
【００７０】
その後、サイクリック通信Ｃｚが復旧すれば（ステップＳ２５でＹＥＳ）、処理部Ｐｚはロギングを終了する（ステップＳ２６）。一方、サイクリック通信Ｃｚが復旧する前に（ステップＳ２５でＮＯ）、コントローラ１０からメッセージ通信Ｍｚによるログデータの送信要求があれば（ステップＳ２７でＹＥＳ）、図１１に示すように、処理部Ｐｚは、ログデータをメッセージ通信Ｍｚによってコントローラ１０に送信する（ステップＳ２８）。ステップＳ２８の後はステップＳ２４に移行する。
【００７１】
以上のステップＳ２１〜Ｓ２８によって、機器データＫｄを、サイクリック通信Ｃｚが正常である期間はコントローラ１０に、異常である期間は通信装置３ｚの記憶部Ｒｚにロギングすることができ、サイクリック通信に障害が生じても（機器データの）トレースが可能になる。また、メッセージ通信Ｍｚによって通信装置３ｚのログデータをコントローラ１０側に吸い上げることができる。
【００７２】
サイクリック通信Ｃｚおよびメッセージ通信Ｍｚがともに異常でステップＳ２７がＹＥＳにならない場合、（例えば、通信装置３ｚがコントローラ１０から物理的に切断された場合）には、図１２のように、処理部Ｐｚが、外部機器６の送信要求に応じて、ログデータを外部機器６（例えば、外付けのＵＳＢメモリやユーザのコンピュータ）に送信することが望ましい。
【００７３】
こうすれば、コントローラ１０との間の通信断が生じてもトレースが可能になる。また、ロギングの最中にログデータが読み出されることで、読み出されたログデータが占めていた領域は新たに書き込み可能となるため、記憶部Ｒｚの残量（書き込み可能な領域）を増やすことができる。
【００７４】
通信装置３ｚは、ステップＳ２６に到る前に、異常が生じている期間にロギングされ、外部に未送信の情報によって記憶部Ｒｚの容量の所定割合（例えば、７０％〜９０％）が占められた場合に警告を発したり、記憶部Ｒｚの残量を段階的に外部に報知したりする構成でもよい。前記所定割合についてはユーザ入力に応じて設定されることが望ましい。
【００７５】
なお、図１１・図１２の構成に限られず、通信が復旧してロギングが終了した後に、コントローラ１０あるいは外部機器６からの要求に応じて、処理部Ｐｚがログデータを要求元に送信する構成でもよい。
【００７６】
図１３は通信システム２の別動作（通信正常時）を示す模式図であり、図１４は図１３の通信装置３ｘの動作を示すフローチャートである。
【００７７】
図１３および図１４に示すように、ステップＳ３１では、通信装置３ｘの処理部Ｐｘが、機器９ａ・９ｂとのサイクリック通信Ｃａ・Ｃｂおよびフィールドネットワーク２０を介してのコントローラ１０とのサイクリック通信Ｃｘを確立する。
【００７８】
ステップＳ３２では、処理部Ｐｘが、機器９ａの出力Ｓａから得た機器データＫａおよび機器９ｂの出力Ｓｂから得た機器データＫｂを、サイクリック通信Ｃｘによってコントローラ１０に送信する。具体的には、処理部Ｐｘが、機器データＫａ・Ｋｂを、コントローラ１０のコモンメモリの所定領域（通信装置３ｘの領域）に周期的に書き込み、この所定領域に書き込まれた機器データＫａ・Ｋｂをコントローラ１０が取得する。コントローラ１０は、サイクリック通信Ｃｘによって取得した機器データＫａ・Ｋｂを、内蔵の記憶部あるいは外付けの記憶装置等にロギングしていく。
【００７９】
ステップＳ３３では、処理部Ｐｘが、ステップＳ３２でコントローラ１０に送信した機器データＫａ・Ｋｂを記憶部Ｒｘにロギングしていく。ここでは、例えば時系列（時刻あるいはサイクルＩＤ）に沿って機器データＫａ・Ｋｂを順次記録する。
【００８０】
ステップＳ３３の後、処理部Ｐｘがサイクリック通信Ｃｘの異常を検知すると（ステップＳ３４でＹＥＳの場合）、この異常検知のイベントをロギングする（ステップＳ３５）。ステップＳ３４では、例えば、コモンメモリの所定領域に書き込んだ機器データＫａ・Ｋｂが所定の周期でコントローラ１０に取得されないことをもって、処理部Ｐｘが自律的に異常発生と判断する。なお、通信装置３ｘおよび機器９ａ・９ｂ間のサイクリック通信Ｃａ・Ｃｂは、通信装置３ｘおよびコントローラ１０間のサイクリック通信Ｃｘの異常に影響されない。
【００８１】
その後、サイクリック通信Ｃｘが復旧すれば（ステップＳ３６でＹＥＳ）、処理部Ｐｘは復旧した旨をイベントとしてロギングする（ステップＳ３７）。一方、サイクリック通信Ｃｘが復旧する前に（ステップＳ３６でＮＯ）、コントローラ１０からメッセージ通信Ｍｘによるログデータの送信要求があれば（ステップＳ３８でＹＥＳ）、処理部Ｐｘは、ログデータをメッセージ通信Ｍｘによってコントローラ１０に送信する（ステップＳ３９）。ステップＳ３９の後はステップＳ３５に移行する。
【００８２】
以上のステップＳ３１〜Ｓ３９によって、機器データＫａ・Ｋｂを、サイクリック通信Ｃｘが正常である期間はコントローラ１０および通信装置３ｘ（記憶部Ｒｘ）に、異常である期間は通信装置３ｘの記憶部Ｒｘにロギングすることができ、サイクリック通信に障害が生じても（機器データの）トレースが可能になる。また、メッセージ通信Ｍｘによって通信装置３ｘのログデータをコントローラ１０側に吸い上げることができる。
【００８３】
また、図１４のように、通信装置３ｘにおいて常時ロギングを行うことで、通信異常の発生前後のトレースが容易になる。
【００８４】
本発明は上述した実施形態に限定されるものではなく、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【符号の説明】
【００８５】
３ｘ〜３ｚ  通信装置
４  中継装置
６  外部装置
９ａ〜９ｄ  機器
１０  コントローラ
２０  フィールドネットワーク
Ｋａ〜Ｋｄ  機器データ
Ｃｘ〜Ｃｚ  サイクリック通信
Ｓａ〜Ｓｄ  機器の出力
【図１】
2018128724.tif 000003
【図２】
2018128724.tif 000004
【図３】
2018128724.tif 000005
【図４】
2018128724.tif 000006
【図５】
2018128724.tif 000007
【図６】
2018128724.tif 000008
【図７】
2018128724.tif 000009
【図８】
2018128724.tif 000010
【図９】
2018128724.tif 000011
【図１０】
2018128724.tif 000012
【図１１】
2018128724.tif 000013
【図１２】
2018128724.tif 000014
【図１３】
2018128724.tif 000015
【図１４】
2018128724.tif 000016