(57)【要約】      （修正有）【課題】制御系システムに用いられるネットワークの通信品質が低い場合でも、制御系システムを稼働させる。【解決手段】代理スレーブ６は、接続先のマスタ３からのリクエストを代理通信ネットワーク５に転送するとともに、代理通信ネットワーク５から送信されたリクエストへのレスポンスを、接続先のマスタ３に転送する。代理マスタ１は、接続先のスレーブ７からのレスポンスを代理通信ネットワーク５に転送するとともに、代理通信ネットワーク５から送信されたリクエストを、接続先のマスタ３に転送する。代理通信ネットワーク５の通信品質は保証されていないため、マスタ３やスレーブ７が規定するフレームの周期に転送が追いつかなくなることがある。その場合は代理マスタ１および代理スレーブ６は非同期通信を採用することで、制御用周期に間に合うようにフレームが到着することを擬態する。【選択図】図１
2013197656.tif 000002
【特許請求の範囲】
【請求項１】
制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、を用いる制御系システムにおいて、前記リクエストおよび前記レスポンスを転送する代理スレーブであって、
前記マスタから制御用周期で送信され続ける前記リクエストを受信すると、そのリクエストを前記スレーブへと転送する手段と、
前記スレーブから送信された前記レスポンスを自身のバッファに保存する手段と、
前記制御用周期の所定間隔ごとに、自身のバッファに保存された前記レスポンスのうちの最新の前記レスポンスを選択して、前記マスタに転送する手段とを有することを特徴とする
代理スレーブ。
【請求項２】
制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、を用いる制御系システムにおいて、前記レスポンスおよび前記リクエストを転送する代理マスタであって、
前記スレーブから制御用周期で送信され続ける前記レスポンスを受信すると、そのレスポンスを前記マスタへと転送する手段と、
前記マスタから送信された前記リクエストを自身のバッファに保存する手段と、
前記制御用周期の所定間隔ごとに、自身のバッファに保存された前記リクエストのうちの最新の前記リクエストを選択して、前記スレーブに転送する手段とを有することを特徴とする
代理マスタ。
【請求項３】
制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、前記リクエストおよび前記レスポンスを転送する代理マスタおよび代理スレーブを接続する代理通信ネットワークとを用いる制御系システムであって、
前記代理スレーブは、制御用周期で前記マスタから送信され続ける前記リクエストを受信すると、そのリクエストを前記代理通信ネットワークを介して前記代理マスタへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理マスタから受信して自身のバッファに保存された前記レスポンスのうちの最新の前記レスポンスを選択して、前記マスタに転送し、
前記代理マスタは、前記制御用周期で前記スレーブから送信され続ける前記レスポンスを受信すると、そのレスポンスを前記代理通信ネットワークを介して前記代理スレーブへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理スレーブから受信して自身のバッファに保存された前記リクエストのうちの最新の前記リクエストを選択して、前記スレーブに転送することを特徴とする
制御系システム。
【請求項４】
前記代理スレーブおよび前記代理マスタは、それぞれ前記代理通信ネットワークを介して転送する前記リクエストおよび前記レスポンスの各フレームについて、あらかじめ定義されているパターンに従って、一部のデータ領域を抽出して、その抽出したデータを含むパターン化フレームを、前記リクエストおよび前記レスポンスの各フレームの代わりに転送することを特徴とする
請求項３に記載の制御系システム。
【請求項５】
前記代理スレーブおよび前記代理マスタは、それぞれ前記代理通信ネットワークを介して転送する前記リクエストおよび前記レスポンスの各フレームの通信遅延を測定し、その遅延測定値があらかじめ定義されている正常値の範囲を超えているときには、その旨を通知することを特徴とする
請求項３に記載の制御系システム。
【請求項６】
前記代理スレーブおよび前記代理マスタは、それぞれ前記代理通信ネットワークを介して転送する前記リクエストおよび前記レスポンスの各フレームについて、各フレーム内のデータ値があらかじめ定義されている正常値の範囲を超えているときには、その旨を通知することを特徴とする
請求項３に記載の制御系システム。
【請求項７】
前記代理スレーブおよび前記代理マスタは、それぞれ前記代理通信ネットワークを介して転送する前記リクエストおよび前記レスポンスの各フレームについて、イーサネットフレームとして構成することを特徴とする
請求項３ないし請求項６のいずれか１項に記載の制御系システム。
【請求項８】
制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、前記リクエストおよび前記レスポンスを転送する代理マスタおよび代理スレーブを接続する代理通信ネットワークとを用いる制御系システムによる制御方法であって、
前記代理スレーブは、制御用周期で前記マスタから送信され続ける前記リクエストを受信すると、そのリクエストを前記代理通信ネットワークを介して前記代理マスタへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理マスタから受信して自身のバッファに保存された前記レスポンスのうちの最新の前記レスポンスを選択して、前記マスタに転送し、
前記代理マスタは、前記制御用周期で前記スレーブから送信され続ける前記レスポンスを受信すると、そのレスポンスを前記代理通信ネットワークを介して前記代理スレーブへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理スレーブから受信して自身のバッファに保存された前記リクエストのうちの最新の前記リクエストを選択して、前記マスタに転送することを特徴とする
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法に関する。
【背景技術】
【０００２】
１９８０年代半ばに、製造現場においてネットワークの導入が始まった時、ＰＬＣ（Programmable Ladder Computer）をはじめとする各種の自動化機器はスタンドアロンで使用されていた。
その後、パソコンに標準装備されていたＲＳ（Recommended Standard）−２３２Ｃ（version C）やＲＳ−４２２などのシリアル通信を使ったが、パソコンによるＦＡ（Factory Automation）化が進むに至るが、パソコンと自動化機器の接続が１対１になることや、伝送距離が最大１５ｍに制限されるということから、ＲＳ−４２２やＲＳ−４８５への変換器を使って、これらの課題を解決する製品も登場してきた。
【０００３】
このころからＦＡ専用のネットワークシステムが出現してきたが、ＰＬＣのベンダを中心に自社のコントローラとパソコンを接続する独自方式であったため、異なるベンダのコントローラを相互接続することはできなかった。また、ネットワークもＰＬＣベンダ独自の専用ネッワークが使用されていた。
しかし、自社開発のみでは他種多様なＩ／Ｏ機器を揃えられず、またユーザからマルチベンダ化の要望が高まっていたことより、１９８０年代終わりから、標準化に向けたネットワークの仕様が各種の団体で開始された。
【０００４】
１９９０年代前半、イーサネット（登録商標）は、情報系ネットワークでＬＡＮ（Local Area Network）の通信媒体として使われていたが、リアルタイム性能の問題からＦＡシステムへの適用は難しいとされていた。しかし、スイッチングハブの出現によって、この問題が劇的に改善されるに至り、また、インターネット普及も追い風になって、スイッチングハブが安価に入手できるようになったことで、ＦＡシステムにイーサネットが産業向けに使われるようになった（以下、産業用イーサネットと言う）。
【０００５】
産業用イーサネットは、１９９０年代中頃から、コントローラ間ネットワークに適用され、さらに２０００年以後にはフィールドネットワークにまで拡張されるに至っている。
制御系システムは、産業用イーサネットなどの制御ネットワークと、マスタと複数のスレーブから構成され、マスタが制御命令を搭載したフレームを送信し、スレーブがその命令を実行し、または必要な情報を添付する。
【０００６】
非特許文献１に記載のＥｔｈｅｒＣＡＴ（登録商標）は、イーサネットベースのフィールドバスの規格である。マスタは、１つのイーサネットのフレーム上の所定の領域に、複数のスレーブへの制御情報を書き込み、そのスレーブはその制御情報を読み込んでアクチュエータなどの制御を行う。またスレーブはセンサの情報を、そのイーサネットフレームの所定の領域に書き込んで、その情報をマスタに転送する。マスタが送信した１つのイーサネットフレームは、全てのスレーブで読み込みと書き込みが行い、再びマスタに返送されてくることで、１サイクル分の制御を完了する。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】EtherCAT Master Application Developers Manual.Doc: P4500.21 /Rev.1.4 Page22 of 151 [online][2012年1月20日検索] インターネット＜ＵＲＬ：http://www.esd-electronics-usa.com/Shared/Handbooks/EtherCATMasterDevelopersManual.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図１１は、非特許文献１などに記載された一般的な制御系システムの構成を示す図である。
図１１（ａ）に示すように、マスタ３ｚ（マスタコントローラとも呼ばれる）は、スレーブ７ｚ（スレーブデバイスとも呼ばれる）と制御専用ネットワーク５ｚで接続されている。
設定用パソコン２は、リクエストのフレームへのデータの割り当て領域や、マスタ３がスレーブ７にサイクリックに転送するフレームの周期を設定する。
マスタ３ｚは、制御命令のリクエストを搭載したフレームを、スレーブ７ｚに送信する（図１１（ａ）の矢印の方向）。
スレーブ７ｚは、被制御対象とのインターフェース装置であり、被制御対象として、例えば、サーボドライブ、Ｉ／Ｏ、温湿度系、温湿度調整器、インバータ、ステッピングモータなどが挙げられる。
制御専用ネットワーク５ｚは、設定用パソコン２とマスタ３とを接続する高速で高信頼なネットワークであり、イーサネットやＲＳ−２３２Ｃなどが用いられる。
【０００９】
図１１（ｂ）に示すように、スレーブ７ｚは、インターフェース装置である複数のスレーブ機器７ｙが、先頭から順にカスケード接続された機器の集合体として構成してもよい。
スレーブ７を構成する各スレーブ機器７ｙは、リクエストのフレームを受信すると、それぞれ自身に割り当てられたフレーム内の領域のデータを読みだし、自身に接続される被制御対象に対して制御を実行し、その実行結果やその他のセンサデータなどをフレームに書き込む。そして、スレーブ機器７ｙは、書き込んだフレームを後段のスレーブ機器７ｙに転送し、最後尾のスレーブ機器７ｙは、フレームをマスタ３にレスポンスとして戻す。
【００１０】
制御専用ネットワーク５ｚ（商用の制御ＬＡＮ）によって高品質な通信が保証されているため、各データの書き込み、読み込みは、フレームをバッファリングすることなく直接フレームに書き込まれ、リアルタイム性能を有する高速な制御処理が可能となる。
制御専用ネットワーク５ｚは、一般的には、固定長の短い通信フレームを用いて、高精度リアルタイムや短時間サイクリック通信を実現する。制御系システムは、マスタ３ｚとスレーブ７ｚが、システム全体として同期して稼動する必要があるためである。
【００１１】
しかし、制御専用ネットワーク５ｚの構築、運用を含むＴＯＣ（Total Of Cost）が高価になってしまう。例えば、サービスエリアが広範囲に展開されるような、鉄道、電力、水などの制御系システムにおいては、数ｋｍから１００ｋｍにおよぶ広域の制御専用ネットワーク５ｚは、ネットワークの範囲が広くなってしまうため、コストが高くなってしまう。
【００１２】
そこで、高価な制御専用ネットワーク５ｚを、安価なキャリアの提供する有線または無線ネットワークなどのキャリアネットワークへと置き換えることにより、制御系システム全体のＴＯＣを下げることを検討する。制御系システムの一部をキャリアネットワークにアウトソースすることで、自前で制御ＬＡＮを準備するよりも、安価にシステム構築が可能であり、ネットワークの運用や管理を、キャリアに委託することが可能であり、ＴＯＣに資するからである。
【００１３】
もし、制御専用ネットワーク５ｚとキャリアネットワークとが同程度の通信品質を備えていれば、現状のマスタ３ｚやスレーブ７ｚの通信インターフェースを変更する必要なく、簡易に私設の広域ＬＡＮからシステムを移行できることになる。
しかし、私設の広域ＬＡＮと異なり、汎用のキャリアネットワークは、ルータやスイッチなどの多数の通信装置から構成されており、また複数のユーザを同時に収納する必要があり、かつ、無線通信が使用されていることもある。そのため、汎用のキャリアネットワークは、不測のフレーム遅延、ゆらぎ、またはフレーム損失が発生しやすい。
【００１４】
よって、制御専用ネットワーク５ｚを、単にキャリアネットワークへと置き換えただけでは、高品質な通信が保証されていることをベースとしているマスタ３ｚやスレーブ７ｚが、キャリアネットワークの低度の通信品質による不測のフレーム遅延、ゆらぎ、またはフレーム損失の発生をエラーと検知して、システムを停止させてしまう。
【００１５】
そこで、本発明は、前記した問題を解決し、制御系システムに用いられるネットワークの通信品質が低い場合でも、制御系システムを稼働させることを、主な目的とする。
【課題を解決するための手段】
【００１６】
前記課題を解決するために、本発明は、制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、前記リクエストおよび前記レスポンスを転送する代理マスタおよび代理スレーブを接続する代理通信ネットワークとを用いる制御系システムであって、
前記代理スレーブが、制御用周期で前記マスタから送信され続ける前記リクエストを受信すると、そのリクエストを前記代理通信ネットワークを介して前記代理マスタへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理マスタから受信して自身のバッファに保存された前記レスポンスのうちの最新の前記レスポンスを選択して、前記マスタに転送し、
前記代理マスタが、前記制御用周期で前記スレーブから送信され続ける前記レスポンスを受信すると、そのレスポンスを前記代理通信ネットワークを介して前記代理スレーブへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理スレーブから受信して自身のバッファに保存された前記リクエストのうちの最新の前記リクエストを選択して、前記マスタに転送することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【００１７】
本発明によれば、制御系システムに用いられるネットワークの通信品質が低い場合でも、制御系システムを稼働させることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に関する制御系システムを示す構成図である。
【図２】本発明の一実施形態に関する図１の制御系システムを、無線通信システムとして採用した構成図である。
【図３】本発明の一実施形態に関する制御系システムの各装置のハードウェア構成を示す構成図である。
【図４】本発明の一実施形態に関する代理マスタおよび代理スレーブの詳細を示す構成図である。
【図５】本発明の一実施形態に関する制御系システムで送受信されるフレーム内容およびそのパターン化処理を示す説明図である。
【図６】本発明の一実施形態に関するポリシＤＢおよびポリシ変更定義を示す構成図である。
【図７】本発明の一実施形態に関する制御系システムのメイン処理を示すフローチャートである。
【図８】本発明の一実施形態に関するフレームの送受信処理の詳細を示すフローチャートである。
【図９】本発明の一実施形態に関するエラー情報表示画面を示す画面図である。
【図１０】本発明の一実施形態に関するポリシ管理部の動作の詳細を示すフローチャートである。
【図１１】非特許文献１などに記載された一般的な制御系システムを示す構成図である。
【発明を実施するための形態】
【００１９】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。
【００２０】
図１は、制御系システムを示す構成図である。制御系システムは、代理マスタ１と、設定用パソコン２と、マスタ３と、ノード４が接続される代理通信ネットワーク５と、代理スレーブ６と、スレーブ７とを含めて構成される。これらの制御系システムの各装置は、制御部（ＣＰＵ）、記憶部（メモリ、ハードディスクなど）、および、通信部（ネットワークインタフェース）を備えるコンピュータとして構成される。
【００２１】
図１と図１１とを比較すると、図１１の各装置と同じ装置（設定用パソコン２と、マスタ３と、スレーブ７）に加え、図１１でのマスタ３とスレーブ７との間の制御専用ネットワーク５ｚを、代理スレーブ６と、代理通信ネットワーク５と、代理マスタ１とに置き換えている。
ノード４は、代理通信ネットワーク５とフレームの交換を行う中継装置である。その中継装置間で論理的なリンクであるパスを構築し、ノード間でフレーム転送を行う。
【００２２】
なお、代理通信ネットワーク５として、特開２００７−３２９９１１号公報などに記載されているように、ルータやスイッチにより接続された複数のセグメントを有するネットワークにおいて、簡単で信頼できるＱｏＳ（Quality of Service）の設定を行ってもよい。ＱｏＳパラメータを含むメッセージを作成して、そのパラメータを有するメッセージのＱｏＳ制御をルータやスイッチで行うことで、特定のメッセージの通信についてのＱｏＳが保証される。
【００２３】
これにより、フレーム遅延、ゆらぎやフレーム損失を回避することが可能であるが、その分の通信機器などのコストがかかるので、代理通信ネットワーク５としてＱｏＳ保証を用いなくてもよい。
つまり、代理通信ネットワーク５として必要なネットワークの要件は、制御専用ネットワーク５ｚやＱｏＳ保証のネットワークのような高品質なネットワークに限定されず、パケットロスやパケットの順序入れ替えなどが発生するインターネットのようなベストエフォートのネットワークでもよい。
【００２４】
マスタ３は、代理スレーブ６を、図１１でのスレーブ７ｚとみなしてフレームの送受信を行う。つまり、マスタ３からは、代理スレーブ６の先に存在する代理通信ネットワーク５や代理マスタ１、スレーブ７などの構成を意識する必要はなく、また、代理通信ネットワーク５がインターネットなどの品質保証されていない（パケットロスや、パケット順序変更などが発生しうる）ネットワークであることも、意識する必要はない。よって、マスタ３の構成は、図１と図１１とで同じであり、単にその接続先がスレーブ７ｚから代理スレーブ６へと置き換わっただけである。
スレーブ７と代理マスタ１との接続関係も、マスタ３と代理スレーブ６との接続関係と同様に、スレーブ７は、代理マスタ１を図１１でのマスタ３ｚとみなしてフレームの送受信を行う。
【００２５】
代理スレーブ６は、接続先のマスタ３からのリクエストを代理通信ネットワーク５に転送するとともに、代理通信ネットワーク５（実際にはスレーブ７）から送信されたリクエストへのレスポンスを、接続先のマスタ３に転送する。
代理マスタ１は、接続先のスレーブ７からのレスポンスを代理通信ネットワーク５に転送するとともに、代理通信ネットワーク５（実際にはマスタ３）から送信されたリクエストを、接続先のマスタ３に転送する。
ここで、代理マスタ１および代理スレーブ６は、代理通信ネットワーク５の通信品質が保証されていないため、マスタ３やスレーブ７が規定するフレームの周期（以下、制御用周期とする）に転送が追いつかなくなることがある。そこで、代理マスタ１および代理スレーブ６は、それぞれ接続先のマスタ３やスレーブ７との通信において、非同期通信を採用することで、制御用周期に間に合うように、フレームが到着することを擬態する。
【００２６】
具体的には、代理スレーブ６は、スレーブ７からの最新のレスポンスが代理通信ネットワーク５の通信遅延などにより到着しなくても、制御用周期に間に合うように接続先のマスタ３に対して、過去に受信していたレスポンスをあたかも最新のレスポンスであるかのように擬態して転送する。
これにより、マスタ３は、受信したレスポンスが制御用周期に間に合うので、エラーを発生させてシステム全体を止めてしまうことがなくなる。
なお、代理スレーブ６は、過去のレスポンスのうちのマスタ３に転送するレスポンスとして、最も受信時刻が遅い（最新の）レスポンスであることがデータ精度の観点で望ましい。
同様に、代理マスタ１は、マスタ３からの最新のリクエストが代理通信ネットワーク５の通信遅延などにより到着しなくても、制御用周期に間に合うように接続先のスレーブ７に対して、過去に受信していたリクエスト（できれば、過去に受信したうちでの最新のリクエスト）をあたかも最新のリクエストであるかのように擬態して転送する。
【００２７】
以上図１で説明した制御系システムのハードウェア構成について、様々な変形実施が可能である。例えば、２台の装置（マスタ３と設定用パソコン２など）を１台の物理的な計算機に収容して構成してもよいし、マスタ３内に代理スレーブ６を仮想計算機やソフトウェアの処理単位（プロセス、スレッドなど）として構築してもよいし、スレーブ７内に代理マスタ１を仮想計算機やソフトウェアの処理単位（プロセス、スレッドなど）として構築してもよい。
【００２８】
図２は、図１の制御系システムを、無線通信システムとして採用した構成図である。図１の代理通信ネットワーク５として、図２（ａ）では、無線通信が使用されている。
そして、図２（ｂ）は、図２（ａ）のうちのノード４、代理マスタ１、スレーブ７を、移動中の列車に収容する一例を示す。この列車は、スレーブ７において、列車における車輪の回転数、車軸、モータ温度、異音、その他を検知して、これらの検知した情報をマスタ３で収集することで、移動中の列車などの保守情報をリアルタイムで収集することができる。
図２（ｂ）では、設定用パソコン２、マスタ３、代理スレーブ６を、複数台の列車で共有することで、制御系システム全体の構成を簡略化できる。
【００２９】
図３（ａ）は、設定用パソコン２のハードウェアの構成を示す図である。設定用パソコン２は、ＣＰＵ２２、メモリ２３、キーボード２４やマウス２５を制御する入出力コントローラ２６、イーサネットなどのＮＩＣ（Network Interface Card）２１を具備する。各部は、バス２０により接続されている。
また、モニタコントローラ２７には、モニタ２８が接続されている。ＮＩＣ２１は、マスタ３とイーサネットで接続されるが、これらに限定されるものではなく、ＲＳ−２３２Ｃなど、その通信媒体や通信手段は問わない。
【００３０】
図３（ｂ）は、代理スレーブ６および代理マスタ１のハードウェアの構成を示す図である。
代理スレーブ６は、ＮＩＣ６１、ＮＩＣ６４、ＣＰＵ６２、メモリ６３を具備する。各部は、バス６０により接続されている。ＮＩＣ６１はマスタ３と接続し、ＮＩＣ６４は、代理通信ネットワーク５のノード４と接続する。
代理マスタ１は、ＮＩＣ１１、ＮＩＣ１４、ＣＰＵ１２、メモリ１３を具備する。各部は、バス１０により接続されている。ＮＩＣ１４はスレーブ７と接続し、ＮＩＣ１１は、代理通信ネットワーク５のノード４と接続する。
【００３１】
図４は、代理マスタ１のメモリ１３、または、代理スレーブ６のメモリ６３に具備されるソフトウェアの構成例を示す図である。
代理マスタ１および代理スレーブ６は、それぞれ、
代理通信ネットワーク５へ送信するフレームを処理する構成要素（受信バッファ３１と、フレーム解析部３２と、パターン化フレーム作成部３３と、パターン化フレーム送信部３４と、送信バッファ３５）と、
代理通信ネットワーク５から受信するフレームを処理する構成要素（受信バッファ４１と、パターン化フレーム解析部４２と、フレーム再生部４３と、フレーム送信部４４と、送信バッファ４５）と、
その他の構成要素（遅延計測部５１と、パターン変更部５２と、パターン管理部５３と、パターンＤＢ５４と、ポリシ管理部５５と、ポリシＤＢ５６と、ポリシ変更定義５７と、時刻同期部５８）とを有する。
【００３２】
受信バッファ３１は、制御系装置側から（代理マスタ１においてはスレーブ７から、代理スレーブ６においてはマスタ３から）のフレームを受信する。
フレーム解析部３２は、受信バッファ３１のフレームに記載されている内容を解析する。
パターン化フレーム作成部３３は、フレーム解析部３２により解析された内容に応じて、パターンＤＢ５４を参照したパターン管理部５３からパターンデータを得て、パターン化フレームを作成する（パターン化という情報処理の具体的な内容については、図５で後記する）。
【００３３】
パターン化フレーム送信部３４は、パターン化フレーム作成部３３によりパターン化されたフレームを送信バッファ３５に送信して、所定のタイミングで、代理通信ネットワーク５側へ送信する。
【００３４】
受信バッファ４１は、代理通信ネットワーク５側からのパターン化フレームを受信する。
パターン化フレーム解析部４２は、受信バッファ４１のパターン化フレームに記載されている内容を解析する。
フレーム再生部４３は、パターン化フレーム解析部４２の解析内容を元に、フレームを再生（フレームを再構築）する。
フレーム送信部４４は、フレーム再生部４３が再生したフレームを制御用周期で、送信バッファ４５を介して、制御系装置側へ転送する。ここで、フレーム送信部４４は、図１で説明したように、現在のフレーム（リクエスト、レスポンス）が受信バッファ４１に到着していないときには、過去のフレームを代わりに制御系装置側へ転送する。
【００３５】
遅延計測部５１は、受信バッファ４１内のパターン化フレームの代理通信ネットワーク５における転送時間を計測する。
パターン変更部５２は、受信バッファ４１からパターン化フレームを読み込むと、読み込んだフレームをポリシＤＢ５６に記載した周期で送付する旨を、フレーム送信部４４に通知する。
パターン管理部５３は、パターンＤＢ５４に格納されたパターンを参照して、パターン化フレーム作成部３３と、フレーム再生部４３にパターンデータ（詳細は、図５で後記）を提供する。
ポリシ管理部５５は、ポリシＤＢ５６を管理するとともに、ポリシＤＢ５６の内容をポリシ変更定義５７に従って変更する（詳細は、図６で後記）。
【００３６】
時刻同期部５８は、代理マスタ１と代理スレーブ６の時刻を同期させる。この同期は、例えばＧＰＳを使ったもの、またはＮＴＰまたはＩＥＥＥ１５８８を用いたものなど、必要となる時刻同期の精度を担保するものであれば、限定はない。ＧＰＳを使った時刻同期については、下記の文献に詳しく記載されている。
“The Role of GPS in Precise Time and Frequency Dissemination” [online][2012年1月20日検索]  インターネット＜ＵＲＬ：http://ilrs.gsfc.nasa.gov/docs/timing/gpsrole.pdf＞
【００３７】
図５（ａ）は、制御系システムで送受信されるフレームのデータ内容を示す説明図である。以下、フレームとして下記の文献に詳しく記載されているイーサネットフレームを例示する。
「Ethernet frame」[online][2012年1月20日検索] インターネット＜http://en.wikipedia.org/wiki/Ethernet_frame＞
イーサネットフレームは、図面の左側であるフレームの先頭から順に、プリアンブル７１、送信先アドレス（ＤＡ：Destination Address）７２、送信元アドレス（ＳＡ：Source Address）７３、タイプ７４、データ７５、ＦＣＳ（Frame Check Sequence）７６からなる。
データ７５として、例えば、＃Ａの制御フレームは、マスタ３または代理マスタ１がフレームの種類をスレーブ７に知らせるためのヘッダ領域７５ａと、スレーブ用に準備されたフレーム上のデータ領域７５ｂ、７５ｃとを含む。データ領域７５ｂ、７５ｃに対して、マスタ３、代理マスタ１、またはスレーブ７がビット単位で制御命令やセンサ情報などを書き込む。
一方、＃Ｂの制御フレームは、データ７５の全領域にデータを格納する。これらの制御フレームの詳細は、非特許文献１に記載されている。
【００３８】
図５（ｂ）は、フレームのパターン化処理を示す説明図である。フレームのパターン化とは、フレーム内のデータ７５を読み込み、そのデータ７５のうちのパターンデータに適合する部分のデータ領域を抽出するとともに、パターンデータに適合しない部分のデータ領域を除去することで、データ７５の軽量化（サイズの圧縮化）を行う処理である。
【００３９】
以下、データ７５内のデータ領域の範囲を示す本明細書での表記方法を説明する。データ領域は、その始点アドレスと、始点アドレスからのデータの大きさとの組で表現される。例えば、データ領域「200:4」は、２００バイト目の始点アドレスから４バイト分の大きさのデータ領域を示す。また、複数の飛び地のデータ領域については、データ領域とデータ領域との間を「,」（カンマ）で区切ることで表現する。
【００４０】
パターンＤＢ５４内に記載されているパターンデータは、１つ以上のデータ領域によって定義される。例えば、パターンデータ「200:4,650:8」とは、フレームの２００バイトから４バイト分と、６５０バイトから８バイト分に該当する部分とを切り出す旨のパターンを示すデータである。パターン化により、データ７５に搭載される最大１４００バイト程度のデータを、１２バイト程度とすることができる。
【００４１】
そして、パターン化フレーム作成部３３は、パターンデータにより切り出されたデータを、再度フレーム内のデータ７５へと書き出す（符号７５ｚ）ことで、パターン化フレームを作成する。
なお、リクエストのフレームでは、その送信元アドレス７３には代理スレーブ６のアドレスが、送信先アドレス７２には代理マスタ１のアドレスが記載される。
同様に、レスポンスのフレームでは、その送信元アドレス７３には代理マスタ１のアドレスが、送信先アドレス７２には代理スレーブ６のアドレスが記載される。
時刻７５ｘには、パターン化フレーム送信部３４にて、本フレームを送信した時刻が記録される。この時刻は、本フレームを受信した側の遅延計測部５１で読み取られ、転送遅延時間が計測される。
通番７５ｙには、パターン化フレーム送信部３４にて、本フレームを送信したフレームの通番が記録される。この通番は、本フレームを受信した側の遅延計測部５１で読み取られ、通番抜けがチェックされる。
【００４２】
なお、データ７５の軽量化として、特開２０００−９９４１６号公報に記載されているように、データの情報量を低減して中継する情報量低減装置および記録媒体に関し、中継するデータが画像や音声などの多量データを含む場合に実用上支障のない程度にデータ量を低減して中継し、通信時間の短縮と通信コスト低減を図る技術を、パターン化として採用してもよい。
これにより、画像や音声データを含む場合に実用上支障のない程度にデータ量を低減することで、ネットワークのデータ転送量の削減を行うことができる。
【００４３】
図６は、ポリシＤＢ５６およびポリシ変更定義５７を示す構成図である。これらのデータは、設定用パソコン２において作成され、その後、設定情報として、代理スレーブ６、代理マスタ１に転送される。
図６（ａ）は、ポリシ変更定義５７による変更前のポリシＤＢ５６を示す。ポリシＤＢ５６は、エントリの通番ごとに、その通信経路と、フレームタイプと、送信周期（制御用周期）と、パターンとを対応付けて構成される。
【００４４】
ポリシＤＢ５６の通信経路とは、ポリシＤＢ５６のエントリが示すフレームが制御系システム内のどの部分の通信に該当するかを示す情報である。「Ｍ」とはマスタ３を示し、「Ｓ」とはスレーブ７を示し、「ＰＭ」とは代理マスタ１を示し、「ＰＳ」とは代理スレーブ６を示す。
例えば、通番「＃１」は、「Ｍ→ＰＳ→Ｍ」とは、マスタ３から送信されて代理スレーブ６が受信して、その代理スレーブ６がマスタ３へと返送するフレームを示す。この通番「＃１」のフレームは、フレームタイプ「＃Ａ」のデータ内容をデータ７５に格納し、制御用周期＝２００ｍｓごとにマスタ３と代理スレーブ６との間で送受信される。
【００４５】
図６（ｂ）は、図６（ａ）のポリシＤＢ５６をポリシ管理部５５が変更するときに参照されるポリシ変更定義５７を示す。ポリシ変更定義５７は、データ内容ごとに、そのデータ格納位置と、データ値範囲（データ上限値〜データ下限値）と、送信周期変更値とを対応付けて構成される。
【００４６】
ポリシ管理部５５は、スレーブ７がフレームに書き出したデータをポリシ変更定義５７のデータ格納位置から読み込み、その読み込んだデータ値（または複数のデータ値の平均値などの統計値）がデータ値範囲外にあるときには、その読み込んだデータ値を異常値とし、その異常値に関するポリシＤＢ５６内の送信周期を、ポリシ変更定義５７の送信周期変更値へと変更する。
【００４７】
例えば、ポリシ管理部５５は、バッテリの電圧データをデータ範囲「７５０バイトから４バイト分」から読み込み、その値が１２．４ボルト〜１５．５ボルトの範囲を越えた場合、送信周期（監視周期）を１０００ｍ秒に切り変える旨のポリシ変更の要求メッセージを作成する。
または、ポリシ管理部５５は、エンジンの表面温度としてデータ範囲「２００バイトから４バイト分」から読み込み、その値が摂氏３５０度を越えた場合、送信周期（監視周期）を長期監視（６０秒）から短期監視（２００ｍ秒）へと切り変える旨のポリシ変更の要求メッセージを作成する。
【００４８】
図６（ｃ）は、図６（ｂ）のポリシ変更定義５７のうちの２行目（エンジンの表面温度）のエントリを元に作成されたポリシ変更の要求メッセージを示す。このメッセージでは、「＃６」のポリシを削除し（Omitted）、「＃１２」の短期監視（２００ｍ秒）を示すポリシを追加する旨が記載されている。
【００４９】
図７は、制御系システムのメイン処理を示すフローチャートである。
Ｓ１１において、設定用パソコン２は、ポリシＤＢ５６とポリシ変更定義５７とをユーザ（管理者）に作成させる。
Ｓ１２において、設定用パソコン２は、Ｓ１１で作成された両データを、代理マスタ１および代理スレーブ６に転送して保存させ（Ｓ１３）、その転送結果を受信する。転送に失敗した場合は、再送が行われる。
Ｓ１４において、代理マスタ１および代理スレーブ６は、代理通信ネットワーク５を介してフレームを送受信する（詳細は、図８参照）。
【００５０】
Ｓ２１において、代理マスタ１および代理スレーブ６の遅延計測部５１は、それぞれＳ１４のフレーム送受信処理での遅延を測定し、その遅延時間が所定時間を超えたときには、または、フレームの通番抜けの発生を検知したときには、遅延測定値などを含めた通信エラーを示す通知を設定用パソコン２に通知する（Ｓ２２）。図７では、代理スレーブ６がＳ２２の通知をしているが、代理マスタ１もＳ２２の通知をしてもよい。
【００５１】
Ｓ３１において（詳細は、図１０参照）、代理マスタ１および代理スレーブ６は、それぞれＳ１４のフレーム送受信処理でのフレーム内のデータ内容を参照し、データ内容から異常値を検出したときには、その異常値に基づくパターンＤＢ５４の変更要求を設定用パソコン２に通知する（Ｓ３２）。
Ｓ３３において、設定用パソコン２は、Ｓ３２の要求を受信すると、その要求に従ってポリシＤＢ５６を変更し、その変更後のポリシＤＢ５６にするための更新指示を代理マスタ１および代理スレーブ６に転送して（Ｓ３４）、ポリシＤＢ５６を更新させる（Ｓ３５）。なお、Ｓ３３〜Ｓ３５の処理は、管理者による手動指示、または、設定用パソコン２による自動処理で実行される。
【００５２】
図８は、フレームの送受信処理（Ｓ１４）の詳細を示すフローチャートである。
まず、図１１（ａ）に示したように、マスタ３とスレーブ７とは、直接接続されているように両装置は認識しているので、マスタ３からスレーブ７へのリクエスト（Ｓ１０１）の通信間隔Ｋ１と、スレーブ７からマスタ３へのレスポンス（Ｓ１０２）通信間隔Ｋ２とは、それぞれ制御用周期で送信され続ける必要がある。
【００５３】
次に、図１に示したように、マスタ３とスレーブ７との間には、実際には、代理スレーブ６、代理通信ネットワーク５、代理マスタ１が存在しているので、代理スレーブ６がマスタ３からのリクエスト（Ｓ１１１）を、パターン化してデータ量を圧縮し、代理マスタ１に転送し（Ｓ１１２）、代理マスタ１がパターン化されたフレームを再生して、スレーブ７に転送する（Ｓ１１３）。
そして、代理マスタ１がスレーブ７からのレスポンス（Ｓ１１４）を、パターン化してデータ量を圧縮し、代理マスタ１に転送し（Ｓ１１５）、代理スレーブ６がパターン化されたフレームを再生して、マスタ３に転送する（Ｓ１１６）。
しかし、Ｓ１１１〜Ｓ１１６にかかる通信間隔Ｋ３は、代理通信ネットワーク５を経由していることもあって、通信間隔Ｋ１よりも長くかかってしまい、このままでは制御用周期でレスポンスをマスタ３に送信できないこともある。
そこで、Ｓ１１１〜Ｓ１１６でそれぞれ示した通信を、非同期通信とすることにより、制御用周期以内のフレームの通信が行われているように、マスタ３とスレーブ７とに認識させることとする。
【００５４】
例えば、図６（ａ）の通番「＃１」では、マスタ３と代理スレーブ６との間で、送信周期「200ms」でフレームタイプ「＃Ａ」のフレームを送信し続ける旨（時刻ｔ＝0,200,400,600,…のフレーム）が記載されている。代理スレーブ６は、Ｓ１１１でマスタ３から時刻ｔ＝600のリクエストを受信したとする。本来なら、代理スレーブ６は、時刻ｔ＝600のリクエストをＳ１１２で送信し、その応答である時刻ｔ＝600のレスポンスをＳ１１５で受けて、Ｓ１１６でそのレスポンスをマスタ３に転送する（同期通信の処理）。
【００５５】
しかし、代理スレーブ６は、Ｓ１１５において時刻ｔ＝600のレスポンスを受信する時刻が遅れており、時刻ｔ＝600の制御用周期を守れないときには、時刻ｔ＝600のレスポンスではなく、過去に受信した時刻ｔ＝0,200,400の各レスポンスのいずれかを選択する。
そして、代理スレーブ６は、その選択したレスポンス（例えば、過去に受信した最新時刻である時刻ｔ＝400）のデータ内容を時刻ｔ＝600のレスポンスに含めて（換言すると、時刻ｔ＝600のレスポンスに擬態させて）、時刻ｔ＝600のリクエスト（Ｓ１２１）へのレスポンスとしてマスタ３に転送する（Ｓ１２２）ことで、通信間隔Ｋ４が制御用周期を守れるようにする。
【００５６】
同様に、図６（ａ）の通番「＃３」では、代理マスタ１とスレーブ７との間で、送信周期「200ms」でフレームタイプ「＃Ａ」のフレームを送信し続ける旨（時刻ｔ＝0,200,400,600,…のフレーム）が記載されている。よって、代理マスタ１は、時刻ｔ＝600のリクエストを受信する時刻が遅れているときには、時刻ｔ＝400のリクエストを時刻ｔ＝600のレスポンスに擬態させて、スレーブ７に転送し（Ｓ１２３）、そのレスポンスを得る（Ｓ１２４）ことで、通信間隔Ｋ５が制御用周期を守れるようにする。
【００５７】
さらに、代理マスタ１と代理スレーブ６との間の通信（Ｓ１１２，Ｓ１１５）においても、非同期通信（最新のデータではなく、過去のデータを送信する）としてもよい。
もちろん、代理通信ネットワーク５の通信状態が良好なときには、制御用周期を守れることもあるので、そのときには、代理スレーブ６は、Ｓ１１５で受信した最新のレスポンスを、Ｓ１１６でマスタ３に転送すればよいし、代理マスタ１は、Ｓ１１２で受信した最新のリクエストを、Ｓ１１３でスレーブ７に転送すればよい。
【００５８】
このようにマスタ３とスレーブ７との直接通信処理（Ｓ１０１，Ｓ１０２）を、代理通信ネットワーク５を介した間接通信処理（Ｓ１１１〜Ｓ１１６）に分離し、それぞれの分離した通信処理を非同期通信とする（Ｓ１２１〜Ｓ１２４）ことにより、図１１の制御専用ネットワーク５ｚを、図１の代理通信ネットワーク５へと置き換えることが可能になり、また、代理通信ネットワーク５の通信品質の劣化（フレーム遅延、ゆらぎによる応答時間の遅延など）が発生しても、マスタ３やスレーブ７にとってフレームの到着遅延を検知させずに済む。
よって、フレーム損失が発生した場合でも、代理マスタ１、または代理スレーブ６に格納している過去のデータを用いることで、制御系システムを継続して稼動することができる。
さらに、Ｓ１１２，Ｓ１１５でパターン化処理によりメッセージの一部だけを転送することによって、フレーム転送量の削減がはかられ、フレーム遅延、ゆらぎ、またはフレーム損失を抑制することができる。なお、このパターン化処理は行わなくてもよい。
【００５９】
図９は、設定用パソコン２のディスプレイで表示される、Ｓ２２の通知内容を表示するエラー情報表示画面を示す画面図である。この画面図では、フレームの送信範囲（例えば、ＰＭ→ＰＳ）ごとに、そのフレーム通信での遅延時間を時系列のグラフで示すとともに、フレーム通信での通番抜けの発生時刻を表示している。
【００６０】
図１０は、ポリシ管理部５５の動作（Ｓ３１）の詳細を示すフローチャートである。
Ｓ２０１において、ポリシ管理部５５は、図６（ｂ）で示したようなポリシ変更定義５７を読み込む。
Ｓ２０２において、ポリシ管理部５５は、Ｓ１４でのフレームの受信を待つ。
Ｓ２０３において、ポリシ管理部５５は、Ｓ２０２でフレームを受信すると、ポリシ変更定義５７のデータ格納位置列で示される指定データを、受信したフレームから読み込む。
Ｓ２０４において、ポリシ管理部５５は、図６（ｂ）で説明したように、Ｓ２０３で読み込んだ指定データが異常値か否かを判定する。異常値でないときには（Ｓ２０４，Ｎｏ）、次のフレームの受信を待つ（Ｓ２０２に戻る）。
Ｓ２０５において、ポリシ管理部５５は、図６（ｃ）で説明したように、ポリシ変更定義５７に従い、ポリシＤＢ５６の変更要求メッセージを作成する。
【００６１】
以上説明した本実施形態では、マスタ３とスレーブ７との間に代理スレーブ６、代理マスタ１、および、代理通信ネットワーク５を設け、代理通信ネットワーク５での通信品質の低下（不測のフレーム遅延、ゆらぎ、またはフレーム損失など）が発生しても、代理マスタ１や代理スレーブ６がその到着が遅れている最新のフレームを待たずに、過去のフレームをマスタ３やスレーブ７に転送する非同期通信を行う。
これにより、マスタ３やスレーブ７は、フレームの未着によるシステム非常停止処理を実行しなくて済むため、制御系システムに用いられるネットワークの通信品質が低い場合でも、制御系システムを稼働させることができる。
よって、本実施形態では、代理通信ネットワーク５の通信品質に限定されず、様々なネットワークサービスを代理通信ネットワーク５として柔軟に採用できるので、日々進化する最新のネットワークサービスを用いて、制御システム全体を容易に進化させることができる。
【００６２】
さらに、本実施形態では、代理通信ネットワーク５間で送受信するフレームについて、そのデータ内容の一部を削除するパターン化処理を実行することにより、代理マスタ１と代理スレーブ６間で、それぞれの装置のＣＰＵ負荷を上げることなくフレーム転送量を減らすことで、そのフレーム遅延、ゆらぎ、またはフレーム損失の発生を防ぐことが可能となり、一定のリアルタイム性を担保することになる。
【００６３】
一般的に制御系システムのライフサイクルは、情報系システムと比較して数倍から十倍程度は長い。従来の製造や制御に用いる制御系システムは、初期構築費用が高く、チューニングも難しく、またシステムに要求される要件（サービス内容）が明確で、後発的な要件の変更が殆どないためである。
従来の制御系システムの変更や増設を行う場合であっても、それは小規模段階的に、長期間に行われるのが一般的である。この様に、制御系システムの移行は勿論、システムの一部の変更、増設ですら、モチベーションが働きにくい状況の中、制御ＬＡＮを制御ＬＡＮ以外のネットワークへの変更することは、相当に難しい。
【符号の説明】
【００６４】
１      代理マスタ
２      設定用パソコン
３      マスタ
４      ノード
５      代理通信ネットワーク
６      代理スレーブ
７      スレーブ
３１    受信バッファ
３２    フレーム解析部
３３    パターン化フレーム作成部
３４    パターン化フレーム送信部
３５    送信バッファ
４１    受信バッファ
４２    パターン化フレーム解析部
４３    再生部
４４    フレーム送信部
４５    送信バッファ
５１    遅延計測部
５２    パターン変更部
５３    パターン管理部
５４    パターンＤＢ
５５    ポリシ管理部
５６    ポリシＤＢ
５７    ポリシ変更定義
５８    時刻同期部
【図１】
2013197656.tif 000003
【図２】
2013197656.tif 000004
【図３】
2013197656.tif 000005
【図４】
2013197656.tif 000006
【図５】
2013197656.tif 000007
【図６】
2013197656.tif 000008
【図７】
2013197656.tif 000009
【図８】
2013197656.tif 000010
【図９】
2013197656.tif 000011
【図１０】
2013197656.tif 000012
【図１１】
2013197656.tif 000013