JP2013197656A - 制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法 - Google Patents

制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法 Download PDF

Info

Publication number
JP2013197656A
JP2013197656A JP2012059849A JP2012059849A JP2013197656A JP 2013197656 A JP2013197656 A JP 2013197656A JP 2012059849 A JP2012059849 A JP 2012059849A JP 2012059849 A JP2012059849 A JP 2012059849A JP 2013197656 A JP2013197656 A JP 2013197656A
Authority
JP
Japan
Prior art keywords
proxy
master
slave
request
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012059849A
Other languages
English (en)
Inventor
Tomokazu Ebata
智一 江端
Minoru Koizumi
稔 小泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012059849A priority Critical patent/JP2013197656A/ja
Publication of JP2013197656A publication Critical patent/JP2013197656A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】制御系システムに用いられるネットワークの通信品質が低い場合でも、制御系システムを稼働させる。
【解決手段】代理スレーブ6は、接続先のマスタ3からのリクエストを代理通信ネットワーク5に転送するとともに、代理通信ネットワーク5から送信されたリクエストへのレスポンスを、接続先のマスタ3に転送する。代理マスタ1は、接続先のスレーブ7からのレスポンスを代理通信ネットワーク5に転送するとともに、代理通信ネットワーク5から送信されたリクエストを、接続先のマスタ3に転送する。代理通信ネットワーク5の通信品質は保証されていないため、マスタ3やスレーブ7が規定するフレームの周期に転送が追いつかなくなることがある。その場合は代理マスタ1および代理スレーブ6は非同期通信を採用することで、制御用周期に間に合うようにフレームが到着することを擬態する。
【選択図】図1

Description

