JP3682838B2 - モニタ・ロギング装置 - Google Patents
モニタ・ロギング装置 Download PDFInfo
- Publication number
- JP3682838B2 JP3682838B2 JP01717899A JP1717899A JP3682838B2 JP 3682838 B2 JP3682838 B2 JP 3682838B2 JP 01717899 A JP01717899 A JP 01717899A JP 1717899 A JP1717899 A JP 1717899A JP 3682838 B2 JP3682838 B2 JP 3682838B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- frame
- communication
- fragment
- monitor
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Control By Computers (AREA)
Description
【発明の属する技術分野】
本発明は、スイッチ,センサ等の制御機器をモニタするモニタ・ロギング装置に関するものである。
【0002】
【従来の技術】
従来、制御システムにおいて用いられているモニタ・ロギング装置では、制御の状態をリアルタイムに画面上に表示したり(モニタリング)、制御システムの状態を一定周期で記録しておき(データロギング)、その後、制御状態の解析を行うようになっている。
【0003】
ところで、近年、制御システムでは、例えば図14に示すように、マスタ局として機能するプログラマブルコントローラ等の制御装置10と、マスタ局としての制御装置10に対してスレーブ局として機能する位置制御コントローラ等の制御機器20と、モニタ・ロギング装置30とがネットワーク40に接続されて構成されている。
【0004】
このシステムでは、ノード1に有する制御装置10は、制御機器20からI/Oデータを取得しており、この取得したI/Oデータに基づき、スレーブ局としての制御機器20を制御するようになっている。
【0005】
ノード5に有するモニタ・ロギング装置30は、制御機器20のI/Oデータを取得し、この制御データを用いて、制御の状態をリアルタイムに画面上に表示してモニタリングしたり、制御システムの状態を一定周期で記録しておき、後に、制御システムに何らかのトラブルが発生したとき、トラブル原因を解析するのに使用されている。
【0006】
このような制御システムにおいては、データを送受信する方式として、コマンド・レスポンス方式が一般的に採用されている。
【0007】
このコマンド・レスポンス方式は、図15に示すように、制御装置10が制御機器20に対してI/Oデータを取得しようとするときには、制御用のコマンドフレームを制御機器20に送信し、このコマンドフレームに対するレスポンスフレームを制御機器20から受信した後、I/Oデータを取得するようになっている。
【0008】
また、モニタ・ロギング装置30が制御機器20に対してモニタ・ロギング用の制御データを取得しようとするときには、モニタ・ロギング用のコマンドフレームを制御機器20に送信し、このコマンドフレームに対するレスポンスフレームを制御機器20から受信した後、モニタ・ロギング用の制御データを取得するようになっている。
【0009】
なお、上述した制御システムは、データを送受信する方式として、コマンド・レスポンス方式が一般的に採用されていると述べたが、使用するネットワークのプロトコルによっては、あるノードが1つ以上のノードと通信できないような方式のものもある。
【0010】
【発明が解決しようとする課題】
上述した従来の制御システムに使用されているモニタ・ロギング装置では、上述したようなコマンド・レスポンス方式が採用されているので、以下のような問題点があった。
【0011】
(1)ネットワークトラフィックの増加
図15に示すように、モニタ・ロギング装置がネットワーク40上にモニタ・ロギング用のコマンドを送信し、このコマンドを受信したノードの制御機器20がそれに対するレスポンスをネットワークに送信するので、この分ネットワーク40上のトラフィックが増加し、制御システムの機能を低下させてしまうという問題点があった。
【0012】
特に、制御装置10がプログラマブルコントローラの場合には、プログラマブルコントローラが、所定のスキャンタイム内に各制御機器20に対してI/Oデータを取得しなければシステムエラーとなるため、モニタ・ロギング装置30からモニタ・ロギング用のコマンドおよびそれに対するレスポンスによるトラフィックの増加は、制御システムの機能を低下させる重大な要因となる。
【0013】
(2)ノードに対する負荷の増加
従来のモニタ・ロギング装置では、各制御機器20は、制御装置10から送信された制御用のコマンドを受信し、このコマンドに対するレスポンスを制御装置10に送信するとともに、モニタ・ロギング装置30から受信したモニタリング用のコマンドを受信し、このコマンドに対するレスポンスをモニタ・ロギング装置30に送信するので、処理の負荷が増加する。
【0014】
このため、従来のシステムでは、各ノードに有する制御機器20の処理内容が制限され、強いては、システム全体が制約されるという問題点があった。
【0015】
(3)ネットワークリソース(ノードアドレス)の占有
一般に、ネットワーク上のあるノードに対してコマンドを送信する場合には、そのコマンドフレーム中に送信元を指定するノードアドレス(例えばMAC ID)を有する必要がある。
【0016】
従って、従来の制御システムでは、モニタ・ロギング装置30がネットワーク40に有するノードアドレスの1つを占有してしまい、システム全体の構成を制限してしまうという問題点があった。
【0017】
(4)ネットワークプロトコルによっては本方式の使用が困難
上述したように、使用するネットワークのプロトコルによって、あるノードが1つ以上のノードと通信できないような方式を有する制御システムでは、モニタ・ロギング装置30を制御システムに付加することが不可能であるという問題点があった。
【0018】
そこで、本発明は上述した問題点に鑑み、▲1▼ネットワークのトラフィックを増加させず、▲2▼各ノードに有する制御機器に対する負荷を抑え、▲3▼ノードアドレスを付加させず、▲4▼あるノードが1つ以上のノードと通信できないような方式を有するプロトコルを有する制御システムでも、モニタ・ロギングを行えるモニタ・ロギング装置を提供することを目的とする。
【0019】
【課題を解決するための手段】
上述した目的を達成するために、本発明は、ネットワークに接続されたプログラマブルコントローラ側のマスタ局と制御機器側のスレーブ局との間で、1回の通信で相対的に高速なデータ通信が可能なビットストローブ通信方式と、1回に通信可能なデータ量が決まっていてそれ以上のデータ量を通信するには複数回にわたって通信することで相対的に大量なデータ通信が可能なポール通信方式とのいずれの方式においても通信されている通信フレームを取得でき、マスタ局とスレーブ局との間で通信されるI/Oデータをモニタ・ロギングするモニタ・ロギング装置であって、前記モニタ・ロギング装置は、前記ネットワーク上で通信されているマスタ局からスレーブ局への通信フレームおよびスレーブ局からマスタ局への通信フレームを、その通信がビットストローブ通信方式またはポール通信方式のいずれの場合であってもすべて受信する受信手段と、前記受信手段で受信した通信フレームを解読するフレーム解読手段と、前記フレーム解読手段で解読されたデータから形成したI/Oデータを記憶するI/Oデータバッファと、を備え、前記フレーム解読手段は、受信した通信フレームがビットストローブ通信方式によるものかポール通信方式によるものかを判断し、ビットストローブ通信方式によるものであると判断した場合には、通信フレームから解読して得たI/OデータをI/Oデータバッファに記憶し、ポール通信方式によるものであると判断した場合には、前記ネットワーク上でデータを分割して送信する際に使用されるフラグメントが前記受信した通信フレームに含まれているか否かを判断し、ここで、前記フラグメントを含まないと判断した場合には、通信フレームから解読して得たI/OデータをI/Oデータバッファに記憶し、いっぽう、前記フラグメントを含むと判断した場合には、分割送信に係る最初のデータであることを示すファーストフラグメントを含む通信フレームの受信から分割送信に係る最後のデータであることを示すラストフラグメントを含む通信フレームの受信までの間、その受信した各通信フレームから解読して得たI/Oデータをフラグメントバッファに積み上げていく形式で格納し、この格納した各I/OデータをI/Oデータバッファに記憶することを特徴とする。
【0020】
また、(2)本発明は、ネットワークに接続された各ノード装置の間でビットストローブ通信方式またはポール通信方式のいずれかの方式により通信されている通信フレームを取得するモニタ・ロギング装置であって、前記モニタ・ロギング装置は、前記ネットワーク上で通信されている通信フレームをすべて受信する受信手段と、前記受信手段で受信した通信フレームを解読するフレーム解読手段と、前記フレーム解読手段で解読されたデータから形成したI/Oデータを記憶するI/Oデータバッファと、を備え、前記フレーム解読手段は、受信した通信フレームがビットストローブ通信方式によるものかポール通信方式によるものかを判断し、ビットストローブ通信方式によるものであると判断した場合には、通信フレームから解読して得たデータをI/Oデータバッファに記憶し、ポール通信方式によるものであると判断した場合には、データを分割して送信する際に使用されるフラグメントに基づいて、分割送信に係る最初のデータであることを示すファーストフラグメントを含む通信フレームの受信から分割送信に係る最後のデータであることを示すラストフラグメントを含む通信フレームの受信までの間、その受信した各通信フレームから解読して得たデータをフラグメントバッファに積み上げていく形式で格納し、この格納した各データをI/Oデータバッファに記憶することを特徴とする。
【0021】
前記本発明において、前記フレーム解読手段は、ポール通信方式によるものであると判断した場合において、ファーストフラグメントが、ファーストフラグメントでありラストフラグメントである意味を示すものである場合は、分割送信であるがデータ量が1フレームで終了するものとして、通信フレームから解読して得たI/OデータをI/Oデータバッファに記憶するようにしてもよい。
【0022】
前記本発明において、前記モニタ・ロギング装置は、ノード情報とフレーム情報とを有し、前記ノード情報は、ネットワークに接続された各ノード装置の間の通信方式がビットストローブ通信方式によるものかポール通信方式によるものかを示す情報と、各方式で通信されるI/Oデータのサイズを示す情報を含むものであり、前記フレーム情報は、ノード間で通信するメッセージのフォーマットなどのプロトコル情報を含むものであり、前記フレーム解読手段は、前記ノード情報と前記プロトコル情報とに基づいて、受信した通信フレームを解読するように構成してもよい。
【0023】
前記(1)と(2)の本発明において、前記モニタ・ロギング装置は、CANを利用したプロトコルであって、マスタ局とスレーブ局間でINデータ、OUTデータを通信するものであるデバイスネットに接続され、前記受信手段で受信する通信フレームは、ビットストローブ通信方式によるものかポール通信方式によるものかを示す情報がセットされたヘッダと、ファーストフラグメントかラストフラグメントを示すデータおよびマスタ局とスレーブ局間で通信されるINデータかOUTデータであるI/Oデータがセットされたデータフィールドと、を含み、前記フレーム解読手段が通信フレームから解読して得たデータは、マスタ局とスレーブ局間で通信されるINデータかOUTデータであるI/Oデータであるものとしてよい。
【0025】
本発明によれば、ネットワーク上で通信されているフレームを、自からネットワークにコマンドを送信することをせずに受信し、この受信した通信データを解読するようにしたことにより、ネットワークアドレスを不要とすることができる。
【0026】
従って、モニタ・ロギング装置がネットワークアドレスを有していないため、ノードアドレスの占有を免れることができ、その分稼動させる制御機器を増やすことができる。
【0027】
また、データを取得する際に、データを取得するためのコマンドを送信することなく、フレームを受信できるため、ネットワーク上のトラフィックを減少させるとともに無駄な処理を減少させ、制御システムの機能を高めることができ、更に使用するネットワークのプロトコルの制限に関らず、制御システムのモニタ・ロギングを行うことができる。
【0028】
【発明の実施の形態】
以下、本発明に係るモニタ・ロギング装置の一実施形態を、図面を参照して詳細に説明する。
【0029】
図1はモニタ・ロギング装置を有する制御システムの構成を示すブロック図である。
【0030】
本発明に係る制御システムは、ノード1に有する制御装置10と、ノード2,3,4に有する制御機器20と、モニタ・ロギング装置30とが、下位層(物理層、データリンク層)にCAN(Controller Area Network)を利用しているネットワークプロトコルの1つであるデバイスネット(DeviceNet)2に接続されて構築されている。
【0031】
ここで、制御システムを構築する各構成物の内容を説明する前に、デバイスネット2を介して送受信されるフレームについて、図2を参照して説明する。
【0032】
デバイスネット2を介して送受信されるフレーム6は、CANプロトコルで使用され、かつ、リモートI/Oシステムに対応したプリデファイン マスタ/スレーブ コネクション セット(Predefineed Master/Slave Connection Set)で定義されているフレーム構成を有している。
【0033】
このフレーム6は、図2(a)に示すように、19ビット(Bit)からなるCANヘッダーフィールド(CAN HEADER FIELD)61と、最大64ビット(8バイト)からなるデータフィールド(DATA FIELD)62と、25ビットからなるCANトレイラーフィールド(CANN TRAILER FIELD)63とから構成されている。
【0034】
1)CANヘッダフィールド61について
CANヘッダーフィールド61は、図2(b)に示すように、1ビットからなるスタートビット(Start Bit)と、11ビットからなるCANアイデンティファイアー(CAN Identifiier)ビット612と、1ビットからなるRTRビット613と、6ビットからなるコントロールビット614とから構成されている。
【0035】
スタートビット(Start Bit)611は、フレームの開始を示す情報を有しており、CANアイデンティファイアー(CAN Identifier)ビット612は、マスタ/スレーブ コネクション セットの定義、すなわち送受信先がマスタであるかスレーブであるかを示すノード役割情報,ノードアドレスを示すノードアドレス情報,および使用する通信方式を示す通信方式情報を有している。
【0036】
ノードアドレス情報は、デバイスネット2ではMAC IDとよばれ、6ビットで表わされており、そのため、使用できる数値は10進数として0から63である。
【0037】
なお、デバイスネット2上では、各ノードは、異なるMAC IDが割り当てられている。
【0038】
通信方式情報には、高速なデータ通信が可能なビットストローブ(Bit−Strobe)方式と、大量なデータの送信が可能なポール(Poll)方式とがある。
【0039】
ビットストローブ方式は、マスタ局としての制御装置10から送信されたコマンドフレームがすべてのスレーブ局としての制御機器20に受信される通信方式であり、コマンドフレームを受信した制御機器20は、このフレームのデータフィールド62のうち、自己のMAC IDに対応した1ビットに有する情報を、自己に対する出力データとして認識するようになっている。
【0040】
例えば図3に示すように、0ビットから順に63ビットにセットされた情報は、MAC IDが“0”を有する制御機器20から順にMAC IDが“63”を有する制御機器20に対する出力情報を示している。
【0041】
RTRビット613はエラーを検出する情報を有しており、コントロールビット614はコントロール情報を有している。
【0042】
ここで、上述したビットストローブとポール方式との通信方式について、更に詳細に図4に基づいて説明する。
【0043】
a)ビットストローブ方式について
図4(a)の▲1▼の欄に示すように、マスタ局としての制御装置10がスレーブ局として制御機器20に対して送信するフレームの場合には、9ビットに“0”と10ビットに“1”がセットされ、また、3ビットから8ビットにかけてマスタ局としての制御装置10のMAC IDがセットされ、更に0ビットから2ビットに“0,0,0”がセットされる。
【0044】
ここで、例えば、制御装置10のMAC IDを10進法で“63”とした場合には、3ビットから8ビットには、“1,1,1,1,1,1”がセットされる。
【0045】
図4(a)の(2)(・参考:図4(a)では「(2)」はマル2と表示されている)の欄に示すように、スレーブ局としての制御機器20がマスタ局としての制御装置10に対して送信するフレームの場合には、9ビットに“1”と10ビットに“0”がセットされ、6ビットから9ビットにかけて“1,1,1,0”がセットされ、更に、0ビットから5ビットにかけて制御機器20のMAC IDがセットされる。
【0046】
例えば、制御機器20のMAC IDを10進法で“0”とした場合には、0ビットから5ビットには、“0,0,0,0,0,0”がセットされる。
【0047】
b)ポール方式について
図4(b)の▲1▼の欄に示すように、マスタ局としての制御装置10がスレーブ局として制御機器20に対して送信するフレームの場合には、9ビットに“0”と10ビットに“1”がセットされ、また、3ビットから8ビットにかけて送信先の制御機器20のMAC IDがセットされ、更に0ビットから2ビットに“1,0,1”がセットされる。
【0048】
例えば、フレームを送信する制御機器20のMAC IDを10進法で“62”とした場合には、3ビットから8ビットにかけて“1,1,1,1,1,0”がセットされる。
【0049】
図4(b)の▲2▼の欄に示すように、スレーブ局としての制御機器20がマスタ局としての制御装置10に対して送信するフレームの場合には、9ビットに“1”と10ビットに“0”がセットされ、6ビットから9ビットにかけて“1,1,1,1”がセットされ、更に、0ビットから5ビットにかけて制御機器20のMAC IDがセットされる。
【0050】
例えば、フレームを送信する制御機器20のMAC IDを10進法で“1”とした場合には、3ビットから8ビットにかけて“0,0,0,0,0,1”がセットされる。
【0051】
2)データフィールド62について
ところで、デバイスネット2では、一回に送信可能なデータのデータ量が最大8バイト(Byte)である。このため、それ以上のデータ量を有するデータを送信する場合には、分割送信しなければならない。
【0052】
図5は分割送信する場合のデータフィールドの内容を説明する図である。
【0053】
図5に示すように、分割送信する場合におけるデータフィールド62は、バイトナンバー(Byte Number)が“0”で示された1バイトの0ビットから5ビットにかけて、何フレーム目のデータであるかを識別するフラグメントカウント(Fragment Count)情報を有しており、また、6ビットと7ビットとに送信したデータの属性を示すフラグメントタイプ(Fragment Type)情報を有している。
【0054】
また、このデータフィールド62は、バイトナンバーが“1”から“7”で示された2バイトから8バイトにわたってI/Oメッセージを有している。
【0055】
上述したフラグメントタイプについて、図6を参照して更に詳細に説明する。
【0056】
図6に示すように、フラグメントタイプは、その値が“0”の場合には、ファーストフラグメント(First Fragment)、すなわちフレーム中の最初のデータであることを示し、値が“2”の場合には、ラストフラグメント(Last Fragment)、すなわちフレーム中の最後のデータであることを示し、値が“1”の場合には、ミドルフラグメント(Middle Fragment)、すなわちファーストフラグメントに該当するデータとラストフラグメントに該当するデータの間にあるデータを示している。
【0057】
上述したフラグメントカウンタは、6ビットで表現されるので、最大3F(ヘキサデシマル表示)までセットすることができる。フレーム数が3F以上の場合には、再度0からセットされる。
【0058】
なお、ファーストフラグメントの場合には、そのフラグメントカウンタが0または3Fでなければならない。デバイスネット2のI/O通信では、マスタ、スレーブ間で分割送信を使用するかどうかは実際のI/Oデータの交換を開始する前に初期設定により決定される。
【0059】
そのため、1度分割送信ありで通信を開始すると、データ量が1フレームで終了するものであっても、分割送信の手順に従うことになる。この場合、ファーストフラグメントでありラストフラグメントということになる。つまり、ファーストフラグメントにおけるフラグメントカウンタが3Fを有するものは、最初で最後のフラグメントという特殊な意味を示す。
【0060】
図7はフラグメントでない場合のデータフィールド62の内容を説明する図である。
【0061】
この場合には、データフィールド62は、図に示すように、1バイト目にフラグメントタイプおよびフラグメントカウントを有しない。
【0062】
次に、モニタ・ロギング装置を構築する各構成物の構成について説明する。なお、モニタ・ロギング装置はWindowsソフトウェアとして実装したものである。
【0063】
ノード1に有する制御装置10は、例えばプログラマブルロジックコントローラ(PLC),ソフトPLCが実装されているPC(パーソナル コンピュータ)等からなり、ノード2,3,4に有する制御機器20からI/Oデータを取得しており、この取得したI/Oデータに基づき演算処理を行い、その演算処理結果に基づき、ノード2,3,4の制御機器20に対して所定の動作を実行させるコマンドを出力するようになっている。
【0064】
制御機器20は、スイッチ,リレー,温度センサ,インバータ、アクチュエータ等からなり、制御装置10の制御に基づき、I/Oデータを制御装置10に送信するとともに所定の動作を実行するようになっている。
【0065】
モニタ・ロギング装置30は、自身がノードとしてのアドレスを有していないものであって、自らネットワークコマンドを送信することなしにデバイスネット2を介してフレーム6を受信し(図1の▲1▼参照)、受信したフレーム6をフレーム情報に基づきフレーム中のCANヘッダ61およびデータ・フィールド62の詳細情報を解読するようになっている(図1の▲2▼参照)。
【0066】
すなわち、モニタ・ロギング装置30は、デバイスネット2を介して制御装置10と制御機器20間に送受信されているフレーム6を受動的に受信することを特徴とするものである。
【0067】
さらに言換えると、モニタ・ロギング装置は、自らネットワークコマンドを送信することなく、制御装置10と制御機器20間の外的作用でデバイスネット2に通信されているフレーム6を受信するようになっている。
【0068】
また、モニタ・ロギング装置30は、フレーム情報に基づきフレームの内容を解読した結果(図1の▲3▼参照)、モニタリングまたはロギングに必要なフレームである場合には、ノード情報に基づきこのフレームを取得するようになっている。
【0069】
前記フレーム情報は、デバイスネットプロトコル情報を示す情報であって、その情報にはマスタ・スレーブ間でやり取りするメッセージのフォーマットや意味を全て含んでいる。
【0070】
前記ノード情報は、データ収集する対象のノード(スレーブ)が、マスタとのポール、ストローブの各I/O通信方式において通信を行なうI/Oデータのサイズ(INPUT,OUTPUT)の情報を含んでいる。
【0071】
図8はモニタ・ロギング装置の概略構成を示すブロック図である。
【0072】
このモニタ・ロギング装置30は、アプリケーション(Applcation)部310と、フレームを解読するフレーム解読手段としてのフレーム解読部(Core Module DLL部)320と、フレームを受信する受信手段としてのDeviceNet I/F部330とから構成されている。
【0073】
アプリケーション部310は、後述するノード情報をソフトウエア上に有している。
【0074】
フレーム解読部320は、アプリケーション(Applcation)部310より、ノード情報を読み込むようになっており、このノード情報は、フレーム解読部320に記憶される。
【0075】
先に述べたノード情報について更に詳細に説明すると、ノード情報は、図9に示すように、通信方式がポール方式によるものであるか、またはビットストローブ方式によるものであるかを示す情報と、各方式で通信I/Oデータのデータサイズを示す情報を有している。
【0076】
なお、図中のOUTSize1、INSize1は、ポール通信方式を使用する場合のデータサイズを示しており、OUTSize2、INSize2は、ビットストローブ通信方式のデータサイズを示している。
【0077】
また、アプリケーション(Applcation)部310は、後述するフレーム解読部320で形成されたモニタ・ロギングデータを一定間隔ごと、I/Oデータエリアから取得し、これをハードディスク等の記憶手段(図示せず)に格納するようになっている。
【0078】
フレーム解読部320は、アプリケーション部310から受けたノード情報と、ソフトウェアに記述されているフレーム情報とに基づき、受信したフレーム6を解読し、この解読したフレーム6からI/Oデータを形成するようになっている。
【0079】
先に述べたフレーム情報について、図10を参照して説明する。
【0080】
ここで、グループ ID(Group ID)は、デバイスネット2で使用できる11ビットのCAN IDをグループ(Group)1,グループ(Group)2,グループ(Group)3,グループ(Group)4という用途別にグループ分けしたときのグループを識別する値(1〜4)である。
【0081】
メッセージ ID(Message ID)は、あるエンドポイントにおいてメッセージグループ内の各メッセージを識別する値である。
【0082】
Aの欄に示したポールコマンド(Poll Command)は、グループ IDとして“2”を、また、メッセージ IDとして“5”を有しており、このコマンドがOUTデータであることを示している。
【0083】
また、Bの欄に示したビットストローブコマンド(Bit−Strobe Command)は、グループ IDとして“2”を、また、メッセージ IDとして“0”を有しており、このコマンドが1点のみのOUTデータであることを示している。
【0084】
DeviceNet I/F部330は、デバイスネット2上に送信されているすべてのフレームを受信するようになっている。
【0085】
ここで、上述したフレーム解読部320を更に詳細に説明する。
【0086】
図11はフレーム解読部の構成を示すブロック図である。
【0087】
フレーム解読部320は、受信フィルタ手段320aと、有効フレーム受信検知手段320bと、フレーム解析手段320cと、フラグバッファ(Fragment Buffer)320dと、I/Oデータバッファ320eと、フラグメントカウンタ320fと、フレーム情報を有するフレーム情報憶部320gと、ノード情報記憶部320hとから構成されている。
【0088】
受信フィルタ手段320aは、デバイスネット I/F330を介して受信したフレーム6のCANヘッダーフールド61に有するCANアイデンティファイアー612を参照し、受信すべきフレームのみを選択するようになっている(フィルタをかける)。
【0089】
受信フィルタ手段320aが選択受信するフレーム6は、図12に示すようなものである。
【0090】
▲1▼OUTデータのみの場合、すなわち対象となるMAC IDを有する制御機器20に対して送信されたフレームが、ポールコマンドフレーム、または、すべてのビットストローブコマンドフレームのもの
▲2▼INデータのみの場合、すなわち対象となるMAC IDを有する制御機器20から制御装置10に対して送信されたフレームが、ポールレスポンフレーム、または、ビットストローブレスポンスフレームのもの
▲3▼OUTおよびINデータ両方のもの、すなわち前述の▲1▼および▲2▼のフレームのもの
【0091】
有効フレーム受信検知手段320bは、受信フィルタ手段320aからフレーム6を受けると、受けたフレーム6中のデータフィールド62の長さが所定の長さを有しているか否かを判断し、受けたフレーム6中のデータフィールド62の長さが所定の長さを有していると判断した場合には、その旨をフレーム解析手段320cに通知するようになっている。
【0092】
フレーム解析手段320cは、フレーム情報記憶部320gに有するフレーム情報に基づき、受信したフレーム6を解読するようになっている。
【0093】
なお、その詳細な内容は、後述するこの実施形態に係るモニタ・ロギング装置の動作において説明されているので、その詳細説明を省略する。
【0094】
フラグメントバッファ(Fragment Buffer)320dは、受信したフレームがポール通信方式のもので、かつ、フラグメントを使用している場合には、そのフレーム6のデータを一時記憶するものである。
【0095】
I/Oデータバッファ320eは、形成したI/Oデータを記憶するものである。
【0096】
フラグメントカウンタ320fは、ポール通信方式のものであって、かつ、フラグメントがあるフレーム6のデータを受信するごとに、フレーム解析手段320cの指示のもとカウンタ値に1を加算し、送信されてきたデータがラストフラグメントの場合には、フレーム解析手段320cの指示のもとカウント値をクリアするようになっている。なお、これらの処理は、各MAC ID毎に行なわれる。
【0097】
フレーム情報記憶部320gはフレーム情報を有するものであり、ノード情報記憶部320hは、アプリケーション部310から取得したノード情報を記憶するものである。
【0098】
続いて、この実施形態のモニタ・ロギング装置の動作を、図13のフローチャートを参照して説明する。
【0099】
フレーム解読部320は、デバイスネット I/F330で受信したフレーム6を受けると、受信フィルタ手段320aが予め決定されているデバイスI/Oタイプ(図10を参照)のフレーム6のみを選択的に受信し(フィルタをかけ)、選択的に受信したフレーム6を有効フレーム受信手段320bに出力する(ステップ110)。
【0100】
有効フレーム受信検知手段320bは、受信フィルタ手段320aからフレーム6を受けると、受けたフレーム6中のデータフィールド62の長さが所定の長さを有しているか否かを判断する(ステップ120)。
【0101】
有効フレーム受信検知手段320bは、受けたフレーム6中のデータフィールド62の長さが所定の長さを有していると判断した場合には(ステップ120;Y)、その旨をフレーム解析手段320cに通知する。
【0102】
一方、有効フレーム受信検知手段320cは、受けたフレーム6中のデータフィールド62の長さが所定の長さを有していないと判断した場合には(ステップ120;N)、ステップ110に移行して上述したと同様な処理を続行する。
【0103】
フレーム解析手段320cは、受けたフレーム6中のデータフィールド62の長さが所定の長さを有している旨の通知を有効フレーム受信検知手段320bから受けると、フレーム6中のCANヘッダ61を参照し、受信したフレーム6がポール通信方式によるメッセージ(Poll Message)であるか否かを判断する(ステップ130)。
【0104】
フレーム解析手段320cは、ポール通信方式によるI/Oデータ(メッセージ)でないと判断した場合、すなわちビットストローブ通信方式によるI/Oデータである場合には(ステップ130;N)、I/Oデータバッファ320eにI/Oデータをリフレッシュする(ステップ140)、その後、ステップ110に移行して上述したと同様な処理を続行する。
【0105】
一方、フレーム解析手段320cは、ポール通信方式によるI/Oデータであると判断した場合には(ステップ130;Y)、ノード情報に基づきフラグメントカウントを有しているか否かを判断する(ステップ150)。
【0106】
フレーム解析手段320cは、受信したフレーム6中のI/Oデータがノード情報に基づき、フラグメントタイプおよびフラグメントカウントを有していないと判断した場合には(ステップ150;N)、後述するステップ210に移行する一方、データフィールド62にフラグメントタイプおよびフラグメントカウントを有していると判断した場合には(ステップ150;Y)、内部状態がファーストフラグメント待ちの状態であるか否かを判断する(ステップ160)。
【0107】
フレーム解析手段320cは、内部状態がファーストフラグメント待ちの状態でないと判断した場合には(ステップ160;N)、後述するステップ170に移行する一方、内部状態がファーストフラグメント待ちの状態であると判断した場合には(ステップ160;Y)、受信したフレーム6中のデータフィールド62中のフラグメントタイプがファーストフラグメントであるか否かを判断する(ステップ180)。
【0108】
フレーム解析手段320cは、受信したフレーム6中のデータフィールド62中のフラグメントタイプがファーストフラグメントでないと判断した場合には(ステップ180;N)、後述するステップ220に移行する一方、受信したフレーム6中のデータフィールド62中のフラグメントタイプがファーストフラグメントであると判断した場合には(ステップ180;Y)、フラグメントカウントが“0X3F”であるか否かを判断する(ステップ190)。
【0109】
フレーム解析手段320cは、フラグメントカウントが“0X3F”でないと判断した場合には(ステップ190;N)、後述するステップ200に移行する。一方、フレーム解析手段320cは、フラグメントカウントが“0X3F”であると判断した場合には(ステップ190;Y)、フレーム6を該当するMAC IDの箇所のI/Oデータバッファ320eに記憶させる(ステップ210)。
【0110】
その後、フレーム解析手段320cは、内部で保持しているフラグメント情報(フラグメントカウンタ、ファーストフラグメント待ち状態)を初期化し、一定時間間隔でI/Oデータバッファ320eに書き込まれたモニタ・ロギングデータを読み出し、これをハードディスク等の記憶手段に記憶させたのち(ステップ220)、ステップ110に移行し上述したと同様な処理を行う。
【0111】
ステップ160において、フレーム解析手段320cは、内部状態がファーストフラグメント待ちの状態でないと判断した場合には(ステップ160;N)、受信したフレーム6のデータフィールド62中に有するフラグメントカウントが一致しているか否かを判断する(ステップ170)。
【0112】
フレーム解析手段320cは、受信したフレーム6のデータフィールド62中に有するフラグメントカウントが一致していないと判断した場合には(ステップ170;N)、ステップ220に移行する一方、受信したフレーム6のデータフィールド62中に有するフラグメントカウントが一致していると判断した場合には(ステップ170;Y)、I/Oデータをフラグメントバッファ320dに書き込む(ステップ200)。
【0113】
次に、フレーム解析手段320cは、受信したフレーム6のデータフィールド62中に有するフラグメントカウントがラストフラグメントであるか否かを判断する(ステップ230)。
【0114】
フレーム解析手段320cは、フレーム6のデータフィールド62中に有するフラグメントカウントがラストフラグメントであると判断した場合には(ステップ230;Y)、ステップ210に移行する一方、フレーム6のデータフィールド62中に有するフラグメントカウントがラストフラグメントでないと判断した場合には(ステップ230;N)、フレーム解読部320に有するフラグメントカウンタに1を加算して、新たなカウント値とし(ステップ240)、ステップ110に移行し、上述したと同様な処理を続行する。
【0115】
この実施形態のモニタ・ロギング装置では、自らフレーム(コマンド)を送信する必要がないから、ネットワークアドレスを不要とすることができる。
【0116】
従って、モニタ・ロギング装置30がネットワークアドレスを有していないため、ノードアドレスの占有を免れることができ、その分稼動させる制御機器20、例えばスイッチ,リレー等を増やすことができる。
【0117】
また、I/Oデータを取得する際に、I/Oデータを取得するためのコマンドを送信することなく、フレームを受信できるため、ネットワーク上のトラフィックを減少させるとともに無駄な処理を減少させ、制御システムの機能を高めることができるとともに、1つのノードに対してしか通信できないプロトコルを採用するシステムでも、モニタ・ロギングすることができる。
【0118】
なお、フレーム解析の実行タイミングは、フレーム受信ごとの場合であってもよいし、また、いったん受信フレームを記憶させておき、周期的にまとめて解析する場合であってもよい。
【0119】
また、この実施形態のモニタ・ロギン装置は、モニタ表示画面を含むものでもよいし、含まないものでもよい。含まない場合には、別途モニタ表示画面を外付け接続すればよい。
【0120】
【発明の効果】
本発明は前記のように構成されているので、次のような効果を有する。
【0121】
(1)請求項1記載の発明によれば、ネットワーク上で通信されているフレームを、自からネットワークにコマンドを送信することをせずに受信し、この受信した通信データを解読するようにしたことにより、本発明に係るモニタ・ロギング装置においては、ネットワークアドレスを不要とすることができる。
【0122】
また、データを取得する際に、データを取得するためのコマンドを送信することなく、フレームを受信できるため、ネットワーク上のトラフィックを減少させるとともに、無駄な処理を減少させ、システムの機能を高めることができる。
【0123】
更に1つのノードに対してしか通信できないプロトコルを採用するシステムでも、モニタ・ロギングすることができる。
【0124】
(2)請求項2記載の発明によれば、更にフレーム解読手段で受信したフレームのうち、モニタ・ロギングするフレームを解読するため、モニタ・ロギング用のデータを取得することができる。
【0125】
(3)請求項3記載の発明によれば、更にまた、受信フィルタ手段により受信手段で受信したフレームのうち所定のフレームのみを選択するので、モニタ・ロギングに不要なフレームを廃棄することができる。
【0126】
(4)請求項4記載の発明は、ネットワーク接続時にノードとしてのアドレスを持つことなしに、ネットワーク上で通信されているフレームを受信し、通信データを解読するようになっているので、ノードアドレスの占有を免れることができる。
【0127】
(5)請求項5記載の発明は、データ取得部が受信フレームを解析して、ネットワークに接続されているノードを特定することと、特定したノードが通信したデータを取得することを行なうようにしたことにより、必要とするノードに対するデータを取得することができる。
【0128】
(6)請求項6記載の発明は、解読部がフレーム情報に基づき受信したフレームの意味を解読するので、モニタ・ロギング用のデータを取得することができる。
【図面の簡単な説明】
【図1】本発明に係るモニタ・ロギングシステムの一実施形態の構成を示すブロック図。
【図2】図1中のデバイスネットを介して送受信されるフレームの構成を示すブロック図。
【図3】ビットストローブ通信方式におけるコマンドフレームの構成を示すブロック図。
【図4】図2中のCANアイデンティファイアーの構成を示すブロック図。
【図5】図2中のデータフィールドの構成を示すブロック図(フラグメント時)。
【図6】図5中フラグメントタイプとフラグメントカウントとの内容を説明する図。
【図7】図2中のデータフィールドの構成を示すブロック図。
【図8】図1中のモニタ・ロギング装置の概略構成を示すブロック図。
【図9】デバイスI/O割付を示すブロック図。
【図10】図9中の有効フレームチェック手段により選択されるフレームの内容を示す図。
【図11】図8中のフレーム解読部の構成を示すブロック図。
【図12】I/Oデータとデバイスネットメッセージとの対応を示す図。
【図13】図1中のモニタ・ロギング装置の処理動作を示すフローチャート。
【図14】従来のモニタ・ロギング装置がコマンドを送信して制御システム内のI/Oデータを取得する内容を説明する図。
【図15】従来のモニタ・ロギングシステムの構成を示す図。
【符号の説明】
1 制御システム
2 デバイスネット
10 制御装置
20 制御機器
30 モニタ・ロギング装置
310 アプリケーション部
320 フレーム解読部
320a 受信フィルタ手段
320b 有効フレーム受信検知手段
320c フレーム解析手段
320d フラグメントバッファ
320e I/Oデータバッファ
320f フラグメントカウンタ
320g フレーム情報記憶部
320h ノード情報記憶部
330 デバイスネット I/F
Claims (4)
- ネットワークに接続されたプログラマブルコントローラ側のマスタ局と制御機器側のスレーブ局との間で、1回の通信で相対的に高速なデータ通信が可能なビットストローブ通信方式と、1回に通信可能なデータ量が決まっていてそれ以上のデータ量を通信するには複数回にわたって通信することで相対的に大量なデータ通信が可能なポール通信方式とのいずれの方式においても通信されている通信フレームを取得でき、マスタ局とスレーブ局との間で通信されるI/Oデータをモニタ・ロギングするモニタ・ロギング装置であって、
前記モニタ・ロギング装置は、
前記ネットワーク上で通信されているマスタ局からスレーブ局への通信フレームおよびスレーブ局からマスタ局への通信フレームを、その通信がビットストローブ通信方式またはポール通信方式のいずれの場合であってもすべて受信する受信手段と、
前記受信手段で受信した通信フレームを解読するフレーム解読手段と、
前記フレーム解読手段で解読されたデータから形成したI/Oデータを記憶するI/Oデータバッファと、を備え、
前記フレーム解読手段は、
受信した通信フレームがビットストローブ通信方式によるものかポール通信方式によるものかを判断し、
ビットストローブ通信方式によるものであると判断した場合には、通信フレームから解読して得たI/OデータをI/Oデータバッファに記憶し、
ポール通信方式によるものであると判断した場合には、前記ネットワーク上でデータを分割して送信する際に使用されるフラグメントが前記受信した通信フレームに含まれているか否かを判断し、
ここで、前記フラグメントを含まないと判断した場合には、通信フレームから解読して得たI/OデータをI/Oデータバッファに記憶し、いっぽう、前記フラグメントを含むと判断した場合には、分割送信に係る最初のデータであることを示すファーストフラグメントを含む通信フレームの受信から分割送信に係る最後のデータであることを示すラストフラグメントを含む通信フレームの受信までの間、その受信した各通信フレームから解読して得たI/Oデータをフラグメントバッファに積み上げていく形式で格納し、この格納した各I/OデータをI/Oデータバッファに記憶すること
を特徴とするモニタ・ロギング装置。 - 前記フレーム解読手段は、ポール通信方式によるものであると判断した場合において、ファーストフラグメントが、ファーストフラグメントでありラストフラグメントである意味を示すものである場合は、分割送信であるがデータ量が1フレームで終了するものとして、通信フレームから解読して得たI/OデータをI/Oデータバッファに記憶する
ことを特徴とする請求項1に記載のモニタ・ロギング装置。 - 前記モニタ・ロギング装置は、ノード情報とフレーム情報とを有し、
前記ノード情報は、ネットワークに接続された各ノード装置の間の通信方式がビットストローブ通信方式によるものかポール通信方式によるものかを示す情報と、各方式で通信されるI/Oデータのサイズを示す情報を含むものであり、
前記フレーム情報は、ノード間で通信するメッセージのフォーマットなどのプロトコル情報を含むものであり、
前記フレーム解読手段は、前記ノード情報と前記プロトコル情報とに基づいて、受信した通信フレームを解読する
ことを特徴とする請求項1に記載のモニタ・ロギング装置。 - 前記モニタ・ロギング装置は、CANを利用したプロトコルであって、マスタ局とスレーブ局間でINデータ、OUTデータを通信するものであるデバイスネットに接続され、
前記受信手段で受信する通信フレームは、ビットストローブ通信方式によるものかポール通信方式によるものかを示す情報がセットされたヘッダと、ファーストフラグメントかラストフラグメントを示すデータおよびマスタ局とスレーブ局間で通信されるINデータかOUTデータであるI/Oデータがセットされたデータフィールドと、を含み、
前記フレーム解読手段が通信フレームから解読して得たデータは、マスタ局とスレーブ局間で通信されるINデータかOUTデータであるI/Oデータである
ことを特徴とする請求項1に記載のモニタ・ロギング装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01717899A JP3682838B2 (ja) | 1999-01-26 | 1999-01-26 | モニタ・ロギング装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01717899A JP3682838B2 (ja) | 1999-01-26 | 1999-01-26 | モニタ・ロギング装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004260018A Division JP3712072B2 (ja) | 2004-09-07 | 2004-09-07 | モニタ・ロギング装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000216798A JP2000216798A (ja) | 2000-08-04 |
JP3682838B2 true JP3682838B2 (ja) | 2005-08-17 |
Family
ID=11936708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01717899A Expired - Lifetime JP3682838B2 (ja) | 1999-01-26 | 1999-01-26 | モニタ・ロギング装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3682838B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006252486A (ja) * | 2005-03-14 | 2006-09-21 | Omron Corp | プログラマブル・コントローラ・システム |
EP2228698B1 (en) * | 2005-03-14 | 2012-06-27 | Omron Corporation | Programmable controller system |
WO2013121572A1 (ja) * | 2012-02-17 | 2013-08-22 | 株式会社日立製作所 | 分散システムにおける異種システムデータ提供方法 |
JP6408277B2 (ja) * | 2014-07-25 | 2018-10-17 | 株式会社ベルチャイルド | データ収集装置及び産業用ネットワークシステム |
-
1999
- 1999-01-26 JP JP01717899A patent/JP3682838B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000216798A (ja) | 2000-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6810017B1 (en) | Graphical user interface system and method for organized network analysis | |
JP3028783B2 (ja) | ネットワークの監視方法と装置 | |
US6665275B1 (en) | Network device including automatic detection of duplex mismatch | |
US20040010627A1 (en) | Ethernet interface device for reporting status via common industrial protocols | |
JPH0761071B2 (ja) | モデム・ネツトワ−ク | |
US6741566B1 (en) | Remote management ethernet network and device | |
CN110300040A (zh) | 一种通信方法及相关设备 | |
JP3682838B2 (ja) | モニタ・ロギング装置 | |
CN112460747B (zh) | 分体式空调的通讯控制方法、装置、存储介质及下位机 | |
US8396947B2 (en) | Active monitoring system for serial monitoring device and method thereof | |
JP3712072B2 (ja) | モニタ・ロギング装置 | |
JP2000261515A (ja) | ネットワークに接続可能な機器 | |
JP2002064482A (ja) | 暗号処理装置 | |
JPH07321783A (ja) | ネットワーク監視装置 | |
JPH07297884A (ja) | 通信管理方法 | |
JP3604008B2 (ja) | Lan制御装置、ドライバ、スイッチングハブ、及びそれらを有するlan制御装置自動切り替えシステム | |
US9743037B2 (en) | Method for transmitting device indicator data in network-based AV system | |
JP2503861B2 (ja) | 監視制御方式 | |
US9473597B2 (en) | Implementing multiple MAC protocols using a single wireless communication unit | |
JPH10262073A (ja) | リング型ネットワークのノード並び順チェック方式 | |
US20030093549A1 (en) | Data transfer device including communication circuit for controlling communication party | |
JP2507540B2 (ja) | Lapd処理方法 | |
KR20040095741A (ko) | 전문 처리 장치, 기기 제어 장치, 가전 기기, 전문 처리장치용 프로그램, 마이크로컴퓨터 시스템, 마이크로컴퓨터시스템용 프로그램 및 프로그램 제품 | |
JPH06350615A (ja) | サイクリック伝送システム | |
JPH08204777A (ja) | 無線装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040709 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041117 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050214 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050325 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050506 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050519 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080603 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090603 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090603 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100603 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100603 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120603 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130603 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |