(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】制御装置、表示制御方法および表示制御プログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20241001BHJP
【FI】
G05B23/02 301Q
(21)【出願番号】P 2021012323
(22)【出願日】2021-01-28
【審査請求日】2023-09-08
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大塚 英悟
(72)【発明者】
【氏名】井上 寛久
(72)【発明者】
【氏名】池谷 祥宏
【審査官】牧 初
(56)【参考文献】
【文献】特開2003-044132(JP,A)
【文献】特開平10-307622(JP,A)
【文献】特開2019-008434(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/00-23/02
G05B 19/418
G06Q 50/04
(57)【特許請求の範囲】
【請求項1】
プラントの制御に用いられる制御値または前記プラントの稼働状況を示すプロセス値を含む前記プラントに関する制御データを取得する取得部と、
取得された前記制御データの値に基づき前記制御データを表示するスケールの調整を実行し、調整された前記スケールを用いて、取得された前記制御データを時系列に表示する表示制御部と
を有し、
前記表示制御部は、
取得された前記制御データの最大値及び最小値を範囲内とするスケールと、前回取得された前記制御データの最大値及び最小値を範囲内とするスケールとの差分に基づいて前記スケールの調整を実行することを特徴とする制御装置。
【請求項2】
前記表示制御部は、
前記制御データが取得された場合に、所定期間内に取得された前記制御データの最大値および最小値を範囲内とする前記スケールの上限値と下限値を決定し、
決定された前記上限値と前記下限値を設定した前記スケールを用いて、取得された前記制御データを時系列に表示する
ことを特徴とする請求項1に記載の制御装置。
【請求項3】
前記表示制御部は、
所定期間内に取得された前記制御データの最大値及び最小値を範囲内とするスケールと、前回取得された前記制御データの最大値及び最小値を範囲内とするスケールとの差分が閾値未満の場合は、前記スケールの上限値と下限値とを前回値のまま維持すると決定し、前記差分が閾値以上の場合は、前記所定期間内に取得された前記制御データの最大値および最小値を範囲内とする前記スケールの上限値と下限値を決定し、
決定された前記上限値と前記下限値を設定した前記スケールを用いて、取得された前記制御データを時系列に表示する
ことを特徴とする請求項1または2に記載の制御装置。
【請求項4】
前記表示制御部は、
同一画面上で第1の制御データおよび第2の制御データを時系列で表示し、
前記同一画面上で前記第1の制御データが選択された場合は、前記第1の制御データを用いて決定された上限値と下限値とを用いたスケールの表示に切り替え、
前記同一画面上で前記第2の制御データが選択された場合は、前記第2の制御データを用いて決定された上限値と下限値とを用いたスケールの表示に切り替える
ことを特徴とする請求項1
又は2に記載の制御装置。
【請求項5】
前記取得部は、
前記プラントの制御に関する種別または制御内容が異なる複数の制御データを取得し、
前記表示制御部は
、
取得された前記複数の制御データの
うち、第1制御データについては最大値および最小値を範囲内とする前記スケールの上限値と下限値を決定し
、
決定された前記上限値と前記下限値を設定した共通のスケールを用いて
、前記複数の制御データそれぞれを時系列に表示し
、取得された前記複数の制御データ
のうち第2制御データについては、前記第2制御データに設定されている
スケールを用いて、
前記第2制御データを時系列に表示する、
ことを特徴とする請求項2に記載の制御装置。
【請求項6】
前記表示制御部は、
同一の上限値と下限値とが設定された同一スケールを用いた同一画面上に、複数の制御データそれぞれを時系列で表示し、
前記複数の制御データのうちいずれかの制御データが新たに取得された場合、前記同一スケールを維持した前記同一画面上で、新たに取得された制御データの時系列を更新する
ことを特徴とする請求項1に記載の制御装置。
【請求項7】
前記複数の制御データそれぞれについて、前記スケールの上限値と下限値の設定を受け付ける設定部をさらに有し、
前記表示制御部は、
前記複数の制御データそれぞれについて設定された前記スケールの上限値と下限値のうち最大値と最小値とを特定し、
特定された前記最大値を上限値、特定された前記最小値を下限値とする前記スケールを用いた前記同一画面上で、前記複数の制御データそれぞれを時系列で表示する
ことを特徴とする請求項6に記載の制御装置。
【請求項8】
コンピュータが、
プラントの制御に用いられる制御値または前記プラントの稼働状況を示すプロセス値を含む前記プラントに関する制御データを取得し、
取得された前記制御データの値に基づき前記制御データを表示するスケールの調整を実行し、調整された前記スケールを用いて、取得された前記制御データを時系列に表示
する、処理を実行し、
前記表示する処理は、
取得された前記制御データの最大値及び最小値を範囲内とするスケールと、前回取得された前記制御データの最大値及び最小値を範囲内とするスケールとの差分に基づいて前記スケールの調整を実行する、ことを特徴とする表示制御方法。
【請求項9】
コンピュータに、
プラントの制御に用いられる制御値または前記プラントの稼働状況を示すプロセス値を含む前記プラントに関する制御データを取得し、
取得された前記制御データの値に基づき前記制御データを表示するスケールの調整を実行し、調整された前記スケールを用いて、取得された前記制御データを時系列に表示
する、処理を実行させ、
前記表示する処理は、
取得された前記制御データの最大値及び最小値を範囲内とするスケールと、前回取得された前記制御データの最大値及び最小値を範囲内とするスケールとの差分に基づいて前記スケールの調整を実行する、ことを特徴とする表示制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、表示制御方法および表示制御プログラムに関する。
【背景技術】
【0002】
石油、石油化学、化学、ガスなどを用いた各種プラントの運転制御に関し、プラントから取得したデータを用いてプラント状態などを予測する計算を実行し、計算結果に基づいた制御値によりプラントを運転制御する制御装置が知られている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年では、プラントの状態をリアルタイムに監視して、運転制御を行う高度制御システムも知られている。高度制御システムは、温度、流量、圧力などのプロセス値を目標範囲に維持することが難しい生産工程において、プロセス値を目標範囲内に維持して最適値により近づけ、製品収率の向上やエネルギー使用の効率化を実現し、生産性向上に貢献する技術である。
【0005】
このような高度制御システムでは、制御装置の制御値により、プラントから取得されるプロセス値がどのように変化するかなどを監視することで、早期の異常検知や生産性向上の検討などが行われる。しかし、プラント内のプロセス値は、複数のプロセス値や複数の制御値と関連しており、複雑なプロセスの関連性を考慮して、効率よく監視することが難しい。
【0006】
本発明は、プラントを効率的に監視することを目的とする。
【課題を解決するための手段】
【0007】
一側面にかかる制御装置は、プラントの制御に用いられる制御値または前記プラントの稼働状況を示すプロセス値を含む前記プラントに関する制御データを取得する取得部と、取得された前記制御データの値に基づき前記制御データを表示するスケールの調整を実行し、調整された前記スケールを用いて、取得された前記制御データを時系列に表示する表示制御部とを有することを特徴とする。
【0008】
一側面にかかる表示制御方法は、コンピュータが、プラントの制御に用いられる制御値または前記プラントの稼働状況を示すプロセス値を含む前記プラントに関する制御データを取得し、取得された前記制御データの値に基づき前記制御データを表示するスケールの調整を実行し、調整された前記スケールを用いて、取得された前記制御データを時系列に表示する処理を実行することを特徴とする。
【0009】
一側面にかかる表示制御プログラムは、コンピュータに、プラントの制御に用いられる制御値または前記プラントの稼働状況を示すプロセス値を含む前記プラントに関する制御データを取得し、取得された前記制御データの値に基づき前記制御データを表示するスケールの調整を実行し、調整された前記スケールを用いて、取得された前記制御データを時系列に表示する処理を実行させることを特徴とする。
【発明の効果】
【0010】
一実施形態によれば、プラントを効率的に監視することができる。
【図面の簡単な説明】
【0011】
【
図1】実施形態にかかる制御システムの全体構成例を示す図である。
【
図7】プラント監視における障害解析を説明する図である。
【
図8】APCサーバの機能構成を示す機能ブロック図である。
【
図13】Auto Scaleの実行例を説明する図である。
【
図14】Auto Scaleの詳細を説明する図である。
【
図15】Auto Scaleの詳細を説明する図である。
【
図19】Common Scaleの実行を説明する図である。
【
図20】Auto Scale処理の流れを示すフローチャートである。
【
図21】段階的なAuto Scale処理の流れを示すフローチャートである。
【
図22】Common Scale処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下に、本願の開示する制御装置、表示制御方法および表示制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、同一の要素には同一の符号を付し、重複する説明は適宜省略し、各実施形態は、矛盾のない範囲内で適宜組み合わせることができる。
【0013】
[全体構成]
図1は、実施形態にかかる制御システムの全体構成例を示す図である。
図1に示す制御システムは、プラント1、各運転制御装置3、APCクライアント6、OPCサーバ7、OPCサーバ8、APCクライアント9、APCサーバ10を有し、プラント1の制御に用いられるプラント制御システムである。
【0014】
プラント1、各運転制御装置3、OPCサーバ7、OPCサーバ8のそれぞれは、ネットワークN1を用いて通信可能に接続される。OPCサーバ8とAPCクライアント9は、ネットワークN2およびネットワークN3を用いて、OPCサーバ7、OPCサーバ8、APCサーバ10のそれぞれと通信可能に接続される。APCサーバ10は、ネットワークN2を介してAPCクライアント6とOPCサーバ7とのそれぞれと接続され、ネットワークN2およびネットワークN3を介してOPCサーバ8とAPCクライアント9のぞれぞれと接続される。
【0015】
なお、ネットワークN1は、例えば専用に構築された制御バスを採用することができる。ネットワークN1で送受信されるデータは、プラント1に関するデータであり、後述するようにプラント1の制御等を行うためのデータも含む。制御には、リアルタイム制御が含まれ得る。この意味において、ネットワークN1におけるデータ伝達の欠落等の不具合を防ぐことは、極めて重要である。ネットワークN1は、例えば専用に構築された特殊なネットワークである。ネットワークN1は、信頼性向上等の観点から、二重化される。その場合、ネットワークN1は、2つの通信経路で同じデータを並列に送受信してよい。一方の通信経路に不具合等が発生しても、データの伝達(送受信)が維持される。そのようなネットワークN1の例としては、Vnet/IP(登録商標)を利用できる。ネットワークN2は、LAN(Local Area Network)を採用することができ、ネットワークN3には、インターネットなどの通信網を採用することができる。また、各ネットワークは、信頼性向上等の観点から二重化することもできる。
【0016】
プラント1は、石油、石油化学、化学、ガスなどを用いた各種プラントの一例であり、生成物を得るためのさまざまな施設を備える工場等を含む。生成物の例は、LNG(液化天然ガス)、樹脂(プラスチック、ナイロン等)、化学製品等である。施設の例は、工場施設、機械施設、生産施設、発電施設、貯蔵施設、石油、天然ガス等を採掘する井戸元における施設等である。
【0017】
プラント1内には、生成物を生成するための各種機器、プラント1内の状態に関する情報を取得する複数のフィールド機器2などが含まれる。
【0018】
各フィールド機器2は、プラント1のさまざまな場所に設定されるセンサなどの一例である。各フィールド機器2は、無線通信や有線等によって、運転制御装置3、APCクライアント6、OPCサーバ7などの各種装置と通信可能に接続される。
【0019】
図2は、フィールド機器の例を示す図である。この例では、フィールド機器2は、センサ機器、操作機器及び警報機器に大別(分類)される。センサ機器は、例えば物理量を取得(検出、測定等)する機器である。センサ機器の例は、圧力センサ、温度センサ、pHセンサ、速度センサ、加速度センサ等である。操作機器は、例えば物理量を操作する機器である。操作機器の例は、バルブ、ポンプ及びファン等であり、モータ及びアクチュエータ等によって駆動される。警報機器は、アラーム等の警報を発する機器である。警報機器の例は、ランプ及びスピーカ等である。なお、フィールド機器2の分類は
図2に示される例に限られず、例示しない他のさまざまな機器がフィールド機器2に含まれてよい。
【0020】
各運転制御装置3は、APCクライアント6、OPCサーバ7、プラント1内の各フィールド機器2などの他の装置と通信可能に接続され、プラント1の運転制御を実行する装置の一例である。具体的には、各運転制御装置3は、プラント1が所望の状態で稼働するように、プラント1の運転を制御する。例えば、各運転制御装置3は、対応するフィールド機器2からデータを取得したり、対応するフィールド機器2にデータを送信したりする。なお、運転制御装置3の数及び各運転制御装置3に対応するフィールド機器2の数は、任意に定められてよい。各運転制御装置3と各フィールド機器2とが1:1で対応していてもよい。また、各運転制御装置3は、プラント1内に配置されてもよい。また、運転制御装置3は、プラント1ごとに設置される1台の装置でもよく、特定の機能や制御ごとに複数台設置されてもよい。
【0021】
APCクライアント6およびAPCクライアント9は、プラントの状態等を監視する監視装置の一例である。例えば、APCクライアント6およびAPCクライアント9は、APCサーバ10のクライアント装置として動作し、APCサーバ10で表示される各種情報を表示して、プラント1の動作や各種プロセスの状況などを監視する。一例をあげると、APCクライアント6およびAPCクライアント9は、プラント1で発生したアラーム等に対応する情報を各クライアントのユーザ(オペレータ等)に提示したり、APCサーバ10の解析結果(アラームの予測等)に対応する情報を提示したりする。
【0022】
OPCサーバ7は、APCサーバ10とプラント1との通信を連携させる装置の一例である。例えば、OPCサーバ7は、APCサーバ10からプラント1へ送信される制御データを取得し、プラント1で使用される形式に変換して、プラント1内の運転制御装置3に送信する。その後、運転制御装置3が制御データを用いたプラント1の制御を実行する。また、OPCサーバ7は、フィールド機器2や運転制御装置3からプラント1に関する制御データを取得し、APCサーバ10で使用される形式に変換して、APCサーバ10に送信する。
【0023】
例えば、データの管理上またはセキュリティ向上のために、プラント1のデータフォーマットと、APCサーバ10などのデータフォーマットとを異ならせることがある。この場合、OPCサーバ7は、それらの間のデータのフォーマット変換及び受け渡し等を担う。例えば、ネットワークN1のデータフォーマットは、プラント1を運転制御する運転制御装置3の独自の規格に従ってよい。ネットワークN2のデータフォーマットは、APCサーバ10や各APCクライアントの規格、例えばOPC(Open Platform Communications)の規格に従ってよい。
【0024】
OPCサーバ8は、APCサーバ10から出力される制御データを蓄積し、OPCサーバ7を介してプラント1の制御データを取得して蓄積するデータベースサーバの一例である。このようにして取得された制御データは、障害原因の解析、運転制御の解析などに利用される。
【0025】
APCサーバ10は、プラント1の制御に用いられる制御値またはプラント1の稼働状況を示すプロセス値を含むプラントに関する制御データを用いて、プラント1の高度制御(APC:Advanced Process Control)を実行する制御装置の一例である。例えば、APCサーバ10は、OPCサーバ7によって収集された制御データを取得し、制御データを用いて、プラント1を制御するための計算値を算出し、OPCサーバ7を介してプラント1の制御を実行する。
【0026】
(制御データの説明)
ここで、
図1に示す制御システムで使用されるプラント1に関する制御データについて説明する。以下では、プラント1に関する制御データを、単に「データ」という場合もある。
図3は、制御データの例を示す図である。この例では、制御データは、プロセス値(プロセス変数)PV、設定値(設定変数)SV及び操作値(操作変数)MVに大別(分類)される。
【0027】
プロセス値PVは、プラント1におけるプロセスの状態を示すデータである。プロセス値PVは、例えば対応するフィールド機器2によって取得される。プロセス値PVの例は、圧力、温度、流量、pH値、速度及び加速度等である。
【0028】
操作値MVは、プラント1における操作を示すデータである。操作値MVは、例えば対応するフィールド機器2から取得される。また、操作値MVは、例えば運転制御装置3から対応するフィールド機器2に与えられる。与えられた操作値MVに従って、フィールド機器2が動作する。操作値MVの例は、バルブ操作量(例えばバルブ開度)、ポンプ操作量及びファン操作量等である。
【0029】
なお、データの分類は
図3に示される例に限られず、また、例示しない他のさまざまなデータが扱われてよい。例えば、制御データには、プラント1の外部からの影響を示す外乱値(外乱変数:DV)、プロセス値PVや操作値MVにより操作されるプラント1内の変数である制御値(制御変数:CV)なども含まれる。
【0030】
(制御データの流れ)
次に、制御システム100の動作について、主にデータの流れに沿って説明する。プラント1からのデータは、ネットワークN1を介して、OPCサーバ7及びAPCクライアント6に送信される。OPCサーバ7及びAPCクライアント6は、プラント1からのデータを、例えば周期的に取得して収集する。
【0031】
OPCサーバ7によって収集されたデータは、APCサーバ10によって読み出される。APCサーバ10は、データ(プロセス値PV等)と、シミュレーションや物理モデルやモデリングなどを用いて、プラント1を制御するための計算値を算出する。計算値の例は、設定値SV及び操作値MV等であり、APCサーバ10によってOPCサーバ7に書き込まれる。そして、OPCサーバ7に書き込まれた計算値が、プラント1の制御に反映される。この他に、APCサーバ10は、各APCクライアントによるプラント1の監視に供することのできる解析等(将来発生しうるアラームの予測等)を行い、解析結果を各APCクライアントに送信する。
【0032】
APCサーバ10によってOPCサーバ7から読み出されたデータの少なくとも一部のデータ(例えば上述の計算に用いられたデータ)は、APCサーバ10によってOPCサーバ7に書き込まれる。また、APCサーバ10によってOPCサーバ7に書き込まれたデータ(上述の計算値等)も、APCサーバ10によってOPCサーバ8に書き込まれる。OPCサーバ8は、書き込まれたデータを、例えば時系列データとして蓄積する。OPCサーバ8に蓄積されたデータは、APCサーバ10によって読み出される。読み出されたデータは、例えば過去にAPCサーバ10が行った計算結果のレビュー等に用いられる。
【0033】
APCサーバ10の計算値がOPCサーバ7に書き込まれると、OPCサーバ7は、書き込まれた計算値がプラント1の制御に反映されるように動作する。例えば、計算値が設定値SVの場合、OPCサーバ7は、設定値SVを運転制御装置3に送信する。運転制御装置3は、プロセス値PVを設定値SVに近づけるような操作値MVを計算し、対応するフィールド機器2に与える。計算値が操作値MVの場合、OPCサーバ7は、その操作値MVを、例えば運転制御装置3を介して、対応するフィールド機器2に与える。一連の処理が繰り返し実行されることにより、運転制御装置3のみでプラント1を制御する場合よりも、プラント1が高度に制御される。このような制御装置4によるプラント1の高度制御等とも称される。
【0034】
上記のAPCサーバ10によるプラント1の制御、とくに、OPCサーバ7及びOPCサーバ8それぞれに対するデータの読み書きを含む一連の処理を、「アプリケーション」または「プロセス」と称する。アプリケーションまたはプロセスは、目的とするプラント1の制御ごとに規定されてよい。例えば、プラント1の或る部分に関するプロセス値PVの制御を目的とするアプリケーションによる制御と、別の部分に関するプロセス値PVの制御を目的とするアプリケーションによる制御とが同時に行われてよい。なお、制御システム100のように、運転制御装置3による運転制御機能、APCサーバ10による高度制御機能、さらには各APCクライアントによる監視機能等が分散されて設けられたシステムは、分散制御システム(DCS:Distributed Control System)等とも称される。
【0035】
(監視モニタリングの改善点)
ところで、
図1に示す制御システムでは、例えば、プラント1に対して1つの制御(例えば制御値MV)を実行したときに、プラント1内で複数の制御値(制御変数:CV)が影響を受けることから、これらの関連するデータを時系列に把握または監視することで、プラント1の動作監視やAPCサーバ10の予測性能の精度監視を実現する。
【0036】
図4は、データ間の関係性を説明する図である。
図4では、プラント1内にあるプロセス装置の一例である蒸留塔に対する高度制御を図示する。
図4に示すように、フィールドへの加熱量を操作する操作変数MV「52X01」を蒸留塔へ投入した場合、塔頂温度(制御変数CV=52T01)、塔底温度(制御変数CV=52T02)、塔頂のロード流量(制御変数CV=52X02)、塔底のロード流量(制御変数CV=52X03)のそれぞれの出力値が変化する。つまり、プラント1に対する1つプロセスにおいて複数のデータが相互に関連している。
【0037】
このようなデータ間の関連性をまとめて監視するには、同じスケール(画面の上限値および下限値)を用いて、1つの画面上で複数のデータを時系列にトレンド表示して監視することが考えられる。しかし、関連データであっても、データ値の大きさやデータ値の変化などが類似しないことも多い。そのような場合には、監視画面で異常を検出することも難しく、早期の対応を行うことも難しい。
【0038】
ここで、
図5と
図6を用いて、データを時系列に表示して監視する例について説明する。
図5は、エラー表示例1を説明する図である。
図5では、互いに関連するデータA1とデータA2とを監視する例を説明する。上記例に当てはめると、データA1が塔頂温度(制御変数CV=52T01)、データA2が塔頂のロード流量(制御変数CV=52X02)などである。ここでは、一例として、データA1は時系列の変化が小さいデータであり、データA2は時系列の変化が大きいデータであるとする。
【0039】
図5に示すように、「14:05」、「14:09」、「14:11」頃にデータA2が大きく変化しているものの、データA1の変化は微小である。このような場合に、同じスケールの1画面で監視していると、データA2の変化値の最大値を表示することができない。つまり、適当に決定したスケールで監視することで、データA2の異常度合いを目視することができず、異常に相関があるのかないのかを判断することもできない。
【0040】
図6は、エラー表示例2を説明する図である。
図6では、互いに関連するデータB1とデータB2とを監視する例を説明する。上記例に当てはめると、データB1が操作変数MV、データB2が塔頂の塔頂温度(制御変数CV=52T01)などである。ここでは、一例として、データB1はAPCサーバ10によるあるデータの計算値(予測値)であり、データB2はあるデータの実測値とする。
【0041】
図6に示すように、「11:28」頃に実測値であるデータB2が大きく変化しているものの、予測値であるデータB1の変化は微小である。このような場合でも、同じスケールの1画面で監視していると、データB2の変化に追従してスケール調整を実行することができない。つまり、適当に決定したスケールで監視することで、データB2の異常度合いを目視することができず、予測値に異常があるのか、実測値に異常が発生したのかを判断することが難しい。
【0042】
これらの事象が発生した場合、オペレータが画面のスケールを手動で調整して異常度合いを把握することなどが行われる。しかし、プラント1で取得される各データは、一般的なユーザデータや通信データなどとは異なり、変化が大きいデータも変化が小さい繊細なデータも含まれることから、すべてのデータを1画面で表示するためのスケールを瞬時に判断して変更することが難しい。さらには、プラント1で取得される各データは、途切れることなく連続で取得されるデータであることから、ある一瞬で判断して変更したスケールが次の瞬間には再度変更する必要があることも多い。なお、
図5や
図6では、2つのデータのみを表示しているが、さらに多くのデータを同時に表示している場合には、スケール調整はより困難なものとなる。
【0043】
このように、オペレータ等は、異常が発生した場合にスケール調整が迅速に行えず、スケール調整により障害対策がかえって遅れることも懸念されることから、一般的には、蓄積されるデータを用いた解析を行う。
図7は、プラント監視における障害解析を説明する図である。
図7に示すように、監視している複数のデータそれぞれについてCSV(Comma Separated Value)ファイルに出力した上で、各CSVファイルを用いた障害解析が行われる。異常度合いに関わらず、このような解析方法を用いることは、オペレータ等の負担も増大し、関連するデータが多いほど解析時間も増大することから、有効的な手法とは言い難い。
【0044】
そこで、実施形態1では、複雑なプロセスの関連性を考慮して、効率よく監視する手法を説明する。具体的には、APCサーバ10は、プラント1の制御に用いられる制御値またはプラント1の稼働状況を示すプロセス値を含むプラント1に関する制御データを取得する。そして、APCサーバ10は、取得された制御データの値に基づき制御データを表示するスケールの調整を実行し、調整されたスケールを用いて、取得された制御データを時系列に表示する。
【0045】
つまり、APCサーバ10は、随時取得される監視対象の各データを同一画面上で表示する際に、各データの変化を自動で追従して適切なスケールに自動調整しつつ、各データを同一画面上に表示した監視画面を提供する。
【0046】
[機能構成]
次に、制御システムが有する各装置の機能構成について説明する。なお、各OPCサーバは、分散制御システムやAPCで利用されるOPCサーバと同様の構成を有し、各APCクライアントは、APCサーバ10と同様の構成とすることができるので、これらの詳細な説明は省略する。
【0047】
ここでは、分散制御システムやAPCで利用されるサーバとは異なる機能を有するAPCサーバ10について説明する。
図8は、APCサーバ10の機能構成を示す機能ブロック図である。
図8に示すように、APCサーバ10は、通信部11、出力部12、記憶部13、制御部20を有する。
【0048】
通信部11は、他の装置の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、OPCサーバ7やOPCサーバ8に計算値などのデータを送信し、OPCサーバ7からプラント1のデータなどを受信する。
【0049】
出力部12は、各種データを表示出力する処理部であり、例えばディスプレイやタッチパネルなどにより実現される。例えば、出力部12は、後述する制御部20によって生成される各種画面を表示出力する。また、出力部12は、各種画面を各APCクライアントに出力することもできる。
【0050】
記憶部13は、各種データや制御部20が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクにより実現される。例えば、記憶部13は、収集データDB14とスケール設定DB15を記憶する。なお、記憶部13は、アプリケーションの詳細、各データの詳細(データ名など)、および、アプリケーションとアプリケーションが制御対象とするデータとの対応付けなどを記憶する。
【0051】
収集データDB14は、OPCサーバ7から収集した各種データやAPCサーバ10が出力する各種データを記憶するデータベースである。例えば、収集データDB14は、プロセス値PV、設定値SV、操作値MV、外乱値DV、制御値CVなどを時系列で記憶する。
【0052】
スケール設定DB15は、後述するスケールの自動調整機能に関する設定情報を記憶するデータベースである。例えば、スケール設定DB15は、同じ画面で表示するデータの選択設定、Auto Scale機能の有効無効設定、Common Scale機能の有効無効設定などを記憶する。
【0053】
制御部20は、APCサーバ10全体を司る処理部であり、例えばプロセッサなどにより実現される。制御部20は、収集部21、設定変更部22、表示制御部23を有する。なお、収集部21、設定変更部22、表示制御部23は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
【0054】
この制御部20は、シミュレーション、物理モデルまたはモデリングなどを用いて、プラント1を制御するため制御を実行する。例えば、制御部20は、プラント1を制御するための計算値(設定値SV及び操作値MV等)を算出し、OPCサーバ7を介して、プラント1の制御を実行する。
【0055】
収集部21は、各種データを収集して収集データDB14に格納する処理部である。例えば、収集部21は、OPCサーバ7を介して、プラント1で実行されたプロセス値PV、設定値SV、操作値MVなどやプラント1で発生した制御値CVなどを収集する。また、収集部21は、制御部20が計算した計算値なども収集する。なお、収集するタイミングは、予め設定した間隔など任意に設定することができる。
【0056】
設定変更部22は、スケール設定DB15の各種設定変更を実行する処理部である。具体的には、設定変更部22は、オペレータ等のユーザ操作を受け付けて、各種設定変更を実行する。なお、設定変更部22の詳細は後述する。
【0057】
表示制御部23は、各種データを時系列に表示する監視画面を生成して、出力部12に表示出力する処理部である。具体的には、表示制御部23は、Auto Scale機能やCommon Scale機能などを実行して、スケールの自動調整をしつつ、監視対象のデータ(プロセス値PVなど)を表示する画面を生成して出力する。なお、表示制御部23の詳細は後述する。
【0058】
[表示設定の説明]
次に、
図9から
図12を用いて設定変更部22が実行する各種設定について説明する。
【0059】
(表示対象の設定)
図9は、監視対象の設定例を説明する図である。つまり、
図9は、監視画面に表示する表示対象のデータを設定する図である。
図9に示すように、設定変更部22は、ユーザ操作により設定画面100を表示する。設定画面100には、アプリケーション名(プロセス名)を選択する領域101、表示対象を選択する領域102および領域103が含まれる。
【0060】
そして、設定変更部22は、領域101において選択されたアプリケーションで制御されるデータを領域102および領域103に表示する。
図9の例では、設定変更部22は、領域101においてアプリケーション「AP1」が選択されると、アプリケーション「AP1」で制御対象となる、MV名の一覧を領域102に表示し、CV名を領域103に表示する。
【0061】
ここで、設定変更部22は、MV名として「Name、Description、Output」などを表示する。「Name」は、アプリケーションで制御対象となる操作変数の名称であり、「Description」は、操作変数の説明であり、「Output」は、操作変数の値である。同様に、設定変更部22は、CV名として「Name、Description、Current Value」などを表示する。「Name」は、アプリケーションで制御対象となる制御変数であり、「Description」は、制御変数の説明であり、「Current Value」は、制御変数の現在値である。
図9の例では、設定変更部22は、MV名として「AP1.SV、燃料量(設定値)、72.341」などを表示し、CV名として「AP1.01PV、フィード温度(実測値)、67.283」を表示する。
【0062】
さらに、設定変更部22は、
図4で説明した関連性があるデータを表示することもできる。例えば、設定変更部22は、ユーザから指示や
図9上でMV名の選択を受け付けると、
図10に示す画面を表示する。
【0063】
図10は、関連データの表示例を説明する図である。設定変更部22は、MV名「Name、Output、Act Mode」として「AP1.SV、72.341、Active」を表示するとともに、該当データの時系列データを表示する。なお、「Name」は、操作変数の名称であり、「Output」は、操作変数の値であり、「Act Mode」は、操作変数の状態(ActiveまたはInactive)である。また、時系列データは、操作変数の値を時系列に表示したデータである。
【0064】
また、設定変更部22は、
図10のMV名「AP1.SV」が選択されると、MV名「AP1.SV」と関連するCV名を表示する。例えば、設定変更部22は、CV名「Name、Output、Act Mode」として「AP1.01PV、67.283、Active」を表示するとともに、該当データの時系列データを表示する。なお、「Name」は、制御変数の名称であり、「Output」は、制御変数の値であり、「Act Mode」は、制御変数の状態(ActiveまたはInactive)である。また、時系列データは、制御変数の値を時系列に表示したデータである。
【0065】
このように、設定変更部22は、アプリケーション間の関係性やアプリケーションで制御されるデータ間の関係性などをあらかじめ設定しておくことで、それらを紐づけてユーザに提示することができる。この結果、ユーザは、複雑な関係性を視認しつつ、監視対象を設定したり、随時変更したりすることができ、設定の簡略化や設定ミスなどを防止することができる。なお、設定変更部22は、
図9や
図10で説明したデータに限定されるものではなく、各アプリケーションおよび各データについて同様に処理することができる。また、図示した設定画面に限定されるものではなく、設定画面の細分化、構成変更などは任意に実行することができる。
【0066】
(スケールの設定)
次に、
図11と
図12を用いてスケールの設定について説明する。
図11は、各スケールの設定例を説明する図であり、
図12は、各スケールの動作例を説明する図である。
【0067】
図11に示すように、設定変更部22は、ユーザにより選択されたデータを表示する際のスケールの設定画面を出力する。設定変更部22は、設定画面上で「下限値、上限値、Auto Scale、Common Scale」の設定を受け付ける。「下限値」は、データを時系列で表示する画面の表示スケールの下限値であり、「上限値」は、データを時系列で表示する画面の表示スケールの下限値である。すなわち、上限値と下限値は、トレンドの表示画面のスケールを設定する情報である。「Auto Scale、Common Scale」は、チェックボックス形式で選択可能に表示され、有効にする場合にはチェックが入力される。Auto ScaleとCommon Scaleは、排他制御される必要はなく、両方有効にすることもできる。なお、本実施形態においては、データを時系列で表示する画面を、表示画面、監視画面またはトレンド画面などと記載することがある。なお、これらの画面の縦軸はデータの値であり、横軸は時間である。
【0068】
ここで、各スケールについて詳細に説明する。
図12に示すように、「Auto Scale」は、トレンドの上下限値の自動調整を行う機能である。したがって、「Auto Scale」では、
図11に示した「下限値、上限値」に関係なく、自動でスケール調整が実行される。「Common Scale」は、2つ以上のデータのトレンド表示において上下限を共有する機能である。したがって、「Common Scale」では、
図11に示した「下限値、上限値」に基づき自動でスケール調整が実行される。また、「Auto Scale+Common Scale」は、両方の機能を有効にした機能であり、
図11に示した「下限値、上限値」に関係なくトレンドの上下限値の自動調整を行いつつ、複数のデータ間でそのスケールを共有する。
【0069】
[表示制御の具体例]
次に、上述したAuto ScaleとCommon Scaleの具体的な処理について説明する。
【0070】
(Auto Scale)
まず、
図13から
図15を用いて、Auto Scaleについて説明する。
図13は、Auto Scaleの実行例を説明する図であり、
図14と
図15は、Auto Scaleの詳細を説明する図である。
【0071】
図13に示すように、表示制御部23が、データB1とデータB2とを随時取得して、同じ画面200上で、時系列で表示(トレンド表示)しており、この状態で、異常に上昇した新たなデータB2が取得された例で説明する。Auto Scaleが有効ではない場合、表示制御部23は、通常通り、時系列で表示を行うので、データB2の値を表示することができない。一方、Auto Scaleが有効である場合、表示制御部23は、データB2に関してスケールを自動調整した上で時系列の表示を行うので、データB2の値を表示することができる。
【0072】
ここで、Auto Scaleのスケール調整について具体的に説明する。表示制御部23は、画面200で表示されている期間のデータの最大値と最小値を用いてスケール(上限値、下限値)を決定し、自動でスケールを変更する。例えば、
図14に示すように、表示制御部23は、画面200上でデータB2が表示されている「11:16から11:29」の範囲に属するデータB2の最大値と最小値を取得し、最大値にマージン(+α)を加えた上限値と最小値にマージン(α)を減算した下限値とを設定したスケールに自動で切り替える。なお、マージンの値(α値)は、任意に設定することができる。
【0073】
また、表示制御部23は、任意の区間についてのみAuto Scaleを実行することもできる。例えば、
図15に示すように、表示制御部23は、画面200上のうち「11:28」から現在時刻(11:38)までの「区間X」についてAuto Scaleを有効にした場合、区間Xについては
図14に示したスケールの自動調整を実行し、現在時刻以降に新たに取得するデータについてもAuto Scaleを実行する。一方で、表示制御部23は、Auto Scaleが無効である「11:28」以前の区間Yについて、Auto Scaleが有効である区間Xのスケールに関係なく、区間Yで設定されていたスケールを維持して表示を実行する。
【0074】
なお、表示制御部23がAuto Scaleの区間設定を受け付ける手法は、ポインタなどを用い設定により受け付けることもでき、手入力により有効にする時間幅を受け付けることもでき、画面200上で現在時刻を示す表示バーを移動操作することで有効範囲を受け付けることもできる。
【0075】
(段階的なAuto Scale)
ところで、プラント1では、障害や異常により、表示対象のデータが一定期間、小さな変化を繰り返することがある。このような状態で、表示制御部23がデータを取得するたびにAuto Scaleを実行すると、スケールが頻繁に変更されるので、オペレータ等のユーザにとっては却って異常状態の把握が困難になることも考えられる。
【0076】
そこで、実施形態1で説明するAPCサーバ10は、このような場合であっても、段階的なAuto Scaleを実行することにより、ユーザの視認性を向上させることができる。具体的には、表示制御部23は、最新のデータの値が現在のスケールの中央値以上の場合、最新のデータの値と現在のスケールの上限値との差分1を算出する。そして、表示制御部23は、差分1が閾値以上である場合は現在のスケールで表示可能と判断し、Auto Scaleの実行を抑制する。一方、表示制御部23は、差分1が閾値未満である場合は現在のスケールの変更が必要と判断し、Auto Scaleを実行する。
【0077】
同様に、表示制御部23は、最新のデータの値が現在のスケールの中央値未満の場合、最新のデータの値と現在のスケールの下限値との差分2を算出する。そして、表示制御部23は、差分2が閾値以上である場合は現在のスケールで表示可能と判断してAuto Scaleの実行を抑制し、差分2が閾値未満である場合は現在のスケールの変更が必要と判断してAuto Scaleを実行する。
【0078】
なお、段階的なAuto Scaleは上記手法に限定されるものではない。例えば、表示制御部23は、常にAuto Scaleを実行してスケールを計算し、新たなスケール(上限値または下限値)と現在表示されているスケール(上限値または下限値)との差分が閾値以上となった場合に、新たなスケールに変更し、差分が閾値未満の場合が現在のスケールを維持することもできる。
【0079】
(Common Scale)
次に、
図16から
図19を用いて、Common Scaleについて説明する。
図16、
図17、
図18は、一般的なスケールを説明する図であり、
図19は、Common Scaleの実行を説明する図である。
【0080】
ここでは、1つの画面200に3つのデータC1、C2、C3を表示している例で説明する。この場合、表示制御部23は、1つの画面200上で各データに合わせたスケールのトレンド表示を実行する。このため、ユーザは、各データの値や遷移を把握するためには、各データを選択(クリック)して各データのスケールに切り替える必要である。
【0081】
具体的には、
図16に示すように、表示制御部23は、データC1が選択されると、データC1に対して設定されたスケール(上限値=93、下限値=63)の表示に切り替える。また、
図17に示すように、表示制御部23は、データC2が選択されると、データC2に対して設定されたスケール(上限値=89、下限値=59)の表示に切り替える。また、
図18に示すように、表示制御部23は、データC3が選択されると、データC3に対して設定されたスケール(上限値=75.39、下限値=67.89)の表示に切り替える。
【0082】
このように、個々のスケールが異なる状態で、複数のデータを1画面で監視する場合、それぞれのデータの値が異なるものの同じ画面上に表示されるので、データの値の誤認識が発生する可能性がる。例えば、データC3よりもデータC1の方が大きい値であるにも関わらず、データC3よりも下に位置に表示されることがある。この場合、ユーザは、正確な値を確認するために、それぞれのデータを選択してスケールを参照する必要があり、利便性が低下する。
【0083】
そこで、実施形態1で説明するAPCサーバ10は、Common Scaleの機能により、表示対象である複数のデータを、共通のスケールで表示することができる。具体的には、
図19に示すように、設定変更部22は、
図11で説明した設定画面を表示して、データC1、C2、C2のそれぞれについて「Common Scale」の有効設定を受け付け、それぞれについて「上限値、下限値」の設定を受け付ける。設定受付後、表示制御部23は、各下限値のうち最小の下限値と、各上限値のうち最大の上限値を選択し、これらを設定した共通のスケールで、データC1、C2、C3の時系列表示を実行する。
図19の例では、表示制御部23は、データC3に設定された「下限値=65」とデータC1に設定された「上限値=93」を採用したスケールで表示する。すなわち、表示制御部23は、各データに対して設定された個別の上限値および下限値を含む最小の表示範囲をスケールに設定して表示を実行する。
【0084】
なお、Auto Scaleが有効のデータと無効のデータとを混在して表示させることもできる。例えば、表示制御部23は、データC1とC3についてAuto Scaleが有効、データC2についてAuto Scaleが無効に設定されている場合、データC1とC3については上記手法により共通のスケールで表示し、データC2については設定されている個別のスケールで表示する。このようにすることで、関連性の高いデータを表示させつつ、変化が類似するデータのみを共通スケールで閲覧可能に表示することができる。
【0085】
なお、Auto ScaleとCommon Scaleは、同時に制御することができる。この場合、表示制御部23は、Common Scaleにおけるスケールを設定値ではなく、各データについて
図14の手法によりスケールを算出し、算出された各スケールの最大値と最小値を採用したスケールを用いて表示する。また、Common Scaleについても、
図15で説明した指定範囲のみを有効として表示制御することができる。
【0086】
[処理の流れ]
次に、
図20から
図22を用いて、Auto Scale、段階的なAuto Scale、Common Scaleの各処理の流れについて説明する。なお、各設定は、すでに有効に設定されているものとする。
【0087】
(Auto Scale処理の流れ)
図20は、Auto Scale処理の流れを示すフローチャートである。
図20に示すように、表示制御部23は、収集部21により新たなデータが収集されると(S101:Yes)、ユーザにより指定された指定区間であって新たなデータを含む各データから最大値と最小値を収集データDB14から取得する(S102)。
【0088】
続いて、表示制御部23は、最大値にマージンを加味した上限値を算出し(S103)、最小値にマージンを加味した下限値を算出する(S104)。そして、表示制御部23は、指定区間のトレンドのスケールを、算出された上限値と下限値に変更して、データ表示を実行する(S105)。
【0089】
(段階的なAuto Scale処理の流れ)
図21は、段階的なAuto Scale処理の流れを示すフローチャートである。
図21に示すように、表示制御部23は、収集部21により新たなデータが収集されると(S201:Yes)、前回からの変化が閾値未満か否かを判定する(S202)。
【0090】
そして、表示制御部23は、前回からの変化が閾値未満の場合(S202:Yes)、取得されたデータが現在の表示範囲(スケール)に収まるか否かを判定する(S203)。ここで、表示制御部23は、取得されたデータが現在の表示範囲に収まる場合(S203:Yes)、現在のスケールを維持して表示する(S204)。
【0091】
一方、前回からの変化が閾値以上の場合(S202:No)、または、取得されたデータが現在の表示範囲に収まらない場合(S203:No)、表示制御部23は、S205からS208を実行する。なお、S205からS208は、
図20のS102からS105と同様の処理なので、詳細な説明は省略する。
【0092】
(Common Scale処理の流れ)
図22は、Common Scale処理の流れを示すフローチャートである。なお、ここでは、設定からデータ収集までの一連のフローを説明するが、あくまで一例であり、別々のフローで実行することもできる。
【0093】
図22に示すように、表示制御部23は、Common Scaleが設定されると(S301:Yes)、設定された各データに対応するスケールの上限値の最大値と下限値の最小値を特定する(S302、S303)。そして、表示制御部23は、最大値を上限値に設定し、最小値を下限値に設定したスケールで、各データのトレンド表示を実行する(S303)。
【0094】
その後、表示制御部23は、収集部21により新たなデータが収集されると(S305:Yes)、Auto Scaleが設定されていない場合には(S306:Yes)、設定済みのスケール(上限値と下限値)でトレンド表示を実行する(S307)。
【0095】
一方、表示制御部23は、Auto Scaleが設定されている場合には(S306:No)、
図20または
図21で説明したAuto Scale処理を実行する(S308)。そして、表示制御部23は、Auto Scale処理で決定された上限値と下限値を設定したスケールで、各データのトレンド表示を実行する(S309)。
【0096】
[効果]
上述したように、APCサーバ10は、関連するデータを1つの画面で同時に監視する環境であっても、データを取得するたびに自動でスケールを調整しつつ表示することができる。この結果、APCサーバ10は、オペレータ等の負担も軽減し、複雑なプロセスの関連性を考慮した効率的な監視手法を実現することができる。
【0097】
また、APCサーバ10は、所定期間内に取得されたデータの最大値および最小値を範囲内とするスケールの上限値と下限値を決定し、決定された上限値と下限値を設定したスケールを用いて、取得されたデータを時系列に表示することができる。この結果、APCサーバ10は、任意の期間に関してAuto Scaleを実現することができ、データ異常が発生した前後を異なるスケールで提示することができるので、ユーザの利便性を向上できる。
【0098】
また、APCサーバ10は、段階的なAuto Scaleを実行することができるので、不要なスケール変更を抑制することができるので、視認性を向上させることができる。また、APCサーバ10は、複数のデータそれぞれについて独立にAuto Scaleを実行することができるので、関連性を保ちつつ、独立した監視環境を提供することができる。
【0099】
また、APCサーバ10は、同一の上限値と下限値とが設定された同一スケールを用いた同一画面上に、複数の制御データそれぞれを時系列で表示し、複数の制御データのうちいずれかの制御データが新たに取得された場合、同一スケールを維持した同一画面上で、新たに取得された制御データの時系列を更新することができる。この結果、APCサーバ10は、Common Scaleを実現することができ、関連性の高いデータを表示させつつ、変化が類似するデータのみを共通スケールで閲覧可能に表示することができる。
【0100】
[その他の実施形態]
さて、これまで本発明の実施形態について説明したが、本発明は上述した実施形態以外にも、種々の異なる形態にて実施されてよいものである。
【0101】
[数値等]
上記実施形態で用いた制御システムが有する各装置の台数、トレンド表示の時間間隔(横軸)、各数値、プロセス値PVなど各データの種類や値、データ間の関係性などは、あくまで一例であり、任意に変更することができる。また、上記実施形態では、上限値と下限値の両方をAuto ScaleやCommon Scaleによる自動調整の対象とする例を説明したが、どちらか一方のみを自動調整の対象とすることもできる。
【0102】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0103】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0104】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0105】
[ハードウェア]
次に、APCサーバ10のハードウェア構成例を説明する。なお、他の装置も同様のハードウェア構成とすることができる。
図23は、ハードウェア構成例を説明する図である。
図23に示すように、APCサーバ10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図23に示した各部は、バス等で相互に接続される。
【0106】
通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、
図8に示した機能を動作させるプログラムやDBを記憶する。
【0107】
プロセッサ10dは、
図8に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図8等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、APCサーバ10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、収集部21、設定変更部22、表示制御部23等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、収集部21、設定変更部22、表示制御部23等と同様の処理を実行するプロセスを実行する。
【0108】
このように、APCサーバ10は、プログラムを読み出して実行することで各種処理方法を実行する情報処理装置として動作する。また、APCサーバ10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、APCサーバ10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0109】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0110】
10 APCサーバ
11 通信部
12 出力部
13 記憶部
14 収集データDB
15 スケール設定DB
20 制御部
21 収集部
22 設定変更部
23 表示制御部