本発明は、制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法に関する。
1980年代半ばに、製造現場においてネットワークの導入が始まった時、PLC(Programmable Ladder Computer)をはじめとする各種の自動化機器はスタンドアロンで使用されていた。
その後、パソコンに標準装備されていたRS(Recommended Standard)−232C(version C)やRS−422などのシリアル通信を使ったが、パソコンによるFA(Factory Automation)化が進むに至るが、パソコンと自動化機器の接続が1対1になることや、伝送距離が最大15mに制限されるということから、RS−422やRS−485への変換器を使って、これらの課題を解決する製品も登場してきた。
このころからFA専用のネットワークシステムが出現してきたが、PLCのベンダを中心に自社のコントローラとパソコンを接続する独自方式であったため、異なるベンダのコントローラを相互接続することはできなかった。また、ネットワークもPLCベンダ独自の専用ネッワークが使用されていた。
しかし、自社開発のみでは他種多様なI/O機器を揃えられず、またユーザからマルチベンダ化の要望が高まっていたことより、1980年代終わりから、標準化に向けたネットワークの仕様が各種の団体で開始された。
1990年代前半、イーサネット(登録商標)は、情報系ネットワークでLAN(Local Area Network)の通信媒体として使われていたが、リアルタイム性能の問題からFAシステムへの適用は難しいとされていた。しかし、スイッチングハブの出現によって、この問題が劇的に改善されるに至り、また、インターネット普及も追い風になって、スイッチングハブが安価に入手できるようになったことで、FAシステムにイーサネットが産業向けに使われるようになった(以下、産業用イーサネットと言う)。
産業用イーサネットは、1990年代中頃から、コントローラ間ネットワークに適用され、さらに2000年以後にはフィールドネットワークにまで拡張されるに至っている。
制御系システムは、産業用イーサネットなどの制御ネットワークと、マスタと複数のスレーブから構成され、マスタが制御命令を搭載したフレームを送信し、スレーブがその命令を実行し、または必要な情報を添付する。
非特許文献1に記載のEtherCAT(登録商標)は、イーサネットベースのフィールドバスの規格である。マスタは、1つのイーサネットのフレーム上の所定の領域に、複数のスレーブへの制御情報を書き込み、そのスレーブはその制御情報を読み込んでアクチュエータなどの制御を行う。またスレーブはセンサの情報を、そのイーサネットフレームの所定の領域に書き込んで、その情報をマスタに転送する。マスタが送信した1つのイーサネットフレームは、全てのスレーブで読み込みと書き込みが行い、再びマスタに返送されてくることで、1サイクル分の制御を完了する。
EtherCAT Master Application Developers Manual.Doc: P4500.21 /Rev.1.4 Page22 of 151 [online][2012年1月20日検索] インターネット<URL:http://www.esd-electronics-usa.com/Shared/Handbooks/EtherCATMasterDevelopersManual.pdf>
図11は、非特許文献1などに記載された一般的な制御系システムの構成を示す図である。
図11(a)に示すように、マスタ3z(マスタコントローラとも呼ばれる)は、スレーブ7z(スレーブデバイスとも呼ばれる)と制御専用ネットワーク5zで接続されている。
設定用パソコン2は、リクエストのフレームへのデータの割り当て領域や、マスタ3がスレーブ7にサイクリックに転送するフレームの周期を設定する。
マスタ3zは、制御命令のリクエストを搭載したフレームを、スレーブ7zに送信する(図11(a)の矢印の方向)。
スレーブ7zは、被制御対象とのインターフェース装置であり、被制御対象として、例えば、サーボドライブ、I/O、温湿度系、温湿度調整器、インバータ、ステッピングモータなどが挙げられる。
制御専用ネットワーク5zは、設定用パソコン2とマスタ3とを接続する高速で高信頼なネットワークであり、イーサネットやRS−232Cなどが用いられる。
図11(b)に示すように、スレーブ7zは、インターフェース装置である複数のスレーブ機器7yが、先頭から順にカスケード接続された機器の集合体として構成してもよい。
スレーブ7を構成する各スレーブ機器7yは、リクエストのフレームを受信すると、それぞれ自身に割り当てられたフレーム内の領域のデータを読みだし、自身に接続される被制御対象に対して制御を実行し、その実行結果やその他のセンサデータなどをフレームに書き込む。そして、スレーブ機器7yは、書き込んだフレームを後段のスレーブ機器7yに転送し、最後尾のスレーブ機器7yは、フレームをマスタ3にレスポンスとして戻す。
制御専用ネットワーク5z(商用の制御LAN)によって高品質な通信が保証されているため、各データの書き込み、読み込みは、フレームをバッファリングすることなく直接フレームに書き込まれ、リアルタイム性能を有する高速な制御処理が可能となる。
制御専用ネットワーク5zは、一般的には、固定長の短い通信フレームを用いて、高精度リアルタイムや短時間サイクリック通信を実現する。制御系システムは、マスタ3zとスレーブ7zが、システム全体として同期して稼動する必要があるためである。
しかし、制御専用ネットワーク5zの構築、運用を含むTOC(Total Of Cost)が高価になってしまう。例えば、サービスエリアが広範囲に展開されるような、鉄道、電力、水などの制御系システムにおいては、数kmから100kmにおよぶ広域の制御専用ネットワーク5zは、ネットワークの範囲が広くなってしまうため、コストが高くなってしまう。
そこで、高価な制御専用ネットワーク5zを、安価なキャリアの提供する有線または無線ネットワークなどのキャリアネットワークへと置き換えることにより、制御系システム全体のTOCを下げることを検討する。制御系システムの一部をキャリアネットワークにアウトソースすることで、自前で制御LANを準備するよりも、安価にシステム構築が可能であり、ネットワークの運用や管理を、キャリアに委託することが可能であり、TOCに資するからである。
もし、制御専用ネットワーク5zとキャリアネットワークとが同程度の通信品質を備えていれば、現状のマスタ3zやスレーブ7zの通信インターフェースを変更する必要なく、簡易に私設の広域LANからシステムを移行できることになる。
しかし、私設の広域LANと異なり、汎用のキャリアネットワークは、ルータやスイッチなどの多数の通信装置から構成されており、また複数のユーザを同時に収納する必要があり、かつ、無線通信が使用されていることもある。そのため、汎用のキャリアネットワークは、不測のフレーム遅延、ゆらぎ、またはフレーム損失が発生しやすい。
よって、制御専用ネットワーク5zを、単にキャリアネットワークへと置き換えただけでは、高品質な通信が保証されていることをベースとしているマスタ3zやスレーブ7zが、キャリアネットワークの低度の通信品質による不測のフレーム遅延、ゆらぎ、またはフレーム損失の発生をエラーと検知して、システムを停止させてしまう。
そこで、本発明は、前記した問題を解決し、制御系システムに用いられるネットワークの通信品質が低い場合でも、制御系システムを稼働させることを、主な目的とする。
前記課題を解決するために、本発明は、制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、前記リクエストおよび前記レスポンスを転送する代理マスタおよび代理スレーブを接続する代理通信ネットワークとを用いる制御系システムであって、
前記代理スレーブが、制御用周期で前記マスタから送信され続ける前記リクエストを受信すると、そのリクエストを前記代理通信ネットワークを介して前記代理マスタへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理マスタから受信して自身のバッファに保存された前記レスポンスのうちの最新の前記レスポンスを選択して、前記マスタに転送し、
前記代理マスタが、前記制御用周期で前記スレーブから送信され続ける前記レスポンスを受信すると、そのレスポンスを前記代理通信ネットワークを介して前記代理スレーブへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理スレーブから受信して自身のバッファに保存された前記リクエストのうちの最新の前記リクエストを選択して、前記マスタに転送することを特徴とする。
その他の手段は、後記する。
本発明によれば、制御系システムに用いられるネットワークの通信品質が低い場合でも、制御系システムを稼働させることができる。
本発明の一実施形態に関する制御系システムを示す構成図である。 本発明の一実施形態に関する図1の制御系システムを、無線通信システムとして採用した構成図である。 本発明の一実施形態に関する制御系システムの各装置のハードウェア構成を示す構成図である。 本発明の一実施形態に関する代理マスタおよび代理スレーブの詳細を示す構成図である。 本発明の一実施形態に関する制御系システムで送受信されるフレーム内容およびそのパターン化処理を示す説明図である。 本発明の一実施形態に関するポリシDBおよびポリシ変更定義を示す構成図である。 本発明の一実施形態に関する制御系システムのメイン処理を示すフローチャートである。 本発明の一実施形態に関するフレームの送受信処理の詳細を示すフローチャートである。 本発明の一実施形態に関するエラー情報表示画面を示す画面図である。 本発明の一実施形態に関するポリシ管理部の動作の詳細を示すフローチャートである。 非特許文献1などに記載された一般的な制御系システムを示す構成図である。
以下、本発明の一実施形態を、図面を参照して詳細に説明する。
図1は、制御系システムを示す構成図である。制御系システムは、代理マスタ1と、設定用パソコン2と、マスタ3と、ノード4が接続される代理通信ネットワーク5と、代理スレーブ6と、スレーブ7とを含めて構成される。これらの制御系システムの各装置は、制御部(CPU)、記憶部(メモリ、ハードディスクなど)、および、通信部(ネットワークインタフェース)を備えるコンピュータとして構成される。
図1と図11とを比較すると、図11の各装置と同じ装置(設定用パソコン2と、マスタ3と、スレーブ7)に加え、図11でのマスタ3とスレーブ7との間の制御専用ネットワーク5zを、代理スレーブ6と、代理通信ネットワーク5と、代理マスタ1とに置き換えている。
ノード4は、代理通信ネットワーク5とフレームの交換を行う中継装置である。その中継装置間で論理的なリンクであるパスを構築し、ノード間でフレーム転送を行う。
なお、代理通信ネットワーク5として、特開2007−329911号公報などに記載されているように、ルータやスイッチにより接続された複数のセグメントを有するネットワークにおいて、簡単で信頼できるQoS(Quality of Service)の設定を行ってもよい。QoSパラメータを含むメッセージを作成して、そのパラメータを有するメッセージのQoS制御をルータやスイッチで行うことで、特定のメッセージの通信についてのQoSが保証される。
これにより、フレーム遅延、ゆらぎやフレーム損失を回避することが可能であるが、その分の通信機器などのコストがかかるので、代理通信ネットワーク5としてQoS保証を用いなくてもよい。
つまり、代理通信ネットワーク5として必要なネットワークの要件は、制御専用ネットワーク5zやQoS保証のネットワークのような高品質なネットワークに限定されず、パケットロスやパケットの順序入れ替えなどが発生するインターネットのようなベストエフォートのネットワークでもよい。
マスタ3は、代理スレーブ6を、図11でのスレーブ7zとみなしてフレームの送受信を行う。つまり、マスタ3からは、代理スレーブ6の先に存在する代理通信ネットワーク5や代理マスタ1、スレーブ7などの構成を意識する必要はなく、また、代理通信ネットワーク5がインターネットなどの品質保証されていない(パケットロスや、パケット順序変更などが発生しうる)ネットワークであることも、意識する必要はない。よって、マスタ3の構成は、図1と図11とで同じであり、単にその接続先がスレーブ7zから代理スレーブ6へと置き換わっただけである。
スレーブ7と代理マスタ1との接続関係も、マスタ3と代理スレーブ6との接続関係と同様に、スレーブ7は、代理マスタ1を図11でのマスタ3zとみなしてフレームの送受信を行う。
代理スレーブ6は、接続先のマスタ3からのリクエストを代理通信ネットワーク5に転送するとともに、代理通信ネットワーク5(実際にはスレーブ7)から送信されたリクエストへのレスポンスを、接続先のマスタ3に転送する。
代理マスタ1は、接続先のスレーブ7からのレスポンスを代理通信ネットワーク5に転送するとともに、代理通信ネットワーク5(実際にはマスタ3)から送信されたリクエストを、接続先のマスタ3に転送する。
ここで、代理マスタ1および代理スレーブ6は、代理通信ネットワーク5の通信品質が保証されていないため、マスタ3やスレーブ7が規定するフレームの周期(以下、制御用周期とする)に転送が追いつかなくなることがある。そこで、代理マスタ1および代理スレーブ6は、それぞれ接続先のマスタ3やスレーブ7との通信において、非同期通信を採用することで、制御用周期に間に合うように、フレームが到着することを擬態する。
具体的には、代理スレーブ6は、スレーブ7からの最新のレスポンスが代理通信ネットワーク5の通信遅延などにより到着しなくても、制御用周期に間に合うように接続先のマスタ3に対して、過去に受信していたレスポンスをあたかも最新のレスポンスであるかのように擬態して転送する。
これにより、マスタ3は、受信したレスポンスが制御用周期に間に合うので、エラーを発生させてシステム全体を止めてしまうことがなくなる。
なお、代理スレーブ6は、過去のレスポンスのうちのマスタ3に転送するレスポンスとして、最も受信時刻が遅い(最新の)レスポンスであることがデータ精度の観点で望ましい。
同様に、代理マスタ1は、マスタ3からの最新のリクエストが代理通信ネットワーク5の通信遅延などにより到着しなくても、制御用周期に間に合うように接続先のスレーブ7に対して、過去に受信していたリクエスト(できれば、過去に受信したうちでの最新のリクエスト)をあたかも最新のリクエストであるかのように擬態して転送する。
以上図1で説明した制御系システムのハードウェア構成について、様々な変形実施が可能である。例えば、2台の装置(マスタ3と設定用パソコン2など)を1台の物理的な計算機に収容して構成してもよいし、マスタ3内に代理スレーブ6を仮想計算機やソフトウェアの処理単位(プロセス、スレッドなど)として構築してもよいし、スレーブ7内に代理マスタ1を仮想計算機やソフトウェアの処理単位(プロセス、スレッドなど)として構築してもよい。
図2は、図1の制御系システムを、無線通信システムとして採用した構成図である。図1の代理通信ネットワーク5として、図2(a)では、無線通信が使用されている。
そして、図2(b)は、図2(a)のうちのノード4、代理マスタ1、スレーブ7を、移動中の列車に収容する一例を示す。この列車は、スレーブ7において、列車における車輪の回転数、車軸、モータ温度、異音、その他を検知して、これらの検知した情報をマスタ3で収集することで、移動中の列車などの保守情報をリアルタイムで収集することができる。
図2(b)では、設定用パソコン2、マスタ3、代理スレーブ6を、複数台の列車で共有することで、制御系システム全体の構成を簡略化できる。
図3(a)は、設定用パソコン2のハードウェアの構成を示す図である。設定用パソコン2は、CPU22、メモリ23、キーボード24やマウス25を制御する入出力コントローラ26、イーサネットなどのNIC(Network Interface Card)21を具備する。各部は、バス20により接続されている。
また、モニタコントローラ27には、モニタ28が接続されている。NIC21は、マスタ3とイーサネットで接続されるが、これらに限定されるものではなく、RS−232Cなど、その通信媒体や通信手段は問わない。
図3(b)は、代理スレーブ6および代理マスタ1のハードウェアの構成を示す図である。
代理スレーブ6は、NIC61、NIC64、CPU62、メモリ63を具備する。各部は、バス60により接続されている。NIC61はマスタ3と接続し、NIC64は、代理通信ネットワーク5のノード4と接続する。
代理マスタ1は、NIC11、NIC14、CPU12、メモリ13を具備する。各部は、バス10により接続されている。NIC14はスレーブ7と接続し、NIC11は、代理通信ネットワーク5のノード4と接続する。
図4は、代理マスタ1のメモリ13、または、代理スレーブ6のメモリ63に具備されるソフトウェアの構成例を示す図である。
代理マスタ1および代理スレーブ6は、それぞれ、
代理通信ネットワーク5へ送信するフレームを処理する構成要素(受信バッファ31と、フレーム解析部32と、パターン化フレーム作成部33と、パターン化フレーム送信部34と、送信バッファ35)と、
代理通信ネットワーク5から受信するフレームを処理する構成要素(受信バッファ41と、パターン化フレーム解析部42と、フレーム再生部43と、フレーム送信部44と、送信バッファ45)と、
その他の構成要素(遅延計測部51と、パターン変更部52と、パターン管理部53と、パターンDB54と、ポリシ管理部55と、ポリシDB56と、ポリシ変更定義57と、時刻同期部58)とを有する。
受信バッファ31は、制御系装置側から(代理マスタ1においてはスレーブ7から、代理スレーブ6においてはマスタ3から)のフレームを受信する。
フレーム解析部32は、受信バッファ31のフレームに記載されている内容を解析する。
パターン化フレーム作成部33は、フレーム解析部32により解析された内容に応じて、パターンDB54を参照したパターン管理部53からパターンデータを得て、パターン化フレームを作成する(パターン化という情報処理の具体的な内容については、図5で後記する)。
パターン化フレーム送信部34は、パターン化フレーム作成部33によりパターン化されたフレームを送信バッファ35に送信して、所定のタイミングで、代理通信ネットワーク5側へ送信する。
受信バッファ41は、代理通信ネットワーク5側からのパターン化フレームを受信する。
パターン化フレーム解析部42は、受信バッファ41のパターン化フレームに記載されている内容を解析する。
フレーム再生部43は、パターン化フレーム解析部42の解析内容を元に、フレームを再生(フレームを再構築)する。
フレーム送信部44は、フレーム再生部43が再生したフレームを制御用周期で、送信バッファ45を介して、制御系装置側へ転送する。ここで、フレーム送信部44は、図1で説明したように、現在のフレーム(リクエスト、レスポンス)が受信バッファ41に到着していないときには、過去のフレームを代わりに制御系装置側へ転送する。
遅延計測部51は、受信バッファ41内のパターン化フレームの代理通信ネットワーク5における転送時間を計測する。
パターン変更部52は、受信バッファ41からパターン化フレームを読み込むと、読み込んだフレームをポリシDB56に記載した周期で送付する旨を、フレーム送信部44に通知する。
パターン管理部53は、パターンDB54に格納されたパターンを参照して、パターン化フレーム作成部33と、フレーム再生部43にパターンデータ(詳細は、図5で後記)を提供する。
ポリシ管理部55は、ポリシDB56を管理するとともに、ポリシDB56の内容をポリシ変更定義57に従って変更する(詳細は、図6で後記)。
時刻同期部58は、代理マスタ1と代理スレーブ6の時刻を同期させる。この同期は、例えばGPSを使ったもの、またはNTPまたはIEEE1588を用いたものなど、必要となる時刻同期の精度を担保するものであれば、限定はない。GPSを使った時刻同期については、下記の文献に詳しく記載されている。
“The Role of GPS in Precise Time and Frequency Dissemination” [online][2012年1月20日検索] インターネット<URL:http://ilrs.gsfc.nasa.gov/docs/timing/gpsrole.pdf>
図5(a)は、制御系システムで送受信されるフレームのデータ内容を示す説明図である。以下、フレームとして下記の文献に詳しく記載されているイーサネットフレームを例示する。
「Ethernet frame」[online][2012年1月20日検索] インターネット<http://en.wikipedia.org/wiki/Ethernet_frame>
イーサネットフレームは、図面の左側であるフレームの先頭から順に、プリアンブル71、送信先アドレス(DA:Destination Address)72、送信元アドレス(SA:Source Address)73、タイプ74、データ75、FCS(Frame Check Sequence)76からなる。
データ75として、例えば、#Aの制御フレームは、マスタ3または代理マスタ1がフレームの種類をスレーブ7に知らせるためのヘッダ領域75aと、スレーブ用に準備されたフレーム上のデータ領域75b、75cとを含む。データ領域75b、75cに対して、マスタ3、代理マスタ1、またはスレーブ7がビット単位で制御命令やセンサ情報などを書き込む。
一方、#Bの制御フレームは、データ75の全領域にデータを格納する。これらの制御フレームの詳細は、非特許文献1に記載されている。
図5(b)は、フレームのパターン化処理を示す説明図である。フレームのパターン化とは、フレーム内のデータ75を読み込み、そのデータ75のうちのパターンデータに適合する部分のデータ領域を抽出するとともに、パターンデータに適合しない部分のデータ領域を除去することで、データ75の軽量化(サイズの圧縮化)を行う処理である。
以下、データ75内のデータ領域の範囲を示す本明細書での表記方法を説明する。データ領域は、その始点アドレスと、始点アドレスからのデータの大きさとの組で表現される。例えば、データ領域「200:4」は、200バイト目の始点アドレスから4バイト分の大きさのデータ領域を示す。また、複数の飛び地のデータ領域については、データ領域とデータ領域との間を「,」(カンマ)で区切ることで表現する。
パターンDB54内に記載されているパターンデータは、1つ以上のデータ領域によって定義される。例えば、パターンデータ「200:4,650:8」とは、フレームの200バイトから4バイト分と、650バイトから8バイト分に該当する部分とを切り出す旨のパターンを示すデータである。パターン化により、データ75に搭載される最大1400バイト程度のデータを、12バイト程度とすることができる。
そして、パターン化フレーム作成部33は、パターンデータにより切り出されたデータを、再度フレーム内のデータ75へと書き出す(符号75z)ことで、パターン化フレームを作成する。
なお、リクエストのフレームでは、その送信元アドレス73には代理スレーブ6のアドレスが、送信先アドレス72には代理マスタ1のアドレスが記載される。
同様に、レスポンスのフレームでは、その送信元アドレス73には代理マスタ1のアドレスが、送信先アドレス72には代理スレーブ6のアドレスが記載される。
時刻75xには、パターン化フレーム送信部34にて、本フレームを送信した時刻が記録される。この時刻は、本フレームを受信した側の遅延計測部51で読み取られ、転送遅延時間が計測される。
通番75yには、パターン化フレーム送信部34にて、本フレームを送信したフレームの通番が記録される。この通番は、本フレームを受信した側の遅延計測部51で読み取られ、通番抜けがチェックされる。
なお、データ75の軽量化として、特開2000−99416号公報に記載されているように、データの情報量を低減して中継する情報量低減装置および記録媒体に関し、中継するデータが画像や音声などの多量データを含む場合に実用上支障のない程度にデータ量を低減して中継し、通信時間の短縮と通信コスト低減を図る技術を、パターン化として採用してもよい。
これにより、画像や音声データを含む場合に実用上支障のない程度にデータ量を低減することで、ネットワークのデータ転送量の削減を行うことができる。
図6は、ポリシDB56およびポリシ変更定義57を示す構成図である。これらのデータは、設定用パソコン2において作成され、その後、設定情報として、代理スレーブ6、代理マスタ1に転送される。
図6(a)は、ポリシ変更定義57による変更前のポリシDB56を示す。ポリシDB56は、エントリの通番ごとに、その通信経路と、フレームタイプと、送信周期(制御用周期)と、パターンとを対応付けて構成される。
ポリシDB56の通信経路とは、ポリシDB56のエントリが示すフレームが制御系システム内のどの部分の通信に該当するかを示す情報である。「M」とはマスタ3を示し、「S」とはスレーブ7を示し、「PM」とは代理マスタ1を示し、「PS」とは代理スレーブ6を示す。
例えば、通番「#1」は、「M→PS→M」とは、マスタ3から送信されて代理スレーブ6が受信して、その代理スレーブ6がマスタ3へと返送するフレームを示す。この通番「#1」のフレームは、フレームタイプ「#A」のデータ内容をデータ75に格納し、制御用周期=200msごとにマスタ3と代理スレーブ6との間で送受信される。
図6(b)は、図6(a)のポリシDB56をポリシ管理部55が変更するときに参照されるポリシ変更定義57を示す。ポリシ変更定義57は、データ内容ごとに、そのデータ格納位置と、データ値範囲(データ上限値〜データ下限値)と、送信周期変更値とを対応付けて構成される。
ポリシ管理部55は、スレーブ7がフレームに書き出したデータをポリシ変更定義57のデータ格納位置から読み込み、その読み込んだデータ値(または複数のデータ値の平均値などの統計値)がデータ値範囲外にあるときには、その読み込んだデータ値を異常値とし、その異常値に関するポリシDB56内の送信周期を、ポリシ変更定義57の送信周期変更値へと変更する。
例えば、ポリシ管理部55は、バッテリの電圧データをデータ範囲「750バイトから4バイト分」から読み込み、その値が12.4ボルト〜15.5ボルトの範囲を越えた場合、送信周期(監視周期)を1000m秒に切り変える旨のポリシ変更の要求メッセージを作成する。
または、ポリシ管理部55は、エンジンの表面温度としてデータ範囲「200バイトから4バイト分」から読み込み、その値が摂氏350度を越えた場合、送信周期(監視周期)を長期監視(60秒)から短期監視(200m秒)へと切り変える旨のポリシ変更の要求メッセージを作成する。
図6(c)は、図6(b)のポリシ変更定義57のうちの2行目(エンジンの表面温度)のエントリを元に作成されたポリシ変更の要求メッセージを示す。このメッセージでは、「#6」のポリシを削除し(Omitted)、「#12」の短期監視(200m秒)を示すポリシを追加する旨が記載されている。
図7は、制御系システムのメイン処理を示すフローチャートである。
S11において、設定用パソコン2は、ポリシDB56とポリシ変更定義57とをユーザ(管理者)に作成させる。
S12において、設定用パソコン2は、S11で作成された両データを、代理マスタ1および代理スレーブ6に転送して保存させ(S13)、その転送結果を受信する。転送に失敗した場合は、再送が行われる。
S14において、代理マスタ1および代理スレーブ6は、代理通信ネットワーク5を介してフレームを送受信する(詳細は、図8参照)。
S21において、代理マスタ1および代理スレーブ6の遅延計測部51は、それぞれS14のフレーム送受信処理での遅延を測定し、その遅延時間が所定時間を超えたときには、または、フレームの通番抜けの発生を検知したときには、遅延測定値などを含めた通信エラーを示す通知を設定用パソコン2に通知する(S22)。図7では、代理スレーブ6がS22の通知をしているが、代理マスタ1もS22の通知をしてもよい。
S31において(詳細は、図10参照)、代理マスタ1および代理スレーブ6は、それぞれS14のフレーム送受信処理でのフレーム内のデータ内容を参照し、データ内容から異常値を検出したときには、その異常値に基づくパターンDB54の変更要求を設定用パソコン2に通知する(S32)。
S33において、設定用パソコン2は、S32の要求を受信すると、その要求に従ってポリシDB56を変更し、その変更後のポリシDB56にするための更新指示を代理マスタ1および代理スレーブ6に転送して(S34)、ポリシDB56を更新させる(S35)。なお、S33〜S35の処理は、管理者による手動指示、または、設定用パソコン2による自動処理で実行される。
図8は、フレームの送受信処理(S14)の詳細を示すフローチャートである。
まず、図11(a)に示したように、マスタ3とスレーブ7とは、直接接続されているように両装置は認識しているので、マスタ3からスレーブ7へのリクエスト(S101)の通信間隔K1と、スレーブ7からマスタ3へのレスポンス(S102)通信間隔K2とは、それぞれ制御用周期で送信され続ける必要がある。
次に、図1に示したように、マスタ3とスレーブ7との間には、実際には、代理スレーブ6、代理通信ネットワーク5、代理マスタ1が存在しているので、代理スレーブ6がマスタ3からのリクエスト(S111)を、パターン化してデータ量を圧縮し、代理マスタ1に転送し(S112)、代理マスタ1がパターン化されたフレームを再生して、スレーブ7に転送する(S113)。
そして、代理マスタ1がスレーブ7からのレスポンス(S114)を、パターン化してデータ量を圧縮し、代理マスタ1に転送し(S115)、代理スレーブ6がパターン化されたフレームを再生して、マスタ3に転送する(S116)。
しかし、S111〜S116にかかる通信間隔K3は、代理通信ネットワーク5を経由していることもあって、通信間隔K1よりも長くかかってしまい、このままでは制御用周期でレスポンスをマスタ3に送信できないこともある。
そこで、S111〜S116でそれぞれ示した通信を、非同期通信とすることにより、制御用周期以内のフレームの通信が行われているように、マスタ3とスレーブ7とに認識させることとする。
例えば、図6(a)の通番「#1」では、マスタ3と代理スレーブ6との間で、送信周期「200ms」でフレームタイプ「#A」のフレームを送信し続ける旨(時刻t=0,200,400,600,…のフレーム)が記載されている。代理スレーブ6は、S111でマスタ3から時刻t=600のリクエストを受信したとする。本来なら、代理スレーブ6は、時刻t=600のリクエストをS112で送信し、その応答である時刻t=600のレスポンスをS115で受けて、S116でそのレスポンスをマスタ3に転送する(同期通信の処理)。
しかし、代理スレーブ6は、S115において時刻t=600のレスポンスを受信する時刻が遅れており、時刻t=600の制御用周期を守れないときには、時刻t=600のレスポンスではなく、過去に受信した時刻t=0,200,400の各レスポンスのいずれかを選択する。
そして、代理スレーブ6は、その選択したレスポンス(例えば、過去に受信した最新時刻である時刻t=400)のデータ内容を時刻t=600のレスポンスに含めて(換言すると、時刻t=600のレスポンスに擬態させて)、時刻t=600のリクエスト(S121)へのレスポンスとしてマスタ3に転送する(S122)ことで、通信間隔K4が制御用周期を守れるようにする。
同様に、図6(a)の通番「#3」では、代理マスタ1とスレーブ7との間で、送信周期「200ms」でフレームタイプ「#A」のフレームを送信し続ける旨(時刻t=0,200,400,600,…のフレーム)が記載されている。よって、代理マスタ1は、時刻t=600のリクエストを受信する時刻が遅れているときには、時刻t=400のリクエストを時刻t=600のレスポンスに擬態させて、スレーブ7に転送し(S123)、そのレスポンスを得る(S124)ことで、通信間隔K5が制御用周期を守れるようにする。
さらに、代理マスタ1と代理スレーブ6との間の通信(S112,S115)においても、非同期通信(最新のデータではなく、過去のデータを送信する)としてもよい。
もちろん、代理通信ネットワーク5の通信状態が良好なときには、制御用周期を守れることもあるので、そのときには、代理スレーブ6は、S115で受信した最新のレスポンスを、S116でマスタ3に転送すればよいし、代理マスタ1は、S112で受信した最新のリクエストを、S113でスレーブ7に転送すればよい。
このようにマスタ3とスレーブ7との直接通信処理(S101,S102)を、代理通信ネットワーク5を介した間接通信処理(S111〜S116)に分離し、それぞれの分離した通信処理を非同期通信とする(S121〜S124)ことにより、図11の制御専用ネットワーク5zを、図1の代理通信ネットワーク5へと置き換えることが可能になり、また、代理通信ネットワーク5の通信品質の劣化(フレーム遅延、ゆらぎによる応答時間の遅延など)が発生しても、マスタ3やスレーブ7にとってフレームの到着遅延を検知させずに済む。
よって、フレーム損失が発生した場合でも、代理マスタ1、または代理スレーブ6に格納している過去のデータを用いることで、制御系システムを継続して稼動することができる。
さらに、S112,S115でパターン化処理によりメッセージの一部だけを転送することによって、フレーム転送量の削減がはかられ、フレーム遅延、ゆらぎ、またはフレーム損失を抑制することができる。なお、このパターン化処理は行わなくてもよい。
図9は、設定用パソコン2のディスプレイで表示される、S22の通知内容を表示するエラー情報表示画面を示す画面図である。この画面図では、フレームの送信範囲(例えば、PM→PS)ごとに、そのフレーム通信での遅延時間を時系列のグラフで示すとともに、フレーム通信での通番抜けの発生時刻を表示している。
図10は、ポリシ管理部55の動作(S31)の詳細を示すフローチャートである。
S201において、ポリシ管理部55は、図6(b)で示したようなポリシ変更定義57を読み込む。
S202において、ポリシ管理部55は、S14でのフレームの受信を待つ。
S203において、ポリシ管理部55は、S202でフレームを受信すると、ポリシ変更定義57のデータ格納位置列で示される指定データを、受信したフレームから読み込む。
S204において、ポリシ管理部55は、図6(b)で説明したように、S203で読み込んだ指定データが異常値か否かを判定する。異常値でないときには(S204,No)、次のフレームの受信を待つ(S202に戻る)。
S205において、ポリシ管理部55は、図6(c)で説明したように、ポリシ変更定義57に従い、ポリシDB56の変更要求メッセージを作成する。
以上説明した本実施形態では、マスタ3とスレーブ7との間に代理スレーブ6、代理マスタ1、および、代理通信ネットワーク5を設け、代理通信ネットワーク5での通信品質の低下(不測のフレーム遅延、ゆらぎ、またはフレーム損失など)が発生しても、代理マスタ1や代理スレーブ6がその到着が遅れている最新のフレームを待たずに、過去のフレームをマスタ3やスレーブ7に転送する非同期通信を行う。
これにより、マスタ3やスレーブ7は、フレームの未着によるシステム非常停止処理を実行しなくて済むため、制御系システムに用いられるネットワークの通信品質が低い場合でも、制御系システムを稼働させることができる。
よって、本実施形態では、代理通信ネットワーク5の通信品質に限定されず、様々なネットワークサービスを代理通信ネットワーク5として柔軟に採用できるので、日々進化する最新のネットワークサービスを用いて、制御システム全体を容易に進化させることができる。
さらに、本実施形態では、代理通信ネットワーク5間で送受信するフレームについて、そのデータ内容の一部を削除するパターン化処理を実行することにより、代理マスタ1と代理スレーブ6間で、それぞれの装置のCPU負荷を上げることなくフレーム転送量を減らすことで、そのフレーム遅延、ゆらぎ、またはフレーム損失の発生を防ぐことが可能となり、一定のリアルタイム性を担保することになる。
一般的に制御系システムのライフサイクルは、情報系システムと比較して数倍から十倍程度は長い。従来の製造や制御に用いる制御系システムは、初期構築費用が高く、チューニングも難しく、またシステムに要求される要件(サービス内容)が明確で、後発的な要件の変更が殆どないためである。
従来の制御系システムの変更や増設を行う場合であっても、それは小規模段階的に、長期間に行われるのが一般的である。この様に、制御系システムの移行は勿論、システムの一部の変更、増設ですら、モチベーションが働きにくい状況の中、制御LANを制御LAN以外のネットワークへの変更することは、相当に難しい。
1 代理マスタ
2 設定用パソコン
3 マスタ
4 ノード
5 代理通信ネットワーク
6 代理スレーブ
7 スレーブ
31 受信バッファ
32 フレーム解析部
33 パターン化フレーム作成部
34 パターン化フレーム送信部
35 送信バッファ
41 受信バッファ
42 パターン化フレーム解析部
43 再生部
44 フレーム送信部
45 送信バッファ
51 遅延計測部
52 パターン変更部
53 パターン管理部
54 パターンDB
55 ポリシ管理部
56 ポリシDB
57 ポリシ変更定義
58 時刻同期部

Claims (8)

  1. 制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、を用いる制御系システムにおいて、前記リクエストおよび前記レスポンスを転送する代理スレーブであって、
    前記マスタから制御用周期で送信され続ける前記リクエストを受信すると、そのリクエストを前記スレーブへと転送する手段と、
    前記スレーブから送信された前記レスポンスを自身のバッファに保存する手段と、
    前記制御用周期の所定間隔ごとに、自身のバッファに保存された前記レスポンスのうちの最新の前記レスポンスを選択して、前記マスタに転送する手段とを有することを特徴とする
    代理スレーブ。
  2. 制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、を用いる制御系システムにおいて、前記レスポンスおよび前記リクエストを転送する代理マスタであって、
    前記スレーブから制御用周期で送信され続ける前記レスポンスを受信すると、そのレスポンスを前記マスタへと転送する手段と、
    前記マスタから送信された前記リクエストを自身のバッファに保存する手段と、
    前記制御用周期の所定間隔ごとに、自身のバッファに保存された前記リクエストのうちの最新の前記リクエストを選択して、前記スレーブに転送する手段とを有することを特徴とする
    代理マスタ。
  3. 制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、前記リクエストおよび前記レスポンスを転送する代理マスタおよび代理スレーブを接続する代理通信ネットワークとを用いる制御系システムであって、
    前記代理スレーブは、制御用周期で前記マスタから送信され続ける前記リクエストを受信すると、そのリクエストを前記代理通信ネットワークを介して前記代理マスタへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理マスタから受信して自身のバッファに保存された前記レスポンスのうちの最新の前記レスポンスを選択して、前記マスタに転送し、
    前記代理マスタは、前記制御用周期で前記スレーブから送信され続ける前記レスポンスを受信すると、そのレスポンスを前記代理通信ネットワークを介して前記代理スレーブへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理スレーブから受信して自身のバッファに保存された前記リクエストのうちの最新の前記リクエストを選択して、前記スレーブに転送することを特徴とする
    制御系システム。
  4. 前記代理スレーブおよび前記代理マスタは、それぞれ前記代理通信ネットワークを介して転送する前記リクエストおよび前記レスポンスの各フレームについて、あらかじめ定義されているパターンに従って、一部のデータ領域を抽出して、その抽出したデータを含むパターン化フレームを、前記リクエストおよび前記レスポンスの各フレームの代わりに転送することを特徴とする
    請求項3に記載の制御系システム。
  5. 前記代理スレーブおよび前記代理マスタは、それぞれ前記代理通信ネットワークを介して転送する前記リクエストおよび前記レスポンスの各フレームの通信遅延を測定し、その遅延測定値があらかじめ定義されている正常値の範囲を超えているときには、その旨を通知することを特徴とする
    請求項3に記載の制御系システム。
  6. 前記代理スレーブおよび前記代理マスタは、それぞれ前記代理通信ネットワークを介して転送する前記リクエストおよび前記レスポンスの各フレームについて、各フレーム内のデータ値があらかじめ定義されている正常値の範囲を超えているときには、その旨を通知することを特徴とする
    請求項3に記載の制御系システム。
  7. 前記代理スレーブおよび前記代理マスタは、それぞれ前記代理通信ネットワークを介して転送する前記リクエストおよび前記レスポンスの各フレームについて、イーサネットフレームとして構成することを特徴とする
    請求項3ないし請求項6のいずれか1項に記載の制御系システム。
  8. 制御命令を示すリクエストを送信するマスタと、前記リクエストに従って制御命令を実行した結果を示すレスポンスを送信するスレーブと、前記リクエストおよび前記レスポンスを転送する代理マスタおよび代理スレーブを接続する代理通信ネットワークとを用いる制御系システムによる制御方法であって、
    前記代理スレーブは、制御用周期で前記マスタから送信され続ける前記リクエストを受信すると、そのリクエストを前記代理通信ネットワークを介して前記代理マスタへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理マスタから受信して自身のバッファに保存された前記レスポンスのうちの最新の前記レスポンスを選択して、前記マスタに転送し、
    前記代理マスタは、前記制御用周期で前記スレーブから送信され続ける前記レスポンスを受信すると、そのレスポンスを前記代理通信ネットワークを介して前記代理スレーブへと転送するとともに、前記制御用周期の所定間隔ごとに、前記代理スレーブから受信して自身のバッファに保存された前記リクエストのうちの最新の前記リクエストを選択して、前記マスタに転送することを特徴とする
    制御方法。
