(57)【要約】  データ再生装置（１）は、稼働中のＰＬＣ（２）と入出力装置（３、４）との間でパケットが送受信される既存ネットワーク６に、新規に接続されるプラント監視制御システム用データ再生装置である。設定情報記憶部（１０）は設定情報を記憶する。プロセスデータ定義情報記憶部（１１）はプロセスデータ定義情報を記憶する。プロセスデータ取得部（１３）はパケットに格納されたバイナリデータ配列を取得する。プロセスデータ解析部（１５）は、前記バイナリデータ配列を前記設定情報に基づいて複数のプロセスデータに分解し、前記複数のプロセスデータのそれぞれについて、前記複数のプロセスデータの１つのプロセスデータと、パケット受信時刻と、前記プロセスデータ定義情報とを関連付けて１つのプロセスデータ解析情報とする。
2017168674.tif 000002
【特許請求の範囲】
【請求項１】
稼働中のプログラマブルロジックコントローラと入出力装置との間でパケットが送受信される既存ネットワークに、新規に接続されるプラント監視制御システム用データ再生装置であって、
送信先アドレスおよび送信元アドレスを含み前記パケットのヘッダ部に格納されるアドレス情報と、前記パケットのデータ部に格納されるバイナリデータ配列を分解するための区切り位置を前記データ部の先頭アドレスからの相対アドレスで定めた複数のオフセット情報と、を関連付けた設定情報を記憶する設定情報記憶部と、
前記複数のオフセット情報のそれぞれについて、前記複数のオフセット情報の１つのオフセット情報と、前記アドレス情報と、前記１つのオフセット情報と前記アドレス情報との組み合わせに対してユニークな変数名と、前記変数名の意味を説明するコメントと、を関連付けたプロセスデータ定義情報を記憶するプロセスデータ定義情報記憶部と、
前記プロセスデータ定義情報に含まれる前記変数名や前記コメントを編集可能なプロセスデータ定義情報編集部と、
前記既存ネットワークを流れるパケットのうち、パケットのヘッダ部に格納された前記アドレス情報に前記プラント監視制御システム用データ再生装置が指定されていないパケットを取得し、前記取得したパケットのデータ部に格納された前記バイナリデータ配列を取得するプロセスデータ取得部と、
前記プロセスデータ取得部により取得された前記バイナリデータ配列を、前記設定情報に基づいて、前記入出力装置の入出力点の状態を示す複数のプロセスデータに分解し、前記複数のプロセスデータのそれぞれについて、前記複数のプロセスデータの１つのプロセスデータと、パケット受信時刻と、前記プロセスデータ定義情報とを関連付けて１つのプロセスデータ解析情報とするプロセスデータ解析部と、
前記プロセスデータ解析情報を記憶するプロセスデータ記憶部と、
前記プロセスデータ記憶部に記憶された複数のプロセスデータ解析情報から、指定された変数名に一致する情報を検索し、時系列データとして表示する表示部と、
を備えることを特徴とするプラント監視制御システム用データ再生装置。
【請求項２】
前記既存ネットワークは、通常ポートと、前記通常ポートが送受信するデータをミラーリングするミラーポートとを有するネットワーク集線装置を備え、
前記プログラマブルロジックコントローラは前記通常ポートに、前記データ再生装置は前記ミラーポートに接続されること、
を特徴とする請求項１に記載のプラント監視制御システム用データ再生装置。
【請求項３】
前記プログラマブルロジックコントローラと前記入出力装置との接続先確認処理において決定される少なくとも前記アドレス情報に関連付いた固有ＩＤを取得し、前記固有ＩＤを前記設定情報に関連付ける接続先確認解析部を備え、
前記プログラマブルロジックコントローラおよび前記入出力装置は、前記接続先確認処理後は前記固有ＩＤを前記バイナリデータ配列に付加したパケットを送受信し、
前記プロセスデータ解析部は、前記バイナリデータ配列を、前記固有ＩＤに関連付いた前記設定情報に基づいて、前記入出力装置の入出力点の状態を示す複数のプロセスデータに分解し、前記複数のプロセスデータのそれぞれについて、前記複数のプロセスデータの１つのプロセスデータと、パケット受信時刻と、前記プロセスデータ定義情報とを関連付けて１つのプロセスデータ解析情報とすること、
を特徴とする請求項２に記載のプラント監視制御システム用データ再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プラント監視制御システム用データ再生装置に係り、特に、ネットワーク探索機能を有するプラント監視制御システム用データ再生装置に関する。
【背景技術】
【０００２】
プラント監視制御システムは、プラントを制御するプログラマブルロジックコントローラ（ＰＬＣ）と入出力装置とがネットワークで相互に接続されているシステムである。入出力装置は、プラントを構成する機器（センサ、アクチュエータ）に接続されたＩ／Ｏ、および、オペレータが操作する監視制御装置であって画面上に表示用品や操作用品が設けられたヒューマンマシンインターフェース（ＨＭＩ）である。特許文献１には、ネットワークに接続されたデータ再生装置が開示されている。【０００３】
従来のデータ再生装置は、プラント監視制御システムの設計段階で、予めネットワーク上の１つの通信機器として設計される。そして、プログラマブルロジックコントローラは、プログラマブルロジックコントローラから入出力装置に送信されるプロセスデータや、入出力装置からプログラマブルロジックコントローラに送信されるプロセスデータを、従来のデータ再生装置が理解可能な専用データ形式に変換する。プログラマブルロジックコントローラは、データ再生装置を送信先アドレスに指定したパケットに、専用データ形式に変換されたプロセスデータを格納して送信する。従来のデータ再生装置は、このパケットを受信してプロセスデータを取得する。【０００４】
このように、従来のデータ再生装置は、専用データ形式が決められており、ＰＬＣや入出力装置からプロセスデータがブロードキャストで送信される場合であっても、ＰＬＣが専用データ形式に直してデータ再生装置へ別途送信する必要があった。【０００５】
そのため、従来のデータ再生装置では、データ再生装置が取得するプロセスデータを変更するためには、稼働中のプログラマブルロジックコントローラの通信プログラムを変更してデータ再生装置にデータを送信したり、稼働中のネットワークカード（オンボードを含む）の設定を変更したり、監視制御装置（ＨＭＩ）の設定やデータ送信処理を変更したりする必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】日本特開２０１３−２０６０６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、既存のプラント監視制御システムのリプレースに際して、既存システムの稼働状態を解析するために、ネットワークに新たなデータ再生装置を追加して、プラント監視制御システムのネットワークを流れる継時的変化のあるデータをプロセスデータとして取得したい場合がある。この場合、上述した従来のデータ再生装置では、プログラマブルロジックコントローラの通信プログラムを変更する必要がある。通信プログラムを変更するためには技術者が必要である。通信プログラムを反映するためにプラントの監視制御を一時的に停止させる必要もある。【０００８】
また、既にプログラマブルロジックコントローラの制御処理の負荷が高い場合には、データ再生装置用にプログラマブルロジックコントローラを追加で設置する必要がある。【０００９】
さらに、プログラマブルロジックコントローラの追加に伴ってネットワークカード（オンボードを含む）の設定変更が必要なため、設定データをネットワークのすべての機器に反映するためにネットワークの通信を一時的に停止させる必要がある。【００１０】
さらに、データ再生装置への通信量が増加することで、ネットワークの通信負荷が増大する場合は、ネットワークの伝送周期を遅くしたり、データ再生装置専用のネットワークを追加で設置したりする必要も生じる。【００１１】
さらに、監視制御装置（ＨＭＩ）からのプロセスデータの取得のため、監視制御装置（ＨＭＩ）の設定や、監視制御装置（ＨＭＩ）の通信処理を変更するために技術者が必要である。また、変更を反映するために監視制御装置（ＨＭＩ）を停止したり、全ての監視制御装置（ＨＭＩ）に設定と変更データを送付したりする必要がある。既に監視制御装置（ＨＭＩ）の制御処理の負荷が高い場合には、データ再生装置用に監視制御装置（ＨＭＩ）を追加で設置する必要がある。【００１２】
以上のように、従来のデータ再生装置を利用するためには、多くの労力と時間が必要であった。場合によっては追加設置費用が必要であった。時間や費用が確保できない場合は、データ再生装置を利用できず、プラントの監視制御の状態を直感的に把握することが困難であった。【００１３】
この発明は、上述のような課題を解決するためになされたもので、既存ネットワークにおいて稼働中のプログラマブルコントローラおよび入出力装置の設定を変更せずに、既存プラントのプロセスデータを解析できるデータ再生装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
この発明は、上記の目的を達成するため、稼働中のプログラマブルロジックコントローラと入出力装置との間でパケットが送受信される既存ネットワークに、新規に接続されるプラント監視制御システム用データ再生装置であって、
送信先アドレスおよび送信元アドレスを含み前記パケットのヘッダ部に格納されるアドレス情報と、前記パケットのデータ部に格納されるバイナリデータ配列を分解するための区切り位置を前記データ部の先頭アドレスからの相対アドレスで定めた複数のオフセット情報と、を関連付けた設定情報を記憶する設定情報記憶部と、
前記複数のオフセット情報のそれぞれについて、前記複数のオフセット情報の１つのオフセット情報と、前記アドレス情報と、前記１つのオフセット情報と前記アドレス情報との組み合わせに対してユニークな変数名と、前記変数名の意味を説明するコメントと、を関連付けたプロセスデータ定義情報を記憶するプロセスデータ定義情報記憶部と、
前記プロセスデータ定義情報に含まれる前記変数名や前記コメントを編集可能なプロセスデータ定義情報編集部と、
前記既存ネットワークに流れるパケットのうち、パケットのヘッダ部に格納された前記アドレス情報に前記プラント監視制御システム用データ再生装置が指定されていないパケットを取得し、前記取得したパケットのデータ部に格納された前記バイナリデータ配列を取得するプロセスデータ取得部と、
前記プロセスデータ取得部により取得された前記バイナリデータ配列を、前記設定情報に基づいて、前記入出力装置の入出力点の状態を示す複数のプロセスデータに分解し、前記複数のプロセスデータのそれぞれについて、前記複数のプロセスデータの１つのプロセスデータと、パケット受信時刻と、前記プロセスデータ定義情報とを関連付けて１つのプロセスデータ解析情報とするプロセスデータ解析部と、
前記プロセスデータ解析情報を記憶するプロセスデータ記憶部と、
前記プロセスデータ記憶部に記憶された複数のプロセスデータ解析情報から、指定された変数名に一致する情報を検索し、時系列データとして表示する表示部と、を備えることを特徴とする。
【発明の効果】
【００１５】
この発明によれば、既存ネットワークにおいて稼働中のプログラマブルコントローラおよび入出力装置の設定を変更せずに、既存プラントのプロセスデータを解析することができる。そのため、短期間かつ低コストでプラントの監視制御状態を視覚的に把握することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態１に係る既存のプラント監視制御システムおよびデータ再生装置の概念構成図である。
【図２】入出力装置が有するモジュールの一例を示す図である。
【図３】実施の形態１におけるパケットの伝送を示す図である。
【図４】パケット７の構成について説明するための図である。
【図５】アドレス情報に関連するモジュールのデータをツリー状に表現した図である。
【図６】入出力装置が有するモジュールの構成とプロセスデータの関係について説明するための図である。
【図７】本発明の実施の形態１に係るデータ再生装置１が実行するネットワーク探索部１３の処理ルーチンについて説明するためのフローチャートである。
【図８】データ再生装置１のハードウェア構成の一例を示す図である。
【図９】ユニキャストによるパケットの伝送を示す図である。
【図１０】本発明の実施の形態２に係る既存のプラント監視制御システムおよびデータ再生装置の概念構成図である。
【図１１】実施の形態２におけるパケットの伝送を示す図である。
【図１２】通信処理が最適化されたプラント監視制御システムについて、パケットの受渡しの一例を示す図である。
【図１３】本発明の実施の形態３に係る既存のプラント監視制御システムおよびデータ再生装置の概念構成図である。
【図１４】本発明の実施の形態３に係るデータ再生装置１が実行する処理ルーチンについて説明するためのフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００１８】
実施の形態１．
図１は、本発明の実施の形態１に係る既存のプラント監視制御システムおよびデータ再生装置の概念構成図である。
【００１９】
＜既存のプラント監視制御システム＞
既存のプラント監視制御システムは、プラントを制御するプログラマブルロジックコントローラ（以下、ＰＬＣ）２と入出力装置とが既存ネットワーク６を介して接続されて構成されている。
【００２０】
入出力装置は、Ｉ／Ｏ３およびヒューマンマシンインターフェース（以下、ＨＭＩ）４である。Ｉ／Ｏ３は、プラントを構成するハードウェア機器（センサ、アクチュエータ）に接続される。ＨＭＩ４は、オペレータが操作する監視制御画面を備えた監視制御装置である。監視制御画面には、表示用品や操作用品が配置される。表示用品は、例えばセンサの出力値を表示するソフトウェア部品である。操作用品は、例えばアクチュエータに指示値を与えるソフトウェア部品である。
【００２１】
図２は、入出力装置が有するモジュールの一例を示す図である。図２に示す入出力装置はＩ／Ｏ３である。Ｉ／Ｏ３は、入力モジュールＡ３１、入力モジュールＢ３２、出力モジュールＡ３３、出力モジュールＢ３４を備える。入力モジュールＡ３１および入力モジュールＢ３２は、例えば、プラント設備を監視する温度センサや速度センサ等のセンサである。出力モジュールＡ３３および出力モジュールＢ３４は、例えば、プラント設備を制御するバルブやモータ等のアクチュエータである。
【００２２】
本明細書では、入出力装置の一例としてＩ／Ｏ３について説明するが、入出力装置はＨＭＩ４でもよい。ＨＭＩ４において、入力モジュールは、センサの出力値を表示する表示用品である。出力モジュールは、オペレータの操作によりアクチュエータに指示値を出力する操作用品である。
【００２３】
既存ネットワーク６はハブ５を備える。ハブ５は複数のポートを備えるネットワーク集線装置である。ＰＬＣ２、Ｉ／Ｏ３、ＨＭＩ４は、それぞれハブ５の各ポートに接続される。
【００２４】
＜既存ネットワークを流れるパケット＞
上述のようなシステム構成において、既存ネットワーク６では、ＰＬＣ２と入出力装置（Ｉ／Ｏ３、ＨＭＩ４）との間でパケット（通信伝文）が送受信される。本明細書において、パケットとは、情報の伝送単位を意味し、特定のプロトコルに依存するものではない。
【００２５】
図３は、実施の形態１におけるパケットの伝送を示す図である。図３に示すように、ＰＬＣ２からＩ／Ｏ３やＨＭＩ４へ送信されるパケット７は、ハブ５を経由して伝達される。実施の形態１では、パケット７がハブ５に接続されるすべての機器にブロードキャストされるプロトコルが採用されている。または、ハブ５は、１つのポートに送信されたパケット７がすべてのポートに送信されるリピータハブである。そのため既存ネットワーク６に接続するデータ再生装置１にはパケット７が到達する。
【００２６】
図４は、パケット７の構成について説明するための図である。
図４の上図は、パケット７の基本構成を示す。パケット７は、ヘッダ部４１とデータ部４２を備える。ヘッダ部４１には、少なくともアドレス情報が格納される。アドレス情報は、送信元アドレス４３と送信先アドレス４４を含む。データ部４２には、入出力装置の入出力点の状態を示すプロセスデータを配列したバイナリデータ配列が格納される。
【００２７】
図４の中図は、図３に示す構成においてＩ／Ｏ３からＰＬＣ２へ送信されるパケット７の構成を示す。アドレス情報として、送信元アドレス４３にＩ／Ｏ３のアドレスが指定され、送信先アドレス４４にＰＬＣ２のアドレスが指定される。アドレス情報は、ネットワークがＥｔｈｅｒｎｅｔ（登録商標）の場合はＩＰアドレスとなる。
【００２８】
データ部４２には、入力モジュールＡ３１のデータ４５と、入力モジュールＢ３２のデータ４６が格納される。先頭アドレス５１は、データ４５の先頭アドレスである。先頭アドレス５２は、データ４６の先頭アドレスである。データサイズ６１は、データ４５のデータ長である。データサイズ６２は、データ４６のデータ長である。
【００２９】
図４の下図は、図４に示す構成においてＰＬＣ２からＩ／Ｏ３へ送信されるパケット７の構成を示す。アドレス情報として、送信元アドレス４３にＰＬＣ２のアドレスが指定され、送信先アドレス４４にＩ／Ｏ３のアドレスが指定される。アドレス情報は、ネットワークがＥｔｈｅｒｎｅｔ（登録商標）の場合はＩＰアドレスとなる。
【００３０】
データ部４２には、出力モジュールＡ３３のデータ４７と、出力モジュールＢ３４のデータ４８が格納される。先頭アドレス５３は、データ４７の先頭アドレスである。先頭アドレス５４は、データ４８の先頭アドレスである。データサイズ６３は、データ４７のデータ長である。データサイズ６４は、データ４８のデータ長である。
【００３１】
図５は、アドレス情報に関連するモジュールのデータをツリー状に表現した図である。
図５に示すように、アドレス情報は親ノード、モジュールのデータは子ノードとしてツリー状に表現できる。具体的には、送信元アドレス４３ａはＩ／Ｏ３のアドレスである。入力モジュールＡのデータ４５および入力モジュールＢのデータ４６は、送信元アドレス４３ａに関連付けられる。送信元アドレス４３ｂはＰＬＣ２のアドレスである。出力モジュールＡのデータ４７、出力モジュールＢのデータ４８は、送信元アドレス４３ｂに関連付けられる。
【００３２】
図６は、入出力装置が有するモジュールの構成とプロセスデータの関係について説明するための図である。入出力装置が有するモジュールは複数の入出力点（入力点と出力点）を有し、１つの入出力点の状態に１つのプロセスデータが対応する。また、図５について述べたように、各モジュールのデータはアドレス情報に関連付けられているため、図６の各入出力点もアドレス情報に関連付いている。
【００３３】
図６の上図は、出力モジュールＡが１６点のデジタル出力を有するモジュールである場合の一例を示す。出力モジュールＡのデータ４７は、各出力点におけるバイトアドレスオフセットは同じであるが、ビットアドレスオフセットは１ビットずつ異なるデータである。
【００３４】
図６の上図に示すように、出力モジュールＡのデータ４７は、１出力点毎のデータ（出力モジュールＡの第０番データ４７ａ、出力モジュールＡの第１番データ４７ｂ、・・・、出力モジュールＡの第１５番データ４７ｃ）に分けて表現できる。各データを区別するために変数名７１とコメント７２はそれぞれ他のデータと重複しない文字列とする。
【００３５】
図６の上図においてバイトアドレスオフセット７３は同じである。ここでは、出力モジュールＡのデータ４７の先頭アドレス５３が０であり、バイトアドレスオフセット７３も０である。ビットアドレスオフセット７４は各データで異なり、第０番データ４７ａのビットアドレスオフセット７４は０、第１番データ４７ｂのビットアドレスオフセット７４は１、第１５番データのビットアドレスオフセット７４は１５である。データ型７５はＢＯＯＬである。出力モジュールＡのデータサイズ６３は、第０番データ４７ａから第１５番データ４７ｃまでのアドレス長である。
【００３６】
図６の下図は、出力モジュールＢが４点のアナログ出力を有するモジュールである場合の一例を示す。出力モジュールＢのデータ４８は、各出力点におけるバイトアドレスオフセットが２バイトずつ異なり、ビットアドレスオフセットは０のデータである。
【００３７】
図６の下図に示すように、出力モジュールＢのデータ４８は、１出力点毎のデータ（出力モジュールＢの第０番データ４８ａ、出力モジュールＢの第１番データ４８ｂ、・・・、出力モジュールＢの第３番データ４８ｃ）に分けて表現できる。各データを区別するために変数名７１とコメント７２はそれぞれ他のデータと重複しない文字列とする。
【００３８】
図６の下図においてバイトアドレスオフセット７３は２バイト単位で異なる。ここで、出力モジュールＢのデータ４８の先頭アドレス５４が１０の場合、第０番データ４８ａのバイトアドレスオフセット７３は１０、第１番データ４８ｂのバイトアドレスオフセット７３は１２、第３番データ４８ｃのバイトアドレスオフセット７３は１６である。ビットアドレスオフセット７４はすべて０である。データ型７５はＩＮＴである。出力モジュールＢのデータサイズ６４は、第０番データ４８ａから第３番データ４８ｃまでのアドレス長である。
【００３９】
＜データ再生装置＞
図１に戻り、説明を続ける。データ再生装置１は、稼働中のＰＬＣ２と入出力装置との間でパケット７が送受信される既存ネットワーク６に、新規に接続されるプラント監視制御システム用データ再生装置である。
【００４０】
データ再生装置１は、設定情報記憶部１０、プロセスデータ定義情報記憶部１１、プロセスデータ定義情報編集部１２、ネットワーク探索部１３、プロセスデータ記憶部１６、表示部１７を備える。
【００４１】
設定情報記憶部１０は、フィルタと設定情報を予め記憶している。フィルタは、既存ネットワーク６を流れる特定のトラフィックをキャプチャするためのフォーマットを定義したものである。設定情報記憶部１０には、オペレータにより選択される複数のフィルタが定義されている。
【００４２】
設定情報は、少なくともアドレス情報と複数のオフセット情報とを関連付けた情報を含む。なお、設定情報は、入出力装置の各モジュールの構成、データ型を含んでもよい。アドレス情報は、上述したようにパケット７のヘッダ部４１に格納され、送信先アドレスおよび送信元アドレスを含む。
【００４３】
複数のオフセット情報は、パケット７のデータ部４２に格納されるバイナリデータ配列を分解するための区切り位置をデータ部４２の先頭アドレスからの相対アドレスで定めた情報である。オフセット情報は、例えば、図６に示す各出力点のデータ（例えば、第０番目データ４７ａ）におけるバイトアドレスオフセット７３とビットアドレスオフセット７４との組み合わせで定義される。オフセット情報によれば、バイナリデータ配列を何ビット毎または何バイト毎に分解し、分解した各要素（プロセスデータ）をどのデータ型として扱うべきか解釈することができる。
【００４４】
バイナリデータ配列は、入出力装置が有する入力モジュールの入力点の状態や出力モジュールの出力点の状態を示すプロセスデータを配列したものである。バイナリデータ配列は、例えば図４の下図のデータ部４２に格納されるプロセスデータ全体であり、出力モジュールＡのデータ４７や出力モジュールＢのデータ４８は、バイナリデータ配列の一部である。
【００４５】
パケット７の解析に必要となる設定情報は、ＰＬＣ２のエンジニアリングツールから取得される。具体的には、ＰＬＣ２のアドレス、入出力装置のアドレス（Ｉ／Ｏ３、ＨＭＩ４）、入出力装置の各モジュールの構成（入出力点）、バイトアドレスオフセット、ビットアドレスオフセット、およびデータ型である。これらは、ＰＬＣ２のプログラミングおよび入出力装置へのデータの送受信の設計に必要な情報であるため、必ずエンジニアリングツールに記述がある。エンジニアリングツールによっては、設定情報のエクスポート機能により取得できる場合もある。
【００４６】
プロセスデータ定義情報記憶部１１は、プロセスデータ定義情報を予め記憶している。プロセスデータ定義情報は、上述した複数のオフセット情報の１つのオフセット情報と、アドレス情報と、１つのオフセット情報とアドレス情報との組み合わせに対してユニークな変数名と、変数名の意味を説明するコメントと、を関連付けた情報である。すなわち、プロセスデータ定義情報は、図６に示すように、入出力装置が有するモジュールの入出力点毎に定義された情報であり、設定情報中のアドレス情報および１つのオフセット情報をキーとして特定される。図６に示す変数名７１として、ネットワーク名やバイトアドレスオフセットに基づいて重複しない名称が自動的に決定されてもよい。変数名７１としてエンジニアリングツールに記述されている変数名が用いられてもよい。コメント７２はエンジニアリングツールに記述されているコメントが用いられてもよく、手動で入力されてもよく、空欄でもよい。
【００４７】
また、プロセスデータ定義情報に含まれる変数名やコメントは、オペレータにより操作されるプロセスデータ定義情報編集部１２により編集可能である。
【００４８】
ネットワーク探索部１３は、プロセスデータ取得部１４とプロセスデータ解析部１５を備える。ネットワーク探索部１３は、設定情報記憶部１０から取得したフィルタおよび設定情報と、プロセスデータ定義情報記憶部１１から取得したプロセスデータ定義情報とを用いて、既存ネットワーク６を流れるパケット７からプロセスデータを取得し、プロセスデータを解析し、解析結果をプロセスデータ記憶部１６に蓄積する。
【００４９】
ネットワーク探索部１３は、既存ネットワーク６を流れるトラフィックのうち選択されたフィルタに一致するフォーマットのパケット７を捕獲する。
【００５０】
プロセスデータ取得部１４は、パケット７のヘッダ部に格納されたアドレス情報にデータ再生装置１が指定されていないパケットを取得する。換言すれば、プロセスデータ取得部１４は、パケット７のヘッダ部の送信先アドレス４４にＰＬＣ２または入出力装置（Ｉ／Ｏ３またはＨＭＩ４）が指定されたパケットを取得する。さらに、プロセスデータ取得部１４は、取得したパケット７のデータ部に格納されたバイナリデータ配列を取得する。上述したようにバイナリデータ配列は、入出力装置が有する入力モジュールの入力点の状態や出力モジュールの出力点の状態を示すプロセスデータを配列したものである。
【００５１】
プロセスデータ解析部１５は、プロセスデータ取得部１４により取得されたバイナリデータ配列を、設定情報に基づいて、入出力装置が有するモジュールの入出力点の状態を示す複数のプロセスデータに分解する。上述したように設定情報には、パケット７のヘッダ部に格納されたアドレス情報に関連付いた複数のオフセット情報が定義されている。複数のオフセット情報は、バイナリデータ配列を分解するための区切り位置を定めた情報であり、例えば、０バイトから１０バイトまでは１ビット単位で区切り、１０バイトから２０バイトまでは２バイト単位で区切るよう定義されている。区切られた各データがプロセスデータである。
【００５２】
さらに、プロセスデータ解析部１５は、複数のプロセスデータのそれぞれについて、複数のプロセスデータの１つのプロセスデータと、パケット受信時刻と、プロセスデータ定義情報とを関連付けて１つのプロセスデータ解析情報とする。すなわち、入出力装置が有するモジュールの入出力点の各時刻の状態を示すプロセスデータは、入出力点毎に定義されたプロセスデータ定義情報（図６）に関連付けられる。なお、プロセスデータ解析情報のキーとしてプロセスデータ定義情報の変数名７１（図６）が用いられる。
【００５３】
例えば、プロセスデータ解析部１５により抽出された複数のプロセスデータは、図５に示すように、アドレス情報に関連付けられたモジュールのデータとしてツリー状に並べられる。さらに、個々のプロセスデータは、図６に示すプロセスデータ定義情報リストのうち、アドレス情報、バイトアドレスオフセット７３、およびビットアドレスオフセット７４が一致するプロセスデータ定義情報に関連付けられる。
【００５４】
プロセスデータ記憶部１６は、プロセスデータ解析部１５が生成したプロセスデータ解析情報を記憶する。プロセスデータ記憶部１６に蓄積されたプロセスデータ解析情報に対して、変数名をキーとして各時刻のプロセスデータを取得することができる。
【００５５】
表示部１７は、プロセスデータ記憶部１６に記憶された複数のプロセスデータ解析情報から、指定された変数名に一致する情報を検索し、時系列データとして表示する。
プロセスデータ記憶部１６は、プロセスデータを変数単位（モジュールの入出力点単位）で蓄積しており、オペレータは、プロセスデータに付加された変数名やコメントから目的のプロセスデータを選択する。具体的には、オペレータが、後述する図８のキーボード２８やマウス２９を用いて、図５に示すツリー表示画面から１つのモジュールを選択すると図６に示すリストが表示される。リストから１つの行が選択されると、表示部１７は、選択された行の変数名に一致するプロセスデータ解析情報を検索する。検索結果は、各時刻のプロセスデータを表形式またはグラフ形式で、後述する図８のモニタ２７に表示される。グラフ形式の表示において、マウス２９を利用してグラフの表示時間幅や値のレンジ幅を変更することが可能である。
【００５６】
＜フローチャート＞
次にデータ再生装置１の動作について説明する。図７は、本発明の実施の形態１に係るデータ再生装置１が実行するネットワーク探索部１３の処理ルーチンについて説明するためのフローチャートである。
【００５７】
ステップＳ１００において、ネットワーク探索部１３は、設定情報記憶部１０からフィルタおよび設定情報を、プロセスデータ定義情報記憶部１１からプロセスデータ定義情報を読み込む。
【００５８】
ステップＳ１１０において、ネットワーク探索部１３は、選択されたフィルタに一致するフォーマットのパケット７を捕獲する。
【００５９】
ステップＳ１２０において、プロセスデータ取得部１４は、ステップＳ１１０で捕獲したパケット７のヘッダ部に格納された送信先アドレスがＰＬＣ２または入出力装置（Ｉ／Ｏ３、ＨＭＩ４）であるかを判定する。判定条件が成立する場合、次にステップＳ１３０の処理を実行する。判定条件が成立しない場合、ステップＳ１１０に戻り処理を継続する。
【００６０】
ステップＳ１３０において、プロセスデータ取得部１４は、パケット７のデータ部に格納されたバイナリデータ配列を取得する。
【００６１】
ステップＳ１４０において、プロセスデータ解析部１５は、ステップＳ１３０で取得したバイナリデータ配列を分解する。具体的には、設定情報のオフセット情報に従ってプロセスデータに分解する。プロセスデータ数をＮとし、インデックスｉに初期値０をセットする。
【００６２】
ステップＳ１５０において、プロセスデータ解析部１５は、第ｉ番目のプロセスデータとパケット受信時刻とプロセスデータ定義情報とを関連付けて、プロセスデータ解析情報を生成する。なお、プロセスデータ定義情報は、ステップＳ１１０において捕獲されたパケットのヘッダ部に格納されたアドレス情報と、ステップＳ１４０で用いた設定情報のオフセット情報とに基づいて特定される。
【００６３】
ステップＳ１６０において、ネットワーク探索部１３は、ステップＳ１５０において生成されたプロセスデータ解析情報をプロセスデータ記憶部１６に記憶させる。
【００６４】
ステップＳ１７０において、ネットワーク探索部１３は、インデックスｉに１を加算する。
【００６５】
ステップＳ１８０において、ネットワーク探索部１３は、インデックスｉがプロセスデータ数Ｎ以上であるかを判定する。判定条件が成立する場合は、パケット７のデータ部に格納されたすべてのプロセスデータの解析が完了したと判断できるため本ルーチンは終了される。一方、判定条件が成立しない場合は、ステップＳ１５０に戻り処理は継続される。
【００６６】
他のルーチンにおいて、表示部１７は、オペレータに選択された変数名で、プロセスデータ記憶部１６に蓄積されたプロセスデータ解析情報を検索する。表示部１７は、検索結果である各時刻のプロセスデータを表形式またはグラフ形式で、後述する図８のモニタ２７に表示させる。
【００６７】
＜効果＞
以上説明したように、本発明の実施の形態１のデータ再生装置１によれば、稼働中のＰＬＣ２のプログラムや入出力装置の設定を変更せずに、既存ネットワーク６においてブロードキャストで送信されている継時的変化のあったデータをプロセスデータとして取得できる。また、取得された各時刻のプロセスデータは、入出力装置が有するモジュールの入出力点と関連付けられ、表形式あるいはグラフ形式で表示することができる。
このため、データ再生装置１によれば、既存のプラント監視制御システムの通信負荷を増大させることなく、短期間かつ低コストでプラントの監視制御状態を視覚的かつ直感的に把握することができる。
【００６８】
＜データ再生装置１のハードウェア構成例＞
図８は、データ再生装置１のハードウェア構成の一例を示す図である。データ再生装置１は、プロセッサ２１、短期記憶装置としてのメモリ２２、ハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）等の長期記憶装置としてのストレージ２３、外部機器インターフェース部２４、およびネットワークインターフェース部２５、および内部バス２６を備える。プロセッサ２１、メモリ２２、ストレージ２３、外部機器インターフェース部２４、ネットワークインターフェース部２５は、内部バス２６を介して相互に接続している。
【００６９】
メモリ２２は、プロセッサ２１が各種プログラムを実行する際に、データを一時記憶したり展開等したりする演算エリア部として使用される。
【００７０】
ストレージ２３は、プログラム記憶部２３ａと、データ記憶部２３ｂとを有する。プログラム記憶部２３ａは、オペレーティングシステム（ＯＳ）や、ＯＳ上で実行される各種プログラムを格納する。データ記憶部２３ｂは、図１に示す設定情報記憶部１０、プロセスデータ定義情報記憶部１１、プロセスデータ記憶部１６として機能する。データ記憶部２３ｂは、フィルタ、設定情報、プロセスデータ定義情報を予め記憶し、ネットワークインターフェース部２５が受信したパケット７およびプロセスデータ解析部１５が生成したプロセスデータ解析情報を蓄積する。
【００７１】
なお、図８では、プログラム記憶部２３ａおよびデータ記憶部２３ｂは、１つのストレージ２３の中に設けられているが、プログラム記憶部２３ａとデータ記憶部２３ｂは、それぞれ別のストレージに設けられても良い。
【００７２】
プロセッサ２１は、ストレージ２３のプログラム記憶部２３ａに記憶された各種プログラムを実行することにより、図１に示すデータ再生装置１の各部として機能するものである。具体的には、プロセッサ２１は、プログラムを実行することにより、プロセスデータ定義情報編集部１２、ネットワーク探索部１３、プロセスデータ取得部１４、プロセスデータ解析部１５、および表示部１７として機能する。
【００７３】
外部機器インターフェース部２４は、モニタ２７、キーボード２８、マウス２９等の外部機器とデータ再生装置１とを接続するためのインターフェースである。
【００７４】
ネットワークインターフェース部２５は、既存ネットワーク６（ハブ５）とデータ再生装置１を接続するためのインターフェースである。パケット７は、ネットワークインターフェース部２５により受信される。
【００７５】
以上説明したデータ再生装置１のハードウェア構成例については、以下の実施の形態においても同様である。
【００７６】
実施の形態２．
次に、図９〜図１１を参照して本発明の実施の形態２について説明する。本実施形態では、図１０に示す構成においてネットワーク探索部１３に図７のルーチンを実行させる。
【００７７】
［実施の形態２における特徴的制御］
上述した実施の形態１は、プラント監視制御システムにおいて、図３に示すようにブロードキャストで送信されているパケットを対象としている。図９は、ユニキャストによるパケットの伝送を示す図である。ユニキャストでは、パケットは送信先アドレスに指定された機器にのみに送信され、他の機器には送信されない。図９に示す例では、ＰＬＣ２からＩ／Ｏ３へ送信されたパケット７は、データ再生装置１やＨＭＩ４には送信されない。実施の形態２は、プラント監視制御システムにおいて、ユニキャストで送信されているパケットを対象とする。
【００７８】
図１０は、本発明の実施の形態２に係る既存のプラント監視制御システムおよびデータ再生装置の概念構成図である。実施の形態２に係るデータ再生装置１は、実施の形態１と同様である。
【００７９】
図１０に示す既存のプラント監視制御システムは、ネットワーク集線装置であるハブ５が通常ポート８ａとミラーポート８ｂの両方を備える点を除き、図１に示す構成と同様である。ＰＬＣ２、Ｉ／Ｏ３、ＨＭＩ４は通常ポート８ａに接続され、データ再生装置１はミラーポート８ｂに接続される。
【００８０】
ミラーポート８ｂは、通常ポート８ａが送受信するデータをミラーリングする機能を備える。ミラーリングとは、ユニキャストのように特定の接続先に送信されたパケット７を、コピーしてミラーリング設定されたポートへ転写する機能である。一般にミラーリングは、ネットワークの異常診断時などに各機器間のパケットを確認するために利用されることが多い。
【００８１】
図１１は、実施の形態２におけるパケットの伝送を示す図である。図１１に示すように、ミラーリング設定されたミラーポート８ｂにデータ再生装置１を接続すると、ＰＬＣ２からＩ／Ｏ３へ送信されたパケット７は、Ｉ／Ｏ３へ送信されるとともにミラーポート８ｂからデータ再生装置１へも送信される。同様に、ＰＬＣ２からＨＭＩ４へ送信されたパケット７は、ＨＭＩ４へ送信されるとともにミラーポート８ｂからデータ再生装置１へも送信される。
【００８２】
データ再生装置１の構成は、実施の形態１と同様であり、ミラーポート８ｂを介して受信されたパケット７は、ネットワーク探索部１３で処理され、プロセスデータ解析情報はプロセスデータ記憶部１６に蓄積される（図７）。
【００８３】
＜効果＞
以上説明したように、実施の形態２によれば、ミラーリング設定可能なハブ５を利用することで、稼働中のＰＬＣ２のプログラムや入出力装置の設定を変更せずに、既存ネットワーク６においてユニキャストで送信されているプロセスデータを取得できる。また、取得された各時刻のプロセスデータは、入出力装置が有するモジュールの入出力点と関連付けられ、表形式あるいはグラフ形式で表示することができる。
このため、データ再生装置１によれば、既存のプラント監視制御システムの通信負荷を増大させることなく、短期間かつ低コストでプラントの監視制御状態を視覚的かつ直感的に把握することができる。
【００８４】
実施の形態３．
次に、図１２〜図１４を参照して本発明の実施の形態３について説明する。本実施形態では、図１３に示す構成においてネットワーク探索部１３に図１４のルーチンを実行させる。
【００８５】
実施の形態１および実施の形態２では、毎回送信されているパケットのヘッダ部に送信先アドレスを含むアドレス情報、データサイズ、データ型が含まれているためパケットの解析が可能であった。しかしながら、毎回送信するパケットに同じ内容のアドレス情報、データサイズ、データ型を含めることは送信データサイズが大きくなり、送信処理に時間がかかるため効率的な通信処理とはいえない。そのため、アドレス情報、データサイズ、データ型に関する情報は、通信開始時にＰＬＣと入出力装置とが相互に接続先確認処理を実行するときのみとし、接続先確認処理後は、パケットのヘッダ部はＩＤ化して短縮し、ＩＤとプロセスデータのみを送信することで通信処理を最適化することが好ましい。
【００８６】
そこで、実施の形態３では、このような通信の仕組みをもった既存ネットワーク６を流れるプロセスデータを、稼働中のＰＬＣ２のプログラムや入出力装置の設定を変更することなく取得することとした。
【００８７】
図１２は、通信処理が最適化されたプラント監視制御システムについて、パケットの受渡しの一例を示す図である。ＰＬＣ２からＩ／Ｏ３へプロセスデータをする前の接続先確認処理として、送信先確認用の通信処理８１および送信先確定用の通信処理８２が実行される。
【００８８】
最初に、送信先確認用の通信処理８１が実行される。送信先確認用の通信処理８１では、既存ネットワーク６に接続された機器が相互に通信先の機器を特定する。通信先条件に一致する機器のみが応答を返すことで機器の特定が行われる。通信先条件には、送信先の機器ＩＤおよび機器製造元ＩＤなどが用いられる。
【００８９】
次に、通信先条件が一致した機器に対して、送信先確定用の通信処理８２が実行される。送信先確定用の通信処理８２では、アドレス情報、データサイズ、データ型が送受信され、これらに紐付いたパケットの固有ＩＤが決定される。
【００９０】
接続先確認処理後は、データ入出力用の通信処理８３が実行される。データ入出力用の通信処理８３では、パケットの固有ＩＤをキーとしてプロセスデータが互いに送信される。具体的には、ＰＬＣ２および入出力装置は、パケットのヘッダ部に固有ＩＤを、データ部にバイナリデータ配列を格納して送受信する。実施の形態１で述べたように、バイナリデータ配列は、入出力装置が有する入力モジュールの入力点の状態や出力モジュールの出力点の状態を示すプロセスデータを配列したものである。
【００９１】
実施の形態３では、接続先確認処理のためのパケットの受信処理と、各種通信処理を分類し、通信処理に応じてデータの解析方法を変更して処理する条件分岐が実施の形態２に追加で必要となる。
【００９２】
図１３は、本発明の実施の形態３に係る既存のプラント監視制御システムおよびデータ再生装置の概念構成図である。図１３に示すデータ再生装置１は、ネットワーク探索部１３に接続先確認解析部１８が追加された点を除き、図１０に示す構成と同様である。すなわち、実施の形態２と同様にＰＬＣ２、Ｉ／Ｏ３、ＨＭＩ４は通常ポート８ａに接続され、データ再生装置１はミラーポート８ｂに接続される。そのため、ＰＬＣ２からＩ／Ｏ３へ送信されたパケット７は、Ｉ／Ｏ３へ送信されるとともにミラーポート８ｂからデータ再生装置１へも送信される。同様に、ＰＬＣ２からＨＭＩ４へ送信されたパケット７は、ＨＭＩ４へ送信されるとともにミラーポート８ｂからデータ再生装置１へも送信される。
【００９３】
接続先確認解析部１８は、ＰＬＣ２と入出力装置（Ｉ／Ｏ３、ＨＭＩ４）との接続先確認処理において決定される少なくともアドレス情報に関連付いた固有ＩＤを取得し、固有ＩＤを設定情報に関連付ける。実施の形態１で述べたように設定情報は、アドレス情報と複数のオフセット情報とを関連付けた情報であり、設定情報記憶部１０に記憶されている。接続先確認解析部１８は、固有ＩＤに関連付いたアドレス情報をキーに、このアドレス情報を含む設定情報を取得し、固有ＩＤと設定情報とを関連付ける。これにより、プロセスデータ解析部１５は、パケットに含まれる固有ＩＤから設定情報を参照してプロセスデータを解析できる。
【００９４】
＜フローチャート＞
図１４は、本発明の実施の形態３に係るデータ再生装置１が実行する処理ルーチンについて説明するためのフローチャートである。
【００９５】
ステップＳ２００において、初期化処理が実行される。パケットの固有ＩＤはＰＬＣ２の電源ＯＮ／ＯＦＦ時やネットワークケーブルの脱着時に通信初期化によって変更されるため、データ再生装置１でも初期化処理が実行される。
【００９６】
次に、ステップＳ２１０において、データ再生装置１は、送信先確認用の通信処理８１のデータを格納するエリアを確保するため、送信先確認用通信処理の事前準備を行う。データを格納するエリアは、データ記憶部２３ｂに用意される。
【００９７】
次に、ステップＳ２２０において、データ再生装置１は、送信先確定用の通信処理８２のデータを格納するエリアを確保するため、送信先確定用通信処理の事前準備を行う。データを格納するエリアは、データ記憶部２３ｂに用意される。
【００９８】
次に、ステップＳ２３０において、ネットワーク探索部１３は、送信先確認用のパケットあるいは送信先確定用のパケットのみを受信するようにフィルタを設定する。パケットのフォーマットを定めたフィルタは、設定情報記憶部１０に記憶されている。
【００９９】
次に、ステップＳ２４０において、ネットワーク探索部１３は、パケットを受信するまで待機する。
【０１００】
パケットを受信した場合、ステップＳ２５０において、ネットワーク探索部１３は、受信したパケットのフォーマットがフィルタに一致しているかを判定する。判定条件が成立する場合、次にステップＳ２６０の処理を実行する。一方、判定条件が成立しない場合、ステップＳ２４０に戻り処理を継続する。
【０１０１】
ステップＳ２６０において、ネットワーク探索部１３はパケットの分類処理を実行する。パケットを送信先確認用のパケットか送信先確定用のパケットかに分類される。送信先確認用のパケットは、送信先確認用の通信処理８１のデータを格納するエリアに格納される。送信先確定用のパケットは、送信先確定用の通信処理８２のデータを格納するエリアに格納される。
【０１０２】
ステップＳ２７０において、終了条件が成立したかを判定する。終了条件が成立するまでパケットの受信と分類処理が続けられる。終了条件は、開始から数十秒などの設定時間が経過した場合、もしくは、開始から受信したパケット数が数千〜数万など上限を超過した場合に成立する。この終了条件の判定処理が成立すると、実施の形態３のパケットの解析に必要な収集処理が完了する。
【０１０３】
ステップＳ２８０において、接続先確認解析部１８は、固有ＩＤと設定情報とを関連付ける。ステップＳ２６０において格納された送信先確定用の通信処理８２のデータには、アドレス情報、データサイズ、およびデータ型に紐付けられた固有ＩＤが含まれている。接続先確認解析部１８は、固有ＩＤと、固有ＩＤに関連するアドレス情報を含む設定情報とを関連付ける。その後、本ルーチンは終了される。
【０１０４】
その後、他のルーチンにおいて、ネットワーク探索部１３は、図１２のデータ入出力用の通信処理８３のパケットを受信する。パケットには固有ＩＤと、プロセスデータを配列したバイナリデータ配列とが格納されている。プロセスデータ解析部１５は、バイナリデータ配列を、固有ＩＤに関連付いた設定情報に基づいて、複数のプロセスデータに分解する。さらに、プロセスデータ解析部１５は、複数のプロセスデータのそれぞれについて、複数のプロセスデータの１つのプロセスデータと、パケット受信時刻と、前記プロセスデータ定義情報とを関連付けて１つのプロセスデータ解析情報とする。プロセスデータ解析情報はプロセスデータ記憶部１６に蓄積される。具体的には、図７のステップＳ１３０〜ステップＳ１８０と同等の処理が実行される。
【０１０５】
＜効果＞
本発明の実施の形態３によれば、通信処理が最適化されているプラント監視制御システムにおいて、稼働中のＰＬＣ２のプログラムや入出力装置の設定を変更せずに、既存ネットワーク６においてユニキャストで送信されているプロセスデータを取得できる。また、取得された各時刻のプロセスデータは、入出力装置が有するモジュールの入出力点と関連付けられ、表形式あるいはグラフ形式で表示することができる。
このため、データ再生装置１によれば、既存のプラント監視制御システムの通信負荷を増大させることなく、短期間かつ低コストでプラントの監視制御状態を視覚的かつ直感的に把握することができる。
【符号の説明】
【０１０６】
１  データ再生装置
２  プログラマブルロジックコントローラ（ＰＬＣ）
３  Ｉ／Ｏ
４  ヒューマンマシンインターフェース（ＨＭＩ）
５  ハブ
６  既存ネットワーク
７  パケット
８ａ  通常ポート
８ｂ  ミラーポート
１０  設定情報記憶部
１１  プロセスデータ定義情報記憶部
１２  プロセスデータ定義情報編集部
１３  ネットワーク探索部
１４  プロセスデータ取得部
１５  プロセスデータ解析部
１６  プロセスデータ記憶部
１７  表示部
１８  接続先確認解析部
２１  プロセッサ
２２  メモリ
２３  ストレージ
２３ａ  プログラム記憶部
２３ｂ  データ記憶部
２４  外部機器インターフェース部
２５  ネットワークインターフェース部
２６  内部バス
２７  モニタ
２８  キーボード
２９  マウス
３１、３２  入力モジュールＡ、入力モジュールＢ
３３、３４  出力モジュールＡ、出力モジュールＢ
４１  ヘッダ部
４２  データ部
４３、４３ａ、４３ｂ  送信元アドレス
４４  送信先アドレス
４５、４６  入力モジュールＡのデータ、入力モジュールＢのデータ
４７、４８  出力モジュールＡのデータ、出力モジュールＢのデータ
５１、５２、５３、５４  先頭アドレス
６１、６２、６３、６４  データサイズ
７１  変数名
７２  コメント
７３  バイトアドレスオフセット
７４  ビットアドレスオフセット
７５  データ型
８１  送信先確認用の通信処理
８２  送信先確定用の通信処理
８３  データ入出力用の通信処理
【図１】
2017168674.tif 000003
【図２】
2017168674.tif 000004
【図３】
2017168674.tif 000005
【図４】
2017168674.tif 000006
【図５】
2017168674.tif 000007
【図６】
2017168674.tif 000008
【図７】
2017168674.tif 000009
【図８】
2017168674.tif 000010
【図９】
2017168674.tif 000011
【図１０】
2017168674.tif 000012
【図１１】
2017168674.tif 000013
【図１２】
2017168674.tif 000014
【図１３】
2017168674.tif 000015
【図１４】
2017168674.tif 000016
【国際調査報告】
2017168674.tif 000017
2017168674.tif 000018