(57)【特許請求の範囲】
【請求項１】
シーケンサに通信回線経由で接続される、第１記憶部と、第２記憶部とを備えた設備運転状態データ取得装置であって、
前記シーケンサに接続された入力機器に割り当てられる複数のポートから得られる入力値の集合からなる通信フレームを前記通信回線経由で第１の単位容量で取得し、前記取得した通信フレームに、通信フレーム内におけるデータ圧縮処理と、通信フレーム間におけるデータ圧縮処理とを施して前記第１記憶部に保持する通信処理部と、
前記第１記憶部に保持されたデータ圧縮処理後の通信フレームを、前記第１の単位容量より小さい第２の単位容量で前記第２記憶部に転送するデータ転送制御部と、
を有することを特徴とする設備運転状態データ取得装置。
【請求項２】
前記通信処理部は、
前記入力機器に割り当てられる複数のポートから得られる入力値の集合からなる前記通信フレームを、前記入力値の変化の頻度に応じ、高速ポートと低速ポートとに分け、前記低速ポートからの入力値を分割して取り込み、前記フレーム内におけるデータ圧縮処理を行うことを特徴とする請求項１記載の設備運転状態データ取得装置。
【請求項３】
前記通信処理部により取得される通信フレームは、
前記ポートのうち、第１のポートから取得される第１の頻度で変化する第１の入力値（Ａ１、Ａ２、Ａ３）と、第２、第３のポートから取得される前記第１の頻度よりも低い第２の頻度で変化する第２、第３の入力値（Ｂ１、Ｂ２、Ｂ３およびＣ１、Ｃ２、Ｃ３）と、を含み、
前記通信処理部は、
第１の時刻で、第１の入力値（Ａ１）と第２の入力値（Ｂ１）とからなる第１の通信フレーム（Ｆ１）を取得し、第２の時刻で、第１の入力値（Ａ２）と第３の入力値（Ｃ２）とからなる第２の通信フレーム（Ｆ２）を取得し、第３の時刻で、第１の入力値（Ａ３）と第２の入力値（Ｂ３）とからなる第３の通信フレーム（Ｆ３）をそれぞれ取得して、前記通信フレーム内におけるデータ圧縮処理を施すことを特徴とする請求項２記載の設備運転状態データ取得装置。
【請求項４】
前記通信処理部は、
前記通信フレーム内における前記データ圧縮処理により、前記第１の入力値のそれぞれ（Ａ１、Ａ２、Ａ３）と前記第２、第３の入力値のそれぞれ（Ｂ１、Ｂ２、Ｂ３、およびＣ１、Ｃ２、Ｃ３）とからなる、それぞれの通信フレーム（Ｆ１、Ｆ２，Ｆ３）が取得される毎に、今回取得された通信フレームと、前回取得された通信フレームとを比較し、変化があった場合に、前記今回取得された通信フレームを前記第１記憶部に選択的に保持して、前記通信フレームに前記通信フレーム間におけるデータ圧縮処理を施すことを特徴とする請求項３記載の設備運転状態データ取得装置。
【請求項５】
前記第２記憶部に記録された通信フレームを、時刻情報にしたがいデータ圧縮処理前の前記入力値の集合に復元する復元処理部と、
前記復元処理部で復元した入力値に基づき、前記シーケンサに予めプログラムされた通りに出力値を決定して表示情報を生成し、画面に表示する動作再現処理部と、
を更に有することを特徴とする請求項１記載の設備運転状態データ取得装置。
【請求項６】
複数の入力機器と出力機器を含む設備がシーケンサに接続されて制御される、第１記憶部と、第２記憶部と、表示部とを備えた設備運転状態管理システムであって、
前記シーケンサに接続された入力機器に割り当てられる複数のポートから得られる入力値の集合からなる通信フレームを前記通信回線経由で第１の単位容量で取得し、前記取得した通信フレームに、通信フレーム内におけるデータ圧縮処理と、通信フレーム間におけるデータ圧縮処理とを施して前記第１記憶部に保持し、前記第１記憶部に保持されたデータ圧縮処理後の通信フレームを、前記第１の単位容量より小さい第２の単位容量で前記第２記憶部に転送する設備運転状態データ取得装置と、
前記第２記憶部に記録された通信フレームを、時刻情報にしたがいデータ圧縮処理前の前記入力値の集合に復元し、前記復元した入力値に基づき、前記シーケンサに予めプログラムされた通りに出力値を決定して表示情報を生成し、前記表示部に表示する動作再現装置と、
を有することを特徴とする設備運転状態管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力機器から入力ポートを介して入力値を取得し、予めプログラムされた条件で出力ポートをＯＮ／ＯＦＦして出力機器を制御するシーケンサに、通信回線経由で接続される、設備運転状態データ取得装置、およびこの設備運転状態データ取得装置により取得され記録される入力値の履歴に基づき、シーケンサの動作状態を制御プログラム上で再現する動作再現装置を設備システムに適用して設備の運転状態を管理する設備運転状態管理システムに関する。
【背景技術】
【０００２】
ＦＡ（Factory automation）の分野では、現場に設置された設備（以下、設備システムという）の制御のために、ＰＬＣ（Programmable Logic Controller）等のシーケンサが用いられる。ＰＬＣは、マイクロコンピュータとメモリを内蔵し、センサやスイッチ等の入力機器から得られる入力信号を入力ポートを介して取得し、予め制御プログラムにプログラムされた条件で出力ポートをＯＮ／ＯＦＦすることにより、出力ポートに接続される電磁弁、モータ、表示灯等の出力機器を自由に制御することができる。
【０００３】
上記した制御プログラムは、ＰＣ（Personal Computer）のアプリケーションソフトウエアを使用して作成され、ＵＳＢ（Universal Serial Bus）やＲＳ−２３２Ｃ等のシリアルインタフェースを介してＰＬＣに転送される。また、プログラム言語にはラダープログラムと称される専用の言語が使用される。ラダープログラムは、シーケンス図をベースとし、入力と出力との関係を視覚的にイメージしやすくなっている。
【０００４】
ところで、上記した制御プログラムは、制御機械を含む実際の設備に適用して検証する前にシミュレータと呼ばれる仮想テストマシンで予め動作確認を行うことが多い。このとき、オペレータは、対象とする設備システム毎に、入出力シミュレーション用の仮想動作モデルを作成する必要がある。また、タイミングチャートを作成して各回路部品間の動作タイミングを調べ、実際に制御機械の制御を繰り返し実行することによりシミュレーションを行うのが通例であった。このため、例えば、特許文献１に開示されているように、制御プログラムの動作時における履歴情報を保存し、その履歴情報を使用して制御プログラム上で動作をトレースすることにより、設備とはオフラインで動作確認を行うことができるデバッグ方法が提案されている。
【０００５】
上記した特許文献１に開示された技術によれば、シミュレーション時に、制御機械を何度も動作させる作業を現場で行う必要が無くなるため、制御機械と切り離したデータ上でデバッグ作業が簡単に行えるようになる。また、設備毎に仮想動作モデルを作成する必要が無くなり、その再現が容易になるため、オペレータに対する負担が軽減される。
【０００６】
しかしながら、汎用性を考え、シーケンサにＬＡＮ（Local Area Network）経由で接続されたＰＣやロガーで、収集した履歴情報に基づくシミュレーションを行う場合、特許文献１に開示された技術を適用しようとすれば、以下に説明する不都合が生じる。すなわち、高速通信により取得される通信フレームの単位容量（シーケンサからＰＣへ、例えば、１００Ｍｂｐｓ）が、ＰＣ内部でＵＳＢ接続された外部記録媒体へ転送するデータの単位容量（ＰＣから外部記録媒体へ、例えば、６４Ｍｂｐｓ）を超える。このため、一度に処理しきれないデータがＰＣ内部のメモリに蓄積され、この現象が積み重なると次第に使用可能なメモリ資源が枯渇してメモリリーク等が発生することがあり、その結果、シミュレータとしての機能を果たせなくなる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２４８５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の課題は、一度に処理しきれないデータがＰＣ内部のメモリに蓄積される現象を極力回避してメモリリークの発生を抑制し、シミュレーションを可能にした、設備運転状態データ取得装置および設備運転状態管理システムを提供することにある。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、シーケンサに通信回線経由で接続される、第１記憶部と、第２記憶部とを備えた設備運転状態データ取得装置であって、前記シーケンサに接続された入力機器に割り当てられる複数のポートから得られる入力値の集合からなる通信フレームを前記通信回線経由で第１の単位容量で取得し、前記取得した通信フレームに、通信フレーム内におけるデータ圧縮処理と、通信フレーム間におけるデータ圧縮処理とを施して前記第１記憶部に保持する通信処理部と、前記第１記憶部に保持されたデータ圧縮処理後の通信フレームを、前記第１の単位容量より小さい第２の単位容量で前記第２記憶部に転送するデータ転送制御部と、を有することを特徴とする。
請求項２に係る発明は、請求項１記載の設備運転状態データ取得装置において、前記通信処理部は、前記入力機器に割り当てられる複数のポートから得られる入力値の集合からなる前記通信フレームを、前記入力値の変化の頻度に応じ、高速ポートと低速ポートとに分け、前記低速ポートからの入力値を分割して取り込み、前記フレーム間におけるデータ圧縮処理を行うことを特徴とする。
【００１０】
請求項３に係る発明は、請求項２記載の設備運転状態データ取得装置において、前記通信処理部により取得される通信フレームは、前記ポートのうち、第１のポートから取得される第１の頻度で変化する第１の入力値（Ａ１、Ａ２、Ａ３）と、第２、第３のポートから取得される前記第１の頻度よりも低い第２の頻度で変化する第２、第３の入力値（Ｂ１、Ｂ２、Ｂ３およびＣ１、Ｃ２、Ｃ３）と、を含み、前記通信処理部は、第１の時刻で、第１の入力値（Ａ１）と第２の入力値（Ｂ１）とからなる第１の通信フレーム（Ｆ１）を取得し、第２の時刻で、第１の入力値（Ａ２）と第３の入力値（Ｃ２）とからなる第２の通信フレーム（Ｆ２）を取得し、第３の時刻で、第１の入力値（Ａ３）と第２の入力値（Ｂ３）とからなる第３の通信フレーム（Ｆ３）をそれぞれ取得して、前記通信フレーム内におけるデータ圧縮処理を施すことを特徴とする。
【００１１】
請求項４に係る発明は、請求項３記載の設備運転状態データ取得装置において、前記通信処理部は、前記通信フレーム内における前記データ圧縮処理により、前記第１の入力値のそれぞれ（Ａ１、Ａ２、Ａ３）と前記第２、第３の入力値のそれぞれ（Ｂ１、Ｂ２、Ｂ３、およびＣ１、Ｃ２、Ｃ３）とからなる、それぞれの通信フレーム（Ｆ１、Ｆ２，Ｆ３）が取得される毎に、今回取得された通信フレームと、前回取得された通信フレームとを比較し、変化があった場合に、前記今回取得された通信フレームを前記第１記憶部に選択的に保持して、前記通信フレームに前記通信フレーム間におけるデータ圧縮処理を施すことを特徴とする。
【００１２】
請求項５に係る発明は、請求項１記載の設備運転状態データ取得装置において、前記第２記憶部に記録された通信フレームを、時刻情報にしたがいデータ圧縮処理前の前記入力値の集合に復元する復元処理部と、前記復元処理部で復元した入力値に基づき、前記シーケンサに予めプログラムされた通りに出力値を決定して表示情報を生成し、画面に表示する動作再現処理部と、を更に有することを特徴とする。
【００１３】
請求項６に係る発明は、複数の入力機器と出力機器を含む設備がシーケンサに接続されて制御される、第１記憶部と、第２記憶部と、表示部とを備えた設備運転状態管理システムであって、前記シーケンサに接続された入力機器に割り当てられる複数のポートから得られる入力値の集合からなる通信フレームを前記通信回線経由で第１の単位容量で取得し、前記取得した通信フレームに、通信フレーム内におけるデータ圧縮処理と、通信フレーム間におけるデータ圧縮処理とを施して前記第１記憶部に保持し、前記第１記憶部に保持されたデータ圧縮処理後の通信フレームを、前記第１の単位容量より小さい第２の単位容量で前記第２記憶部に転送するデータ取得装置と、前記第２記憶部に記録された通信フレームを、時刻情報にしたがいデータ圧縮処理前の前記入力値の集合に復元し、前記復元した入力値に基づき、前記シーケンサに予めプログラムされた通りに出力値を決定して表示情報を生成し、前記表示部に表示する動作再現装置と、を有することを特徴とする。
【発明の効果】
【００１４】
請求項１に係る発明によれば、通信処理部は、第１の単位容量で通信回線を介して取得される入力値の集合からなる通信フレームに対し、通信フレーム内におけるデータ圧縮処理と通信フレーム間におけるデータ圧縮処理とを施して第１記憶部に保持し、データ転送部は、第１の記憶部から第２の記憶部へ、第１の単位容量よりも低い第２の単位容量で転送する。このため、一度に処理しきれないデータが内部のメモリに蓄積される現象を極力回避してメモリリークの発生を抑制し、高速通信により取得される通信フレームのデータ容量が、内部で処理可能なデータ容量より大きい場合でもシミュレーションを可能にすることができる。
請求項２に係る発明によれば、通信部は、入力機器に割り当てられる複数のポートから得られる入力値の集合からなる通信フレームを、入力値の変化の頻度に応じ、高速ポートと低速ポートとに分け、低速ポートからの入力値を分割して取り込み、フレーム間におけるデータ圧縮処理を行う。このため、一度に処理しきれないデータが内部のメモリに蓄積される現象を極力回避してメモリリークの発生を抑制することができる。
【００１５】
請求項３に係る発明によれば、通信処理部は、ポートに割り当てられる入力機器が持つ特質により、例えば、比較的遅い処理速度を有する第２のポートからの入力値を分割して取り込むことによって通信フレーム内におけるデータ圧縮処理を施す。このため、一度に取得する通信フレームのサイズが小さくなるため、データ取得に要する時間が短縮されると共に、比較的早い処理速度を有する第１のポートからの入力値の取りこぼしが無く、処理の安定化がはかれる。
【００１６】
請求項４に係る発明によれば、通信処理部は、通信フレーム内におけるデータ圧縮処理が施された後の通信フレームの内容に変化があった場合にのみ、今回取得された通信フレームを第１記憶部に保持することにより通信フレーム間におけるデータ圧縮処理を施す。このため、通信フレーム間におけるデータ圧縮処理のみを施し、記録する場合に比して更なるデータの圧縮効果が得られ、メモリ資源の有効活用が図れる。
【００１７】
請求項５に係る発明によれば、復元処理部は、記憶部に圧縮され記録された通信フレームを時刻情報にしたがい圧縮処理前の入力値の集合に復元し、動作再現処理部は、復元した入力値を用いて対応する時刻情報が示す時刻毎にシーケンサの動作状態をトレースして画面上に再現する。このため、通信フレーム内、及び通信フレーム間におけるデータ圧縮処理が施された入力値が時系列に記録された記憶録部を用いることにより、シーケンサ毎に仮想動作モデルを作成することを不要とし、かつ、シーケンサのプログラム上でその内容の再現が可能になるため、異常発生時の原因究明が容易になり、そのために要するオペレータの負担が軽減される。
【００１８】
請求項６に係る発明によれば、設備運転状態データ取得装置は、入力値の集合からなる通信フレームを複数取得し、取得したそれぞれの通信フレームに対して、通信フレーム内におけるデータ圧縮処理と通信フレーム間におけるデータ圧縮処理とを施して第１記憶部に記録する。また、動作再現装置は、記録された圧縮処理後の通信フレームを時刻情報にしたがい圧縮処理前の入力値の集合に復元し、設備の動作状態とは独立に、復元した入力値を用いて対応する時刻情報が示す時刻毎に、設備の動作状態をトレースして画面に表示する。このため、データ取得装置により、高速通信で取得される通信フレームのデータ容量が、内部で処理可能なデータ容量より大きい場合でもメモリリークの発生を抑制することができてシミュレーションを可能にし、かつ、動作再現装置により、オペレータの負担をより一層軽減でき、シミュレーションに際して設備システムを構成する制御機械を動かすことなく容易化することができる設備運転状態管理システムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態に係る設備運転状態管理システムの構成を示すブロック図である。
【図２】本発明の実施の形態に係るデータ取得装置の動作を示すフローチャートである。
【図３】本発明の実施の形態に係るデータ取得装置の動作を示すフローチャートである。
【図４】本発明の実施の形態に係る動作再現装置の動作を示すフローチャートである。
【図５】本発明の実施の形態に係る動作再現装置により生成される画面情報のイメージ図である。
【図６】本発明の実施の形態に係るデータ取得装置および動作再現装置の動作イメージの模式図である。
【発明を実施するための形態】
【００２０】
本発明の実施の形態（以下、本実施形態という）を添付図に基づいて以下に説明する。
【実施例】
【００２１】
（設備運転状態管理システムの構成）
図１は、本実施形態に係る設備運転状態管理システムの構成を示すブロック図である。図１に示されるように、本実施形態に係る設備運転状態管理システム１は、不図示の入出力機器を含む設備システム１０と、シーケンサ２０と、データ取得装置３０と、動作再現装置４０とにより構成される。
【００２２】
設備システム１０は、例えば、製造現場に設置される自動化システムであって、入出力機器の他に制御機械を含み、この制御機械は１以上のシーケンサ２０によりあらかじめ制御プログラムによりプログラムされた内容にしたがって制御される。シーケンサ２０は、制御機械の要所に配備されたセンサやスイッチ等の入力機器から得られる入力信号を入力ポートを介して取得し、予め内蔵された制御プログラムにプログラムされた条件にしたがい出力ポートをＯＮ／ＯＦＦする。このことにより、出力ポートに接続される、例えば、電磁弁、モータ、表示灯等の出力機器を自由に制御することができる。なお、図１では、入力ポートと出力ポートとは区別することなく、Ｉ／Ｏポート２００と総称して示している。
【００２３】
（設備運転状態データ取得装置の構成）
１以上のシーケンサ２０は、ＬＡＮ等の通信回線５０経由でデータ取得装置３０に接続される。データ取得装置３０は、シーケンサ２０のＩ／Ｏポート２００毎に、通信回線５０経由で入力値の集合からなる通信フレームを、例えば１００Ｍｂｐｓ（Mega bit per sec）で複数取得し、取得したそれぞれの通信フレームに対し、通信フレーム内におけるデータ圧縮処理と、通信フレーム間におけるデータ圧縮処理とを施して第１記憶部３３に時系列に保持する。このため、データ取得装置３０は、主制御部３１と、通信処理部３２と、第１記憶部３３と、パラメータ設定部３４と、データ転送制御部３５と、第２記憶部３６と、を含み構成される。これら構成ブロック３１〜３６は全てが、アドレス、データ、コントロールのためのラインが複数本で構成される内部バス３７に共通接続されている。データ取得装置３０は、例えば、ＰＣにより実現される。
【００２４】
通信処理部３２は、ＬＡＮとのインタフェースを司り、シーケンサ２０との間で、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）に準拠した手順で１００Ｍｂｐｓを単位容量として通信フレームの取得を行なう。ここで、通信フレームとは、Ｉ／Ｏポート２００を介して取得されるセンサやスイッチ等の入力機器の入力値の集合をいう。また、通信処理部３２は、取得した通信フレームに対して、通信フレーム内におけるデータ圧縮処理と、通信フレーム間におけるデータ圧縮処理の両方を施し、圧縮処理後の通信フレームを内部バス３７経由で第１記憶部３３へ保持する。
【００２５】
ここでいう「フレーム内圧縮処理」とは、通信フレームに割り当てられる入力ポート別の入力値に対して行われる空間圧縮処理のことをいい、「フレーム間圧縮処理」とは連続して到来する通信フレーム間の時間軸方向での時間圧縮処理のことをいう。
【００２６】
ところで、通信フレームのサイズが大きいと、データ取得装置３０がその通信フレームを取得する際の処理に時間を要する。このため、フレーム内圧縮処理では、入力値の変化の頻度が入力ポート毎に異なることを利用し、入力値の変化が激しい入力ポート（以下、高速ポートという）からの入力値を高速で取得し、それ以外の入力ポート（以下、低速ポートという）からの入力値を分割して取り込むことで、一度に取り込む入力値のサイズを減らしている。このことにより、取得処理を高速化すると共に処理を安定化している。
【００２７】
また、フレーム間圧縮処理では、今回取り込まれた通信フレームと、前回取り込まれた通信フレームとを比較し、変化があった場合に、今回取り込まれた通信フレームを第１記憶部に選択的に保持することにより、第１記憶部３３に記憶する通信フレームのサイズを圧縮して第１記憶部３３に実装されるメモリの有効活用をはかるものである。なお、第１記憶部３３とは、例えば、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等の半導体メモリが実装される主記憶装置の作業領域である。
【００２８】
パラメータ設定部３４は、フレーム内圧縮処理において、通信処理部３２が、低速ポートからの入力値を分割して取り込む際の、分割数、分割単位（サイズ）等のパラメータを設定するところである。これらパラメータは、デフォルト値として予め設定されていても良く、あるいは不図示の入力デバイスを使用して値を動的に設定してもよい。
【００２９】
データ転送制御部３５は、第１記憶部３３と第２記憶部３６との間のデータ転送を制御する。第１記憶部３３に保持された圧縮処理後の通信フレームを、例えば１００Ｍｂｐｓ（Mega bit per sec）の高速通信よりも遅い例えば６４Ｍｂｐｓで第２記憶部３６に転送する。この第２記憶部３６として、ＳＤ（登録商標）メモリカード等の可搬型記録媒体を想定している。ここでは、高速通信により取得される通信フレームのサイズが圧縮されるため、処理しきれないデータがＰＣ内部のメモリに蓄積されることはなく、したがって、メモリリークの発生を回避できる。
【００３０】
なお、主制御部３１は、データ取得装置３０が、シーケンサ２０のＩ／Ｏポート２００毎に、通信回線５０経由で入力値の集合からなる通信フレームを１００Ｍｂｐｓの単位容量で取得し、取り込んだそれぞれの通信フレームに対し、通信フレーム内におけるデータ圧縮処理と、通信フレーム間におけるデータ圧縮処理とを施して第１記憶部３３に保持するように、上記した通信処理部３２、第１記憶部３３、パラメータ設定部３４、データ転送制御部３５、第２記憶部３６のシーケンス制御を行う。
【００３１】
（動作再現装置の構成）
動作再現装置４０は、第２記憶部３６に転送され記録された通信フレームを、時刻情報にしたがいデータ圧縮処理前の入力値の集合に復元し、復元した入力値に基づき、シーケンサ２０に予めプログラムされた通りに出力値を決定して表示情報を生成し表示部４６に表示する。このため、動作再現装置４０は、主制御部４１と、復元処理部４２と、パラメータ設定部４３と、動作再現処理部４４と、描画・表示制御部４５と、表示部４６と、を含み構成される。これらブロック４１〜４５は、アドレス、データ、コントロールのためのラインが複数本で構成される内部バス４７に共通接続されている。
【００３２】
なお、動作再現装置４０が動作再現を行うにあたり、不図示のカードスロットに、図１に示す、圧縮後の通信フレームが記録された第２記憶部３６（ＳＤカード）が挿入され、内部バス４７に接続されるものとする。
【００３３】
復元処理部４２は、第２記憶部３６に記録された通信フレームを、時刻情報にしたがいデータ圧縮処理前の入力値の集合に復元して動作再現処理部４４へ出力する。なお、パラメータ設定部４３は、動作再現の範囲や動作再現の終了条件等を動作再現処理部４４に設定し、動作再現処理部４４による動作再現処理を制御する。動作再現処理部４４は、復元処理部４２で復元された入力値に基づき、シーケンサ２０（制御プログラム）に予めプログラムされた通りに出力値を決定し、生成される動作再現のための表示情報を描画・表示制御部４５に出力する。
【００３４】
描画・表示制御部４５は、動作再現処理部４４により生成される表示情報を内蔵の表示メモリに描画し、描画された表示情報を、表示部４６の表示タイミングに合わせて読み出して表示部４６に出力する。表示部４６は、ＬＣＤ（Liquid Crystal Display Device）やＯＬＥＤ（Organic Light Emitted Diode）等の表示デバイスで構成される表示モニタであり、描画・表示制御部４５から出力される表示タイミング信号に同期して表示メモリに描画された表示情報を表示する。
【００３５】
なお、主制御部４１は、動作再現装置４０が、第２記憶部３６に記録された通信フレームを、時刻情報にしたがいデータ圧縮処理前の入力値の集合に復元し、復元した入力値に基づき、シーケンサ２０に予めプログラムされた通りに出力値を決定して表示情報を生成して表示部４６に表示するように、上記した復元処理部４２、パラメータ設定部４３、動作再現処理部４４、描画・表示制御部４５のシーケンス制御を行う。
【００３６】
（データ取得装置の動作）
図２、図３は、本実施形態に係るデータ取得装置３０の動作を示すフローチャートである。以下、図２、図３のフローチャートを参照しながら、図１に示す本実施形態に係るデータ取得装置３０の動作について詳細に説明する。
【００３７】
主制御部３１では、まず、予め割り当てられる内蔵レジスタＸ、Ｙおよびｉの初期化を行う（図２のステップＳ１０１）。なお、レジスタＸ、Ｙには、後述するようにフレーム間圧縮処理を行うために、前回入力値、今回入力値がそれぞれ設定される。また、レジスタｉは、主制御部３１が、通信回線５０経由で取得する通信フレームの順番をカウントするために使用される。
【００３８】
次に、主制御部３１が通信処理部３２に制御を移すと、通信処理部３２は、シーケンサ２０から通信回線５０経由で通信フレームを順次取得する（ステップＳ１０２）。そして、一定の周期毎に（ステップＳ１０３“ＹＥＳ”）、通信フレームを構成する入力値を順次サンプリングして、フレーム内圧縮処理とフレーム間圧縮処理とを施す。
【００３９】
フレーム内圧縮処理を施すにあたり、通信処理部３２では、まず、入力値が高速ポートから到来した入力値であるか否かを判定する（ステップＳ１０４）。ここで、高速ポートから到来した入力値であれば（ステップＳ１０４“ＹＥＳ”）、その入力値は取り込まれ（ステップＳ１０５）、低速ポートからの入力値であれば（ステップＳ１０４“ＮＯ”）、その入力値は、パラメータ設定部３４により設定された分割数（ｎ）、および分割サイズ（ｓｚ）にしたがって分割される（ステップＳ１０６）。そして、通信処理部３２は、分割された低速ポートからの入力値と、先に取り込まれた高速ポートからの入力値とを組み合わせることにより、分割された通信フレームを都度組み立て、これを取り込む（ステップＳ１０７）。
【００４０】
上記したステップＳ１０４〜Ｓ１０７の処理は、パラメータ設定部３４により設定された分割数ｎだけ繰り返し実行され、都度、生成される分割フレームの取得が行われる。すなわち、分割前の通信フレームは、第１のポート（高速ポート）から取得される比較的高い頻度で変化する第１の入力値（Ａ１、Ａ２、Ａ３）と、第２、第３のポート（低速ポート）から取得される比較的低い頻度で変化する第２、第３の入力値（Ｂ１、Ｂ２、Ｂ３およびＣ１、Ｃ２、Ｃ３）と、を含む。そして、通信処理部３２は、第１の時刻（Ｔ１）で、第１の入力値（Ａ１）と第２の入力値（Ｂ１）と第３の入力値（Ｃ１）とからなる第１の通信フレーム（Ｆ１）を取得し、第２の時刻（Ｔ２）で、第１の入力値（Ａ２）と第３の入力値（Ｃ２）とからなる第２の通信フレーム（Ｆ２）を取得し、第３の時刻（Ｔ３）で、第１の入力値（Ａ３）と第２の入力値（Ｂ３）とからなる第３の通信フレーム（Ｆ３）をそれぞれ取得して、通信フレーム内におけるデータ圧縮処理を施す。
【００４１】
通信処理部３２は、上記の処理が分割数ｎに到達したタイミングで（ステップＳ１０８“ＹＥＳ”）、分割された低速ポートからの入力値のそれぞれを分割前の入力値に復元し、高速ポートからの入力値と組み合わせることによって分割前の通信フレームに並べ替えを行い、この内容を今回取得入力値としてレジスタＹに設定する（ステップＳ１０９）。
【００４２】
続いて、フレーム間圧縮処理を施すにあたり、通信処理部３２は、レジスタＸに設定された前回入力値と、レジスタＹに設定された今回入力値との比較を行う（ステップＳ１１０）。ここで、入力値に変化があった場合（ステップＳ１１０“ＹＥＳ”）、今回取り込まれた通信フレーム（レジスタＹの内容）をタイムスタンプＴＳ付きで第１記憶部３３に選択的に保持する（ステップＳ１１１）。一方、変化が無かった場合（ステップＳ１１０“ＮＯ”）、あるいはレジスタＹの内容を第１記憶部３３に保持した後、前回取り込まれた通信フレームの内容が保持されたレジスタＸの内容を、今回取り込まれた通信フレームが保持されるレジスタＹの内容に更新する（図３のステップＳ１１２）。
【００４３】
なお、上記したステップＳ１０２〜Ｓ１１２の処理は、通信フレームを取得する毎にレジスタｉを＋１更新して（ステップＳ１１３）、１回の通信で取得可能な単位容量分、繰り返し実行される。すなわち、通信処理部３２は、第１の入力値のそれぞれ（Ａ１、Ａ２、Ａ３）と、第２、第３の入力値のそれぞれ（Ｂ１、Ｂ２、Ｂ３、およびＣ１、Ｃ２、Ｃ３）とからなる、それぞれの通信フレーム（Ｆ１、Ｆ２，Ｆ３）が取得される毎に、今回取得された通信フレームＹと、前回取得された通信フレームＸとを比較し、変化があった場合に、今回取得された通信フレームＹを第１記憶部３３に選択的に保持することにより、取得した通信フレームに対して通信フレーム間におけるデータ圧縮処理を施す。
【００４４】
最後に、主制御部３１は、単位容量分の通信フレームの処理が終了したタイミングで（ステップＳ１１４“ＹＥＳ”）、データ転送制御部３５によるデータ転送処理を起動する。このとき、データ転送制御部３５は、第１記憶部３３に保持された圧縮後の通信フレームを、例えば、ＵＳＢ経由で第２記憶部３６に転送して記録する（ステップＳ１１５）。
【００４５】
上記したデータ取得動作について、図６に示す模式図を参照しながら補足説明する。図６（ａ）は、通信回線５０経由で都度取得される入力値の集合からなる複数の通信フレームを表形式で示した図である。また、図６（ｂ）は、それら複数の通信フレームのうち、第１記憶部３３に保持され、第２記憶部３６に転送される通信フレームを示す。ここでは、説明の簡単化のために、Ｉ／Ｏ＃１（第１のポート）が高速ポート、Ｉ／Ｏ＃２（第２のポート），Ｉ／Ｏ＃３（第３のポート）が低速ポートとしてそれぞれ割り当てられており、低速ポートから取得される入力値を２つ（ｎ＝２）に分割し、高速に第１記憶部３３に保持し、第２記憶部３６に転送する例について説明する。
【００４６】
図６（ａ）によれば、入力値として、時刻Ｔ１で、Ｉ／Ｏ＃１がＯＦＦ、Ｉ／Ｏ＃２がＯＦＦの通信フレームが、時刻Ｔ２で、Ｉ／Ｏ＃１がＯＦＦ、Ｉ／Ｏ＃３がＯＦＦの通信フレームがそれぞれ取得され、時刻Ｔ１と時刻Ｔ２とでＩ／Ｏ＃１〜Ｉ／Ｏ＃３の入力値の集合からなる通信フレームが取得されることになる。また、時刻Ｔ３で、Ｉ／Ｏ＃１がＯＦＦ、Ｉ／Ｏ＃２がＯＮの通信フレームが、時刻Ｔ４で、Ｉ／Ｏ＃１がＯＦＦ、Ｉ／Ｏ＃３がＯＦＦの通信フレームがそれぞれ取得され、時刻Ｔ３とＴ４とでＩ／Ｏ＃１〜Ｉ／Ｏ＃３の入力値の集合からなる通信フレームが取得されることになる。
【００４７】
また、時刻Ｔ５で、Ｉ／Ｏ＃１がＯＦＦ、Ｉ／Ｏ＃２がＯＮの通信フレームが、時刻Ｔ６で、Ｉ／Ｏ＃１がＯＦＦ、Ｉ／Ｏ＃３がＯＦＦの通信フレームがそれぞれ取得され、時刻Ｔ５とＴ６とでＩ／Ｏ＃１〜Ｉ／Ｏ＃３の入力値の集合からなる通信フレームが取得されることになる。また、時刻Ｔ７で、Ｉ／Ｏ＃１がＯＦＦ、Ｉ／Ｏ＃２がＯＮの通信フレームが、時刻Ｔ８で、Ｉ／Ｏ＃１がＯＦＦ、Ｉ／Ｏ＃３がＯＮの通信フレームがそれぞれ取得され、時刻Ｔ７とＴ８とでＩ／Ｏ＃１〜Ｉ／Ｏ＃３の入力値の集合からなる通信フレームが取得されることになる。
【００４８】
第１記憶部３３に通信フレームを保持するにあたり、通信処理部３２は、まず、Ｉ／Ｏ＃１〜Ｉ／Ｏ＃３の入力値の全てが最初に取り込まれた時刻Ｔ２における通信フレーム（ＯＦＦ、ＯＦＦ、ＯＦＦ）の内容を前回通信フレームとしてレジスタＸに設定する。次に、通信処理部３２は、Ｉ／Ｏ＃１〜Ｉ／Ｏ＃３の入力値の全てが取り込まれる時刻Ｔ４における通信フレーム（ＯＦＦ、ＯＮ、ＯＦＦ）を今回フレームとしてレジスタＹに設定し、先にレジスタＸに設定した通信フレーム（ＯＦＦ、ＯＦＦ、ＯＦＦ）と比較する。ここで、Ｉ／Ｏ＃２の入力値に変化が認められるため、通信処理部３２は、時刻Ｔ４で取得した通信フレーム（ＯＦＦ、ＯＮ、ＯＦＦ）を第１記憶部３３に保持する。
【００４９】
一方、時刻Ｔ６で取得された今回通信フレーム（ＯＦＦ、ＯＮ、ＯＦＦ）は、時刻Ｔ４で取得された前回通信フレーム（ＯＦＦ、ＯＮ、ＯＦＦ）との比較の結果、入力値の変化が認められないため、時刻Ｔ６での通信フレームの第１記憶部３３への保持は禁止される。また、続く、時刻Ｔ８で取得された今回通信フレーム（ＯＦＦ、ＯＮ、ＯＮ）は、時刻Ｔ４で取得された前回通信フレーム（ＯＦＦ、ＯＮ、ＯＦＦ）との比較の結果、入力値の変化が認められるため、通信処理部３２は、時刻Ｔ８で取得した通信フレーム（ＯＦＦ、ＯＮ、ＯＮ）を第１記憶部３３に保持する。
【００５０】
このように、取得した通信フレームの前回入力値と今回入力値の変化を検出し、変化発生時のみ、今回入力値からなる通信フレームを第１記憶部３３へ保持する動作を行うことにより、第１記憶部３３に保持される通信フレームの削減が可能になり、また、第１記憶部３３への通信フレームの書き込み回数が減ることでデータ処理にかかる時間の短縮もはかれる。更に、通信フレームの取得にあたり、高速ポートから入力値を取得するタイミングで低速ポートの入力値を分割して取得することで、高速に、かつ、高速ポートの入力値の取りこぼしを発生させることなく処理を安定化させることも可能になる。
【００５１】
以上説明のように本実施形態に係る設備運転状態データ取得装置３０によれば、通信処理部３２は、通信回線５０を介して第１の単位容量で取得される入力値の集合からなる通信フレームに対し、通信フレーム内におけるデータ圧縮処理と通信フレーム間におけるデータ圧縮処理とを施して第１記憶部３３に保持し、データ転送制御部３５は、第１記憶部３３から第２記憶部３６へ、第１の単位容量より遅い第２の単位容量で転送して記録する。このため、一度に処理しきれないデータが内部のメモリに蓄積される現象を極力回避してメモリリークの発生を抑制し、高速通信により取得される通信フレームのデータ容量が、内部で処理可能なデータ容量より大きい場合でもシミュレーションを可能にすることができる。
【００５２】
また、ポートに割り当てられる入力機器が持つ特質により、例えば、比較的遅い処理速度を有する第２ポートからの入力値を分割して取り込むことによって通信フレーム内におけるデータ圧縮処理を施す。このため、一度に取り込む通信フレームのサイズが小さくなるため、取得に要する時間が短縮され、比較的早い処理速度を有する第１ポートからの入力値の取りこぼしが無く、安定して取り込むことができる。更に、通信処理部３２は、通信フレーム内におけるデータ圧縮処理が施された後の通信フレームの内容に変化があった場合にのみ、今回取得された通信フレームを記憶部に記録することにより通信フレーム間におけるデータ圧縮処理を施す。このため、通信フレーム間におけるデータ圧縮処理のみを施し、記録していた従来のデータ取得装置に比べて更なる圧縮効果が得られ、メモリの有効活用が可能になる。
【００５３】
（動作再現装置の動作）
次に、図４のフローチャートを参照しながら動作再現装置４０の動作について説明する。まず、主制御部４１は、パラメータ設定部４３により設定され、取得される再現パラメータの有無を判定する（ステップＳ２０１）。ここで、再現パラメータが設定されていれば（ステップＳ２０１“ＹＥＳ”）、主制御部４１は、その再現範囲に相当するサイズの通信フレーム（入力値）を第２記憶部３６から読み出して復元処理部４２に引き渡す（ステップＳ２０２）。なお、再現パラメータが設定されていなければ（ステップＳ２０１“ＮＯ”）、設定入力を促すための画面を表示部４６に表示する（ステップＳ２０３）。
【００５４】
次に、復元処理部４２は、再現範囲の相当する入力値を復元する。入力値の復元の仕方については図６の模式図を参照しながら説明する。図６では、復元処理部４２が、例えば、時刻Ｔ１〜Ｔ８における入力値を復元するものとして説明する。このとき、復元処理部４２は、主制御部４１経由で第２記憶部３６から、時刻Ｔ２の入力値（ＯＦＦ、ＯＦＦ、ＯＦＦ）を、時刻Ｔ４の入力値（ＯＦＦ、ＯＮ、ＯＦＦ）を、時刻Ｔ８の入力値（ＯＦＦ、ＯＮ、ＯＮ）をそれぞれ取得している。
【００５５】
復元処理部４２は、時刻Ｔ２の入力値（ＯＦＦ、ＯＦＦ、ＯＦＦ）と、時刻Ｔ４の入力値（ＯＦＦ、ＯＮ、ＯＦＦ）と、時刻Ｔ８の入力値（ＯＦＦ、ＯＮ、ＯＮ）とに基づき、過去に遡って入力値の変化を時間軸上に復元して動作再現処理部４４に処理を引き渡す（ステップＳ２０４）。復元処理部４２は、具体的に、図６（ｃ）に示されるように、入力ポートＩ／Ｏ＃１では、Ｔ１〜Ｔ８迄ＯＦＦ、入力ポート＃２では、時刻Ｔ１〜Ｔ２までＯＦＦ、時刻Ｔ３以降ＯＮ、入力ポート＃３では、時刻Ｔ１〜Ｔ７までＯＦＦ、時刻Ｔ８でＯＮとなるように、入力ポートＩ／Ｏ＃１〜Ｉ／Ｏ＃ｎ毎に、時間軸ｔ上に入力値を復元する。すなわち、図６（ａ）に示す表形式で示す入力値が復元される。
【００５６】
動作再現処理部４４は、復元処理部４２から再現範囲に相当する入力値を取得すると、その履歴に基づき、シーケンサ２０（ラダープログラム）による設備の運転状態を追跡（トレース）して、都度、グラフィカルに再現するための表示情報を生成して、描画・表示制御部４５へ供給する（ステップＳ２０５）。描画・表示制御部４５は、動作再現処理部４４で生成される表示情報を不図示の表示メモリに描画し、表示部４６の表示タイミングに同期して読み出し、例えば、図５に示す画面イメージを表示する（ステップＳ２０６）。図５に画面イメージが例示されているように、動作再現処理部４４は、画面上に表示されるラダープログラムにおけるリレーシンボルの形状や色を変化させながら入出力機器の動作タイミングや変化等を表現することが可能である。
【００５７】
なお、動作再現処理部４４が第２記憶部３６に記録された入力値の履歴に基づき設備の動作状態を再現するにあたり、再現の範囲のみならず、特定の入出力機器に限定して再現することも可能である。また、再現の実行をステップ単位で段階的に、あるいは実行速度を可変設定することも可能である。このため、オペレータの負担を軽減しながらシミュレーションが可能であり、また、作成したプログラムデバッグへの応用も考えられる。
【００５８】
以上説明のように本実施形態に係る動作再現装置４０によれば、復元処理部４２は、記録部（第２記憶部３６）に圧縮され記録された通信フレームを時刻情報にしたがい圧縮処理前の入力値の集合に復元し、動作再現処理部４４は、復元した入力値を用いて対応する時刻情報が示す時刻毎にシーケンサ２０の動作状態を追跡して画面上に表示する。このため、通信フレーム内、及び通信フレーム間におけるデータ圧縮処理が施された入力値が時系列に記録されたメモリを用いることにより、シーケンサ毎に仮想動作モデルを作成することを不要とし、かつ、シーケンサのプログラム上でその内容の再現が可能になるため、異常発生時の原因究明が容易になり、シミュレーションやプログラムデバッグに要する作業者の負担が軽減される。
【００５９】
なお、本実施形態に係る設備運転状態管理システム１は、例えば、図１に示されように、複数の入力機器と出力機器を含む設備（設備システム１０）がシーケンサ２０に接続されて制御される、少なくとも第１記憶部３３と、第２記憶部３６と、表示部４６とを備えた設備運転状態管理システムに適用される。そして、シーケンサ２０に接続された入力機器に割り当てられるポート毎に、入力値の集合からなる通信フレームを通信回線５０経由で第１の通信速度で取得し、取得した通信フレームに対して、通信フレーム内におけるデータ圧縮処理と、通信フレーム間におけるデータ圧縮処理とを施し、第１記憶部３３に記録し、第１記憶部３３に記録された通信フレームを、第１の通信速度より遅い第２の通信速度で第２記憶部３６に記録するデータ取得装置３０と、第２記憶部３６に記録された通信フレームを、時刻情報にしたがいデータ圧縮処理前の入力値の集合に復元し、復元した入力値に基づき、シーケンサ３０に予めプログラムされた通りに出力値を決定して表示情報を生成し、表示部４６に表示する動作再現装置４０と、を有するものである。
【００６０】
本実施形態に係る設備運転状態管理システム１によれば、データ取得装置３０は、入力値の集合からなる通信フレームを複数取得し、取得したそれぞれの通信フレームに対して、通信フレーム内におけるデータ圧縮処理と通信フレーム間におけるデータ圧縮処理とを施して第１記憶部３３に記録する。また、動作再現装置４０は、記録された圧縮処理後の通信フレームを時刻情報にしたがい圧縮処理前の入力値の集合に復元し、設備の動作状態とは独立に、復元した入力値を用いて対応する時刻情報が示す時刻毎に、設備の動作状態をトレースして画面に表示する。このため、一度に処理しきれないデータが内部のメモリに蓄積される現象を極力回避してメモリリークの発生を抑制することができ、シミュレーションを可能にすることができる。また、動作再現装置４０により、シミュレーション時のオペレータの負担をより一層軽減でき、シミュレーションに際して設備システムを構成する制御機械を動かすことなく容易化することができる。
【００６１】
なお、本実施形態に係る設備運転状態管理システム１によれば、データ取得装置３０と、動作再現装置４０は、別体で構成されるものとして説明したが、処理能力が許せば一体であっても同じ効果が得られる。
【符号の説明】
【００６２】
１…設備運転状態管理システム、１０…設備システム、２０…シーケンサ、
３０…データ取得装置（３１…主制御部、３２…通信処理部、３３…第１記憶部、３４…パラメータ設定部、３５…データ転送制御部、３６…第２記憶部、３７…内部バス）、
４０…動作再現装置（４１…主制御部、４２…復元処理部、４３…パラメータ設定部、４４…動作再現処理部、４５…描画・表示制御部、４６…表示部、４７…内部バス）、５０…通信回線、２００…Ｉ／Ｏポート
【図１】
0005728261.tif 000002
【図２】
0005728261.tif 000003
【図３】
0005728261.tif 000004
【図４】
0005728261.tif 000005
【図５】
0005728261.tif 000006
【図６】
0005728261.tif 000007