JP2012059849A 2012-03-16 2012-03-16 制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法 Pending JP2013197656A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012059849A JP2013197656A (ja) 2012-03-16 2012-03-16 制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012059849A JP2013197656A (ja) 2012-03-16 2012-03-16 制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法

Publications (1)

Publication Number Publication Date
JP2013197656A true JP2013197656A (ja) 2013-09-30

Family

ID=49396145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012059849A Pending JP2013197656A (ja) 2012-03-16 2012-03-16 制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法

Country Status (1)

Country Link
JP (1) JP2013197656A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015154261A (ja) * 2014-02-14 2015-08-24 山洋電気株式会社 マスタスレーブ相互間通信装置およびその通信方法
JP2019029790A (ja) * 2017-07-28 2019-02-21 サイレックス・テクノロジー株式会社 基地局、制御システム、および、基地局の制御方法
KR20190071263A (ko) * 2017-12-14 2019-06-24 주식회사 아진엑스텍 산업용 분산 네트워크의 데이터 전송 방법
WO2023238501A1 (ja) * 2022-06-07 2023-12-14 日本電信電話株式会社 データ通信システム、データ通信方法、中継装置、中継方法、及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015154261A (ja) * 2014-02-14 2015-08-24 山洋電気株式会社 マスタスレーブ相互間通信装置およびその通信方法
JP2019029790A (ja) * 2017-07-28 2019-02-21 サイレックス・テクノロジー株式会社 基地局、制御システム、および、基地局の制御方法
KR20190071263A (ko) * 2017-12-14 2019-06-24 주식회사 아진엑스텍 산업용 분산 네트워크의 데이터 전송 방법
KR102033833B1 (ko) * 2017-12-14 2019-10-17 주식회사 아진엑스텍 산업용 분산 네트워크의 데이터 전송 방법
WO2023238501A1 (ja) * 2022-06-07 2023-12-14 日本電信電話株式会社 データ通信システム、データ通信方法、中継装置、中継方法、及びプログラム
WO2023238255A1 (ja) * 2022-06-07 2023-12-14 日本電信電話株式会社 データ通信システム、データ通信方法、中継装置、中継方法、及びプログラム

