(57)【要約】【課題】操作員の作業を軽減するための通常操作の自動化を設計者によらずに操作員が容易に行い得る監視操作装置を提供する。【解決手段】監視操作装置２１は、監視操作のための入力操作を受け付ける入力部５５が受け付けた入力操作に対応した指令を制御装置側へ出力する操作入力部４６と、複数ステップを有するユーザの入力操作に対応した指令を操作入力部４６に与えるための指令を定義したユーザスクリプトを保存するデータベース５０と、ユーザスクリプトの編集要求を受け付けて編集要求に対応した編集を行うユーザスクリプト編集部４７と、実行したいユーザスクリプトの選択要求を受け付けて選択要求に対応したユーザスクリプトで定義される指令を操作入力部４６に与えるユーザスクリプト選択部４８を備える。【選択図】  図２
2011193382.tif 000002
【特許請求の範囲】
【請求項１】
監視操作のための入力操作を受け付ける入力部と、この入力部が受け付けた入力操作に対応した指令を監視制御対象を制御する制御装置側へ出力する操作入力部とを備える監視制御システムに適用される監視操作装置において、
複数ステップを有する入力操作に対応した指令を前記操作入力部に与えるための操作指令を定義したユーザスクリプトを保存するユーザスクリプトデータベースと、
このユーザスクリプトの新規作成、内容の更新、保存および削除の何れかを含む編集要求を受け付けるユーザスクリプト編集要求入力部と、
このユーザスクリプト編集要求入力部が受け付けた編集要求に対応した編集を行うユーザスクリプト編集部と、
実行したいユーザスクリプトが前記ユーザスクリプトデータベースに格納される何れのユーザスクリプトであるかの選択要求を受け付けるユーザスクリプト選択要求入力部と、
このユーザスクリプト選択要求入力部が受け付けたユーザスクリプトで定義される入力操作に対応した指令を前記操作入力部に与えるユーザスクリプト選択部と、
を備えることを特徴とする監視操作装置。
【請求項２】
前記ユーザスクリプト編集部は、前記入力部が複数画面で構成されており、監視操作のためにユーザが行うべき入力操作が複数画面の表示を切り替えながら入力する必要がある複数のステップを有する場合、複数画面に亘る監視操作のためにユーザが行うべき入力操作を定義するユーザスクリプトの編集する機能を有することを特徴とする請求項１記載の監視操作装置。
【請求項３】
前記ユーザスクリプトデータベースに格納されるユーザスクリプトの変更発生を常に監視し、変更されたことを検出する機能と、ユーザスクリプトの送信および受信する機能とを有し、ユーザスクリプトが変更されたことを検出する場合に、変更後のユーザスクリプトをネットワークで接続される他の監視制御装置へ送信するユーザスクリプト送受信部をさらに備えることを特徴とする請求項１又は２に記載の監視操作装置。
【請求項４】
前記ユーザスクリプトのデバッグの実行要求を受け付けるデバッグ実行要求入力部と、
このデバッグ実行要求入力部から入力された実行要求に基づき実行要求のあったユーザスクリプトに対してデバッグを実行するデバッグ実行処理部とをさらに備え、
前記デバッグ実行要求入力部がデバッグ実行要求を受け付けると、デバッグ実行中は、制御装置側への指令送信を遮断するように構成されることを特徴とする請求項１乃至３の何れか１項に記載の監視操作装置。
【請求項５】
請求項１乃至４の何れか１項に記載の監視制御装置を具備することを特徴とする監視制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御対象を監視する監視制御システムおよび監視操作装置に係り、特に、設計者がシステムを変更すること無しに操作員が容易に通常操作を自動化することができる監視制御システムおよび監視操作装置に関する。
【背景技術】
【０００２】
従来の監視制御システムは、制御対象である機器について制御する制御装置（ＣＮＴ）、エンジニアリング装置（ＩＥＳ）、操作員が監視、操作する監視操作装置（ＯＰＳ）が制御ネットワークを介して相互に接続される。
【０００３】
そして、制御装置はエンジニアリング装置から配信された制御ロジックに従い制御対象である機器の制御を行う。また。監視操作装置はエンジニアリング装置から配信された画面データベースを使用し、操作員に監視操作を行うための画面および操作手段を提供する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１９９５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の監視制御システムでは、操作員が日常行っている操作を自動化したい場合、以下の（１）〜（３）のような手順が必要となる。
【０００６】
（１）エンジニアリング装置上で操作員が操作の際に利用する画面（グラフィカルユーザインターフェイス：ＧＵＩ）において、操作員の手順を実施することができるスクリプトを有するインターフェイス（例えば、ＧＵＩを提供する画面に表示される実施要求ボタン）を設計し、画面上に配置し画面データベースを更新する。  
（２）エンジニアリング装置から各監視操作装置へ画面データベースを配信する。  
（３）監視操作装置の再起動（データベース配信時や新しいデータベースを当該監視操作装置に作用させる場合は、一般に監視操作装置の機能を停止／再開や当該監視操作装置の再起動などの操作が必要である）。
【０００７】
上記のような一連の改造作業は、設計者の仕事であり、監視操作を行う一般操作員には許されていないのが一般的である。
【０００８】
しかしながら、上述したような従来の監視制御システムおよび監視操作装置では、操作員の通常操作を自動化したい場合においても、設計時相当の作業やスキルを持った設計者が必要であり、かつ、システムを一時的にストップさせる必要があるため、操作員の作業自動化などは安易に行うことができないという課題があった。
【０００９】
そこで、本発明は、操作員の作業を軽減するための通常操作の自動化を設計者によることなく操作員が容易に行い得る監視操作装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る監視操作装置は、上述した課題を解決するため、監視操作のための入力操作を受け付ける入力部と、この入力部が受け付けた入力操作に対応した指令を監視制御対象を制御する制御装置側へ出力する操作入力部とを備える監視制御システムに適用される監視操作装置において、複数ステップを有する入力操作に対応した指令を前記操作入力部に与えるための操作指令を定義したユーザスクリプトを保存するユーザスクリプトデータベースと、このユーザスクリプトの新規作成、内容の更新、保存および削除の何れかを含む編集要求を受け付けるユーザスクリプト編集要求入力部と、このユーザスクリプト編集要求入力部が受け付けた編集要求に対応した編集を行うユーザスクリプト編集部と、実行したいユーザスクリプトが前記ユーザスクリプトデータベースに格納される何れのユーザスクリプトであるかの選択要求を受け付けるユーザスクリプト選択要求入力部と、このユーザスクリプト選択要求入力部が受け付けたユーザスクリプトで定義される入力操作に対応した指令を前記操作入力部に与えるユーザスクリプト選択部と、を備えることを特徴とする。
【００１１】
本発明に係る監視制御システムは、上述した課題を解決するため、上記の監視制御装置を具備することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、従来、必要であった設計者が行っていた作業を排除し、監視操作装置を操作する操作員が容易に監視操作装置の機能を止めることなく操作の自動化（ユーザスクリプトの編集）を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る監視制御システムのシステム構成を示すブロック図。
【図２】第１の監視操作装置の装置構成を示すブロック図。
【図３】第１の監視操作装置の操作入出力画面の一例および操作の入出力との関係を示す説明図。
【図４】第１の監視操作装置のユーザスクリプト編集用画面の一例であり、（ａ）はユーザスクリプト編集用初期画面の一例、（ｂ）はユーザスクリプト編集用本画面の一例を説明する説明図。
【図５】第１の監視操作装置のユーザスクリプト／デバッグ選択ＧＵＩの一例を説明する説明図。
【図６】第１の監視操作装置に格納されるユーザスクリプトＤＢのデータ構成を示した説明図。
【図７】第１の監視操作装置のデバッグＧＵＩを提供する画面の一例である第１のデバッグ用画面を示した説明図。
【図８】第１の監視操作装置のデバッグＧＵＩを提供する画面の一例である第２のデバッグ用画面を示した説明図。
【図９】第１の監視操作装置のデバッグＧＵＩを提供する画面の一例である第１のデバッグ用画面のスクリプト表示エリアに表示されるスクリプトの内容の一例を示す説明図。
【図１０】第１の監視操作装置のデバッグＧＵＩを提供する画面の一例である第１のデバッグ用画面のログ表示エリアに表示されるログの内容の一例を示した説明図。
【発明を実施するための形態】
【００１４】
以下、本発明に係る監視制御システムおよび監視操作装置の実施形態について、添付の図面を参照して説明する。
【００１５】
図１は、本発明に係る監視制御システムの一例であり、監視制御システム１０の構成を概略的に示すブロック図である。
【００１６】
監視制御システム１０は、機器を含む制御対象１１を監視し制御するシステムであり、エンジニアリング装置１２と、監視操作装置２０（２１〜２ｎ）と、制御装置３０（３１〜３ｍ）と、を具備し、それぞれ、エンジニアリング装置１２、監視操作装置２０および制御装置３０は、制御ネットワーク１５を介して相互に接続される。
【００１７】
エンジニアリング装置１２は、システム設計者がシステムの設計または設計変更時に操作する装置であり、設計者の操作によって、制御装置３０の制御ロジックや監視操作装置２０の入出力インターフェイスが設定される。エンジニアリング装置１２は、制御装置３０の制御ロジックの編集および配信機能と、監視操作装置２０に表示させる情報（表示画面の情報）の編集および配信機能とを有し、制御装置３０へ制御ロジックを配信する一方、監視操作装置２０へは表示画面の情報を配信する。
【００１８】
監視操作装置２０は、制御対象１１を制御するための入力操作を行うオペレータ（操作員）が操作する装置であって、例えばｎ（ｎは自然数）台の同様の機能を有する監視操作装置２１〜２ｎを備えて構成される。すなわち、監視操作装置２１〜２ｎは、実質的構成が同じ装置である。また、制御装置３０は、制御対象１１を制御する装置であり、例えばｍ（ｍは自然数）台の同様の機能を有する制御装置３１〜３ｍを備えて構成される。
【００１９】
図２は、監視制御システム１０が具備する監視操作装置２０の一例として、第１の監視操作装置２１の構成を概略的に示すブロック図である。
【００２０】
第１の監視操作装置２１は、例えば、コンピュータ、キーボードやマウス等の入力装置および表示装置（何れも図において省略。以下同様とする。）を用いて実現されるものであり、具体的な構成としては、画面データベース（以下、データベースをＤＢと省略する。）４１、画面表示処理部４２、命令解釈実行部４３、命令送受信部４４、操作出力部４５、操作入力部４６、ユーザスクリプト編集部４７、ユーザスクリプト選択部４８、ユーザスクリプトデバッグ処理部４９、ユーザスクリプトＤＢ５０、ユーザスクリプト送受信部５１および表示装置に表示される画面によって提供されるグラフィカルユーザインターフェイス（ＧＵＩ）５５，５６，５７，５８を備える。
【００２１】
画面ＤＢ４１は、エンジニアリング装置１２で設計者によって設計（編集）された第１の監視操作装置２１に表示させる画面の情報をデータベース化したものであり、エンジニアリング装置１２から配信され保存される。例えば、画面ＤＢ４１には、後述する図３に示される画面Ａ６１を表示するための画面データが存在しており操作員に必要な描画情報や操作情報も含まれている。
【００２２】
画面表示処理部４２は、画面ＤＢ４１に格納される特定の画面の情報を取り出して、取り出した情報を表示装置に出力する機能を有し、表示装置に操作入出力画面（操作入出力ＧＵＩ）５５を表示させることができる。また、画面表示処理部４２は、命令解釈実行部４３から指示された信号を表示装置に出力する機能を有し、当該機能によって、命令解釈実行部４３から指示された信号を操作入出力画面５５に表示する。
【００２３】
命令解釈実行部４３は、画面ＤＢ４１に格納される各画面情報に基づき表示される画面に含まれるスクリプトを解釈し、解釈実行結果に従い、命令送受信部４４から信号を取り出すこと、命令送受信部４４へ信号を受け渡すこと、画面表示処理部４２に画面表示指示や信号表示指示を出すこと、操作出力部４５に画面操作指令を出すこと、操作入力部４６から指示されたスクリプトを実行すること、ユーザスクリプト選択部４８から受け取ったユーザスクリプトの内容を解釈すること、および、ユーザスクリプトデバッグ処理部４９から指示されたスクリプトを実行すること、を含むスクリプトの解釈および実行に関わる処理を行う。
【００２４】
命令送受信部４４は、命令を送信および受信する機能（送受信機能）を有し、第１の監視操作装置２１の外部機器である制御装置３０側（図２に示される第１の監視操作装置２１では第１の制御装置３１）との信号の授受を行う。具体的には、命令解釈実行部４３から受け取った信号を制御装置３０側（図２に示される第１の監視操作装置２１では第１の制御装置３１）へ送る一方、制御装置３０側から送信された信号を受け取り、命令解釈実行部４３へ渡す。
【００２５】
操作出力部４５は、命令解釈実行部４３から指示された画面操作指令を操作入出力画面５５に伝える。また、操作入力部４６は、操作員の操作入出力画面５５に対する操作内容を、命令解釈実行部４３、ユーザスクリプト編集部４７、または、ユーザスクリプト選択部４８へ伝える。
【００２６】
ユーザスクリプト編集部４７は、操作入出力画面により提供される操作入出力ＧＵＩ５５から操作入力部４６に入力されたユーザスクリプト編集要求に基づき、編集要求のあったユーザスクリプトをユーザスクリプトＤＢ５０から取り出して表示装置にユーザスクリプト編集用画面を表示しユーザスクリプト編集ＧＵＩ５６をユーザに提供する。
【００２７】
ここで、ユーザスクリプトとは、操作員等のユーザが、操作員が行う入力操作に対応する指令を操作入力部４６に直接与えるための操作指令を定義したものである。つまり、ユーザはユーザスクリプトを選択すると、当該選択の入力操作のみで、ユーザスクリプトで定義された複数入力操作に対応した指令が自動的に操作入力部４６へ送られる。これによって、ユーザは複数ステップを経る入力操作についてもユーザスクリプト選択の１ステップのみで行うことができる。
【００２８】
また、ユーザスクリプト編集部４７は、ユーザスクリプト編集ＧＵＩ５６を介してユーザスクリプトが編集された場合、編集結果をユーザスクリプトＤＢ５０へ書き込み、その内容を更新する。すなわち、ユーザスクリプト編集部４７は、第１の監視操作装置２１がオンラインの状態にて、操作員に画面操作用のユーザスクリプトを編集し保存させる機能を有する。尚、編集には、作成、変更、保存および削除を含むものとする。
【００２９】
ユーザスクリプト選択部４８は、操作入出力画面により提供される操作入出力ＧＵＩ５５から操作入力部４６に入力されたユーザスクリプト選択要求に基づき、選択要求のあったユーザスクリプトをユーザスクリプトＤＢ５０から取り出して表示装置にユーザスクリプト／デバッグ選択画面を表示しユーザスクリプト／デバッグ選択ＧＵＩ５７をユーザに提供する。
【００３０】
ユーザスクリプト選択部４８は、ユーザスクリプト／デバッグ選択ＧＵＩ５７を介してユーザスクリプトの選択、または、ユーザスクリプトのデバッグの何れかの要求を受け取り、ユーザスクリプトの選択要求である場合、ユーザスクリプトの選択要求を命令解釈実行部４３へ送る。また、デバッグの選択要求である場合、デバッグ用画面を表示しデバッグＧＵＩ５８をユーザに提供する。
【００３１】
ユーザスクリプトデバッグ処理部４９は、ユーザの入力操作によってデバッグＧＵＩ５８から出力されるデバッグ要求を受け取り、指定されたユーザスクリプトのデバッグ処理を実行する。
【００３２】
ユーザスクリプトＤＢ５０は、ユーザスクリプトの識別情報とユーザスクリプトの内容を示す情報とを関連付けて記録し格納する。このようにしてユーザスクリプトの情報をユーザスクリプトＤＢ５０に格納しておくことで、ユーザスクリプト編集部４７がユーザスクリプトの識別情報をキーとして編集要求のあったユーザスクリプトの内容を抽出できるように図っている。
【００３３】
ユーザスクリプト送受信部５１は、ユーザスクリプトＤＢ５０に格納されるユーザスクリプトの変更発生を常に監視し、変更されたことを検出する機能と、ユーザスクリプトの送信および受信する機能（送受信機能）とを有する。ユーザスクリプト送受信部５１は、ユーザスクリプトＤＢ５０の変更発生を常に監視し、ユーザスクリプトが変更されたことを検出すると、変更後のユーザスクリプトを他の監視制御装置（図２に示される例では第１の監視制御装置が変更を検出しているので第２〜ｎの監視制御装置２２，・・・，２ｎ）へ送信する。一方、他の監視制御装置（第２〜ｎの監視制御装置）２２，・・・，２ｎ内で同様に変更があった場合、変更後のユーザスクリプトを受信しユーザスクリプトの内容を更新する。すなわち、ユーザスクリプトＤＢ５０に格納されるユーザスクリプトの内容のうち受信したユーザスクリプトに対応するユーザスクリプトの内容を受信後の内容に反映する。
【００３４】
ＧＵＩ５５，５６，５７，５８は、表示装置に表示される画面によってユーザ（操作員）に提供されるマン・マシンインターフェイスである。すなわち、ＧＵＩ５５，５６，５７，５８は、ユーザの入力操作を受け付ける入力手段および各処理部からの情報を表示したり印字出力したりして情報をユーザに提示する出力手段としての役割を担う。
【００３５】
操作入出力画面により提供される操作入出力ＧＵＩ５５、ユーザスクリプト編集用画面により提供されるユーザスクリプト編集ＧＵＩ５６、ユーザスクリプト／デバッグ選択画面により提供されるユーザスクリプト／デバッグ選択ＧＵＩ５７およびデバッグ用画面により提供されるデバッグＧＵＩ５８を備える。
【００３６】
操作入出力ＧＵＩ５５は、後述する図３に一例として示されるような操作入出力画面によって提供される。操作入出力ＧＵＩ５５は、命令解釈実行部４３から指示された画面操作指令を操作出力部４５から受け取る一方、ユーザの入力操作に基づき処理実行要求を発生させ、発生させた処理実行要求を操作入力部４６へ送る。
【００３７】
ユーザスクリプト編集ＧＵＩ５６は、操作入力部４６からユーザスクリプト編集要求を受け付けたユーザスクリプト編集部４７が後述する図４に一例として示されるようなユーザスクリプト編集用画面を表示装置に表示することによって提供される。ユーザスクリプト編集ＧＵＩ５６は、ユーザからのユーザスクリプト編集要求を受け付ける入力手段であり、ユーザスクリプトを編集する旨を要求する操作入力を受け付けると、受け付けた操作に基づく処理実行要求を発生させてユーザスクリプト編集部４７へ送る。
【００３８】
ユーザスクリプト／デバッグ選択ＧＵＩ５７は、操作入力部４６からユーザスクリプト選択要求を受け付けたユーザスクリプト選択部４８が後述する図５に一例として示されるようなユーザスクリプト選択画面を表示装置に表示させることによって提供される。ユーザスクリプト／デバッグ選択ＧＵＩ５７は、ユーザスクリプト選択操作を受け付け、受け付けた選択操作に基づく処理実行要求を発生させてユーザスクリプト選択部４８へ送る。
【００３９】
デバッグＧＵＩ５８は、ユーザスクリプト／デバッグ選択ＧＵＩ５７からユーザスクリプトのデバッグを実行する旨の操作を受け付けた場合にユーザスクリプト選択部４８が後述する図７，８に一例として示されるようなデバッグ用画面を表示装置に表示することによって提供される。デバッグＧＵＩ５８は、受け付けたユーザスクリプトのデバッグを実行したい旨の操作に基づく処理実行要求を発生させてユーザスクリプトデバッグ処理部４９へ送る。
【００４０】
尚、ユーザスクリプト編集ＧＵＩ５６、ユーザスクリプト／デバッグ選択ＧＵＩ５７およびデバッグＧＵＩ５８の何れのＧＵＩ５６，５７，５８についても、ＧＵＩを構成する画面をユーザの操作によって閉じることができ、画面が閉じた場合には、当該ＧＵＩを通じて行っている処理を終了する。すなわち、ユーザスクリプト編集画面を閉じた場合にはユーザスクリプトの編集処理、ユーザスクリプト／デバッグ選択画面を閉じた場合にはユーザスクリプトの実行またはデバッグの選択処理、デバッグ画面を閉じた場合にはユーザスクリプトのデバッグ処理を終了する。
【００４１】
図３は、操作入出力ＧＵＩ（操作入出力画面）５５の一例を説明する説明図であり、操作入出力ＧＵＩ５５と操作出力部４５および操作入力部４６との関係を示した説明図である。
【００４２】
操作入出力ＧＵＩ（操作入出力画面）５５は、少なくとも１以上の画面、例えば、画面Ａ６１と、画面Ｂ６２と、画面Ａ６１と画面Ｂ６２とに共通にスクリプトを編集または選択を可能とするための共通設定用画面６３を有する。尚、画面Ａ６１および画面Ｂ６２は、何れも実質的に異ならない画面構成であるので、以下の説明では画面Ａ６１について説明する。
【００４３】
画面Ａ６１は、ユーザに対して制御対象１１について監視制御状態を表示するための表示領域６５と、エンジニアリング装置１２を設計者が操作して予め所定の操作要求を割り当てた操作実行ボタン（第１のボタン６６および第２のボタン６７）と、予め作成したユーザスクリプトを選択する要求を割り当てたスクリプト選択ボタン６８と、ユーザスクリプトを設定、変更、削除等の編集の要求を割り当てたスクリプト編集ボタン６９とを有する。
【００４４】
画面Ａ６１、画面Ｂ６２、および、共通設定用画面６３は、操作出力部４５から画面操作指令を受け取ると、受け取った画面操作指令に応じて画面表示の内容が更新される。例えば、表示領域６５に表示される制御対象１１の監視制御状態としての信号イおよび信号ロの数値が更新される。
【００４５】
一方、ユーザが画面Ａ６１に設定された第１のボタン６６、第２のボタン６７、スクリプト選択ボタン６８、および、スクリプト編集ボタン６９、並びに、共通設定用画面６３の共通スクリプト選択ボタン７０および共通スクリプト編集ボタン７１を押す（クリックして選択する）と、当該ボタンに割り当てられた操作の実行要求が操作入力部４６へ入力される。
【００４６】
ここで、画面Ａ６１において、スクリプト選択ボタン６８を押すと、画面Ａ６１において設定されたユーザスクリプトを選択する操作要求が操作入力部４６に入力される。スクリプト編集ボタン６９を押すと、画面Ａ６１において設定されたユーザスクリプトを編集する操作要求が操作入力部４６に入力される。共通設定用画面６３の共通スクリプト選択ボタン７０を押すと、画面Ａ６１および画面Ｂ６２等の複数の画面に亘ってなされる操作に対して設定されるユーザスクリプトを選択する操作要求が操作入力部４６に入力される。共通スクリプト編集ボタン７１を押すと、画面Ａ６１および画面Ｂ６２等の複数の画面に亘ってなされる操作に対して設定されるユーザスクリプトを編集する操作要求が操作入力部４６に入力される。
【００４７】
次に、操作入出力ＧＵＩ（操作入出力画面）５５を用いて、操作員が通常行っている操作を簡易に自動化する場合の動作を説明する。
【００４８】
上記の構成にて、監視操作装置２０（第１の監視操作装置２１〜第ｎの監視操作装置２ｎ）がオンラインの状態において、操作員が画面Ａ６１におけるスクリプト編集ボタン６９を押すと、画面Ａ６１を通じてユーザが行う動作（例えば画面Ａ６１に表示される第１のボタン６６を押す）に対応する操作指令を操作入力部４６へ出力するためのユーザスクリプトを編集する要求が操作入力部４６へ出力され、さらに、操作入力部４６からユーザスクリプト編集部４７へ出力される。
【００４９】
画面Ｂ６２および共通設定用画面６３等の画面Ａ６１以外の画面についても、画面Ａ６１の場合と実質的に同様の処理が実行される。すなわち、操作員が操作入出力画面に表示される画面Ｂ６２におけるスクリプト編集ボタン６９を押すと、画面Ｂ６２を通じてユーザが行う動作（例えば画面Ｂ６２に表示される第２のボタン６７を押す）に対応する操作指令を操作入力部４６へ出力するためのユーザスクリプトを編集する要求が最終的にユーザスクリプト編集部４７に送られる。
【００５０】
また、共通設定用画面６３における共通スクリプト編集ボタン７１を押すと、共通設定用画面６３を通じてユーザが行う動作（例えば、画面Ａ６１に表示される第１のボタン６６を押し、続いて、画面Ｂ６２に表示される第２のボタン６７を押す）に対応する操作指令を操作入力部４６へ出力するためのユーザスクリプトを編集する要求が最終的にユーザスクリプト編集部４７に送られる。
【００５１】
ユーザスクリプト編集部４７は、ユーザスクリプトを編集する操作要求を受け取ると、表示装置にユーザスクリプト編集ＧＵＩ５６を提供するユーザスクリプト編集用画面を表示させる。ユーザはユーザスクリプト編集ＧＵＩ５６を介してユーザスクリプトＤＢ５０に格納されるユーザスクリプトを編集することができる。
【００５２】
図４は、ユーザスクリプト編集ＧＵＩ（ユーザスクリプト編集用画面）５６（５６ａ，５６ｂ）の一例を説明する説明図であり、図４（ａ）はユーザスクリプト編集用初期画面５６ａの一例、図４（ｂ）はユーザスクリプト編集用本画面５６ｂの一例である。尚、図４（ａ）（ｂ）に示されるユーザスクリプト編集用画面５６ａ，５６ｂは、図３に示される共通設定用画面６３に対して設定されたユーザスクリプトを編集対象とした例である。
【００５３】
ユーザスクリプト編集用初期画面５６ａは、編集対象として選択可能な第１のユーザスクリプト８１〜第ｒ（ｒは自然数）のユーザスクリプト８ｒを表示するユーザスクリプト編集対象選択欄８１〜８ｒと、ユーザスクリプトの編集を行わずに作業を終了する要求をユーザスクリプト編集部４７に出力する戻るボタン９０と、ユーザスクリプト編集対象選択欄８１〜８ｒで選択されたユーザスクリプトを編集するための画面（ユーザスクリプト編集用本画面）５６ｂを呼び出す要求をユーザスクリプト編集部４７に出力する編集ボタン９１を有する。
【００５４】
ユーザは、ユーザスクリプトを編集する際は、まず、ユーザスクリプト編集用初期画面５６ａから編集を行うユーザスクリプトをユーザスクリプト編集対象選択欄８１〜８ｒから選択し、編集ボタン９１を選択する。例えば、第１のユーザスクリプト８１を選択し、編集ボタン９１を選択すると、続いて、ユーザスクリプト編集用本画面５６ｂが表示される。
【００５５】
ユーザスクリプト編集用本画面５６ｂは、編集対象となるユーザスクリプトの名称を表示するユーザスクリプト名称表示欄９３と、ユーザスクリプトの内容を示すユーザスクリプト内容表示欄９４と、ユーザスクリプトについて編集した内容を保存する要求を発生させる保存ボタン９５とを有する。
【００５６】
ユーザスクリプト編集用本画面５６ｂの例は、共通設定用画面６３の第１のユーザスクリプト８１の内容を表示するもので、ユーザはユーザスクリプト内容表示欄９４においてスクリプトを書き込む。ユーザスクリプト編集用本画面５６ｂの例は、共通設定用画面６３のユーザスクリプトに対するものなので、複数の画面に亘るユーザの操作を規定する必要がある。そのため、ユーザは画面Ａ６１に対する操作と、画面Ｂ６２に対する操作とを区別し、明確化して記載する。
【００５７】
図４（ｂ）に示される例では、第１文において、画面Ａ６１の第１ボタン（図３において「ボタン１」と図示）６６を、「画面Ａ：第１のボタン」と表現している。このような画面とボタンとの関係付けについては、本実施例で用いられている記号「：」に限定されず、例えば、「−＞」や「．」等の他の記号を使用して表現されていても良いし、「ボタンを押す（画面Ａ，第１のボタン）」の様に関数タイプのスクリプトで実現しても良い。すなわち、画面とボタンとの関係付けが明確化できる限りにおいて、スクリプトの表現は任意である。
【００５８】
尚、例えば、画面Ａ６１に対する操作のみで規定できる等、一の画面に対する操作のみでスクリプトが記載できる場合には、画面Ａ６１や画面Ｂ６２に記載される画面スクリプト編集ボタン６９を選択することによって、当該画面のユーザスクリプトを編集することで対応することができる。この場合、スクリプト内に画面を特定する「画面Ａ」や「画面Ｂ」の記載は不要となる。
【００５９】
ユーザは、ユーザスクリプト内容表示欄９４に表示される内容で第１のユーザスクリプト８１の編集を終了する場合、保存ボタン９５を選択する。すると、ユーザの保存ボタン９５の選択によって、ユーザスクリプト編集部４７は、ユーザスクリプトＤＢ５０に格納される編集対象のユーザスクリプト（第１のユーザスクリプト８１）の内容を編集後の内容に書き換えて保存した後、第１のユーザスクリプト８１の編集を終了する。
【００６０】
尚、図４に示される例では、ユーザスクリプト内容表示欄９４には、スクリプトの内容が日本語によって表示されている例を示しているが、この場合に限定されるものではなく、Ｃ言語などの一般的なプログラミング言語に近い表記を行っても良い。また、新規にユーザスクリプトを作成する場合、例えば、何れのユーザスクリプトを選択しない状態で編集ボタン９１を選択することによって行うことができる。
【００６１】
次に、ユーザが作成したユーザスクリプトを選択する場合、および、デバッグを実行する場合について説明する。
【００６２】
図５は、ユーザスクリプト／デバッグ選択ＧＵＩ（ユーザスクリプト／デバッグ選択画面）５７の一例を説明する説明図であり、ユーザが図３に示される操作入出力画面５５において、画面Ａ６１のスクリプト選択ボタン６８を選択した場合の表示例である。
【００６３】
ユーザが実行を希望するユーザスクリプトの選択、または、作成済みのユーザスクリプトのデバッグを選択する場合、ユーザは、操作入出力ＧＵＩ（操作入出力画面）５５において、画面Ａ６１や画面Ｂ６２のスクリプト選択ボタン６８または共通設定用画面６３の共通スクリプト選択ボタン７０を選択する。これによって、表示装置にユーザスクリプト／デバッグ選択ＧＵＩ（ユーザスクリプト／デバッグ選択画面）５７が表示される。
【００６４】
ユーザスクリプト／デバッグ選択画面５７は、実行対象として選択可能な第１のユーザスクリプト１０１〜第ｐ（ｐは自然数）のユーザスクリプト１０ｐを表示するユーザスクリプト実行対象選択欄１０１〜１０ｐと、ユーザのデバッグ要求を受けてデバッグを実行する際に必要となる設定の入力を受け付けるデバッグＧＵＩ（デバッグ用画面）５８を呼び出す要求をユーザスクリプト選択部４８へ出力するデバッグボタン９８と、ユーザの選択を受けてユーザスクリプト実行対象選択欄１０１〜１０ｐで選択されたユーザスクリプトの実行要求をユーザスクリプト選択部４８へ出力する実行ボタン９９を有する。
【００６５】
まず、ユーザが、ユーザスクリプト／デバッグ選択画面５７において、ユーザスクリプト１０１〜１０ｐの何れか一つを選択した後、実行ボタン９９を選択すると、ユーザスクリプト選択部４８が実行対象として選択されたユーザスクリプトをユーザスクリプトＤＢ５０から読み出す。
【００６６】
図６は、図２に示されるユーザスクリプトＤＢ５０のデータ構成を概略的に示した説明図である。
【００６７】
ユーザスクリプトＤＢ５０は、操作入出力画面５５に表示される画面毎に作成したユーザスクリプトの単位でデータが格納されている。すなわち、画面Ａ６１についてｐ（ｐ：自然数）個、画面Ｂ６２についてｑ（ｑ：自然数）個、共通設定用画面６３についてｒ（ｒ：自然数）個のユーザスクリプトが作成されている場合、画面Ａ６１についてのユーザスクリプトデータとして画面Ａ用第１のユーザスクリプト１１１〜画面Ａ用第ｐのユーザスクリプト１１ｐを、画面Ｂ６２についてのユーザスクリプトデータとして画面Ｂ用第１のユーザスクリプト１２１〜画面Ｂ用第ｑのユーザスクリプト１２ｑを、共通設定用画面６３についてのユーザスクリプトデータとして共通画面用第１のユーザスクリプト１３１〜共通画面用第ｒのユーザスクリプト１３ｒを有する。
【００６８】
ユーザスクリプトＤＢ５０には、操作入出力画面５５に表示される画面毎に作成したユーザスクリプトの単位でデータが格納されているので、どの画面におけるどのユーザスクリプトかをキーとして定義された内容を抽出することが可能となる。
【００６９】
ユーザスクリプト選択部４８が実行対象として選択されたユーザスクリプトをユーザスクリプトＤＢ５０から読み出すと、これを命令解釈実行部４３へ送る。そして、命令解釈実行部４３は受け取ったユーザスクリプトの内容を解釈して、当該内容に基づく指令を画面表示処理部４２、命令送信部４４または操作出力部４５へ送る。
【００７０】
このように、例えば、図４（ｂ）に示されるユーザスクリプト内容表示欄９４に表示される操作のように、ユーザが定義した所定の操作については、操作入出力画面５５からユーザが逐一操作を入力することなく、直接、命令解釈実行部４３へ与えることができるので、ユーザの操作の自動化を図ることができる。
【００７１】
続いて、ユーザがデバッグを実行する場合について説明する。ユーザが、ユーザスクリプト／デバッグ選択画面５７において、デバッグ対象として選択可能なユーザスクリプト１０１〜１０ｐから何れか一つを選択した後、デバッグボタン９８を選択すると、ユーザスクリプト選択部４８によってデバッグＧＵＩ（デバッグ用画面）５８が表示装置に表示される。
【００７２】
尚、命令解釈実行部４３は、デバッグ実施時の誤動作等を防止する観点から、デバッグ実行時、すなわち、デバッグＧＵＩ（デバッグ用画面）５８が表示されているときには、スクリプトから解釈される命令（指令）を外部へ出力しないように、また、命令送受信部４４が受信した命令（指令）についても、その命令を受け取り画面表示処理部４２や操作出力部４５へ出力しないように構成される。
【００７３】
図７および図８は、デバッグＧＵＩ（デバッグ用画面）５８（５８ａ，５８ｂ）の一例を説明する説明図である。より具体的には、図７はデバッグＧＵＩを提供する第１のデバッグ用画面５８ａであり、図８は第１のデバッグ用画面５８ａにおいて、より詳細な設定をするための第２のデバッグ用画面５８ｂである。
【００７４】
第１のデバッグ用画面５８ａは、ユーザスクリプト／デバッグ選択画面５７のデバッグボタン９８を選択した場合に最初に表示されるデバッグ実行についての設定画面である。第１のデバッグ用画面５８ａは、スクリプト表示エリア１４１、ログ表示エリア１４２、値模擬ボタン１４４、ステップボタン１４５、および、実行ボタン１４６を有する。
【００７５】
第１のデバッグ用画面５８ａにおけるスクリプト表示エリア１４１には、デバッグの対象となるユーザスクリプトの内容が表示され、ログ表示エリア１４２には、デバッグ中の信号情報が動作時刻情報とともに履歴表示される。また、各ボタン１４４，１４５，１４６には、それぞれ、選択された際に割り付けられた実行要求を出力するように設定されており、第２のデバッグ用画面５８ｂの呼び出し、および、当該割り付けられた実行要求をユーザスクリプトデバッグ処理部４９へ出力することができる。
【００７６】
ユーザが第１のデバッグ用画面５８ａにおいて模擬値ボタン１４４を選択すると、第２のデバッグ用画面５８ｂをユーザに提示して、模擬値を設定するために必要な入力を受け付ける。
【００７７】
第２のデバッグ用画面５８ｂは、制御対象１１から受信する信号を指定するための信号指定エリア１４７と、信号指定エリア１４７で指定された信号について模擬値を設定する値設定エリア１４８と、ユーザの選択を受けて予め割り付けられた設定完了の要求を出力する設定ボタン１４９とを有する。
【００７８】
信号指定エリア１４７には、制御対象１１から受信する各信号について、例えば、信号１、信号イ等の名称が付されており、ユーザはこの名称を指定することで信号を指定できる。信号指定の方法は任意であり、例えば、上述した図４（ａ）や図５に示されるように指定可能な信号の一覧から一の信号を選択する方法でも良いし、直接名称を入力する方法でも良い。
【００７９】
値設定エリア１４８には、模擬値を入力する欄が設けられており、ユーザは値設定エリア１４８の欄に、例えば「１０」等の数値を直接入力することによって模擬値を設定することができる。また、設定ボタン１４９は、信号指定エリア１４７および値設定エリア１４８において信号および値の設定が完了した際にユーザが選択すると、信号および値の設定を完了し、第２のデバッグ用画面５８ｂを閉じて、第１のデバッグ用画面５８ａに戻る。
【００８０】
続いて、第１のデバッグ用画面５８ａにおいて、ユーザがステップボタン１４５を選択すると、第１のデバッグ用画面５８ａのスクリプト表示エリア１４１に表示されるユーザスクリプトのうち、選択された一の命令（一行）を実行する。例えば、後述する図９の場合、デバッグを実行したい命令（行）は、矢印「→」で表示される行である。ユーザはこの矢印を移動させてデバッグを実行したい行を選択して、ステップボタン１４５を押すと、矢印が指し示す行についてデバッグの実行要求をユーザスクリプトデバッグ処理部４９へ出力する。
【００８１】
また、ユーザが実行ボタン１４６を選択すると、第１のデバッグ用画面５８ａのスクリプト表示エリア１４１に表示されるユーザスクリプトの全行についてデバッグの実行要求をユーザスクリプトデバッグ処理部４９へ出力する。
【００８２】
ユーザスクリプトデバッグ処理部４９が、第１のデバッグ用画面５８ａのステップボタン１４５および実行ボタン１４６を選択することによってデバッグＧＵＩ５８から出力されたデバッグ実行要求を受け取ると、ユーザスクリプトデバッグ処理部４９は、選択されたユーザスクリプトの一行または全行に亘ってデバッグを実行する。
【００８３】
図９はおよび図１０は、デバッグ用画面５８に表示される表示内容の一例を示す説明図である。より具体的には、図９はスクリプト表示エリア１４１に表示されるスクリプトの内容の一例を示す図であり、図１０はログ表示エリア１４２に表示されるログの内容の一例を示す図である。
【００８４】
スクリプト表示エリア１４１に表示される内容は、デバッグ対象として選択されたユーザスクリプトの内容である。ユーザは、表示エリア１４１に表示されるユーザスクリプトの内容を確認しながら、一行単位でデバッグを実行したいときはステップボタン１４５を押し（選択し）、ユーザスクリプトの全体に対してデバッグを実行したいときは実行ボタン１４６を押す（選択する）。
【００８５】
ステップボタン１４５が押されると、現在、表示エリア１４１に表示されるユーザスクリプトのうち、選択された一の命令（一行）に対するデバッグをユーザスクリプトデバッグ処理部４９が実行する。一方、実行ボタン１４６が押されると、現在、表示エリア１４１に表示されるユーザスクリプトの全体に対するデバッグをユーザスクリプトデバッグ処理部４９が実行する。その後、ユーザスクリプトデバッグ処理部４９は、そのデバッグ実行結果であるログ情報をデバッグＧＵＩ５８に送り、デバッグ実行結果がログ表示エリア１４２に表示される。
【００８６】
デバッグ実行結果としてログ表示エリア１４２に表示されるログ内容には、デバッグ操作中の信号情報が動作時刻情報とともに履歴が表示される。具体的には、第１行目は第１の制御装置３１である「ＣＮＴ−１」の第１の変数である「変数１」へＯＮ指令を送信したという内容を示している。また、次の第２行目は、ＣＮＴ−１の信号１の値を現在値５から１０へ模擬したという内容を示している。ユーザはこのログ表示を確認し、処理の自動化を図るべく作成されたユーザスクリプトの内容と実際に自動化を図ろうとしている処理内容とが合致するかを確認することができる。
【００８７】
以上、監視制御システム１０および監視操作装置２０によれば、各監視操作装置２１〜２ｎで操作員が容易にユーザスクリプトの編集を行うことができるようにユーザスクリプト編集部４７、ユーザスクリプト選択部４８、ユーザスクリプトＤＢ５０およびユーザスクリプト編集／選択用のＧＵＩを備える構成にしたことによって、従来、必要であった設計者が行っていた作業を排除し、監視操作装置２０を操作する操作員が容易に監視操作装置２０の機能を止めることなく操作の自動化（ユーザスクリプトの編集）を行うことができる。すなわち、従来、エンジニアリング装置１２側でデータを変更し、各監視操作装置２１〜２ｎへ画面ＤＢ４１を配信し、各監視操作装置２１〜２ｎに最新のデータベースの内容を反映させる設計者が行っていた作業を排除できる。
【００８８】
また、各監視操作装置２１〜２ｎのユーザスクリプト編集／選択用のＧＵＩにおいて、共通スクリプト選択ボタン７０および共通スクリプト編集ボタン７１を有する共通用設定画面６３を設けることによって、単一の画面内の操作だけでなく複数画面に亘る操作についても、ユーザによるスクリプト編集によって操作員の操作の自動化することができる。これにより、複数画面の表示を切り替えながら入力操作を行う必要があった複数画面に亘る複雑な操作員の操作についても自動化が実現できる。
【００８９】
さらに、各監視操作装置２１〜２ｎがユーザスクリプトデバッグ処理部４９およびデバッグＧＵＩ５８を備えることで、ユーザスクリプトのデバッグを実現することができる。その際には、命令解釈実行部４３が命令の入出力を遮断するので、制御装置３０側との入出力を遮断した状態で安全にユーザスクリプトのデバッグをすることができる。
【００９０】
さらにまた、各監視操作装置２１〜２ｎがユーザスクリプトＤＢ５０に格納されるユーザスクリプトが変更された場合、当該変更を検出する機能と、ユーザスクリプトの送受信機能とを有するユーザスクリプト送受信部５１を備えるので、何れかの監視操作装置２１〜２ｎでユーザスクリプトＤＢ５０に格納されるユーザスクリプトの内容が更新される度に、当該更新後の内容が他の監視操作装置２１〜２ｎにも送信され、他の監視操作装置２１〜２ｎにおいても更新内容が自動的に反映される。すなわち、従来、ユーザスクリプトの内容を更新する際に、更新したユーザスクリプトを他の監視操作装置２１〜２ｎ上で使用したい場合に、再度各監視操作装置２１〜２ｎ上で入力するか、または、何らかの手段を用いて外部メディア（例えば、フレキシブルディスク）にスクリプトデータベースを書き出し、各監視操作装置２１〜２ｎにおいて手作業で外部メディアから書き戻す必要があった問題を解消することができる。これによって、全監視操作装置２１〜２ｎにおいて、スクリプトＤＢ５０を共有することが可能になる。
【００９１】
尚、本発明は上記の各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化しても良い。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても良い。より具体的には、図２に示される第１の監視操作装置２１において、各監視操作装置２１〜２ｎがユーザスクリプトを個別に持つことができるように、ユーザスクリプト送受信部５１を備えない（削除した）構成や、ユーザスクリプトデバッグ処理部４９およびデバッグＧＵＩ５８を備えない構成でも良い。また、共通設定用画面６３を備えない操作入出力ＧＵＩ（操作入出力画面）５５を構成することもできる。
【符号の説明】
【００９２】
１０  監視制御システム
１１  制御対象
１２  エンジニアリング装置
１５  制御ネットワーク
２０  監視操作装置
２１  第１の監視操作装置
２ｎ  第ｎの監視操作装置
３０  制御装置
３１  第１の制御装置
３ｍ  第ｍの制御装置
４１  画面ＤＢ
４２  画面表示処理部
４３  命令解釈実行部
４４  命令送受信部
４５  操作出力部
４６  操作入力部
４７  ユーザスクリプト編集部
４８  ユーザスクリプト選択部
４９  ユーザスクリプトデバッグ処理部
５０  ユーザスクリプトＤＢ
５１  ユーザスクリプト送受信部
５５  操作入出力ＧＵＩ（操作入出力画面）
５６（５６ａ，５６ｂ）  ユーザスクリプト編集ＧＵＩ（ユーザスクリプト編集用画面）
５７  ユーザスクリプト／デバッグ選択ＧＵＩ（ユーザスクリプト／デバッグ選択画面）
５８（５８ａ，５８ｂ）  デバッグＧＵＩ（デバッグ用画面）
６１  画面Ａ
６２  画面Ｂ
６３  共通設定用画面
６５  表示領域
８１  第１のユーザスクリプト編集対象選択欄
８ｒ  第ｒのユーザスクリプト編集対象選択欄
９３  ユーザスクリプト名称表示欄
９４  ユーザスクリプト内容表示欄
１１１  画面Ａ用第１のユーザスクリプト
１１２  画面Ａ用第２のユーザスクリプト
１１ｐ  画面Ａ用第ｐのユーザスクリプト
１２１  画面Ｂ用第１のユーザスクリプト
１２２  画面Ｂ用第２のユーザスクリプト
１２ｑ  画面Ｂ用第ｑのユーザスクリプト
１３１  共通画面用第１のユーザスクリプト
１３２  共通画面用第２のユーザスクリプト
１３ｒ  共通画面用第ｒのユーザスクリプト
１４１  スクリプト表示エリア
１４２  ログ表示エリア
１４７  信号指定エリア
１４８  値設定エリア
【図１】
2011193382.tif 000003
【図２】
2011193382.tif 000004
【図３】
2011193382.tif 000005
【図４】
2011193382.tif 000006
【図５】
2011193382.tif 000007
【図６】
2011193382.tif 000008
【図７】
2011193382.tif 000009
【図８】
2011193382.tif 000010
【図９】
2011193382.tif 000011
【図１０】
2011193382.tif 000012