(57)【特許請求の範囲】
【請求項１】
複数のデバイスの入出力点におけるデータを監視制御するアプリケーションを設計するための出力用ツール情報をツール単位に生成する監視制御システム設計装置であって、
デバイスの入力点の仕様を構成する入力項目仕様定義と、他の入力項目に入力されたデータに応じて入力項目の仕様を変化させる入力支援定義と、どのツール順に設計を進めていくかを定めた順序定義と、ツールを構成する入力項目の構成定義とを規定する定義情報を格納する定義部と、
前記定義情報に基づき、前記順序定義で規定された順序で、ツールを構成する入力項目における前記入力項目仕様定義及び前記入力支援定義を読み込んで読み込み定義情報を得る定義読込手段と、
前記定義読込手段が読み込んだ前記読み込み定義情報に基づき、前記入力項目の仕様に含まれる他の前記入力項目との依存関係を解釈する定義解釈処理を実行して定義解釈結果を得る定義解釈手段と、
前記読み込み定義情報及び前記定義解釈結果に基づいて、ツールを構成する入力項目の並び順、及び各入力項目の入力依存関係を示すパラメータを規定するレイアウト定義情報を決定するレイアウト定義処理を実行するレイアウト定義手段と、
前記レイアウト定義情報に基づき、ツール単位に、前記入力項目を並べ且つ、前記入力項目における前記パラメータが規定する入力依存関係を実現する入力支援プログラムを埋め込んで得られる前記出力用ツール情報を出力するツール出力処理を実行するツール出力手段と、
前記出力用ツール情報を保存するデータ管理部とを備える、
監視制御アプリケーション設計装置。
【請求項２】
請求項１記載の監視制御アプリケーション設計装置であって、
前記定義解釈手段は、前記定義解釈処理の実行中に、前記入力項目仕様定義に含まれる前記入力項目が依存する他の前記入力項目が前記読み込み定義情報内に含まれていない不存在入力項目が存在する場合、前記定義部の前記定義情報から、前記不存在入力項目の仕様を取得する、
監視制御アプリケーション設計装置。
【請求項３】
請求項１あるいは請求項２記載の監視制御アプリケーション設計装置であって、
前記ツール出力手段は、新たに入力項目を追加してツール内容を変更する要変更ツール指定機能を有し、前記要変更ツール指定機能によって指定された要変更ツールに関し、前記定義解釈手段及び前記レイアウト定義手段に前記定義解釈処理及び前記レイアウト定義処理を実行させた後、前記ツール出力処理を再び実行して、変更された前記出力用ツール情報を得る、
監視制御アプリケーション設計装置。
【請求項４】
請求項１ないし請求項３のうち、いずれか１項に記載の監視制御アプリケーション設計装置であって、
前記ツール出力手段は、出力用ツール情報で規定された前記入力項目それぞれにおける前記パラメータが規定する入力依存関係に従いデータが入力されているかの成否を検証する検証機能を有する。
監視制御アプリケーション設計装置。
【請求項５】
請求項１ないし請求項３のうち、いずれか１項に記載の監視制御アプリケーション設計装置であって、
前記ツール出力手段は、前記出力用ツール情報における前記入力項目の仕様内容の少なくとも一部をユーザが視覚認識可能な表現形式に変換する仕様内容表現変換機能を有する、
監視制御アプリケーション設計装置。
【請求項６】
請求項１ないし請求項３のうち、いずれか１項に記載の監視制御アプリケーション設計装置であって、
前記ツール出力手段は、前記出力用ツール情報における前記入力項目の表現形式を他の装置が処理可能な表現形式に変換する表現形式変換機能を有する、
監視制御アプリケーション設計装置。
【請求項７】
請求項１記載の監視制御アプリケーション設計装置における前記定義読込手段、前記定義解釈手段、前記レイアウト定義手段及び前記ツール出力手段をコンピュータに実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデバイス、機器などを監視制御する監視制御アプリケーション又は監視制御システムを設計するアプリケーション設計装置及びプログラムに関するものである。
【背景技術】
【０００２】
プラントの機器、河川の流量計、ビルの空調機や照明灯に関する複数のデバイスや機器などを監視制御する監視制御アプリケーション又は監視制御システムを効率的に開発するため、汎用的な監視制御プログラムと、デバイスや機器の入出力点の仕様を構成する複数の入力項目へのデータ入力を支援するツールとが整備されている。監視制御アプリケーション又はシステムは、起動時に複数のツールによって設計されたデータを読み込むことで所望の監視制御を行う。
【０００３】
それぞれのツールは、仕様書、監視制御アプリケーション又はシステムが読み込むためのデータなどを作成することを目的としており、入力項目の構成や入力項目に入力するデータの仕様は固定化されている。また、該当ツールの上流または下流に位置付けられる他のツールとの間のデータ連携や、ツール内部のデータチェックやデータ変換は、固定化された入力項目の仕様に基づき作成されたプログラムにて実現されている。
【０００４】
ところが、監視制御アプリケーションやシステムの要求仕様の多様化に伴い、アプリケーションごとに入力項目の追加や仕様の変更、出力する仕様書の構成や設計する手順の変更などが発生している。これらの変更要求に対応するためには、固定化されている入力項目の構成や仕様の変更、データ連携、データチェック、データ変換プログラムの改修が必要となるといった問題がある。
【０００５】
特許文献１、特許文献２及び特許文献３にそれらの問題を解決する技術が記載されている。
【０００６】
特許文献１では、特定の分野または対象の書類，図表等を短時間で効率的に作成する技術が記載されている。入力した入力項目に従い、入力項目に該当する標準仕様から成る入力項目群を知識ＤＢ（データベース）から取得することができる上、設定条件を付け項目の追加削除等を行い、詳細仕様を取得することができる。また、ファジイ推論等を利用し、入力した入力項目と推論にて得られた結果から標準仕様を取得することができる。
【０００７】
特許文献２では、セクション（≒工程）が設計項目の変更等を他の関連するセクションに伝達し、仕様漏れを防ぐ技術が記載されている。セクションごとに設計項目のデータを管理するデータベースを有し、セクション間で共通な設計項目については、変更等の決定権があるマスタセクションにて管理し、他のセクションはそのマスタセクションのデータベースからデータを取得することができる。また、共通項目には、変更内容が確定なのか仮なのかを設けることで、マスタセクションを閲覧している他のセクションから閲覧することができ、設計状況の可視化を図ることができる。
【０００８】
特許文献３では、多数の要素の組合せから、該当する標準データ（≒マスタデータ）を検索し、取得できるプログラムを容易に開発できる技術が記載されている。入力データ（≒検索条件）に応じて得られる出力データを選択させることで、出力データを取得可能な関数プログラムを生成することができる。また、出力データ得るために必要な入力データが不足している場合は、絞り込むための候補を提示することもできる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平５−２５７９３３号公報
【特許文献２】特許第４２８８６３９号公報
【特許文献３】特開２００４−２８０７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１で開示されたシステムは、構成する入力項目を固定にせず、入力した項目から構成する入力項目を取得または推論などを組み合わせながら生成するといったことによって解決している。しかし、本技術では、アプリケーション毎、項目を入力し、アプリケーションの要件に適合した条件や応じて選択を繰り返すといった処理をユーザが行わなくてはならなく、ミスや手間が発生する。また、アプリケーションの要求にマッチした項目が検出されない可能性が高い。さらに、項目に入れるデータの支援については触れられていない。
【００１１】
特許文献２で開示されたシステムは、共通となる項目のデータを入力元となるマスタセレクションで管理し、そのマスタセレクションから個々の関連するセレクションが参照することでデータ変換等のプログラム改修コストの削減やデータの二重登録を防止することが可能となる。しかし、共通な設計項目は予め決められており、設計項目の構成変更などに伴う共通な設計項目の動的変更に対応することができない。項目に入れるデータの支援については触れられていない。
【００１２】
特許文献３で開示されたシステムは、入力データと出力データの関係と、ある入力データは別の出力データの子として管理することがポイントである。ただ、標準規格のようなほとんど変わらない固定なものには有効であるが、案件に応じて入力するデータの仕様が変化するものには向かない。
【００１３】
このように特許文献１〜特許文献３に開示されたシステムは、様々な問題点があった。
【００１４】
この発明は上記問題点を解決するためになされたもので、ユーザ負担の軽減化を図った監視制御アプリケーションを設計することができる監視制御アプリケーション設計装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
この発明に係る請求項１記載の監視制御アプリケーション設計装置は、複数のデバイスの入出力点におけるデータを監視制御するアプリケーションを設計するための出力用ツール情報をツール単位に生成する監視制御システム設計装置であって、デバイスの入力点の仕様を構成する入力項目仕様定義と、他の入力項目に入力されたデータに応じて入力項目の仕様を変化させる入力支援定義と、どのツール順に設計を進めていくかを定めた順序定義と、ツールを構成する入力項目の構成定義とを規定する定義情報を格納する定義部と、前記定義情報に基づき、前記順序定義で規定された順序で、ツールを構成する入力項目における前記入力項目仕様定義及び前記入力支援定義を読み込んで読み込み定義情報を得る定義読込手段と、前記定義読込手段が読み込んだ前記読み込み定義情報に基づき、前記入力項目の仕様に含まれる他の前記入力項目との依存関係を解釈する定義解釈処理を実行して定義解釈結果を得る定義解釈手段と、前記読み込み定義情報及び前記定義解釈結果に基づいて、ツールを構成する入力項目の並び順、及び各入力項目の入力依存関係を示すパラメータを規定するレイアウト定義情報を決定するレイアウト定義処理を実行するレイアウト定義手段と、前記レイアウト定義情報に基づき、ツール単位に、前記入力項目を並べ且つ、前記入力項目における前記パラメータが規定する入力依存関係を実現する入力支援プログラムを埋め込んで得られる前記出力用ツール情報を出力するツール出力処理を実行するツール出力手段と、前記出力用ツール情報を保存するデータ管理部とを備える。
【発明の効果】
【００１６】
請求項１記載の本願発明における監視制御アプリケーション設計装置は、定義読込手段による定義解釈処理、レイアウト定義手段によるレイアウト定義処理を経て、最終的にツール出力手段により、ツール単位に、入力項目を並べ且つ、入力項目に入力支援プログラムを埋め込んで得られる出力用ツール情報を得ることができる。
【００１７】
したがって、請求項１記載の本願発明は、利用するツールの順序や、ツールを構成する入力項目を変更した場合でも、ツールを構成する入力項目の入力支援定義の依存関係に従い、ツールにおける入力項目を並べ順であるツールのレイアウトを自動で決定した出力用ツール情報を得ることができるため、ユーザに対する負担を軽減することができる。
【００１８】
また、出力用ツール情報内に埋め込まれた入力支援プログラムを動作させることによって、ユーザが入力項目に入力するデータの選択肢や入力できる範囲などの入力規制を他の入力項目に入れたデータに応じて動的に変えることにより、入力精度を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】この発明の実施の形態１である監視制御アプリケーション設計装置のハードウェア構成を示す説明図である。
【図２】実施の形態１の監視制御アプリケーション設計装置の構成を機能ブロックとして示す説明図である。
【図３】入力項目仕様定義の一例を示す説明図である。
【図４】入力項目仕様定義の他の一例を示す説明図である。
【図５】入力支援定義の具体例を示す説明図である。
【図６】図４で示した入力項目仕様定義に入力支援定義を付加した一例を示す説明図である。
【図７】順序定義の一例を表形式で示す説明図である。
【図８】構成定義の一例を表形式で示す説明図である。
【図９】定義解釈手段による定義解釈処理の定義解釈結果における依存関係をツリー上にプロットした例を示す説明図である。
【図１０】定義解釈手段による定義解釈処理の定義解釈結果における依存関係をツリー上にプロットした具体例を示す説明図である。
【図１１】レイアウト定義手段によって得られるレイアウト定義情報が指示する入力項目の並び順を示す説明図である。
【図１２】定義部が扱うそれぞれの定義を追加・変更・削除を行う動作シーケンスを示すフローチャートである。
【図１３】定義読込手段が定義部の定義情報を読み込む動作シーケンスを示すフローチャートである。
【図１４】定義解釈手段による定義解釈処理を示すフローチャートである。
【図１５】レイアウト定義手段によるレイアウト定義処理を示すフローチャートである。
【図１６】ユーザがツール出力手段を起動し、出力のツール並びにデータを入力する動作シーケンスを示すフローチャートである。
【図１７】ユーザがツール出力手段を起動し、出力のツール並びにデータを入力する動作シーケンスを示すフローチャートである。
【図１８】実施の形態２における定義解釈手段による定義解釈処理を示すフローチャートである。
【図１９】実施の形態３のツール出力手段による要変更ツール機能の動作シーケンスを示すフローチャートである。
【図２０】実施の形態４によるツール出力手段６によるデータ検証処理を示すフローチャートである。
【図２１】実施の形態５のツール出力手段６による仕様内容表現変換機能を示すフローチャートである。
【図２２】実施の形態６のツール出力手段６による表現形式変換機能を示すフローチャートである。
【図２３】ＢＮＦ記法で記載した文法の一例を示す説明図である。
【図２４】入力支援定義の条件式と支援値との関係を表形式で示す説明図である。
【図２５】入力支援定義の条件式と支援値との関係を表形式で示す説明図である。
【発明を実施するための形態】
【００２０】
＜実施の形態１＞
図１は、この発明の実施の形態１である監視制御アプリケーション設計装置のハードウェア構成を示す説明図である。同図に示すように、監視制御アプリケーション設計装置１は、例えばコンピュータ又は、コンピュータ上で動作するプログラム（例えば、汎用オフィス製品、Webブラウザ、スタンドアローンアプリケーションなど）によって実現される。
【００２１】
この監視制御アプリケーション設計装置１は、ＣＰＵ（Central Processing Unit）１０と、ＲＯＭ（Read Only Memory）１１と、ＲＡＭ（Random Access Memory）１２と、記憶装置１３と、入力インタフェース１４と、入力装置１５と、出力インタフェース１６と、出力装置１７と、ネットワーク接続インタフェース１８と、ネットワーク接続装置１９と、バス２０とを備える。
【００２２】
データバスであるバス２０は、監視制御アプリケーション設計装置１を構成する複数のハードウェア（１０〜１４，１６，１８）を互いに電気的に接続する。したがって、これらのハードウェア同士間では、バス２０を介して情報の送受信が可能となっている。本実施の形態では、このバス２０を介して、ＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、記憶装置１３、入力インタフェース１４、出力インタフェース１６及びネットワーク送受信インタフェース１８が複数のハードウェアとして互いに電気的に接続されている。
【００２３】
この監視制御アプリケーション設計装置１は、その利用者、管理者または運用者から起動の際に行われる操作を受け付けると、監視制御アプリケーション設計装置１を起動するためのブートプログラム、ＯＳ（Operating System）を読出して実行する。以下、監視制御アプリケーション設計装置１の各構成について詳細に説明する。
【００２４】
ＲＯＭ１１には、ブートプログラム等の制御プログラムが記憶されている。ＲＡＭ１２は、ＣＰＵ１０が記憶装置１３から読み出したデータがキャッシュデータ等として一時的に記憶される。記憶装置１３は、例えば、ＨＤＤ（Hard Disk Drive）であり、記憶装置１３には、ＯＳ、監視制御アプリケーション設計支援プログラム及び各種情報が記憶されている。
【００２５】
ＣＰＵ１０は、ＲＯＭ１１に記憶されている制御プログラムを読込んで実行することにより、ＲＯＭ１１、ＲＡＭ１２、記憶装置１３、入力インタフェース１４及び出力インタフェースを制御する。また、ＣＰＵ１０は、記憶装置１３に記憶されているＯＳ、監視制御アプリケーション設計支援プログラムを読出して実行する。
【００２６】
入力装置１５は、キーボード及びマウス等を備えており、利用者等からの操作を受け付けると、当該操作に対応する指令を入力インタフェース１４に与える。入力インタフェース１４は、入力装置１５と電気的に接続されており、入力装置１５をバス２０に接続する。これにより、入力装置１５からの指令が、バス２０及び入力インタフェース１４を介してＣＰＵ１０に入力される。
【００２７】
出力装置１７は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶表示ディスプレイ等の、外部に情報を出力する装置であり、出力インタフェース１６からの情報を表示する。出力インタフェース１６は、出力装置１７と電気的に接続されており、出力装置１７をバス２０に接続する。これにより、ＣＰＵ１０からの情報が、バス２０及び出力インタフェース１６を介して出力装置１７に出力される。出力装置１７は、例えば、ＣＰＵ１０からの情報を受けるとその情報を表示する。
【００２８】
ネットワーク接続装置１９は、イーサネット（登録商標）カード、シリアルポート等の、外部コンピュータや外部デバイスと接続する接続装置であり、外部コンピュータ等と情報を送受信する。ネットワーク接続インタフェース１８は、ネットワーク接続装置１９と電気的に接続されており、ネットワーク接続装置１９をバス２０に接続する。これにより、ＣＰＵ１０からの情報及び指令が、バス２０及びネットワーク接続インタフェース１８を介してネットワーク接続装置１９に出力される。ネットワーク接続装置１９は、ＣＰＵ１０からの情報及び指令を受けると、その指令に基づいて、ＣＰＵ１０からの情報を外部コンピュータ等に送信する。一方、ネットワーク接続装置１９は、外部コンピュータ等からの情報を受信すると、当該情報をバス２０及びネットワーク接続インタフェース１８を介してＣＰＵ１０に入力する。
【００２９】
図２は、図１に示されるＣＰＵ１０が主に記憶装置１３に記憶されている監視制御アプリケーション設計支援プログラムを読込んで起動することにより実行可能となる、監視制御アプリケーション設計装置１の構成を機能ブロックとして示す説明図である。同図に示すように、監視制御アプリケーション設計装置１は、定義部２、定義読込手段３、定義解釈手段４、レイアウト定義手段５、ツール出力手段６、及びデータ管理部７を備える。
【００３０】
なお、定義部２及びデータ管理部７は記憶装置１３によって実現され、実際に監視制御アプリケーション設計支援プログラムとして動作するのは定義読込手段３、定義解釈手段４、レイアウト定義手段５及びツール出力手段６である。
【００３１】
定義部２は、デバイスの入力点の仕様を構成する入力項目仕様定義Ｄ２１と、他の入力項目に入力されたデータに応じて入力項目の仕様を変化させる入力支援定義Ｄ２２と、どのツール順に設計を進めていくかを定めた順序定義Ｄ２３と、ツールを構成する入力項目の構成定義Ｄ２４とを含む定義情報Ｄ２を記憶装置１３内に管理し、ユーザからの入力を入力装置１５にて受付け、ユーザへの出力を出力装置１７にて行う。以下では、入力項目仕様定義Ｄ２１、入力支援定義Ｄ２２、順序定義Ｄ２３、構成定義Ｄ２４について説明する。
【００３２】
入力項目仕様定義Ｄ２１とは、デバイスの入出力点の仕様を構成する入力項目の定義である。
【００３３】
図３は入力項目仕様定義Ｄ２１の一例を示す説明図である。同図に示すように、入力項目仕様定義Ｄ２１は、入力項目を一意に識別する識別子２００、論理名２０１、物理名２０２、型２０３、ガイダンス２０４から構成する。
【００３４】
識別子２００は、入力項目を一意に識別するものである。論理名２０１は、入力項目の論理名を定義する。ただし、論理名２０１は重複してはならない。また、識別子２００の代わりとなることも可能である。物理名２０２は、入力項目の物理名を定義する。ただし、物理名２０２は重複してはならない。また、識別子２００の代わりとなることも可能である。
【００３５】
型２０３は、入力項目に設定できるデータの型である。例えば、文字列型、整数型、小数点型、日付型、２進数型、１６進数型などがある。ガイダンス２０４は、入力項目にどういうデータが入れられるのか、または入れなくてはならないのかをユーザにガイダンスする文字列である。
【００３６】
膨大な入力項目を定義するケースに対応するため、入力項目を整理できる仕組みを提供する。
【００３７】
図４は入力項目仕様定義の他の一例を示す説明図である。同図(a) 及び(b) に示すように、図３に示す入力項目仕様定義Ｄ２１を入力項目仕様定義Ｄ２１ａ，Ｄ２１ｂのように分類しても良い。なお、図４の(a) では、識別子２００として、２つの部分識別子２００ａ，２００ｂを用いており、図４の(b) では、識別子２００として、３つの部分識別子２００ｃ〜２００ｅを用いている。
【００３８】
入力支援定義Ｄ２２とは、どのようなデータを入力項目に設定できるかを、入力するための条件と、条件が満たされたときに設定可能なデータの候補を提示する定義である。データ入力を可能とするか否かの条件のことを条件式２１０と呼び、条件が満たされたときに設定可能な値の候補のことを支援値２１１と呼ぶ。
【００３９】
図２３は入力支援定義Ｄ２２の条件式２１０及び支援値２１１の文法をＢＮＦ（Backus-Naur Form）記法に記載した一例を示す説明図である。分類項目及び入力項目は、図２３の(a) の文法リスト８１に示すように定義される。
【００４０】
なお、図２３の(b) に示す文法リスト８２において、文法中に記載のある１０進整数とは整数で例えば"65535"、２進整数は例えば"1111111111111111"、１６進整数は例えば"FFFF"のことである。なお、比較ＯＰなどの記述方法は文法リスト８２で示した例以外の方法でもよい。また、演算ＯＰなどの記述方法は本文法リスト８４で示した例以外の方法でもよい。
【００４１】
入力支援定義Ｄ２２には、複数の種類が存在する。例えば、無効入力支援、リストボックス入力支援値入力支援、絞込入力支援、一意制約検定、数字サイズ検定、文字列長検定、必須入力支援などがある。
【００４２】
図２４及び図２５は上述した９個の入力支援定義Ｄ２２の条件式２１０と支援値２１１の仕様を示した一例である。図５は入力支援定義Ｄ２２の具体例を示す説明図である。なお、図５に示すように「.」で区切る以外の方法でも良い。
【００４３】
以下では、図５、図２４及び図２５を参照して、９個の入力支援定義Ｄ２２について説明する。
【００４４】
図２４の(a) に示すように、無効入力支援７１とは、定義された条件に合致している場合、データを追加、変更することができない定義である。定義の方法は図２４(a) の無効入力支援７１に示すとおりである。
【００４５】
無効入力支援７１の具体例は、図５（a）の表の２行目に示すように、「アナログ．入力フラグ」が“１”でなければ無効となり、図５（a）の表の２行目に示すように、「アナログ．入力フラグ」が“０”の場合は有効となる。
【００４６】
リストボックス入力支援７２とは、定義された条件に合致している場合、入力可能な値をリストボックスから選択させる定義である。定義の方法は図２４(b) に示すとおりである。
【００４７】
リストボックス入力支援７２の具体例は、図５（b）の表の２行目に示すように、「アナログ．入力フラグ」が“１”の時は｛０：無効，１：有効｝の入力を促すリストボックスが表示される。図５(b) の表の３行目に示すように、無条件に｛０：無効，１：有効｝の入力を促すリストボックスが表示される。図５（b）の表の４行目に示すように、「アナログ．入力フラグ」が“１”の時は｛０：無効，１：有効｝の入力を促すリストボックスが表示され、「アナログ．入力フラグ」が“０”の時は｛１：無効，０：有効｝の入力を促すリストボックスが表示される。
【００４８】
値入力支援７３とは、定義された条件に合致している場合、デフォルトで値を設定する定義である。定義の方法は図２４(c) に示す通りである。
【００４９】
値入力支援７３の具体例は、図５（c）の表の２行目に示すように、「アナログ．入力フラグ」が“１”の時は「アナログ．入出力点番号」に“１”を加えた値が設定される。図５(c) の表の３行目に示すように、無条件に“１”が設定される。
【００５０】
絞込入力支援７４とは、ある一意から成る値を段々と絞り込んでいく定義である。定義の方法は図２４(d) に示すとおりである。
【００５１】
絞込入力支援７４の具体例は、図５（d）が表の２行目に示すように、「アナログ．デバイス番号」を入力することにより、入力した「アナログ．デバイス番号」に関連する入出力番号の候補を提示する。
【００５２】
一意制約検定７５とは、ある入力項目の集合が一意の値であることを検定する定義である。すなわち、ある入力項目に入力された値が一意な値であるかを検出する定義である。定義の方法は図２４(e) に示すとおりである。
【００５３】
一意制約検定７５の具体例は、図５（e）の表の２行目に示すように、無条件に一意であることが示される。
【００５４】
数字サイズ検定７６とは、入力された数字（10進、2進、16進）の値の最小値、最大値を検定する定義である。定義の方法は図２５(a) に示すとおりである。
【００５５】
数字サイズ検定７６の具体例は、図５(f) 上表の２行目に示すように、「アナログ．入力フラグ」が“０”の時は最大値が“１”に設定され、図５(f) 上表の３行目に示すように、無条件に最小値は“０”に設定される。また、図５(f) 下表の２行目に示すように、「アナログ．入力フラグ」が“１”の時は最大値が“１０”に設定され、図５(f) 下表の３行目に示すように、無条件に最小値は“９”に設定される。
【００５６】
文字列長検定７７とは、入力された文字列の最大文字列長を検定する定義である。定義の方法は図２５(b) に示すとおりである。
【００５７】
文字列長検定７７の具体例は、図５(g) の表の２行目に示すように、「アナログ．入力フラグ」が“１”の時は最大文字列長が“１５”に設定され、図５(g) の表の３行目に示すように、無条件に最大文字列長が“２０”に設定される。
【００５８】
必須入力支援７８とは、必須入力支援とは、定義された条件に合致している場合、データが入力されていないことを通知する定義である。定義の方法は図２５(c) に示すとおりである。
【００５９】
必須入力支援７８の具体例は図５(h)の表の２行目に示すように、「アナログ．入力フラグ」が“１”でなければ必須となる。
【００６０】
一括入力支援７９とは、定義された条件に合致している場合、データが未入力のところにデータをセットしていく定義である。定義の方法は図２５(d) に示すとおりである。
【００６１】
一括入力支援７９の具体例は、図５(i)の２行目に示すように、「アナログ．入力フラグ」が“１”の時は初期値“１”のシーケンシャル番号を振り、図５(i) の表の３行目に示すように、無条件に初期値“０”のシーケンシャル番号を振る。
【００６２】
図６は、図４(a) で示した入力項目仕様定義Ｄ２１ａに入力支援定義Ｄ２２を付加した一例を示す説明図である。同図に示すように、部分識別子２００ａ及び２００ｂと共に、無効入力支援７１、リストボックス入力支援７２及び必須入力支援７８それぞれの条件式２１０及び支援値２１１が付加されている。
【００６３】
順序定義Ｄ２３とは、どの順番でツールを利用してユーザが入出力点の仕様を設計していくのかを定義する。
【００６４】
図７は順序定義Ｄ２３の一例を表形式で示す説明図である。同図に示すように、順序定義Ｄ２３は、ツールを一意に識別する識別子２２０、論理名２２１、物理名２２２から構成される。
【００６５】
識別子２２０は、ツールを一意に識別するものである。すなわち、識別子２２０が「共通」、「アナログ一覧表」及び「アナログ詳細表」としたツールがそれぞれ存在する。論理名２２１は、ツールの論理名を定義する。ただし、論理名２２１は重複してはならない。また、識別子２２０の代わりとなることも可能である。物理名２２２は、ツールの物理名を定義する。ただし、物理名２２２は重複してはならない。また、識別子２２０の代わりとなることも可能である。
【００６６】
構成定義Ｄ２４とは、それぞれのツールが構成する入力項目のリストを定義する。
【００６７】
図８は構成定義Ｄ２４の一例を表形式で示す説明図である。同図に示すように、構成定義Ｄ２４は、ツールを一意に識別する識別子２２０、入力項目を一意に識別する識別子２１０から構成される。
【００６８】
図２に戻って、定義読込手段３は、定義部２に格納されている順序定義Ｄ２３及び構成定義Ｄ２４を読込み、順序定義Ｄ２３及び構成定義Ｄ２４に基づき、ツールが構成する入力項目の入力項目仕様定義Ｄ２１及び入力支援定義Ｄ２２を選択的に読み込む。
【００６９】
例えば、図７の識別子２２０「共通」のツールに着目した場合、図８の識別子２２０が「共通」である識別子２１０「共通．上限パラメータ，共通．下限パラメータ」を認識し、図３の上限パラメータ，下限パラメータ（識別子２００）に関する論理名２０１，物理名２０２，型２０３及びガイダンス２０４及びこれに付随する入力支援定義を読み出す。
【００７０】
以下、定義部２の定義情報Ｄ２のうち定義読込手段３が読み込んだ情報を読み込み定義情報Ｄ３と呼ぶ。
【００７１】
定義解釈手段４は、定義読込手段３にて読み込んだ読み込み定義情報Ｄ３のうち、入力支援定義に含まれる入力項目を抜き出し、入力項目間の依存関係を解釈する定義解釈処理を実行して定義解釈結果Ｄ４を得る。
【００７２】
図９は、定義解釈手段４による定義解釈処理の定義解釈結果Ｄ４における依存関係をツリー上にプロットした例を示す説明図である。すなわち、定義解釈手段４は、図６〜図８にて定義した入力項目仕様定義Ｄ２１及び入力支援定義Ｄ２２、順序定義Ｄ２３並びに構成定義Ｄ２４に基づき、定義解釈処理を行い図９に示すような入力項目間の依存関係を規定した定義解釈結果Ｄ４を得る。
【００７３】
図９の左側にある入力項目、例えば、「共通.上限パラメータ」や「共通.下限パラメータ」、「アナログ.デバイス番号」、「アナログ.入出力点番号」などの入力項目は、他の入力項目に依存していない独立した入力項目である。その一方、「アナログ.入力フラグ」、「アナログ.名称その１」、「アナログ.名称その２」などは、他の入力項目に入力されるデータに応じて、入力可能であるか又は入力支援する内容が変化する。
【００７４】
また、「アナログ.上限値１」や「アナログ.下限値１」などは、複数の他の入力項目に依存しており、それらの条件が全て揃う（AND）又はどれかだけでも揃えば（OR）、入力項目に入力することが可能になる。
【００７５】
図１０は、定義解釈手段４による定義解釈処理の定義解釈結果Ｄ４における依存関係をツリー上にプロットした具体例を示す説明図である。図１０に示すように、「共通.上限パラメータ」に「1」、「共通.下限パラメータ」に「2」、「アナログ.デバイス番号」に「1231」、「アナログ.入出力項目番号」に「0001」が実際に入力されたときの状態を示している。この場合、「アナログ.上限値２」が無効な状態となり、その他が、「アナログ.入力フラグ」の入力待ち状態になっている。
【００７６】
定義解釈手段４では、入力支援定義Ｄ２２に含まれる入力項目がループしているか否かについても検証する。
【００７７】
レイアウト定義手段５では、定義読込手段３で読み込んだ読み込み定義情報Ｄ３内の構成定義Ｄ２４に含まれている入力項目の並び順を、定義解釈手段４による定義解釈結果Ｄ４による依存関係順に従いレイアウトを行うレイアウト定義処理を実行しレイアウト定義情報Ｄ５を得る。
【００７８】
図８及び図９の例で示す依存関係の定義解釈結果Ｄ４が得られた場合、例えば「アナログ.名称その１」、「アナログ.名称その２」は、「アナログ.入力フラグ」が設定されたのちに、初めて利用可能となる入力項目である。このことから、「アナログ.名称その１」及び「アナログ.名称その２」は、「アナログ.入力フラグ」の後にレイアウトされることになる。
【００７９】
図１１はレイアウト定義手段５によって得られるレイアウト定義情報Ｄ５が指示する入力項目がレイアウトされた後の並び順を示す説明図である。
【００８０】
順序定義Ｄ２３に定義されたツール間で同一入力項目を定義することがある。例えば、「アナログ.デバイス番号」、「アナログ.入出力項目番号」がその一例である。レイアウト定義手段５では、順序定義Ｄ２３に定義されているツールの中で、最初に「アナログ.デバイス番号」、「アナログ.入出力項目番号」を構成に含めるツールに編集権を与え、その他のツールは該当する入力項目の入力支援定義Ｄ２２の設定をすべて無効にし、編集権のあるツールの入力項目から値入力支援の機能を利用し、値参照するように動的に変更する。例えば、図７で示した順序定義Ｄ２３の例では、「アナログ.デバイス番号」、「アナログ.入出力項目番号」は識別子２２０が「アナログ一覧表」のツールに編集権が与えられる。なお、上記したルールに編集権を与える方法は一例であり、同一入力項目を定義する双方のルーツ間で反映し合うことも可能である。
【００８１】
レイアウト定義手段５では、それぞれのツールを構成する入力項目の並び順を決定したのちに、それぞれの入力項目に埋め込む入力支援プログラム用のパラメータを生成する。入力支援プログラムのパラメータは、条件式２１０と支援値２１１から構成される。
【００８２】
レイアウト定義手段５は、条件式２１０や支援値２１１に含まれる入力項目が、どのツールの左から何番目の列に配置されたのかといった依存先の入力項目の位置情報を取得し、条件式２１０や支援値２１１に含まれる入力項目をその位置情報に置換する。なお、ツールによっては、パラメータ生成は不要な場合もある。
【００８３】
ツール出力手段６では、レイアウト定義情報Ｄ５が指示する入力項目の並び順にツールをレイアウトし、入力項目に埋め込む入力支援プログラムが上記パラメータで指示する内容で動作するように設定し、ツール起動後、入力項目へのデータ入力に応じて、入力支援プラグラムが動作することにより、動的に他の入力項目が入力できる仕様が実現可能な出力用ツール情報Ｄ６を出力する。
【００８４】
そして、ツール出力手段６より出力された出力用ツール情報Ｄ６は、データ管理部７によって管理される。
【００８５】
次に、ＣＰＵ１０が記憶装置１３に記憶されている監視制御アプリケーション設計支援プログラムを実行することにより行われる、本実施の形態に係る監視制御アプリケーション設計装置１（監視制御アプリケーション設計支援プログラム）の処理手順を図１２〜図１７を用いて説明する。
【００８６】
図１２では、定義部２が扱うそれぞれの定義を追加・変更・削除を行う動作シーケンスである。なお、入力項目仕様定義Ｄ２１、入力支援定義Ｄ２２、順序定義Ｄ２３、構成定義Ｄ２４それぞれは、入力できる属性は異なるが、追加、変更、削除、検索等の処理内容は同じであることから、今回は入力支援定義Ｄ２２の動作シーケンスに限定して説明する。
【００８７】
ステップＳ１において、起動済みの監視制御アプリケーション設計支援装置１の定義部２を起動する。ステップＳ２では、入力項目仕様定義Ｄ２１、入力支援定義Ｄ２２、順序定義Ｄ２３、構成定義Ｄ２４の内、どの定義を追加、変更、削除、検索等するかを選択する。ステップＳ３では、選択した定義の内、新規で追加するのか、一覧で表示するのかを選択する。
【００８８】
ステップＳ４〜Ｓ６は、ステップＳ３にて新規追加を選択した時のシーケンスである。ステップＳ４では、定義を構成する属性が空で表示され、ユーザは空欄で表示されている属性に情報を選択または入力していく。入力支援定義Ｄ２２の場合は、入力項目に関しては、入力項目仕様から値を取得し、ユーザはその中から選択又は検索等の手段を利用し、該当する入力項目を選ぶ。また、無効入力支援７１、リストボックス入力支援７２、値入力支援７３、絞込入力支援７４、一意制約検定７５、数字サイズ検定７６、文字列長検定７７、必須入力支援７８、一括入力支援７９それぞれの条件式２１０や支援値２１１には直接ユーザが情報を入力する。
【００８９】
ステップＳ５では、ユーザが入力した情報を保存するため、ボタン等を押下する。ステップＳ６では、入力された入力支援定義Ｄ２２を記憶装置１３に記録し、ステップＳ３に戻る。ただし、既に入力項目に関する入力支援定義Ｄ２２が記録装置１３に記録されている場合は、エラーとしてユーザに通知する。
【００９０】
ステップＳ７〜Ｓ９はステップＳ３にて一覧表示を選択した時の動作シーケンスである。ステップＳ７では、記録装置１３、すなわち、定義部２に格納されているすべての入力支援定義Ｄ２２を取得する。取得した入力支援定義Ｄ２２が規定する定義数が多い場合は、ステップＳ８にて、絞り込みたい条件を指定し、検索することで条件に該当する定義情報Ｄ２のみ一覧で表示できるようになる。ステップＳ９にて、該当する定義をクリックし、その詳細を表示する。ステップＳ１０にて、戻るボタンを押下することで、ステップＳ３に戻る。
【００９１】
ステップＳ１１は、入力支援定義Ｄ２２を削除する動作シーケンスである。ステップＳ１０にて、ユーザが削除ボタンを押下することで、記録装置１３に格納されている該当入力支援定義Ｄ２２を削除し、ステップＳ３へ戻る。
【００９２】
ステップＳ１２〜Ｓ１４は、入力支援定義Ｄ２２を変更する動作シーケンスである。ステップＳ１２にて、ユーザによってクリックされた入力支援定義Ｄ２２を編集する画面を表示し、ユーザがその編集画面上で定義の書き換えを行う。ステップＳ１３にて、ユーザが変更ボタンを押下することで、記憶装置１３に格納されている該当入力支援定義を変更して、記憶装置１３に保存し、ステップＳ１４にて、戻るボタンを押下することで、ステップＳ１０に戻る。
【００９３】
ステップＳ２にて戻るボタンを押下するとステップＳ１へと戻り、ステップＳ１にて終了ボタンを押下すると監視制御アプリケーション設計装置１のプログラムが終了する。
【００９４】
このように、図１２で示すフローによって、記憶装置１３、すなわち、定義部２内に入力項目仕様定義Ｄ２１、入力支援定義Ｄ２２、順序定義Ｄ２３及び構成定義Ｄ２４からなる定義情報Ｄ２が格納される。
【００９５】
図１３は定義読込手段３が定義部２の定義情報Ｄ２を読み込む動作シーケンスを示すフローチャートである。図１４は定義解釈手段４による定義解釈処理の処理手順を示すフローチャートである。図１５はレイアウト定義手段５によるレイアウト定義処理も処理手順を示すフローチャートである。
【００９６】
これらの一連の処理は、ユーザが所定のツール起動ボタンを押下することにより実行される。
【００９７】
図１３を参照して、定義読込手段３が定義部２の定義情報Ｄ２を読み込む動作シーケンスを説明する。
【００９８】
ステップＳ３０にて、定義部２（記憶装置１３）に格納されている順序定義Ｄ２３を読込む。
【００９９】
ステップＳ３１にて、順序定義Ｄ２３に定義されているツールを一つずつ取り出し、取りだしたツールを検索キーとして、構成定義Ｄ２４に含まれる入力項目を検索する。
【０１００】
ステップＳ３２にて、入力項目仕様定義Ｄ２１及び入力支援定義Ｄ２２を読込み、ステップＳ３１の検索にて得られた入力項目に関する入力項目仕様定義及び入力支援定義を取得する。以下、ステップＳ３２で取得した入力項目仕様定義及び入力支援定義を入力項目仕様定義Ｄ２１ｘ，入力支援定義Ｄ２２ｘとする。
【０１０１】
そして、ステップＳ３３にて、ツール単位に、取得した入力項目、入力項目仕様定義Ｄ２１ｘ、入力支援定義Ｄ２２ｘからなる読み込み定義情報Ｄ３をメモリ（ＲＡＭ１２）上のキャッシュデータＣＤ１０として蓄積する。なお、入力項目が重複している場合は、キャッシュデータＣＤ１０には蓄積しない。
【０１０２】
なお、本明細書では説明の都合上、図１３で示すフローチャートをシーケンシャルな動作として説明している。しかし、実際にはステップＳ３２，Ｓ３３の処理は構成定義の入力項目毎に繰り返し行われる処理であり、ステップＳ３１〜Ｓ３３の処理はツール毎に繰り返し行われる処理である。そこで、実際の処理内容を反映させるべく、図１３のステップＳ３０，Ｓ３１間、ステップＳ３１，Ｓ３２間それぞれにループ開始図形を挿入し、ステップＳ３３の後工程に２つのループ終了図形を挿入している。同様の理由で、以降で述べる図１４〜図１６，図１８，図２１，図２２においてもループ開始図形，ループ終了図形を適宜、挿入している。
【０１０３】
次に、図１４を参照して、定義解釈手段４による定義解釈処理の処理手順を説明する。
【０１０４】
同図を参照して、ステップＳ４０にて、キャッシュデータＣＤ１０（読み込み定義情報Ｄ３）を読み込む。
【０１０５】
ステップＳ４１にて、読み込み定義情報Ｄ３から入力項目を一つずつ取り出し、入力支援定義Ｄ２２ｘにおける条件式、支援値を取得する。
【０１０６】
そして、ステップＳ４２にて、入力支援定義Ｄ２２ｘにおける全種類の条件式に対して、入力項目が含まれていないかを解析する。
【０１０７】
その後、ステップＳ４３にて、解析によって得られた入力項目、条件式、種類をキャッシュデータＣＤ１１（定義解釈結果Ｄ４）として登録する。なお、条件式で指定された入力項目がキャッシュデータＣＤ１０（読み込み定義情報Ｄ３）に含まれていない場合や入力項目として認識されたが、キャッシュデータＣＤ１１に登録されていない場合は、ユーザにエラーを通知する。
【０１０８】
ステップＳ４４にて、入力支援定義Ｄ２２ｘの種類すべての支援値に対して、入力項目が含まれていないかを解析し、解析によって入力項目があった場合は、入力項目、支援値、種類をキャッシュデータＣＤ１１として登録する。なお、入力項目として認識されたが、キャッシュデータＣＤ１１に登録されていない場合は、ユーザにエラーを通知する。
【０１０９】
ステップＳ４５にて、キャッシュデータＣＤ１１をすべて取得し、キャッシュデータＣＤ１１に登録された入力項目から依存関係を生成し、ツールにおける入力項目間の依存関係を条件式及び支援値の内容を含めて規定した定義解釈結果Ｄ４をキャッシュデータＣＤ１２として登録する。なお、キャッシュデータＣＤ１２には読み込み定義情報Ｄ３も含まれる。
【０１１０】
なお、図１４において、ステップＳ４２〜Ｓ４５の処理はステップＳ４１で選択された入力項目毎に繰り返し行われ、ステップＳ４１〜Ｓ４５の処理はツール毎に繰り返し行われる。
【０１１１】
次に、図１５を参照して、レイアウト定義手段５によるレイアウト定義処理の処理手順を説明する。図１５で示すレイアウト定義処理は、定義解釈手段４によって得られた定義解釈結果Ｄ４が指示する入力項目の依存関係に基づき、レイアウト定義手段５がツールを構成する入力項目の並び順と、入力項目に埋め込む入力支援プログラム用のパラメータを生成する処理である。
【０１１２】
まず、ステップＳ６０において、キャッシュデータＣＤ１２（読み込み定義情報Ｄ３＋定義解釈結果Ｄ４）を読込む。
【０１１３】
ステップＳ６１ａにて読み込み定義情報Ｄ３内の順序定義Ｄ２３を読込む。その後、ステップＳ６１ｂにて、順序定義Ｄ２３に定義されているツールを一つずつ取り出し、ツール単位に、順序定義Ｄ２３のツールに関し、識別子をキーとして読み込み定義情報Ｄ３から構成定義Ｄ２４を読み込み、入力項目を取得する。
【０１１４】
その後、ステップＳ６２にて、入力項目がどの他の入力項目に依存しているかをキャッシュデータＣＤ１２の定義解釈結果Ｄ４から取得する。
【０１１５】
ステップＳ６３にて、他の入力項目が並び順を格納するキャッシュデータＣＤ１３に蓄積されているかをチェックする。蓄積されていなければエラーとする。なぜならば、依存される側の他の入力項目の並び順が先であるため、キャッシュデータＣＤ１３に既に蓄積されている必要があるからである。
【０１１６】
その後、ステップＳ６４にて、ステップＳ６２で認識した依存関係に基づき入力項目を並び順にしてキャッシュデータＣＤ１３として格納する。
【０１１７】
ステップＳ６４の処理が完了後、新たな入力項目順に並んだ一つ一つの入力項目毎に、入力項目間の依存関係を示す入力支援プログラム用のパラメータを生成する。
【０１１８】
ステップＳ６５にて、キャッシュデータＣＤ１３に格納されている入力項目順に、キャッシュデータＣＤ１２内の読み込み定義情報Ｄ３における入力支援定義を取得する。
【０１１９】
ステップＳ６６にて、入力項目が、既に別のツールにて利用されているか否かを検証する。
【０１２０】
ステップＳ６７にて、既に別のツールで利用されている場合は、当該入力項目の入力支援定義をすべて破棄し、ステップＳ６８にて、既に利用されているツールの入力項目の番号が配置されている列番号（入力項目位置情報）を取得し、値入力支援用のパラメータを生成する。その後、ステップＳ６９に移行する。
【０１２１】
ステップＳ６６にて、入力項目が、既に別のツールにて利用されていないとする判定の場合、ステップＳ６７及びＳ６８を経由することなく、ステップＳ６９において、入力項目支援の条件式や支援値内に含まれる入力項目に対し、新たに並び変えられた列の番号に置き換えを行い、それぞれの種別に応じた入力支援プログラム用のパラメータを生成する。
【０１２２】
そして、ステップＳ７０にて、ツールの入力項目間の依存関係に加え、値入力支援用のパラメータ及び入力支援プログラム用のパラメータを規定したレイアウト定義情報Ｄ５をキャッシュデータＣＤ１４として登録する。なお、キャッシュデータＣＤ１４内に読み込み定義情報Ｄ３を含ませても良い。
【０１２３】
なお、図１５において、ステップＳ６２〜Ｓ６４の処理は入力項目毎に繰り返し行われ、ステップＳ６１ｂ〜Ｓ６４の処理はツール毎に繰り返し行われる。また、ステップＳ６６〜Ｓ７０の処理は入力項目単位及びツール毎に繰り返し行われる。
【０１２４】
図１６及び図１７は、ユーザがツール出力手段６を起動し、出力用ツール情報Ｄ６を出力し、出力用ツール情報Ｄ６で規定される入力項目にユーザがデータを入力する動作を示すシーケンスである。
【０１２５】
図１６では、定義部２（記録装置１３）に格納されている定義情報Ｄ２を読込み、出力用ツール情報Ｄ６を得るまでの動作シーケンスである。
【０１２６】
図１６を参照して、ステップＳ８０にて、定義部２に格納されている定義情報Ｄ２から順序定義Ｄ２３を読込む。
【０１２７】
ステップＳ８１にて、順序定義Ｄ２３のツールの識別子を検索キーとして、定義部２に格納されている定義情報Ｄ２から構成定義Ｄ２４を読込む。なお、ステップＳ８０及びＳ８１において、定義情報Ｄ２に代えて、キャッシュデータＣＤ１４内に読み込み定義情報Ｄ３が含まれる場合、キャッシュデータＣＤ１４の読み込み定義情報Ｄ３からから順序定義Ｄ２３及び構成定義Ｄ２４を読み込んでも良い。
【０１２８】
ステップＳ８２にて、キャッシュデータＣＤ１４内のレイアウト定義情報Ｄ５に基づき、順序定義Ｄ２３のツール一つ一つに対して表示順に並べられた入力項目と入力支援用の種類並びにそのパラメータ（入力支援プログラム用のパラメータ，値入力支援用のパラメータ）を取得する。
【０１２９】
ステップＳ８３にて、入力項目の各フィールドにパラメータで示した内容が動的に実現可能な入力支援プログラムを埋め込む。その結果、入力項目を並べ且つ、入力項目におけるパラメータが規定する入力依存関係を動的に実現する入力支援プログラムを埋め込んだ出力用ツール情報Ｄ６を得ることができる。
【０１３０】
この出力用ツール情報Ｄ６はデータ管理部７に保存・管理される。なお、入力支援プログラムとは、パラメータで指示された条件式及び支援値による処理等が自動的に実行されるように制御するプログラムを意味する。
【０１３１】
なお、図１６において、ステップＳ８２〜Ｓ８３の処理は入力項目毎に繰り返し行われ、ステップＳ８１〜Ｓ８３の処理はツール毎に繰り返し行われる。
【０１３２】
図１７では、ユーザが図１６の得られた出力用ツール情報Ｄ６で規定される入力項目にデータを入力した時の動作シーケンスである。
【０１３３】
図１７を参照して、ステップＳ９０にて、出力用ツール情報Ｄ６を読み出し、ユーザが所望の入力項目に入力可能な表示形態で出力用ツール情報Ｄ６の内容を表示する。この環境下でユーザが表示された出力用ツール情報Ｄ６に規定された入力項目に相当する領域にデータを入力する。
【０１３４】
その後、ステップＳ９１で、ツール出力手段６は、データが入力されたことを検知する。
【０１３５】
そして、ステップＳ９２にて、データが入力されたというイベントを入力支援プログラムがウォッチし、自身が依存する入力項目である場合、そのデータを取込み、そのデータに基づく入力支援プログラムが実行される。
【０１３６】
以上のような実施の形態１に係る監視制御アプリケーション設計装置１によれば、定義部２に定義された定義情報Ｄ２におけるツールが構成する入力項目の入力支援定義Ｄ２２から、入力項目が依存する他の入力項目を自動的に得ることができ、入力依存関係に従い、依存性の低い入力項目を左から右の順に並べ且つ、その並びに従った入力支援プログラムを動的に生成することができる。
【０１３７】
したがって、利用するツールの順序や、ツールを構成する入力項目を変更した場合でも、ツールを構成する入力項目の入力支援定義Ｄ２２の依存関係に従い、定義読込手段３、定義解釈手段４及びレイアウト定義手段５を動作させることにより、最終的に変更後のツールの出力用ツール情報Ｄ６を自動で決定することができる。また、ユーザが出力用ツール情報Ｄ６の表示状態時における入力項目に入力するデータの選択肢や入力できる範囲などの入力支援を他の入力項目に入れたデータに応じて動的に変えることにより、入力精度を向上させることができる。
【０１３８】
このように、実施の形態１の監視制御アプリケーション設計装置１は、定義読込手段４による定義解釈処理、レイアウト定義手段５によるレイアウト定義処理を経て、最終的にツール出力手段６により、ツール単位に、入力項目を並べ且つ、入力項目に入力支援プログラムを埋め込んで得られる出力用ツール情報Ｄ６を得ることができる。
【０１３９】
したがって、実施の形態１の監視制御アプリケーション設計装置１は、利用するツールの順序や、ツールを構成する入力項目を変更した場合でも、ツールを構成する入力項目の入力支援定義Ｄ２２の依存関係に従い、ツールにおける入力項目を並べ順であるルールのレイアウトを自動で決定した出力用ツール情報Ｄ６を得ることができるため、監視制御アプリケーションを使用するユーザに対する負担を軽減することができる。
【０１４０】
＜実施の形態２＞
実施の形態２に係る監視制御アプリケーション設計装置１のハードウェア構成及び機能ブロック構成は、実施の形態１に係る監視制御アプリケーション設計装置１のハードウェア構成及び機能ブロック構成とそれぞれ同じである。以下、本実施の形態に係る監視制御アプリケーション設計装置１のハードウェア構成、及び、機能ブロック構成において、実施の形態１と同一の部分には同一符号を付与し、以下においては実施の形態１と異なる部分を中心に説明する。
【０１４１】
本実施の形態に係る監視制御アプリケーション設計装置１においては、定義解釈手段３は、キャッシュデータＣＤ１０（読み込み定義情報Ｄ３）に含まれていない入力項目があった場合、実施の形態１とは異なり、該当する入力項目を定義部２（記録装置１３）に保存されている入力項目仕様定義Ｄ２１及び入力支援定義Ｄ２２から取得するようになっている。
【０１４２】
図１８は実施の形態２における定義解釈手段４による定義解釈処理を示すフローチャートである。本実施の形態に係る監視制御アプリケーション設計装置１の動作について図１８を用いて説明する。
【０１４３】
図１８を参照して、実施の形態１で説明したステップＳ４０，Ｓ４１（図１４）と同様の処理が行われる。
【０１４４】
そして、ステップＳ４２Ａにて、入力項目支援の種類のすべての条件式に対して、入力項目が含まれていないかを解析し、ステップＳ４３Ｃにおいて、解析によって得られた入力項目、条件式、種類をキャッシュデータＣＤ１１に登録する。
【０１４５】
なお、条件式が指示する入力項目がキャッシュデータＣＤ１０に含まれておらず入力項目として認識されない場合、あるいは入力項目として認識されたが当該入力項目がキャッシュデータＣＤ１１に登録されていない場合の２つの場合のいずれかに該当する入力項目である不存在入力項目の発生時に、エラーを通知することなくステップＳ４３Ｂに遷移する。ステップＳ４３Ｂにて、不存在入力項目に該当する入力項目仕様定義Ｄ２１及び入力支援定義Ｄ２２を定義部２から検索する。検索した結果、該当する入力項目がない場合は、この時点でユーザにエラーを通知する。該当した場合は、該当した入力項目に対してＳ４１，Ｓ４２Ａの処理を実行する。その後、ステップＳ４３Ｃにて、ステップＳ４３Ｂにおいて取得した入力項目がキャッシュデータＣＤ１１として登録される。
【０１４６】
またステップＳ４４Ａにて、入力項目支援の種類すべての支援値に対して、入力項目が含まれていないかを解析し、解析によって入力項目があった場合は、ステップＳ４５Ｃにおいて、入力項目、支援値、種類をキャッシュデータＣＤ１１に登録する。なお、入力項目として認識されたが、キャッシュデータＣＤ１１に登録されていない不存在入力項目の場合は、ユーザにエラーを通知することなくステップＳ４４Ｂに遷移する。
【０１４７】
ステップＳ４４Ｂにて、不存在入力項目に該当する入力項目仕様定義Ｄ２１及び入力支援定義Ｄ２２を定義部２から検索する。検索した結果、該当する入力項目がない場合は、ユーザにエラーを通知する。該当した場合は、該当した入力項目に対し、ステップＳ４１，Ｓ４２Ａ及びＳ４４Ａの処理を実行する。その後、ステップＳ４５Ｃにて、ステップＳ４４Ｂで取得した入力項目がキャッシュデータＣＤ１２に登録される。
【０１４８】
なお、図１８において、ステップＳ４２Ａ〜Ｓ４５Ｃの処理はステップＳ４１で選択された入力項目毎に繰り返し行われ、ステップＳ４１〜Ｓ４Ｃ５の処理はツール毎に繰り返し行われる。
【０１４９】
以上のような実施の形態２に係る監視制御アプリケーション設計装置１によれば、定義部２の構成定義Ｄ２４として重要な入力項目のみを定義するだけで、定義解釈手段３が、定義部２から入力項目の入力支援定義Ｄ２２の条件式や支援値に含まれる依存関係にも基づき、ツールを構成するために必要な入力項目を自動で見つけ出すことができる。これにより、ユーザは構成定義Ｄ２４にツールを構成するすべての入力項目を定義しなくて良く、定義の手間を削減することができる。
【０１５０】
このように、実施の形態２の監視制御アプリケーション設計装置１は、構成定義Ｄ２４にツールを構成するすべての入力項目を定義しなくて良く、重要な入力項目のみを定義するだけで、定義解釈手段４によってツールを構成するために必要な入力項目を自動的に見いだされる結果、最終的に出力用ツール情報Ｄ６内の上記ツールのレイアウトを自動で決定することができる。したがって、ユーザによる構成定義Ｄ２４を作成する手間の軽減を図ることができる。
【０１５１】
＜実施の形態３＞
実施の形態３に係る監視制御アプリケーション設計装置のハードウェア構成及び機能ブロック構成は、実施の形態２に係る監視制御アプリケーション設計装置１のハードウェア構成及び機能ブロック構成とそれぞれ同じである。以下、本実施の形態に係る監視制御アプリケーション設計装置１のハードウェア構成、及び、機能ブロック構成において、実施の形態１、実施の形態２と同一の部分には同一符号を付与し、以下においては実施の形態１、実施の形態２と異なる部分を中心に説明する。
【０１５２】
実施の形態３に係る監視制御アプリケーション設計装置１においては、ツール出力手段６は、ツール出力手段６が出力中の全ツールの入力項目以外の項目を新たに追加しようとした場合、実施の形態１とは異なり、新たに追加する入力項目を定義部２に保存されている入力項目仕様定義Ｄ２１及び入力支援定義Ｄ２２から取得すると同時に、当該入力項目を配置するツールを要変更ツールとして選択することができる。そして、実施の形態３のツール出力手段６は、当該要変更ツールに関し、新たに追加された状態を反映した入力項目の並び順及び入力支援プログラムの再構築と指定する要変更ツール指定機能を有している。
【０１５３】
図１９は、ツール出力手段６による要変更ツール指定機能の動作シーケンスを示すフローチャートである。この要変更ツール指定機能は、実施の形態１あるいは実施の形態２の全ステップを実行後、ツール出力手段６による要変更ツール指定機能を起動させることにより実行される。
【０１５４】
同図を参照して、ステップＳ１００では、定義部２（記憶装置１３）に格納されているすべての入力項目のうち、ツール出力手段６で未使用な入力項目を取得する。
【０１５５】
その後、ステップＳ１０１で、ユーザは、該当する入力項目を選択する。
【０１５６】
ステップＳ１０２で、定義部２に格納されている順序定義Ｄ２３を取得し、ユーザは、新たに選択した入力項目を追加するツールを選択する。
【０１５７】
その後、ステップＳ１０３で、ユーザはツールの再構築処理を実行させる。すなわち、実施の形態１の図１３〜図１７（図１４に代えて図１８でも可）で示した定義読込手段３、定義解釈手段４及びレイアウト定義手段５による定義読み込み処理、定義解釈処理及びレイアウト定義処理を順に再実行させる。
【０１５８】
その後、ステップＳ１０４にて、新たに得られたレイアウト定義手段５からのキャッシュデータＣＤ１４等に基づき、新たに挿入された入力項目の位置を検出し、挿入された位置に前に配置された入力項目に関する情報が格納されていれば、この古い情報を適切な入力項目が配置された列へと移動する入力項目に関する情報の配置転換処理を行い、変更されたツールに適合した新たな出力用ツール情報Ｄ６を生成する。
【０１５９】
そして、ステップＳ１０５において、新たに挿入された入力項目に関する情報を定義情報Ｄ２の構成定義Ｄ２４内に含める書き換え処理を行う。
【０１６０】
なお、ステップＳ１００の処理を本処理はツール出力手段６から呼び出すことが可能である。
【０１６１】
以上のような実施の形態３に係る監視制御アプリケーション設計装置１によれば、追加した入力項目の仕様に基づき変更の必要のなるツールに対し、入力項目の並び替え且つ、入力支援プログラムの再埋め込みを行えるので、ユーザが表示状態の出力用ツール情報Ｄ６における入力項目へのデータの投入最中又は投入後でも、新たに入力項目を追加することが可能となる。
【０１６２】
また、この応用例として、入力項目へのデータの投入最中又は投入後でも、ツール出力手段６が既に構成している入力項目の入力項目支援定義の条件式や支援値を変更することもできる。
【０１６３】
このように、実施の形態３の監視制御アプリケーション設計装置１は、ツール出力手段６に要変更ツール指定機能を持たせることにより、追加した入力項目の仕様に基づき、要変更ツールに関し、入力項目の並び替え且つ、入力支援プログラムの再埋め込みを行った後の出力用ツール情報Ｄ６を得ることができる。このため、ツールを構成する入力項目へのデータの投入最中又は投入後でも、新たに入力項目を追加することが可能となる。
【０１６４】
＜実施の形態４＞
実施の形態４に係る監視制御アプリケーション設計装置のハードウェア構成及び機能ブロック構成は、実施の形態２、実施の形態３に係る監視制御アプリケーション設計装置１のハードウェア構成及び機能ブロック構成とそれぞれ同じである。以下、本実施の形態に係る監視制御アプリケーション設計装置１のハードウェア構成、及び、機能ブロック構成において、実施の形態１〜実施の形態３と同一の部分には同一符号を付与し、以下においては実施の形態１〜実施の形態３と異なる部分を中心に説明する。
【０１６５】
実施の形態４のツール出力手段６は、出力用ツール情報Ｄ６内に入力項目支援定義に定義された条件値や支援値に従いデータが適切に入力されているかを最終チェックするデータ検証処理が実行可能である。
【０１６６】
図２０は実施の形態４によるツール出力手段６によるデータ検証処理を示すフローチャートである。
【０１６７】
次に、本実施の形態に係る監視制御アプリケーション設計装置１の動作について図２０を用いて説明する。
【０１６８】
ステップＳ１３０にて、ユーザがツール出力手段６にある検証ボタンをクリックし、データ検証処理を開始する。
【０１６９】
ステップＳ１３１にて、ツール出力手段６で登録された出力用ツール情報Ｄ６で規定される全ての入力項目の読み込みを実行する。
【０１７０】
ステップＳ１３２にて、ステップＳ１３１で読み込んだ全ての入力項目について入力支援定義を取得し、ステップＳ１３３にて、条件式及び支援値に含まれている他の入力項目の値を取得する。
【０１７１】
ステップＳ１３４にて、取得した他の入力項目の値を用いて条件式や支援値を実行する。すなわち、データ検証処理は入力支援プログラムの代わりに、他の入力項目の値を用いて条件式や支援値を実行する入力支援実行機能を有している。
【０１７２】
その後、ステップＳ１３５にて、ステップＳ１３１で読み込んだ全ての入力項目に関し、該当結果が入力結果と合致しているかを検証する。合致していない場合は、ステップＳ１３６にて、該当箇所をキャッシュデータＣＤ１５に記録する。全処理完了後ステップＳ１３７にて、キャッシュデータＣＤ１５に含まれているエラー結果をユーザに通知する。
【０１７３】
以上のような実施の形態４に係る監視制御アプリケーション設計装置１によれば、入力支援プログラムを使用しない又は使用できない環境においても、ツール出力手段６のデータ検証処理を実行させることにより、出力用ツール情報Ｄ６で規定される全ての入力項目へのデータ登録が適切になされているかを自動で再チェックすることができる。
【０１７４】
＜実施の形態５＞
実施の形態５に係る監視制御アプリケーション設計装置のハードウェア構成及び機能ブロック構成は、実施の形態２、実施の形態３に係る監視制御アプリケーション設計装置１のハードウェア構成及び機能ブロック構成とそれぞれ同じである。以下、本実施の形態に係る監視制御アプリケーション設計装置１のハードウェア構成、及び、機能ブロック構成において、実施の形態１〜実施の形態３と同一の部分には同一符号を付与し、以下においては実施の形態１〜実施の形態３と異なる部分を中心に説明する。
【０１７５】
定義部２において、入力支援定義Ｄ２２の条件式または支援値に使用している文字列、例えば「連結OP :: '||' | ‘&&’」における「||」を「又は」や「&&」を「且つ」のように、人間が可読できる表現のマッピングテーブルを保持することにより、ツール出力手段６が出力用ツール情報Ｄ６を出力している表示形態における入力項目に関する仕様を、ツールを利用するユーザが可読できるドキュメントに変換することができる。
【０１７６】
図２１は実施の形態５のツール出力手段６による仕様内容表現変換機能を示すフローチャートである。
【０１７７】
次に、本実施の形態に係る監視制御アプリケーション設計装置１の動作について図２１を用いて説明する。なお、定義部２に、マッピングテーブルを管理させることと、図１２のステップＳ２を改良し、ステップＳ２Ａでは、入力項目仕様定義Ｄ２１、入力支援定義Ｄ２２、順序定義Ｄ２３、構成定義Ｄ２４、マッピングテーブルの内、どの定義を追加、変更、削除、検索等するかを選択する。
【０１７８】
図２１を参照して、ステップＳ１１０にて、ツール出力手段６が出力中の出力用ツール情報Ｄ６におけるツールに関する定義情報Ｄ２（順序定義Ｄ２３、構成定義Ｄ２４、入力項目仕様定義Ｄ２１、入力支援定義Ｄ２２）を取得する。
【０１７９】
ステップＳ１１１にて、マッピングテーブルを定義部２（記憶装置１３）から取得する。
【０１８０】
ステップＳ１１２にて、入力支援定義Ｄ２２の条件式や支援値に含まれる当初表示用語に対応するマッピングテーブルに含まれる変換対象用語を検索する。
【０１８１】
ステップＳ１１３にて、該当する変換対象用語がある場合は、当初表示用語を変換対象用語に置換する。例えば、当初表示用語が‘&&’の場合、変換対象用語の「且つ」に置換する。
【０１８２】
ステップＳ１１４にて、置換後の条件式及び支援値を規定した出力用ツール情報Ｄ６をキャッシュデータＣＤ１６として格納する。すべての処理完了後、ステップＳ１１５にて、キャッシュデータＣＤ１６に格納されている情報を、電子ファイル等に保存する。
【０１８３】
なお、図２１において、ステップＳ１１１〜Ｓ１１４の処理はツール毎に繰り返し行うことができる。
【０１８４】
以上のような本実施の形態に係る監視制御アプリケーション設計装置１によれば、出力用ツール情報Ｄ６を出力している表示形態の入力項目にデータを入力するユーザが、条件式の内容等、可読できるデータ入力仕様書を自動生成することができる。
【０１８５】
すなわち、実施の形態５の監視制御アプリケーション設計装置１のツール出力手段６は仕様内容表現変換機能を有しているため、出力用ツール情報Ｄ６で規定される入力項目にデータを入力するユーザが、可読できる仕様書（入力項目の仕様内容）を自動生成することができる。
【０１８６】
＜実施の形態６＞
実施の形態６に係る監視制御アプリケーション設計装置のハードウェア構成及び機能ブロック構成は、実施の形態２、実施の形態３に係る監視制御アプリケーション設計装置１のハードウェア構成及び機能ブロック構成とそれぞれ同じである。以下、本実施の形態に係る監視制御アプリケーション設計装置１のハードウェア構成、及び、機能ブロック構成において、実施の形態１〜実施の形態３と同一の部分には同一符号を付与し、以下においては実施の形態１〜実施の形態３と異なる部分を中心に説明する。
【０１８７】
定義部２において、入力仕様定義の属性に変換ロジック２０５を新たに追加し、出力用ツール情報Ｄ６で規定されるツールに入力したデータを外部のファイルやシステムに投入する際、変換ロジック２０５に定義されたロジックにて入力されたデータを変換することができる。例えば日付フォーマットがその一例であり、「yyyyMMdd」形式で入力されたデータを、「dd/MM/yyyy」という形式に変換する場合に利用する。
【０１８８】
図２２は実施の形態６のツール出力手段６による表現形式変換機能を示すフローチャートである。
【０１８９】
次に、本実施の形態に係る監視制御アプリケーション設計装置１及びプログラムの動作について図２２を用いて説明する。
【０１９０】
ステップＳ１２０にて、ユーザがツール出力手段６にある表示変換ボタンをクリックし、表現形式変換処理を開始する。
【０１９１】
ステップＳ１２１にて、ツール出力手段６で登録された出力用ツール情報Ｄ６で規定される入力項目に入力された全データの読み込みを実行する。
【０１９２】
ステップＳ１２２にて、入力項目の表示形式仕様に変換ロジックが設定されているものに関しては、変換ロジックに従い、入力項目内のデータを変換する。
【０１９３】
ステップＳ１２３にて、データ変換後の出力用ツール情報Ｄ６をキャッシュデータＣＤ１７として格納する。すべての処理が完了後、ステップＳ１２４にて、キャッシュデータＣ１７に格納したデータ変換後の出力用ツール情報Ｄ６を電子ファイルまたは外部システム等に保存または投入する。
【０１９４】
なお、図２２において、ステップＳ１２２〜Ｓ１２３の処理は入力項目毎に繰り返し行われる。
【０１９５】
以上のような本実施の形態６に係る監視制御アプリケーション設計装置１によれば、ツールに入力するデータの表現形式と、他のツールや監視制御アプリケーション設計装置及びプログラムやアプリケーションが読み込むデータの表現形式が異なる場合、その形式適した形に変換したデータを生成することで、変換作業の無駄を削減することができる。
【０１９６】
このように、実施の形態６の監視制御アプリケーション設計装置１のツール出力手段６は、出力用ツール情報Ｄ６における入力項目の表現形式を他の装置が処理可能な表現形式に変換する表現形式変換機能を有している。このため、出力用ツール情報Ｄ６で規定されたツールの入力項目に入力するデータの表現形式と、他のツールや監視制御アプリケーション設計装置及びプログラムやアプリケーションが読み込むデータの表現形式が異なる場合、その形式に適した表現形式に変換したデータ仕様の入力項目を規定した出力用ツール情報Ｄ６を生成することにより、変換作業の無駄を削減することができる。
【０１９７】
＜プログラムへの応用＞
実施の形態１〜実施の形態６で示した監視制御アプリケーション設計装置１のうち、定義読込手段３、定義解釈手段４、レイアウト定義手段５及びツール出力手段６による処理をコンピュータ実行可能なプログラム（監視制御アプリケーション設計支援プログラム）として記述することができる。
【０１９８】
したがって、上記したプログラムをコンピュータに実行させることにより、実施の形態１〜実施の形態６で示し監視制御アプリケーション設計装置１と同様な効果を得ることができる。
【０１９９】
＜その他＞
以上、本発明の実施の形態を詳細に開示し記述したが、以上の記述は本発明の適用可能な局面を例示したものにすぎず、本発明はこれに限定されるものではない。すなわち、記述した局面に対応する様々な例を、この発明の範囲から逸脱すること無い範囲内で考えることが可能となる。
【符号の説明】
【０２００】
１  監視制御アプリケーション設計装置、２  定義部、３  定義読込手段、４  定義解釈手段、５  レイアウト定義手段、６  ツール出力手段、７  データ管理部。
【図１】
0005404681.tif 000002
【図２】
0005404681.tif 000003
【図３】
0005404681.tif 000004
【図４】
0005404681.tif 000005
【図５】
0005404681.tif 000006
【図６】
0005404681.tif 000007
【図７】
0005404681.tif 000008
【図８】
0005404681.tif 000009
【図９】
0005404681.tif 000010
【図１０】
0005404681.tif 000011
【図１１】
0005404681.tif 000012
【図１２】
0005404681.tif 000013
【図１３】
0005404681.tif 000014
【図１４】
0005404681.tif 000015
【図１５】
0005404681.tif 000016
【図１６】
0005404681.tif 000017
【図１７】
0005404681.tif 000018
【図１８】
0005404681.tif 000019
【図１９】
0005404681.tif 000020
【図２０】
0005404681.tif 000021
【図２１】
0005404681.tif 000022
【図２２】
0005404681.tif 000023
【図２３】
0005404681.tif 000024
【図２４】
0005404681.tif 000025
【図２５】
0005404681.tif 000026