Similar Documents

Publication Publication Date Title
JP6549351B2 (ja) プロセス制御システム内におけるデータの収集およびビッグデータ機械への配信
WO2013111350A1 (ja) データ中継装置、データ送信装置、ネットワークシステム
EP2934036B1 (en) System and method for managing cwsn communication data based on gui interaction
JP5716229B2 (ja) 時刻同期システム、管理ノード、及び時刻同期方法
JP5811196B2 (ja) コンピュータシステム、及び仮想ネットワークの可視化方法
US20190272207A1 (en) Computer System and Method of Detecting Manufacturing Network Anomalies
US20200220782A1 (en) Network topology snapshots
JP2013197656A (ja) 制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法
US11977362B2 (en) Control device and distributed control system
CN112689977B (zh) 用于在通信网络中收集和传输遥测信息的技术
US11876608B2 (en) Redundant control system
EP3044906A1 (en) Apparatus and method for monitoring network performance
JP6709086B2 (ja) 通信制御装置、および、通信制御方法
JP2022032955A (ja) プランニングノード
JP6408277B2 (ja) データ収集装置及び産業用ネットワークシステム
JP5880315B2 (ja) システム管理装置、システムの管理方法、及びシステムの管理プログラム
WO2020085077A1 (ja) 制御装置および制御プログラム
JP6193578B2 (ja) 障害対応訓練システム及び障害対応訓練方法
JP5740652B2 (ja) 計算機システム及びサブシステム管理方法
JP5941556B2 (ja) パケット中継装置、パケット転送方法および通信システム
JP6196505B2 (ja) クラウド制御システム、及びその制御プログラムの実行方法
JP2014041414A (ja) 仮想マシンのマイグレーションシステム、制御装置およびマイグレーション方法
JP6483592B2 (ja) コントローラおよび制御システム
JP6488600B2 (ja) 情報処理システム、プログラム及び情報処理装置
WO2013046321A1 (ja) 周期送信制御装置、周期送信制御方法、および周期送信制御プログラム