(57)【要約】【課題】プログラマブル表示器の試験を実施する際に、試験関連処理による動作タイミングへの影響によって試験シナリオのタイミング設定が難しいと共に、試験時間が長くなる。【解決手段】自動試験装置１は、プログラマブル表示器２の操作手順とその応答表示状態を確認するための手順とそのタイミングを記した試験シナリオ１１を読み込んで同表示器２の画面プログラム２３の自動試験を行う試験手順実行エンジン部１２を含む。上記表示器２は、上記エンジン部１２との間で操作指示又はその応答表示状態を確認するための変更通知データをやり取りする試験モジュール部２２と、表示器本体ソフトウェア部２１とから構成される。同表示器２は制御対象３を監視・操作する。同表示器２内の試験モジュール部２２は、予め登録された画面又は画面構成部品の表示変更通知を選択的に試験手順実行エンジン部１２との間でやり取りし、同部１２は動作確認を行う。【選択図】図１
2009251936.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル表示器の操作手順と前記プログラマブル表示器の応答表示状態を確認するための確認手順と前記操作手順及び前記確認手順の各々のタイミングとを記した試験シナリオをシナリオ実行部が読み込んで前記プログラマブル表示器内のユーザが作成した画面プログラムの自動試験を行う試験手順実行エンジン部を有する自動試験装置と、
前記試験手順実行エンジン部との間で、前記試験シナリオに記載されたタイミングに応じて前記シナリオ実行部により発行された前記操作手順に基づく操作指示及び前記操作指示に対する応答表示状態を確認するための変更通知データをやり取りする試験モジュール部と、表示器本体ソフトウェア部とから構成されるプログラマブル表示器と、
前記画面プログラムの内容に従って前記プログラマブル表示器の前記表示器本体ソフトウェア部によって監視・操作される制御対象とから構成される、
プログラマブル表示器の画面プログラム自動試験システムであって、
動作中に登録した表示画面又は画面構成部品の表示属性の変更通知データを選択して、選択された変更通知データを前記試験手順実行エンジン部へ送信する変更通知発生部を前記試験モジュール部内に備えることを特徴とする、
自動試験システム。
【請求項２】
請求項１記載のプログラマブル表示器の画面プログラム自動試験システムであって、
試験実行時には前記試験モジュール部を前記プログラマブル表示器に動的に追加する一方、試験実行時以外に於いては前記試験モジュール部を前記プログラマブル表示器に追加しない試験モジュールロード部を、前記表示器本体ソフトウェア部内に備えることを特徴とする、
自動試験システム。
【請求項３】
請求項１記載のプログラマブル表示器の画面プログラム自動試験システムであって、
前記プログラマブル表示器の画面又は画面構成部品の表示状態を示す内部表示状態データとしての前記変更通知データと前記シナリオ実行部により発行された動作確認コマンドの値とを比較して表示確認する際に、値の完全一致の判定だけでなく、前記内部表示状態データの値が所定の期間内に所定の範囲内に入っているか否かの判定をも行う表示変更管理部を、前記試験手順実行エンジン部内に備えることを特徴とする、
自動試験システム。
【請求項４】
請求項１記載のプログラマブル表示器の画面プログラム自動試験システムであって、
前記プログラマブル表示器の画面又は画面構成部品の表示状態を示す内部表示状態データとしての前記変更通知データと前記シナリオ実行部により発行された動作確認コマンドの値とを比較して表示確認する際に、
前記変更通知発生部は、各配置部品の座標及びサイズを省略して前記変更通知データを送信し、
前記各配置部品の座標及び前記サイズの確認をせずに、オブジェクトＩＤと画面種別ＩＤとをキーにして表示確認を行う表示変更管理部を前記試験手順実行エンジン内に備えることを特徴とする、
自動試験システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブル表示器のユーザが作成する画面プログラムの試験を自動的に行うシステムに関する。
【背景技術】
【０００２】
特許文献１に開示された動作評価システムは、動作テストのための入力キーを予め格納しておくと共に、正常に動作する環境下で動作テストを行なった結果を標準結果として格納しておき、その後、他の新たな動作環境下で上記入力キーに基づいて動作テストを実行し、その所定の動作段階で、新たな動作環境下での実行結果と、当該動作段階に該当する上記標準結果とを比較して、その比較結果を格納する構成を、備えている。
【０００３】
【特許文献１】特開平９−１８５５２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、既述した従来技術の方式では、同じプログラムコードで動作する異なるプログラム部品実体の実行結果を選択して出力することが出来ない。このため、動作確認する必要性の無い画面又は画面構成部品の表示属性の動作確認のためのＣＰＵ 負荷又はネットワークの負荷が大きく、試験を実行することによって動作タイミングが大きく変わってしまい、試験シナリオのタイミングを設定するのが難しいという問題点がある。加えて、従来技術の方式では、試験に時間がかかるという問題点がある。
【０００５】
この発明は、上記に記載した問題点を解決するために成されたものであり、試験の際に予め登録された画面又は画面構成部品の表示属性の動作確認関連処理のみを行うことによって、試験関連処理によるプログラマブル表示器の動作タイミングへの影響を減らし、且つ、試験時間を短縮することを、その目的としている。
【課題を解決するための手段】
【０００６】
この発明の主題は、プログラマブル表示器の操作手順と前記プログラマブル表示器の応答表示状態を確認するための確認手順と前記操作手順及び前記確認手順の各々のタイミングとを記した試験シナリオをシナリオ実行部が読み込んで前記プログラマブル表示器内のユーザが作成した画面プログラムの自動試験を行う試験手順実行エンジン部を有する自動試験装置と、前記試験手順実行エンジン部との間で、前記試験シナリオに記載されたタイミングに応じて発行された前記操作手順に基づく操作指示及び前記操作指示に対する応答表示状態を確認するための変更通知データをやり取りする試験モジュール部と、表示器本体ソフトウェア部とから構成されるプログラマブル表示器と、前記画面プログラムの内容に従って前記プログラマブル表示器の前記表示器本体ソフトウェア部によって監視・操作される制御対象とから構成される、プログラマブル表示器の画面プログラム自動試験システムであって、動作中に登録した表示画面又は画面構成部品の表示属性の変更通知データを選択して、選択された変更通知データを前記試験手順実行エンジン部へ送信する変更通知発生部を前記試験モジュール部内に備えることを特徴とする。
【発明の効果】
【０００７】
本発明の主題によれば、動作中に登録された画面又は画面構成部品の表示属性値に関する動作確認処理のみが行えるようになり、試験のためだけの処理に要するプログラマブル表示器のＣＰＵ負荷及びネットワーク負荷が小さくなり、これによって試験関連処理によるプログラマブル表示器の動作タイミングへの影響を減らすことが出来、しかも、試験時間を格段に短縮することが出来る。
【０００８】
以下、この発明の主題の様々な具体化を、添付図面を基に、その効果・利点と共に、詳述する。
【発明を実施するための最良の形態】
【０００９】
（実施の形態１）
<システム構成概要>
図１は、本発明の実施の形態１に係るプログラマブル表示器の画面プログラム自動試験システムの構成を示す機能ブロック図である。図１のシステム構成は、制御対象３の操作・監視を行っているプログラマブル表示器２の画面プログラム２３を自動試験装置１により試験する際の機能構成に該当する。図１に於いて、自動試験装置１とプログラマブル表示器２との間、及び、プログラマブル表示器２と制御対象３との間は、各々、データ伝送可能な線路（例えば、ＬＡＮ、シリアル等の公知の伝送手段）で以って接続されている。
【００１０】
<プログラマブル表示器の通常時の動作>
プログラマブル表示器２は、制御対象３に接続されており、その制御対象３内のデータを読み出して当該データをプログラマブル表示器２の画面上に表示し、又は、その制御対象３に対して指示を出力するための装置である。プログラマブル表示器２の動作は、通常時は、メモリ等の記憶装置に格納された画面プログラム２３により与えられるパラメータに基づいて、表示器本体ソフトウェア部（表示器本体ソフトウェアを実働・機能させるＣＰＵの一部分）２１の動作によって制御される。即ち、表示器本体ソフトウェア部２１は、ユーザによって作成された画面プログラム２３を上記記憶装置より読み出して、ユーザの意図通りの動作をプログラマブル表示器２に実行させる。又、画面プログラム２３は、複数個の画面の各々に複数の画面構成部品を配置して、その各々の画面構成部品に対する動作パラメータをユーザが設定することにより、作成される。
【００１１】
<試験のみに必要な構成要素>
図１に於いて、画面プログラム２３の試験のみに必要な構成要素は、ＣＰＵ等によって実行される各ソフトウェアの機能部分である試験モジュール部２２及び試験手順実行エンジン部１２と、図３の自動試験装置記憶部８０に於いて記憶されているデータである試験シナリオ１１及び試験ログ１４と、ＯＳの要素であるタイマーとしての時間計測部１３の５つの部分である。これらの内で、試験モジュール部２２は、プログラマブル表示器２内で試験モジュールと言うソフトウェアを実働して得られる機能部であり、表示器本体ソフトウェア部２１の内部の表示状態を参照して、各画面又は画面構成部品の表示状態の変更通知を、自動試験装置１側に送信する機能を呈する。それに対して、その他の構成要素１１〜１４は、画面プログラム２３の試験に起因するプログラマブル表示器２の動作への影響を少なくするために、自動試験装置１内に設けられている。
【００１２】
<ハードウェア構成>
図２は、本実施の形態に係るプログラマブル表示器２のハードウェア構成を示すブロック図である。本実施の形態のプログラマブル表示器２は、そのハードウェアの面では、タッチパネル（図示せず。）が設けられた専用の電子機器に該当する。図２に示す通り、プログラマブル表示器２は、タッチパネルから入力された情報を受信する表示器入力部４と、各種の情報を記憶する表示器記憶部（例えばメモリより成る。）８と、その情報に基づき演算処理を実行する表示器処理部（ＣＰＵ等）５と、その演算処理結果を文字、画像等から成る表示情報として上記のタッチパネル上に表示する表示器表示部６と、表示器処理部５の演算結果を外部との間で通信する表示器通信部７とから構成されている。
【００１３】
図１のプログラマブル表示器２に於ける、試験モジュール部２２内の試験コマンド送受信部２２１及び表示器本体ソフトウェア部２１は、それぞれ、図２の表示器通信部７を通して、自動試験装置１及び制御対象３との間で通信する。又、図１の表示器本体ソフトウェア部２１内のキー処理部２１１に、図２の表示器入力部４から情報が入力され、表示処理部２１２の処理結果は、図２の表示器表示部８に出力される。又、図２の表示器記憶部８は、１）表示器本体ソフトウェアと試験モジュール（ソフトウェア）とより成る、電子機器を試験可能な表示器として実行させるためのプログラム、２）設定ファイル、及び３）画面プログラム２３を記憶しており、図２の表示器処理部５は、起動時に、電子機器を試験可能な表示器として実行させるための上記プログラムを表示器記憶部８より読み出して、実行する。又、プログラマブル表示器２に含まれる各機能部２１及び２２は、図２の表示器処理部５に於ける、それぞれに対応する表示器本体ソウトウェア及び試験モジュールを実行する機能部分である。
【００１４】
図３は、本実施の形態に係る自動試験装置１のハードウェア構成を示すブロック図である。本実施の形態の自動試験装置１は、ハードウェアとしては、パソコン等の計算機又は携帯端末等の電子機器に相当する。図３に示す通り、自動試験装置１は、キーボード、マウス又はジョイスティック等から入力される情報を受信する自動試験装置入力部４０と、各種の情報を記憶する自動試験装置記憶部（例えばメモリより成る。）８０と、その情報に基づき演算処理を実行する自動試験装置処理部（例えばＣＰＵより成る。）５０と、その演算処理結果を文字及び／又は画像等の表示情報としてＣＲＴ又は液晶ディスプレイ等の表示装置に表示する自動試験装置表示部６０と、自動試験装置処理部５０の演算結果を外部との間で通信する自動試験装置通信部７０とから構成される。
【００１５】
図１の自動試験装置１の試験手順実行エンジン部１２は、図３の自動試験装置通信部７０を通して、プログラマブル表示器２との間で通信を行う。又、試験手順実行エンジン部１２は、図３の自動試験装置入力部４０の操作により入力された起動指令に応じて起動される「試験手順実行エンジン」と言うソウトウェアを実行する自動試験装置処理部（ＣＰＵ等）５０の機能部分であり、自動試験装置記憶部８０内に記憶されている試験シナリオ１１を読み出して動作し、その処理結果を自動試験装置記憶部８０内に記憶されている試験ログ（試験結果のファイル）１４に保存する、又は、その処理結果を自動試験装置表示部６０に出力して表示する。又、自動試験装置記憶部８０（メモリ等）は、１）試験手順実行エンジンより成る、電子機器を自動試験装置１として実行させるためのプログラム、２）設定ファイル、３）試験シナリオ及び４）試験ログを記憶しており、自動試験装置処理部５０は、電子機器を自動試験装置１として実行させるための上記プログラムを自動試験装置記憶部８０から読み出して、実行する。又、図１の試験手順実行エンジン部１２に含まれる各機能部１２１〜１２３の各々は、図３の自動試験装置処理部（ＣＰＵ等）５０によって実行される。
【００１６】
<試験の流れ概要>
既述した図1は、本実施の形態に於けるプログラマブル表示器２の画面プログラム自動試験システムを示す図であり、以下に、本システムで以って画面プログラム２３の自動試験を行う際の流れの概要を記載する。各構成要素とその動作の詳細に関しては、後述する。
【００１７】
プログラマブル表示器２の画面プログラム２３を自動試験する際には、先ず、プログラマブル表示器２の表示器処理部５内に試験モジュール部２２から成る機能部分を追加して同モジュール部２２を動作させると共に、試験モジュール部２２の変更通知発生部２２４が保有する複数の変更通知関数（図２の表示記憶部８に割り当てられた記憶領域中に格納されている）の各々のアドレスの情報を、表示器本体ソフトウェア部２１の表示処理部２１２の中の変更通知関数登録領域２１２２に登録する。この登録処理により、表示処理部２１２の変更通知関数登録領域２１２２と試験モジュール部２２の変更通知発生部２２４とはリンクされる。ここで、上記の「変更通知関数」とは、表示器本体ソフトウェア部２１の表示処理部２１２が画面又は画面構成部品の表示状態の変更が発生した時に変更通知発生部２２４より呼び出して、変更通知発生部２２４が表示器本体ソフトウェア部２１の表示処理部２１２の表示状態データ２１２１を参照して、画面又は画面構成部品の表示状態の変更が発生したことを伝える「変更通知コマンド」を作成・送信する関数である。
【００１８】
以上の処理の後に、本システムのＯＳは、自動試験装置１の試験手順実行エンジン部１２のアプリケーションソフトウェアである試験手順実行エンジンを起動する。試験手順実行エンジンが起動されると、試験手順実行エンジン部１２内のシナリオ実行部１２２は、自動試験装置記憶部８０より試験シナリオ１１を読み出し、試験シナリオ１１によって特定された手順に従って、プログラマブル表示器２の操作を行う「操作コマンド」を発行し、コマンド送受信部１２１を経由して、当該「操作コマンド」を試験モジュール部２２に送信する。
【００１９】
プログラマブル表示器２の試験モジュール部２２の試験コマンド送受信部２２１は、上記の「操作コマンド」を受信すると、擬似操作入力発生部２２２が保有する関数（図２の表示器記憶部８内に割り当てられた所定の記憶領域に記憶されている。）を呼び出し、擬似操作入力発生部２２２は、人がプログラマブル表示器２を操作した時にプログラマブル表示器２内部で発行される入力メッセージと同様の入力メッセージを擬似的に発行し、当該「擬似的入力メッセージ」を表示器本体ソフトウェア部２１のキー処理部２１１に送信する。表示本体ソフトウェア部２１は、擬似的に発行された上記の「擬似的入力メッセージ」を受信して、応答動作を行うこととなる。
【００２０】
時間計測部１３の計測時間が表示本体ソフトウェア部２１の応答動作の確認を行う前になると、試験シナリオ１１により特定された手順に従って動作している自動試験装置１の試験手順実行エンジン部１２のシナリオ実行部１２２は、「表示変更通知登録コマンド」を発行して、当該「表示変更通知登録コマンド」を試験手順実行エンジン部１２内の表示変更管理部１２３に送信する。「表示変更通知登録コマンド」を受信した表示変更管理部１２３は、それ以降にプログラマブル表示器２の変更通知発生部２２４が送信する「変更通知コマンド」（単に変更通知とも言う。）を基にして画面又は画面構成部品の表示状態を記憶するための所定の記憶領域を、図３の自動試験装置記憶部８０内に確保した上で、コマンド送受信部１２１を経由して、「表示変更通知登録コマンド」をそのまま試験モジュール部２２に送信する。
【００２１】
試験モジュール部２２の試験コマンド送受信部２２１は、「表示変更通知登録コマンド」を受信すると、「表示変更通知登録コマンド」で指定された画面又は画面構成部品の指定表示属性の変更通知フラグ（変更通知発生部２２４が表示器記憶部８内の所定の記憶領域内に記憶している変更通知フラグ）を“変更通知する”に設定する。この設定により、表示器本体ソフトウェア部２１内の表示処理部２１２が、登録した画面又は画面構成部品の表示属性の表示状態の変更が発生した時に、変更通知関数登録領域２１２２内に記憶されている対象の変更関数のアドレスを指定することで、変更通知発生部２２４より、上記の変更通知関数を呼び出し、変更通知発生部２２４は、表示状態データを参照した上で表示器記憶部８より呼び出された変更通知関数によって、「表示変更通知登録コマンド」により登録された画面又は画面構成部品の表示属性の「表示変更通知コマンド」（即ち、登録された画面又は画面構成部品の表示状態が変更したことを通知するコマンド。）を作成した上で、当該「表示変更通知コマンド」を、試験コマンド送受信部２２１及びコマンド送受信部１２１経由で、試験手順実行エンジン部１２の表示変更管理部１２３に送信する様になる。又、上記の通りに試験コマンド送受信部２２１が変更通知フラグを“変更通知する”に設定した後に、試験コマンド送受信部２２１からの指示に応じて、変更通知発生部２２４は、変更通知関数を用いて、上記の表示変更通知登録コマンドで指定された画面又は画面構成部品の表示属性の全初期値の設定を行う通知である「表示変更通知コマンド」を発行し、当該全初期値の「表示変更通知コマンド」を、試験コマンド送受信部２２１及びコマンド送受信部１２１を経由して、試験手順実行エンジン部１２の表示変更管理部１２３に送信する。
【００２２】
以上の様にして表示器本体ソフトウェア部２１の表示処理部２１２、従って、試験モジュール部２２の変更通知発生部２２４が「表示変更通知コマンド」を試験手順実行エンジン部１２の表示変更管理部１２３に送信してくると、表示変更管理部１２３は、受信した「表示変更通知コマンド」を基に、登録された各画面又は画面構成部品の各表示属性の表示状態を、図３の自動試験装置記憶部８０内に確保されている上記の記憶領域内に保存する。前述した様に、「表示変更通知登録コマンド」により登録された各画面又は画面構成部品の表示が変更されなくとも、変更通知登録時に、試験コマンド送受信部２２１が、登録された各画面又は画面構成部品の各表示属性の表示状態初期値を試験手順実行エンジン部１２の表示変更管理部１２３に送信し、表示変更管理部１２３が各表示属性の表示状態初期値を記憶しているので、表示状態を表す値が不定にはならず、表示変更管理部１２３に於いて動作確認を行えることが出来る様になる。そして、表示変更管理部１２３は、「表示変更通知コマンド」と当該「表示変更通知コマンド」を受信した受信時刻とを図３の自動試験装置表示部６０のディスプレイ上に表示するか、又は、試験ログ１４のファイルに保存する。
【００２３】
時間計測部１３が表示本体ソフトウェア部２１の応答動作確認を行う所定のタイミングを計測すると、そのタイミングに応じて、試験シナリオ１１の手順に従って動作している自動試験装置１の試験手順実行エンジン部１２のシナリオ実行部１２２は「動作確認コマンド」を発行して、当該「動作確認コマンド」を表示変更管理部１２３に送信する。表示変更管理部１２３は、登録後にプログラマブル表示器２の変更通知発生部２２４が送信した「変更通知コマンド」を基にして図３の自動試験記憶装置８０内に記憶した各画面又は画面構成部品の表示状態の値と、「動作確認コマンド」の値とを比較して、「動作確認コマンド」の実行結果（比較結果）をシナリオ実行部１２２に送信する。その後、シナリオ実行部１２２は、「動作確認コマンド」の実行結果を取得すると、その実行結果と当該実行結果を受信した受信時刻とを自動試験装置表示部６０のディスプレイ上に表示するか、又は、試験ログ１４のファイルに保存する。
【００２４】
動作確認を行った後になると、試験シナリオ１１の手順に従って動作している自動試験装置１の試験手順実行エンジン部１２のシナリオ実行部１２２は「表示変更通知登録解除コマンド」を発行し、当該「表示変更通知登録解除コマンド」を試験手順実行エンジン部１２の表示変更管理部１２３に送信する。表示変更管理部１２３は、プログラマブル表示器２の変更通知発生部２２４から送信されて来る「変更通知」を基に画面又は画面構成部品の表示状態を記憶する領域（自動試験装置記憶部８０内に確保されている記憶領域）を解放し、コマンド送受信部１２１を経由して、試験モジュール部２２に「表示変更通知登録解除コマンド」をそのまま送信する。
【００２５】
試験モジュール部２２の試験コマンド送受信部２２１は、「表示変更通知登録解除コマンド」を受信すると、指定された画面又は画面構成部品の指定表示属性の変更通知フラグを“変更通知しない”に変更する。この変更設定により、登録解除した画面又は画面構成部品の指定表示属性の表示状態の変更が発生した時に、表示器本体ソフトウェア部２１内の表示処理部２１２、従って試験モジュール部１２の変更通知発生部２２４より、登録した画面又は画面構成部品の指定表示属性の「変更通知コマンド」が表示変更管理部１２３へ送信されてこなくなる。
【００２６】
<試験時の自動試験装置の構成>
図１は、本実施の形態に於けるプログラマブル表示器２の画面プログラム自動試験システムを示す機能図であり、図１中のプログラマブル表示器２の自動試験装置１は、１）試験の実行を行う試験手順実行エンジン部１２と、２）試験手順実行エンジン部１２のプログラム（試験手順実行エンジン）を起動する指定時間の経過等を計測する時間計測部１３と、３）試験を行うタイミングとその手順とを記録したデータである試験シナリオ１１と、４）試験の結果を保存するファイルである試験ログ１４とから構成される。これらの内で、試験手順実行エンジン部１２は、プログラマブル表示器２の試験モジュール部２２との間でコマンド又はその実行結果のやり取りを行うコマンド送受信部１２１と、試験シナリオ１１に記録された手順及びタイミングに従って試験シナリオ１１を実行するシナリオ実行部１２２と、プログラマブル表示器２から送られてくる「表示変更通知」を記憶してプログラマブル表示器２の表示状態を記憶し、「表示確認コマンド」の実行を行う表示変更管理部１２３とから構成されている。
【００２７】
<試験時の試験手順実行エンジン部のシナリオ実行部の動作>
図４は、図１の試験手順実行エンジン部１２のシナリオ実行部１２２の動作を示すフローチャートである。試験手順実行エンジン部１２のシナリオ実行部１２２は、ステップＳ６１に於いて、試験シナリオ１１を読んだ後、その各行（図１１参照。）の内容を以下の様に処理する。
【００２８】
試験手順実行エンジン部１２のシナリオ実行部１２２は、ステップＳ６２及びＳ６３を処理した後に、試験シナリオ１１中の「操作コマンド」が記された行を処理するステップＳ６４に於いて、処理行の「操作コマンド」を発行し、試験手順実行エンジン部１２のコマンド送受信部１２１を経由して、当該「操作コマンド」をプログラマブル表示器２の試験モジュール部２２側に送信する。そして、ステップＳ６５に於いて、シナリオ実行部１２２は、試験モジュール部２２側へ送信した「操作コマンド」とその送信時刻とを、ディスプレイに表示するか、又は、試験ログ１４に保存して、次の行の処理に移る。
【００２９】
試験手順実行エンジン部１２のシナリオ実行部１２２は、ステップＳ６２、Ｓ６３及びＳ６６を処理して、試験シナリオ１１中の「表示変更通知登録コマンド」が記された行を処理するステップＳ６７に於いて、「表示変更通知登録コマンド」を発行し、試験手順実行エンジン部１２の表示変更管理部１２３に当該「表示変更通知登録コマンド」を送信し、登録した画面又は画面構成部品の表示状態の記憶処理を表示変更管理部１２３に開始させる。そして、シナリオ実行部１２２は、次の行の処理に移る。
【００３０】
試験手順実行エンジン部１２のシナリオ実行部１２２は、ステップＳ６２、Ｓ６３、Ｓ６６及びＳ６８を処理して、試験シナリオ１１中の「Ｓｌｅｅｐコマンド」が記された行を処理する順番になると、ステップＳ６８に於いて、「Ｓｌｅｅｐコマンド」の引数として指定された時間後に試験手順実行エンジン部１２を再開する様に自動試験装置１内の時間計測部１３に依頼し、その動作を停止する。自動試験装置１内の時間計測部１３は、依頼された時間が経過すると、続きの処理を行える様に試験手順実行エンジン部１２を起動する。そして、シナリオ実行部１２２は、次の行の処理に移る。
【００３１】
試験手順実行エンジン部１２のシナリオ実行部１２２は、ステップＳ６２、Ｓ６３、Ｓ６６、Ｓ６８、及びＳ７０を処理して、試験シナリオ１１中の「表示確認コマンド」が記された行を処理する順番になると、ステップＳ７１に於いて、「表示確認コマンド」を試験手順実行エンジン部１２中の表示変更管理部１２３に送信し、ステップＳ７２に於いて、その実行結果を試験手順実行エンジン部１２中の表示変更管理部１２３から受信する。その後、試験手順実行エンジン部１２のシナリオ実行部１２２は、ステップＳ７３に於いて、受信した「表示確認コマンド」の実行結果とその受信時刻とをディスプレイに表示するか、又は、試験ログ１４に保存する。そして、シナリオ実行部１２２は、次の行の処理に移る。
【００３２】
試験手順実行エンジン部１２のシナリオ実行部１２２は、ステップＳ６２、Ｓ６３、Ｓ６６、Ｓ６８、Ｓ７０、及びＳ７４を処理して、試験シナリオ１１中の「表示変更通知登録解除コマンド」が記された行を処理する順番では、ステップＳ７５に於いて、「表示変更通知登録解除コマンド」を発行し、試験手順実行エンジン部１２の表示変更管理部１２３に当該「表示変更通知登録解除コマンド」を送信し、登録解除した画面又は画面構成部品の「表示変更結果」の記憶処理を停止させる。そして、シナリオ実行部１２２は、次の行の処理に移る。
【００３３】
<試験時の試験手順実行エンジン部の表示変更管理部の動作>
図５は、試験手順実行エンジン部１２の表示変更管理部１２３に於ける動作を示すフローチャートである。
【００３４】
試験手順実行エンジン部１２の表示変更管理部１２３は、ステップＳ８１及びＳ８２を処理してシナリオ実行部１２２から「表示変更通知登録コマンド」を受信すると、ステップＳ８３に於いて、表示変更を通知する様に指定された画面又は画面構成部品の表示状態を記憶する領域を図３の自動試験装置記憶部８０内に確保した上で、ステップＳ８４に於いて、受信した「表示変更通知登録コマンド」を試験手順実行エンジン部１２のコマンド送受信部１２１に送信する。
【００３５】
試験手順実行エンジン部１２の表示変更管理部１２３は、ステップＳ８１、Ｓ８２、及びＳ８５を処理して、シナリオ実行部１２２から「表示変更通知登録解除コマンド」を受信すると、ステップＳ８６に於いて、受信した「表示変更通知登録解除コマンド」を試験手順実行エンジン１２のコマンド送受信部１２１に送信し、更にステップＳ８７に於いて、表示変更の通知を解除する様に指定された画面又は画面構成部品の表示状態を記憶していた領域を解放する。
【００３６】
試験手順実行エンジン部１２の表示変更管理部１２３は、ステップＳ８１、Ｓ８２、Ｓ８５、及びＳ８８を処理して、「表示変更通知コマンド」を試験手順実行エンジン部１２のコマンド送受信部１２１から受信すると、ステップＳ８９に於いて、表示変更を通知する様に登録された画面又は画面構成部品の各表示属性の表示状態を、ステップＳ８３に於いて予め確保しておいた記憶領域内に記憶した上で、ステップＳ９０に於いて、「表示変更通知コマンド」の内容及その受信時刻とを試験ログ１４に保存する。上記の「表示状態の記憶」とは、変化履歴を含めた表示判定を行わない表示属性の場合には、最新の「表示変更通知コマンド」の値の記憶を意味し、変化履歴を含めた表示判定を行う表示属性の場合には、「表示変更通知コマンド」が最初に送られてきた時から今までにその値が変化してきた履歴（値が数値の場合には変化範囲）の記憶を意味する。例えば、本実施の形態に於いて、変化履歴を含めた表示判定を行わない流れ文字表示の場合に、画面種別ＩＤ０、オブジェクトＩＤ１、座標（１０,２０）、部品サイズ（３０, ４０）の流れ文字表示部品が表示する文字列が、“あいう”から“かきく”に変化したと通知された後には、画面種別ＩＤ０、オブジェクトＩＤ１、座標（１０,２０）、部品サイズ（３０, ４０）の流れ文字表示部品は、“かきく”を表示しているという表示状態になったものと、表示変更管理部１２３は記憶しておく。或いは、本実施の形態に於いて、変化履歴を含めた表示判定を行う数値表示の場合に、画面種別ＩＤ０、オブジェクトＩＤ２、座標（３０,４０）、部品サイズ（５０, ６０）の数値表示部品が４０に変化したと通知された後に、５０に変更になったと通知された場合、画面種別ＩＤ０、オブジェクトＩＤ２、座標（３０,４０）、部品サイズ（５０, ６０）の数値表示部品は最小値４０から最大値５０の間の数値を表示したという表示状態を、表示変更管理部１２３は記憶しておく。この様にすれば、表示変更通知登録後の値の変化履歴も含めた表示判定が実現可能となる。
【００３７】
試験手順実行エンジン部１２の表示変更管理部１２３は、ステップＳ８１、Ｓ８２、Ｓ８５、Ｓ８８、及びＳ９１を処理して試験手順実行エンジン部１２のシナリオ実行部１２２から「表示確認コマンド」を受信すると、ステップＳ９２に於いて、指定された画面又は画面構成部品の指定された表示属性の表示状態を確認し、表示状態が「表示確認コマンド」により指定された表示状態になっているか否かを確認し、ステップＳ９３に於いて、その結果を試験手順実行エンジン部１２のシナリオ実行部１２２に送信する。
【００３８】
<試験時の試験手順実行エンジン部のコマンド送受信部の動作>
図６は、試験手順実行エンジン部１２のコマンド送受信部１２１の動作を示すフローチャートである。
【００３９】
図６に示す様に、試験手順実行エンジン部１２のコマンド送受信部１２１は、ステップＳ１０１及びＳ１０２又はＳ１０１、Ｓ１０２及びＳ１０４を処理して、試験手順実行エンジン部１２の表示変更管理部１２３から「表示変更通知登録コマンド」又は「表示変更通知登録解除コマンド」を、シナリオ実行部１２２から「操作コマンド」を受信すると、ステップＳ１０３に於いて、受信したコマンドをプログラマブル表示器２の試験モジュール部２２にそのまま送信する。
【００４０】
試験手順実行エンジン部１２のコマンド送受信部１２１は、ステップＳ１０１、Ｓ１０２、Ｓ１０４、及びＳ１０５を処理して、プログラマブル表示器２の試験モジュール部２２から「表示変更通知コマンド」を受信すると、受信した「表示変更通知コマンド」を試験手順実行エンジン部１２の表示変更管理部１２３にそのまま送信する。
【００４１】
<試験時のプログラマブル表示器の試験モジュール部の構成>
図１に示す様に、プログラマブル表示器２は、１）ユーザが作成した画面プログラム２３と、２）画面プログラム２３の内容に従って制御対象３の操作・監視を行うための処理を行う表示器本体ソフトウェア部２１と、３）画面プログラム２３の試験時に於いて追加される、画面プログラム２３の試験に関する処理を行う試験モジュール部２２とから構成される。
【００４２】
試験モジュール部２２は、１）コマンド及びその結果を自動試験装置１との間でやり取りする試験コマンド送受信部２２１、２）自動試験装置１から試験コマンド送受信部２２１を介して「操作コマンド」を受信した際に、擬似的な入力を発生する擬似操作入力発生部２２２、３）表示器本体ソフトウェア部２１の表示処理部２１２に於いて登録された画面又は画面構成部品の表示状態の変更が発生した時に表示処理部２１２よりアドレス指定されて呼び出され、「表示変更通知コマンド」を作成して当該「表示変更通知コマンド」を試験モジュール部２２の試験コマンド送受信部２２１に送信する変更通知関数の群から成る変更通知発生部２２４とから、構成される。
【００４３】
上記の変更通知関数は、画面全体で１つ、画面構成部品種別に１つ存在する関数であり、指定された画面種別ＩＤ又は（画面種別ＩＤ、オブジェクトＩＤ）の組み合わせと、表示属性ＩＤとを引数として与えられることで、図２の表示器記憶部８内の変更通知関数用の格納領域から呼び出される。この様にして変更通知関数が呼び出されると、変更通知発生部２２４は、同部２２４が図２の表示器記憶部内の記憶領域に保有する指定画面又は指定画面構成部品の「変更通知フラグ」を検知し、当該フラグが“変更通知する”になっていれば、指定された画面種別ＩＤ又は（画面種別ＩＤ、オブジェクトＩＤ）の組み合わせデータと指定表示属性ＩＤとをキーにして、指定された画面又は画面構成部品の指定表示属性ＩＤの表示状態を表す表示状態データ２１２１を探し出し、指定された画面又は画面構成部品の表示属性ＩＤの「表示変更通知コマンド」を作成して、当該「表示変更通知コマンド」を試験モジュール部２２の試験コマンド送受信部２２１に送信する。
【００４４】
本実施の形態では、表示器本体ソフトウェア部２１に於ける表示処理部２１２内にある、変更通知関数登録領域２１２２と、画面又は画面構成部品の表示状態を表す表示状態データ２１２１とは、グローバル変数領域又は共有メモリ領域内にあり、表示器本体ソフトウェア部２１とは別のタスク、スレッド、又はプロセスの何れかとして動作している試験モジュール部２２と同部２２中に含まれている変更通知関数からアクセス可能であるとする。又、表示状態データ２１２１のアクセスは試験モジュール部２２及び表示処理部２１２等の複数個所から行われるため、排他処理を行ってデータが壊れるのを防ぐ。
【００４５】
<試験時のプログラマブル表示器の試験モジュール部の動作>
図７は、試験モジュール部２２の動作を示すフローチャートである。
【００４６】
図７に示す通り、プログラマブル表示器２の試験モジュール部２２の試験コマンド送受信部２２１は、ステップＳ１１１及びＳ１１２を処理して「操作コマンド」を受信すると、ステップＳ１１３に於いて、試験モジュール部２２の擬似操作入力発生部２２２に対して受信した「操作コマンド」をそのまま通知する。試験モジュール部２２の擬似操作入力発生部２２２は、「操作コマンド」が通知されると、ステップＳ１１４に於いて、人がプログラマブル表示器２を操作した時にプログラマブル表示器２内部で発行される入力メッセージと同様の入力メッセージを擬似的に発行し、当該擬似的入力メッセージをプログラマブル表示器本体ソフトウェア部２１内のキー処理部２１１に送信する。その後、プログラマブル表示器本体ソフトウェア部２１は、クリック又は文字入力等の入力が行われたと認識し、その入力に対する応答動作を行う。
【００４７】
プログラマブル表示器２の試験モジュール部２２の試験コマンド送受信部２２１は、ステップＳ１１１、Ｓ１１２及びＳ１１５を処理して「表示変更通知登録コマンド」を受信すると、ステップＳ１１６に於いて、試験モジュール部２２の変更通知発生部２２４に対して「表示変更通知登録コマンド」を通知し、ステップＳ１１７に於いて、変更通知発生部２２４は、「表示変更通知登録コマンド」により指定された画面又は画面構成部品の指定表示属性の変更通知フラグ（これは、表示処理部２１２内の表示状態データ２１２１内にあるものとする。）を、“変更通知する”に設定する。試験モジュール部２２の変更通知発生部２２４は、その後に、試験コマンド送受信部２２１が、表示変更を通知する様に登録された各画面又は画面構成部品の各表示属性の表示状態の初期値を試験手順実行エンジン部１２の表示変更管理部１２３に送信するために、以下の処理を行う(理由は後述する。)。ステップＳ１１８に於いて、変更通知発生部２２４は、画面指定の場合には当該画面用の変更通知関数を、画面構成部品の場合には指定された（画面種別ＩＤ、オブジェクトＩＤ）の組みをキーにして画面構成部品種別を検索して、その画面又は画面構成部品の変更通知関数を、変更通知関数登録領域２１２２から取得する。その後、ステップＳ１１９に於いて、変更通知発生部２２４は、同部２２４が取得した変更通知関数を、指定画面種別ＩＤ又は（指定画面種別ＩＤ、指定オブジェクトＩＤ）の組みと指定画面又は画面構成部品が持つ表示属性ＩＤとを引数に指定して図２の表示器記憶部８内の該当する記憶領域から呼び出して、当該変更通知関数によって、表示変更通知登録時の指定画面又は指定画面構成部品の指定表示属性毎の現在の表示状態を表す「表示変更通知コマンド」を生成し、生成した現在の表示状態を表す「表示変更通知コマンド」を試験モジュール部２２の試験コマンド送受信部２２１に送信する。
【００４８】
プログラマブル表示器２の試験モジュール部２２の試験コマンド送受信部２２１は、ステップＳ１１１、Ｓ１１２、Ｓ１１５、及びＳ１２０を処理して「表示変更登録解除コマンド」を受信すると、ステップＳ１２１に於いて、試験モジュール部２２の変更通知発生部２２４に対して上記の「表示変更登録解除コマンド」をそのまま通知し、ステップＳ１２２に於いて、変更通知発生部２２４は、指定された画面又は画面構成部品の表示属性の変更通知フラグを“変更通知しない”に変更設定する。
【００４９】
プログラマブル表示器２の試験モジュール部２２の試験コマンド送受信部２２１は、ステップＳ１１１、Ｓ１１２、Ｓ１１５、Ｓ１２０、及びＳ１２３を処理して「表示変更通知コマンド」を受信すると、ステップＳ１２４に於いて、自動試験装置１の試験手順実行エンジン部１２へ、受信した「表示変更通知コマンド」をそのまま送信する。
【００５０】
<試験時の表示器本体ソフトウェア部の動作>
図１に示す様に、表示器本体ソフトウェア部２１は、１）キーの処理を行うキー処理部２１１、２）画面の表示を行う表示処理部２１２、３）試験モジュールをロードして起動する試験モジュールロード部２１３等から構成されている。又、画面の表示を行う表示処理部２１２の中には、２−１）各画面、画面構成部品の表示状態を表した表示状態データ２１２１と、２−２）自動試験装置１に表示の変更を通知する関数（変更通知関数）を登録する変更通知関数登録領域２１２２とがある。
【００５１】
プログラマブル表示器２の表示器本体ソフトウェア部２１の表示処理部２１２は、各画面又は画面構成部品の表示が変更されると、変更通知関数登録領域２１２２にそのアドレス情報が登録された変更通知関数を使って、試験モジュール部２２の試験コマンド送受信部２２１に「表示変更通知コマンド」を送信する。この変更通知関数は、表示器本体ソフトウェア部２１の試験モジュールロード部２１３が、後述する手順で、表示処理部２１２の中の変更通知関数登録領域２１２２に登録したものである。又、既述した様に、変更通知を登録した各画面又は画面構成部品の表示が変更されなくても、変更通知登録時に、試験コマンド送受信部２２１が、登録された各画面又は画面構成部品の各表示属性の表示状態の初期値を試験手順実行エンジン部１２の表示変更管理部１２３に送信するため、表示状態を表す値が不定にはならず、表示変更管理部１２３に於いて動作確認を行うことが出来る様になる。
【００５２】
その後、試験モジュール部２２の試験コマンド送受信部２２１は、その「表示変更通知コマンド」を自動試験装置１の試験手順実行エンジン部１２に送信する。
【００５３】
<操作コマンド>
図８は、「操作コマンド」の一例を示す図である。「操作コマンド」とは、プログラマブル表示器２に対するユーザ操作相当のメッセージの自動発行を依頼するためのコマンドであり、指定座標をクリックするコマンドは、例えば図８の（１）の様に表現され、図８の（１）は、座標（１０，２０）をクリックした時を表している。指定文字（制御文字等も含む。）を入力するというコマンドは、例えば図８の（２）の様に表現され、図８の（２）は、“あ”という文字を入力した時を表している。
【００５４】
<画面識別ＩＤ、オブジェクトＩＤ>
本実施の形態では、画面プログラムの中の全画面には、それぞれ画面番号が割り振られており、各画面に配置されている全画面構成部品には、全て別々のオブジェクトＩＤが割り振られており、ベース画面及びウィンドウ等には画面種別を識別する画面種別ＩＤが割り振られているとする。
【００５５】
<表示確認コマンド>
図９は、「表示確認コマンド」の一例を示す図である。ここで、「表示確認コマンド」とは、プログラマブル表示器２の画面又は画面構成部品の表示状態を確認するためのコマンドである。
【００５６】
指定画面種別ＩＤで特定される画面は、指定座標に指定画面サイズで表示されており、表示されている画面番号を表示していることを確認するための「表示確認コマンド」は、例えば図９（１）に示す様に表現され、図９（１）の様に画面が変化した際に、画面番号２に変化したことを確認するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定される部品は、指定座標に指定部品サイズで表示されており、指定画像名の画像を表示していることを確認するための「表示確認コマンド」は、例えば図９（２）の様に表現され、図９（２）に示す様に部品表示が変化した際に、ｐｉｃ２に変化したことを確認するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定される流れ文字表示部品は、指定座標に指定部品サイズで表示されており、指定流れ文字のメッセージを流れ表示していることを確認するための「表示確認コマンド」は、例えば図９（３）の様に表現され、図９（３）の様にアニメーションしている際に、“あいうえ”の流れ文字を表示していることを確認するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定される部品は、指定座標に指定部品サイズで表示されており、指定ブリンク速度でブリンクしていることを確認するための「表示確認コマンド」は、例えば図９（４）の様に表現され、図９（４）の様にアニメーションしている際に、画像が高速ブリンクしていることを確認するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定される数値表示部品は、指定座標に指定部品サイズで表示されており、表示変更通知登録されてから今までに、指定された数値の最小値から最大値の間の数値で表示されていることを確認するための「表示確認コマンド」は、例えば図９（５）の場合の様に表現され、図９（５）の様に値が変化した際に、過去に表示されてきた値が確認範囲内に入っていることを確認するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定されるトレンドグラフ部品は、指定座標に指定部品サイズで表示されており、指定データ番号で指定されるデータ系列が、表示変更通知登録されてから今までに、指定された数値の最小値から最大値の間の数値で表示されていることを確認するための「表示確認コマンド」は、例えば図９（６）の場合の様に表現され、図９（６）の様にトレンドグラフが変化した際に、過去に表示されてきたトレンドグラフの値が５から２０に入っていることを確認するために使用される。その他の部品に関しても、同様のパラメータに応じて引数を有する「表示変更通知コマンド」を設計して、表示変更を通知させることが出来る。その他の部品に関しても、同様のパラメータ引数を有する「表示確認コマンド」を設計して、表示の確認をさせることが出来る。
【００５７】
図９（１）〜図９（６）のコマンドの座標、サイズ又はその両方を（−１， −１）等で表記することで、座標、サイズ又はその両方の確認を行わないことにしても良い（ここで、−１は確認しないことを意味する。）。又、図９（５）及び図９（６）のコマンドは、数値の引数が１つの場合には、完全一致しているとしても良い。
【００５８】
<表示変更通知コマンド>
図１０は、「表示変更通知コマンド」の一例を示す図である。「表示変更通知コマンド」とは、プログラマブル表示器２の画面又は画面構成部品の表示状態の変更を通知するためのコマンドである。
【００５９】
指定画面種別ＩＤで特定される画面は、指定座標に指定画面サイズで表示されており、表示されている画面番号が指定画面番号に変更になったことを通知するための「表示変更通知コマンド」は、例えば図１０（１）の様に表現され、図１０（１）の様に画面が変化した時、画面番号２に変化したことを通知するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定される部品は、指定座標に指定部品サイズで表示されており、指定画像名の画像を表示する様に変更されたことを通知するための「表示変更通知コマンド」は、例えば図１０（２）の様に表現され、図１０（２）の様に部品表示が変化した時、ｐｉｃ２に変化したことを通知するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定される流れ文字表示部品は、指定座標に指定部品サイズで表示されており、指定流れ文字のメッセージが指定流れ文字の様に変更になったことを通知するための「表示変更通知コマンド」は、例えば図１０（３）の様に表現され、図１０（３）の様に部品表示が変化した時、“かきく”の流れ文字を表示する様に変化したことを通知するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定される部品は、指定座標に指定部品サイズで表示されており、指定ブリンク速度でブリンクする様に変更されたことを通知するための「表示変更通知コマンド」は、例えば図１０（４）の様に表現され、図１０（４）の様に部品表示が変化した時、画像のブリンク速度が低速になったことを通知するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定される数値表示部品は、指定座標に指定部品サイズで表示されており、指定された数値表示部品の表示値が指定された値に変更になったことを通知するための「表示変更通知コマンド」は、例えば図１０（５）の様に表現され、図１０（５）の様に部品表示が変化したとき、現在表示されている数値表示の値が１０に変化したことを通知するために使用される。指定画面種別ＩＤ、指定オブジェクトＩＤで特定されるトレンドグラフ部品は、指定座標に指定部品サイズで表示されており、指定データ番号で指定されるデータ系列のデータが更新され、指定された数値の最小値から最大値の間の数値で表示されていることを通知するための「表示変更通知コマンド」は、例えば図１０（６）の様に表現され、図１０（６）の様にトレンドグラフが変化した時、現在表示されているトレンドグラフの値が５から２０になっていることを通知するために使用される。その他の部品に関しても、同様のパラメータ引数を有する表示変更通知コマンドを設計して、表示変更を通知させることが出来る。
【００６０】
図１０（１）〜図１０（６）のコマンドの座標、サイズ又はその両方を（−１, −１）等で表記することで、座標、サイズ又はその両方の確認を行わないことにしても良い（ここで、−１は確認しないことを意味する。）。又、図１０（５）及び図１０（６）のコマンドは、数値の引数が１つの場合に完全一致しているとしても良い。
【００６１】
<試験シナリオ>
図１１は、試験シナリオ１１の一例を示す図である。試験シナリオ１１には、操作と表示確認の手順とタイミングとが記されており、試験シナリオ１１は、上記の「操作コマンド」、「表示確認コマンド」、コマンド間の発行間隔を指定時間にするための「Ｓｌｅｅｐコマンド」、後述する「表示変更通知登録コマンド」、及び「表示変更通知登録解除コマンド」から構成され、実行する順番に並べられている。又、試験シナリオ１１の中で、「操作コマンド」、「表示変更通知登録コマンド」、「表示確認コマンド」、「表示変更通知登録解除コマンド」、及び「Ｓｌｅｅｐコマンド」の順番については、ある画面又は画面構成部品の表示確認をする前にその画面又は画面構成部品の表示変更通知登録をしているならば、その後はどの様な手順で記載されていても良い。
【００６２】
「表示変更通知登録コマンド」は、例えば下記の（１）の様に表現される。表示変更を通知する際に座標、サイズを通知するかどうかを表した座標サイズ通知オプションと、表示変更の通知を開始する画面又は画面構成部品を特定するための（画面種別ＩＤ,  オブジェクトＩＤ）の組みを、複数個、引数に記す。他方、「表示変更通知登録解除コマンド」は、例えば下記の（２）の様に表現され、表示変更の通知を停止する画面又は画面構成部品を特定するための（画面種別ＩＤ,  オブジェクトＩＤ）の組みを全て引数に記す（画面の変更通知登録の場合には、オブジェクトＩＤを−１等にする。）。
【００６３】
（１）表示変更通知登録コマンド
ＲｅｇＮｏｔｉｆｙ 座標サイズ通知オプション （画面種別ＩＤ, オブジェクトＩＤ） 
（画面種別ＩＤ, オブジェクトＩＤ） …
（座標サイズ通知オプションは、通知なら１, 非通知なら０、
画面の変更通知登録の場合は、オブジェクトＩＤを−１等にする。）
（２）表示変更通知登録解除コマンド
ＵｎｒｅｇＮｏｔｉｆｙ （画面種別ＩＤ, オブジェクトＩＤ） 
（画面種別ＩＤ, オブジェクトＩＤ）…
（画面の変更通知登録解除の場合は、オブジェクトＩＤを−１等にする。）。
【００６４】
上記の「表示変更通知登録コマンド」は、各画面種別ＩＤ、オブジェクトＩＤの後に通知する表示属性ＩＤのリストを追記して、指定画面種別ＩＤの指定オブジェクトＩＤの指定表示属性ＩＤのデータの変更のみを通知するようにしても良い。
【００６５】
図１１に示される試験シナリオ１１の例は、以下の処理を行うための試験シナリオである。即ち、座標（１００, １００）をクリックした後に、１という数字を入力し、画面種別ＩＤ０、オブジェクトＩＤ１の部品の変更を通知する様に登録し、その２００ｍｓ後に、指定画面種別ＩＤが０でオブジェクトＩＤが１の数値表示部品が座標（１０, ２０）、部品サイズ（３０, ４０）で表示され、１〜１０の間の数値を表示していることを確認する。そして、画面種別ＩＤ０、オブジェクトＩＤ１の部品の変更通知を登録解除し、その代わりに画面種別ＩＤ０、オブジェクトＩＤ２の部品の変更通知を登録する。その１００ｍｓ後に、指定画面種別ＩＤが０でオブジェクトＩＤが２の流れ文字表示部品が座標（２０, ３０）、部品サイズ（３０, ４０）で表示され、「あいう」というメッセージを流れ文字表示していることを確認して、画面種別ＩＤ０、オブジェクトＩＤ２の部品の変更通知を登録解除する。
【００６６】
<試験モジュールの追加>
図１２は、プログラマブル表示器２の起動フローを示すフローチャートである。ステップＳ１３１に於いて、プログラマブル表示器２は、プログラマブル表示器本体ソフトウェア部２１を起動する。ステップＳ１３２に於いて、プログラマブル表示器本体ソフトウェア部２１は、試験モジュール部２２をロードするか否かを設定したデータ（ファイルやメモリ上に記憶）を確認し、当該データがロードする設定になっていれば、ステップＳ１３３に於いて、表示器本体ソフトウェア部２１の試験モジュールロード部２１３が試験モジュール部２２の動的リンクライブラリがあるか否かをチェックする。試験モジュール部２２の動的リンクライブラリが存在すれば、ステップＳ１３４に於いて、表示器本体ソフトウェア部２１の試験モジュールロード部２１３は試験モジュール部２２をロードし、プログラマブル表示器２本体とは別のタスク、スレッド、及びプロセスの何れかとして起動する。ステップＳ１３５に於いて、表示器本体ソフトウェア部２１のグローバル変数領域又は共有メモリ領域にある画面全体で１つ、画面構成部品種別毎に１つ存在する表示変更通知関数登録領域２１２２に、試験モジュール部２２の変更通知発生部２２４にある表示変更通知関数を登録し、各画面、画面構成部品の表示属性毎に１つある変更通知フラグを“変更通知しない”に設定する。又、試験モジュール部２２をロードする設定になっていない又は存在しなければ、表示器本体ソフトウェア部２１のみが起動される。
【００６７】
従って、試験前にプログラマブル表示器２に試験モジュール部２２をロードする様に設定し、試験モジュール部２２の動的リンクライブラリをダウンロードしておいて再起動すれば、試験モジュール部２２が起動されて試験可能となり、試験モジュール部２２を削除しておいて再起動すれば、試験モジュール２２部は起動されずに、プログラマブル表示器２は通常運用状態になる。
又、動作時にプログラマブル表示器２の画面部品を押すと、ステップＳ１３４及びＳ１３５の処理が行われる様に設定して、図１のシステムに画面プログラム２３の試験の動作を実行させる様にしても良い。
【００６８】
<シミュレータを使った試験>
図１の自動試験システムでは、制御対象３の一部又は全部を必要に応じて実機又はシミュレータを動作させたパーソナルコンピュータとして、配線したりしても良い。又、実機をシミュレータが動作しているパーソナルコンピュータを、プログラマブル表示器２として用いて、配線することとしても良い。或いは、表示器シミュレータの試験モジュール部の動作及び構成、並びにその追加に関しては、実機の場合と同じであっても良い。
【００６９】
<効果>
プログラマブル表示器２を使用する際には、応答表示には関係ないが表示が変化している部品又は表示属性が多くあり、操作の応答表示状態の確認に関係のない表示変更データの送受信が減ることにより、プログラマブル表示器２又はプログラマブル表示器シミュレータの試験のためのＣＰＵ負荷、及びネットワーク負荷が小さくなり、実際の動作時に近い負荷で試験を行うことが可能となる。このため、実際の動作時と近いタイミングでの試験が可能となると共に、プログラマブル表示器２の試験時間を短縮して、プログラマブル表示器２の生産工程の時間短縮化を図ることが出来る。
【００７０】
又、プログラマブル表示器２の試験モジュール部２２を表示器本体ソフトウェア部２１からロードして表示器本体ソフトウェア部２１と連動させる仕組みを使うことにより、表示器本体ソフトウェア部２１の中の表示状態データ２１２１と変更通知関数登録領域２１２２とをグローバル変数領域又は共有メモリ領域に配置して、試験モジュールロード部２１３を表示器本体ソフトウェア部２１内に組み込み、表示処理部２１２で以って画面又は画面構成部品の表示属性値の変化があったときに変更通知関数を呼び出す様にしてさえおけば、通常運用時にロードする試験のためだけに必要なプログラムの量を減らすことが出来るため、メモリ等のハードウェア資源の節約が可能となる。
【００７１】
例えば、画像の比較では表示確認が困難であった、表示するデータがある範囲内でランダムに変化しているトレンドグラフ部品又は数値表示部品等が正常に表示されているか否かが、本システムによって表示確認することが可能になると共に、値が変化する表示属性の表示変更通知登録後の値の変化履歴も含めた表示判定が実現可能となる。
【００７２】
又、画面の座標情報とサイズ情報とを無視して動作内容のみを確認出来る様にすることで、位置が不定な画面又は画面構成部品等の動作内容のみの確認試験を行うことが可能となる。
【００７３】
又、プログラマブル表示器の画面又は画面構成部品の表示状態を表す内部表示状態データを比較して表示確認する際に、値の完全一致だけではなく、ある期間の間ある範囲内に入っているかの判定が行える表示変更管理部を試験手順実行エンジン部内に備えているので、例えば、画像の比較では表示確認が困難であった、表示するデータがある範囲内でランダムに変化しているトレンドグラフ部品又は数値表示部品等が正常に表示されているか否かも、これによって表示確認することが可能となると共に、値が変化する表示属性の表示変更通知登録後の値の変化履歴も含めた表示判定が実現可能となる。
【００７４】
又、プログラマブル表示器の画面又は画面構成部品の表示状態を示す内部表示状態データとしての変更通知データと動作確認コマンドの値とを比較して表示確認する際に、変更通知発生部は、各配置部品の座標及びサイズを省略して変更通知データを送信し、各配置部品の座標及びサイズの確認をせずに、オブジェクトＩＤと画面種別ＩＤとをキーにして表示確認を行う表示変更管理部を試験手順実行エンジン部内に備えているので、画面の座標情報とサイズ情報とを無視して動作内容のみを確認出来る様にすることで、位置が不定な画面又は画面構成部品等の動作内容のみの確認試験を行うことが可能となる。
【００７５】
（付記）
以上、本発明の実施の形態を詳細に開示し記述したが、以上の記述は本発明の適用可能な局面を例示したものであって、本発明はこれに限定されるものではない。即ち、記述した局面に対する様々な修正や変形例を、この発明の範囲から逸脱することの無い範囲内で考えることが可能である。
【産業上の利用可能性】
【００７６】
この発明の自動試験システムは、例えばプログラマブル表示器に適用して好適である。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態１に係る自動試験システムの機能構成を示すブロック図である。
【図２】本発明の実施の形態１に係るプログラマブル表示器のハードウェア構成を示すブロック図である。
【図３】本発明の実施の形態１に係る自動試験装置のハードウェア構成を示すブロック図である。
【図４】本発明の実施の形態１に於ける試験手順実行エンジン部のシナリオ実行部の動作を示すフローチャートである。
【図５】本発明の実施の形態１に於ける試験手順実行エンジン部の表示変更管理部の動作を示すフローチャートである。
【図６】本発明の実施の形態１に於ける試験手順実行エンジン部のコマンド送受信部の動作を示すフローチャートである。
【図７】本発明の実施の形態１に於ける試験モジュール部の動作を示すフローチャートである。
【図８】本発明の実施の形態１に於ける操作コマンド例を示す図である。
【図９】本発明の実施の形態１に於ける表示確認コマンド例を示す図である。
【図１０】本発明の実施の形態１に於ける表示変更通知コマンド例を示す図である。
【図１１】本発明の実施の形態１に於ける試験シナリオ例を示す図である。
【図１２】本発明の実施の形態１に係る試験モジュール部の追加時の手順を示すフローチャートである。
【符号の説明】
【００７８】
１  自動試験装置、２  プログラマブル表示器、３  制御対象、４  表示器入力部、５  表示器処理部、６  表示器表示部、７  表示器通信部、８  表示器記憶部、１１  試験シナリオ、１２  試験手順実行エンジン部、１３  時間計測部、１４  試験ログ、２１  表示器本体ソフトウェア部、２２  試験モジュール部、２３ 画面プログラム、４０  自動試験装置入力部、５０  自動試験装置処理部、６０  自動試験装置表示部、７０  自動試験装置通信部、８０  自動試験装置記憶部、１２１コマンド送受信部、１２２  シナリオ実行部、１２３  表示変更管理部、２１１  キー処理部、２１２  表示処理部、２１３  試験モジュールロード部、２２１  試験コマンド送受信部、２２２  擬似操作入力発生部、２２４  変更通知発生部、２１２１  表示状態データ、２１２２  変更通知関数登録領域。
【図１】
2009251936.tif 000003
【図２】
2009251936.tif 000004
【図３】
2009251936.tif 000005
【図４】
2009251936.tif 000006
【図５】
2009251936.tif 000007
【図６】
2009251936.tif 000008
【図７】
2009251936.tif 000009
【図８】
2009251936.tif 000010
【図９】
2009251936.tif 000011
【図１０】
2009251936.tif 000012
【図１１】
2009251936.tif 000013
【図１２】
2009251936.tif 000014