JPH05346332A - 試験プログラム実行方法 - Google Patents

試験プログラム実行方法

Info

Publication number
JPH05346332A
JPH05346332A JP5027604A JP2760493A JPH05346332A JP H05346332 A JPH05346332 A JP H05346332A JP 5027604 A JP5027604 A JP 5027604A JP 2760493 A JP2760493 A JP 2760493A JP H05346332 A JPH05346332 A JP H05346332A
Authority
JP
Japan
Prior art keywords
test
command
instrument
test device
statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5027604A
Other languages
English (en)
Other versions
JP3300090B2 (ja
Inventor
Bryan J Sutula
ブライアン・ジェイ・ストゥラ
Jerry D Metz
ジェリー・ディー・メッツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH05346332A publication Critical patent/JPH05346332A/ja
Application granted granted Critical
Publication of JP3300090B2 publication Critical patent/JP3300090B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Devices For Executing Special Programs (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Testing Electric Properties And Detecting Electric Faults (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】測定装置の自動運転用プログラムの実行速度を
向上させる。 【構成】従来の測定器制御コマンドは可読性をよくする
ためにASCII 文字列であった。本発明では、自動運転プ
ログラムをコンパイルする際にこれらコマンドもバイナ
リコードに変換する。これにより、測定器側でコマンド
を解釈する必要がなくなるので、スピードの改善にな
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子試験測定器に関し、
より詳細にはこのような測定器のコンピュータ制御に関
する。さらに詳細には、本発明は装置制御言語をコンパ
イルすることによるコンピュータ制御試験システムの性
能の改善に関する。
【0002】
【従来技術及びその問題点】さまざまな種類の電子試験
機器をコンピュータによって制御してコンピュータ化さ
れた試験システムを作成することができる。このような
測定器の制御は通常ASCII文字セット中の文字からなる
測定器コマンドを送ることによって達成される。測定器
のプログラミングを一層簡単にするため、コマンド文字
は技術者やプログラマが理解できるワードを形成する。
【0003】自動試験システムでは測定器コマンドは、
試験ソフトウエアの作成に用いられる従来のプログラミ
ング言語のプログラミングステートメントに埋め込まれ
ている。従来のプログラミング言語ステートメントはコ
ンパイルあるいはインタープリトすることができるが、
測定器コマンドはその結果得られる試験ソフトウエア中
に文字列として人間可読の元の形式のままで残る。この
試験ソフトウエアの処理中に、これらの文字列は測定器
に送られ、それになんらかの試験機能を実行させ、通常
文字列の形式である実行結果が試験ソフトウエアに返さ
れる。
【0004】プログラミング能力が試験測定器に導入さ
れ始めた頃は、測定器コマンドは暗号と見紛うほどにわ
かりにくく、測定器との間で授受されるデータは、ASCI
I等の表示可能なフォーマットではなく、コンピュータ
が読み取り可能なバイナリ形式であることが多い。しか
し、バイナリ形式は試験設計技術者が読んで解釈するこ
とが困難であり、従ってより読みやすく、文字指向であ
る形式が採用された。
【0005】しかし、文字指向形式を用いるためには、
プログラムコマンドとデータは測定器によって構文解析
され機械が使用可能な形式に変換されねばならない。ま
た、測定器が要求された機能を実行した後、この測定器
にある実行結果データは皆、その動作を要求したコンピ
ュータに返される前に文字指向形式に変換される。コン
ピュータ中の試験ソフトウエアが得られたデータを単に
ユーザに表示するのではなく処理しなければならないと
き、このデータは処理の実行の前に機械が使用可能な形
式に再変換されなければならない。
【0006】このような解析、変換及び再変換には処理
時間がかかり、従って試験システムの性能を低下させる
が、コマンドやデータを人間の読むことのできる形式に
しておくためには必要なものと考えられてきた。
【0007】典型的な試験環境では、測定器の多くの操
作が長時間にわたってくり返される。従って、操作が行
われるたびにプログラムコマンドの解釈とデータの変換
を各操作についてくり返さねばならない。例えば、極め
てありふれたことであるが、測定器が数1000回の測
定を行うようにプログラムされているとしたとき、測定
コマンドとその実行結果のデータが数1000回解釈、
変換される。
【0008】測定器はRS-232等の直列インターフェース
あるいはIEEE 488バス等の測定器バスを介して接続され
ることが多い。これらのバスの速度のために、測定器の
性能は測定器と交換されるデータの量によって重大な影
響を受ける。人間の読むことのできるASCII文字はコマ
ンドやデータを理解する能力を向上させるが、コマンド
やデータをこのフォーマットで交換することによって性
能が制限される。
【0009】本技術分野では、操作の実行に要する時間
を低減できる一方、測定器プログラミングコマンド及び
データの人間可読性を保つシステムが必要とされてい
る。また、本技術分野ではコンピュータシステムと測定
器の間での情報転送効率を向上させるシステムが必要と
されている。さらに、測定器からコンピュータ化された
測定システムに送り帰される各コマンドのコマンド解釈
とデータ変換を行う必要のないシステムが必要とされて
いる。本発明はこれらの要望及びその他の要望を満たす
ものである。
【0010】
【目的】本発明の目的は、測定器制御言語ステートメン
トの実行前に、このステートメントを試験ソフトウエア
の従来のプログラミング言語ステートメントとともにコ
ンパイルすることである。
【0011】本発明の他の目的は、Standard Commands
for Programmable Instruments言語をコンパイルするこ
とである。
【0012】本発明の他の目的は、コマンドを全てのパ
ラメータ情報が単一のデータ構造で測定器ドライバに引
き渡すことができるようにする形態でコンパイルするこ
とである。
【0013】本発明の他の目的は、引き渡される各パラ
メータがそれに対応する型指定を有するような形態でコ
マンドをコンパイルすることである。
【0014】本発明の他の目的は、各パラメータをその
パラメータデータの実際のフォーマットにかかわりなく
文字列で引き渡すことが可能な形態でコマンドをコンパ
イルすることである。
【0015】また、本発明の他の目的は、コンパイルさ
れたコードをコンパイルの過程で最適化することであ
る。
【0016】
【概要】本発明の以上の目的及びその他の目的は、測定
器コマンドを含んでいる試験ソフトウエアの従来のプロ
グラミング言語ステートメントがコンパイルされるのと
同時に、測定器コマンドとデータを機械で使用可能な形
式にコンパイルするシステムによって達成される。その
後測定器に送られるコンパイル済みの測定器コマンド
は、ASCII文字からなる人間可読の元の測定器コマンド
よりかなり小さい。このコンパイル済みのコマンドはす
でに機械で使用可能な形式になっているため、測定器中
でコマンドを構文解析する必要がなく、その結果測定器
の性能が向上する。コマンドをコンパイルすることによ
って、このコマンドに関連するデータもまた機械で使用
可能な形式になる。この形式は人間可読性形式より小さ
いため、従来よりも短時間で測定器とのデータの授受を
行うことができる。
【0017】このコンパイルの過程で、測定器に送られ
る全てのパラメータデータは単一のデータ構造にされ
る。これによって試験ソフトウエアと測定器へのアクセ
スに用いられるデバイスドライバとの間でやりとりされ
るパラメータの数が低減される。また、測定器から返さ
れるデータは単一のデータ構造とされる。
【0018】このデータ構造に記憶されるそれぞれのパ
ラメータは単一のフォーマットで形成された領域に記憶
され、データの実際のフォーマットはこのパラメータに
対応付けられたタイプパラメータ中で定義される。これ
によって測定器との間でのデータの転送効率が向上す
る。
【0019】
【実施例】以下の説明は本発明の現在考えられる最も好
適な実施態様に関するものである。この説明は限定的な
ものと解するべきではなく、単に本発明の一般的な原理
を説明するためのものである。本発明の範囲は特許請求
の範囲を参照して決定すべきものである。
【0020】図1は本発明を採用したコンピュータシス
テムのブロック図を示す。図1において、コンピュータ
システム100は本発明によって作成された命令を処理す
る処理エレメント102を有する。処理エレメント102はシ
ステムバス104を介してコンピュータシステム100の他の
エレメントと通信する。このシステムのユーザはキーボ
ード106を用いてコンピュータシステム100に情報を入力
し、コンピュータシステム100はグラフィクスディスプ
レイ108を用いてユーザに情報を出力する。ディスク112
を用いて本発明のソフトウエアとデータの記憶が行われ
る。システムバス104に取り付けられたメモリ116はオペ
レーティングシステム122、本発明のコンパイラ126及び
コンパイラ126によって作成された試験ソフトウエア124
を含む。
【0021】電子測定器はいくつかの異なる方法でコン
ピュータシステム100に接続することができる。例え
ば、内部測定器110はコンピュータシステム100のシステ
ムバス104に直接接続することができる。以下に説明す
るように、測定器カード130をシステムへ接続するにコ
マンドモジュール128を用いなければならない場合もあ
り、またその必要がないこともある。システムバスに直
接接続する場合には、内部測定器110のデータレジスタ
及びコマンドレジスタは処理エレメント102によって処
理された命令によって直接読み出しあるいは書き込みを
行うことができる。
【0022】また電子測定器を標準の測定器バスを介し
て接続することができる。例えば、外部測定器120がIEE
E 488バス118を介してIEEE 488インターフェースカード
114に接続され、このカードがシステムバス104に接続さ
れる。外部測定器120にアクセスするためには、メモリ1
16中のソフトウエアはインターフェース114を介して測
定器バス118上を測定器120にデータを送らねばならな
い。逆に、外部測定器120から受信するデータは皆イン
ターフェース114を介してバス118上をメモリ116に入ら
なければならない。このような態様で接続したとき、外
部測定器120に送られまた外部測定器120から受け取る全
ての情報はバス118を介して授受されねばならない。従
って、バス118のようなバスを介して測定器を接続する
と、測定器内のレジスタへの直接アクセスが妨げられ
る。
【0023】図1には示していないが、外部測定器はま
たRS-232等のありふれた直列インターフェースを介して
接続することができる。
【0024】内部測定器110あるいは外部測定器120をプ
ログラムするためには、ユーザは従来のテキストエディ
タを用いてキーボード106を介してプログラミングコマ
ンドを入力する。これらのコマンドは次にディスク112
に記憶され、測定器110あるいは測定器120あるいはその
両方に所望の機能を実行させるのに用いられる。本発明
はディスク112に記憶されるコマンドを設定し実行する
方法を改善するものである。
【0025】図2は図1のディスク112に記憶されたプ
ログラムされた試験測定器コマンドを実行する従来の方
法の図である。図2において、ここでSCPIユーザプログ
ラム202と称するプログラムされた試験測定器コマンド
がコンピュータシステム100に入力される。SCPIは、Sta
ndard Commands for Programmable Inst-rumentsの頭文
字であり、SCPI Consortiumによって全てのプログラム
可能な試験機器に用いるべきコマンドの全業界的な定義
として発表されている。ユーザプログラム202からのコ
マンドは、コンピュータシステム100に入力されると試
験ソフトウエア204によって処理され、I/Oライブラリ20
6によって、要求された動作を実行する測定器に送られ
る。これらのコマンドを測定器に送る前に、I/Oライブ
ラリ206は数値構築モジュール207を呼び出し、内部コン
ピュータフォーマットの数値をASCIIフォーマットに変
換する。次に、I/Oライブラリ206はこれらのコマンドを
ASCII文字の形式でデバイスドライバモジュール208に送
る。ASCII文字はプログラム試験測定器コマンドの可読
性を向上させるために用いられる。従来技術及びその問
題点の項で述べたように、試験機器がプログラム可能に
なった当初は、このような機器にはもっと判りにくい、
機械指向のコマンドセットが用いられた。機械指向のコ
マンドと従来の試験の世界での用語との間の関連性が非
常に低いために、このコマンドセットはプログラマには
使用困難なものであった。プログラム可能な試験機器の
開発が進むにつれて、機器に送られるコマンドセットは
もっと記号的になり、その結果、実行時間の増大という
犠牲はあったが試験機器に送られるコマンドの可読性は
向上した。
【0026】I/Oライブラリ206はASCII文字列で表現さ
れたコマンドをデバイスドライバモジュール208に送
り、デバイスドライバモジュール208はこのASCII文字列
表現のコマンドをSCPIコマンドモジュール中の測定器デ
バイスドライバ210に送る。図1に関連して上で述べた
ように、デバイスドライバモジュール208と測定器ドラ
イバ210の間の接続はシステムバス104を介して行うこと
ができる。あるいは外部測定器120につながっているIEE
E 488インターフェース114と測定器バス118を介して行
うこともできる。いずれの場合にも、ASCII文字列表現
のコマンドは測定器ドライバ210のコマンドモジュール1
28に達し、SCPI構文解析モジュール(パーザ)212に送
られる。これらのコマンドはASCII文字で表現された、
読み取り可能なフォーマットであるため、実際に実行さ
れる前に構文解析され、機械フォーマットに変換されね
ばならない。この変換の過程において、数値構築モジュ
ール214と呼ばれる別のモジュールを用いてコマンド中
に数値があればそのフォーマットも機械によって用いら
れるバイナリフォーマットに変更される。コマンドは、
構文解析され機械命令に変換された後、電子測定器カー
ド130を起動して測定を行わせるカードドライバモジュ
ール216に送られる。
【0027】測定器カード130から返ってくるデータ
は、このデータをコンピュータシステム100に送り返す
べき、ASCII文字列で表現された読み取り可能なフォー
マットに再変換するために、SCPI構文解析部220に送ら
れる。この機械データをASCIIフォーマットに変換する
ために、SCPI構文解析部220は、数値構築モジュール222
を用いてバイナリフォーマットの数値を皆ASCIIフォー
マットに変換することが多い。データはASCIIフォーマ
ットに変換された後、測定器ドライバ224に送られ、測
定器ドライバ224はこのデータをインターフェースを介
してコンピュータシステム100のデバイスドライバ226に
送る。デバイスドライバ226はこのデータをI/Oライブラ
リ228と数値構築モジュール230に送り、ここでデータが
再度機械指向形式に変換され、コンピュータシステム10
0に含まれている試験ソフトウエア204によって処理され
る。
【0028】従って、従来の技術では人間可読のコマン
ドが測定器に送られ、測定器ではそれを構文解析し、機
械可読の形式に変換し、処理し、再度人間可読のASCII
形式に変換し、コンピュータシステムに送り返さねばな
らない。コンピュータシステムに返ってきた後、数値を
コンピュータシステム100内で機械指向の形式に再変換
した後で測定器からのデータの実際の処理を行わなけれ
ばならない。さらに、1つの試験を複数回行う場合、各
テストを実行する毎にこれらの変換を皆繰り返す。
【0029】図3はプログラム試験測定器コマンドを図
1の測定器110等の内部接続された測定器に対して実行
する本発明の方法を示す図である。図3について見る
と、本発明ではSCPIユーザプログラム202は本発明のSCP
Iコンパイラ126に送られる。SCPIユーザプログラム202
中のコマンドは従来技術の方法で用いられるコマンドと
同じであり、従ってコマンドはここにおいても非常に人
間が読みやすい形式になっている。しかし、本発明では
コマンドはコンピュータシステム100が何等かの処理を
行うに先立ってSCPIコンパイラ126(図1にも示す)に
よって変換される。この変換は、プログラム可能な試験
測定器によって実行される試験の回数にかかわりなく1
回だけ実行される。SCPIコンパイラ126がコマンドを機
械が使用可能な形式に変換した後、コンピュータシステ
ム100はこれらのコマンドを試験ソフトウエア302の一部
として実行する。これらのコマンドはすでに機械が使用
できる形式になっているため、カードドライバ216(図
2)と同じ機能を実行するカードドライバ304に直接送
ることができる。これらのコマンドを電子測定器中の構
文解析部によって再変換するだけの目的でASCII形式に
変換する必要はない。従って、測定器の構文解析部を省
略することができる。また図3に示すように、デバイス
ドライバモジュール208(図2)や測定器ドライバ210
(図2)等のドライバモジュールも省略される。しか
し、本発明の他の実施例ではデバイスドライバモジュー
ル208や測定器ドライバを残すこともできる。
【0030】内部接続された測定器を用いると、カード
ドライバ304を図3に示すようにコンピュータシステム1
00に内蔵して、図2に示すコマンドモジュールを無くす
ことができる。他の実施例ではコマンドモジュールを残
すことができる。
【0031】コマンドがカードドライバ304に達する
と、カードドライバは測定器カード130上のレジスタを
操作して、要求された動作を測定器カードに実行させ
る。次に、測定器カードは機械向けにフォーマットされ
たデータをカードドライバ304に送り返す。次にカード
ドライバ304はこの機械向けにフォーマットされたデー
タをコンピュータシステム100に直接送り返す。従っ
て、図2のSCPI構文解析部220、数値構築モジュール22
2、I/Oライブラリ228、及び数値構築モジュール230はバ
イパスされる。
【0032】測定器が外部測定器120(図1)のように
コンピュータシステム100に外部接続されている場合、
図2に示すようなデバイスドライバ及びI/Oライブラリ
は依然として必要となる。図2に示す数値構築モジュー
ルは省略される。また、この測定器には簡単な形態の構
文解析部が依然として必要ではあるが、この構文解析部
は図2の構文解析部212及び220に比べてはるかに簡単で
高速なものである。内部接続された測定器に比べて外部
接続された測定器で達成できる節約は少ないが、SCPIコ
ンパイラを外部測定器に用いることによってそれでも節
約を達成することができる。
【0033】図4は本発明に基づくコンパイラ126(図
1)のデータフローを示す図である。図3に関連して上
述したように、図4のデータフローダイヤグラムに示す
コンパイラはSCPIユーザプログラム202を受け取り、そ
れをコンピュータシステム100内で機械が使用可能な形
式に変換する。図4において、SCPIユーザプログラム20
2はデータフローC_WITH_SCPI 404を介して構文解析プロ
セス406に送られる。構文解析プロセス406は全てのコメ
ント及び標準コンピュータ言語ステートメントを取去っ
て、これらをデータフローC_STATEMENTS 430を介してフ
ァイルC_WITH_INST_STATEMENTS 422に送る。本発明はい
かなるコンピュータ言語でも用いることができるが、本
発明の実施例ではC及びC++プログラミング言語用のプリ
プロセッサとして実現される。従って、構文解析プロセ
ス406は、SCPIユーザプログラムから全ての標準C及びC+
+ステートメント及び全ての標準C及びC++コメントを取
去り、これらをデータフロー430を介してファイル422に
送る。コメントを取去った後、構文解析プロセス406は
ファイル中でSCPIステートメントを探す。SCPI測定器宣
言ステートメントが見つかると、このステートメントは
データフローDECL_STRUCT 424を介してプロセスPREPROC
_DECL 408に送られる。データを測定器に送るSCPI命令
が見つかると、構文解析プロセス406はこのステートメ
ントをデータフローSEND_STRUCT 426を介してPREPROC_S
END_QUERY処理410に送る。SCPI測定器照会(query)ス
テートメントが見つかると、構文解析プロセス406はこ
のステートメントをデータフローQUERY_STRUCT 428を介
してプロセスPREPROC_SEND_QUERY410に送る。SCPI測定
器初期設定ステートメントが見つかると、構文解析プロ
セス406はこのステートメントをデータフローINIT_STRU
CT 434を介してプロセスPREPROC_INIT 414に送る。
【0034】プロセスPREPROC_DECL 408が測定器宣言ス
テートメントを受け取ると、このプロセスはディスク11
2(図1)にあるファイルINSTR_LIST 418に照会して、
システムに対してこの測定器が定義されているかどうか
を判定する。この測定器が定義されている場合、プロセ
スPREPROC_DECL 408がこの測定器についての情報を取出
して、ファイルDEVICE_LIST 420に記憶されるデバイス
リストエントリの構成に用いる。デバイスリストファイ
ル420のエントリには、INSTR_LIST418からの測定器に関
する全ての情報、さらにはデバイスのアドレスが含まれ
る。これによってコンパイラが後にこのデバイスが、例
えば測定器110(図1)のようにシステムバス上で直接
アドレス指定可能なものであるかどうか、あるいはこの
測定器がIEEE 488インターフェース114(図1)等のイ
ンターフェースを介してアドレス指定しなければならな
いものであるかどうかを判定することが可能になる。こ
の情報を用いることによって、コンパイラは後にこの特
定の測定器をアドレス指定するために生成する命令を最
適化することができる。例えば、ある測定器が測定器11
0のようにシステムバス上で直接アドレス指定できる場
合、あるSCPIコマンドをシステムバス上で直接アドレス
指定可能なレジスタからの直接読み出しあるいはこのレ
ジスタへの直接書き込みとして実現することができる。
しかし、この測定器がIEEE 488インターフェースを介し
てアドレス指定しなければならないものである場合、こ
れらのコマンドは代わりにデバイスドライバを介して送
らなければならない。
【0035】PREPROC_INITプロセス414はデータフロー4
34を介してSCPI初期設定ステートメントを受け取ると、
測定器を初期化するデバイスドライバの初期設定関数を
呼び出すCのコードを生成する。生成されたステートメ
ントはデータフローINST_INIT444中をファイルC_WITH_I
NST_STATENTS 422に送られる。
【0036】SCPI初期設定ステートメントは次にリスト
1を参照して説明するINST_STARTUPステートメントとIN
ST_OPENステートメントを含む。
【0037】SCPI測定器照会ステートメントをデータフ
ロー428から受け取ると、PREPROC_SEND_QUERYプロセス4
10はファイルDEVICE_LIST 420を照会して、測定器アド
レスとその測定器についてのSCPIコマンドの定義と予測
されるパラメータを得る。照会ステートメントパラメー
タが予測されるパラメータと一致した場合、プロセスPR
EPROC_SEND_QUERY 410は照会機能を実行するCステート
メントを生成して、これらのステートメントをデータフ
ローINST_QUERY 438を介してファイルC_WITH_INST_STAT
EMENTS 422に送る。ファイルDEVICE_LISTに、測定器へ
のアクセスはドライバルーチンを用いて行われる旨定義
されている場合は、プロセスPREPROC_SEND_QUERYはこの
ドライバルーチンに全てのパラメータを引き渡すための
単一のデータ構造を構築するCステートメントを作成
し、また測定器からの全ての情報を返すための第2の単
一のデータ構造を構築するためのCステートメントを作
成する。また、パラメータを引き渡すためのデータ構造
は、各パラメータのための文字列及び各パラメータのた
めの型フィールドを含む。諸パラメータは各々が文字列
中に記憶されるが、これらは別々の型であってもよく、
また型フィールドは特定のパラメータ方をドライバルー
チンに対して識別させる。
【0038】プロセスPREPROC_SEND_QUERYはまた、測定
器がシステムバス上で直接アドレス指定可能であるかど
うかをDEVICE_LISTファイルから判定する。この判定に
基づいて、プロセスPREPROC_SEND_QUERYはデバイスドラ
イバをバイパスしてシステムバスを介して測定器レジス
タに直接アクセスするCステートメントを作成すること
ができる。
【0039】図4のデータフローダイヤグラムとそれに
関する上の説明は単なる例示である。他のSCPI測定器ス
テートメントも図4を参照しながら上で説明したのと同
様の方法で処理される。SCPIユーザプログラム202が全
て処理された後、ファイルC_WITH_INST_STATEMENTS 422
がコンピュータシステム100中のCコンパイラによって処
理され、試験ソフトウエア124が生成される。この試験
ソフトウエア124が作成された後、ユーザはキーボード1
06を用いてコマンドを入力して、所望の回数だけこの試
験ソフトウエアを実行することができる。SCPIユーザプ
ログラム202に含まれる人間可読コマンドとASCIIデータ
は全てコンパイラ126によって機械が使用可能なデータ
に変換されているため、ASCII情報の処理を更に行う必
要はない。
【0040】リスト1はC言語プログラムに埋め込まれ
たSCPIステートメントを含むプログラム例を示す。リス
ト2はリスト1のプログラムを処理した後のコンパイラ
126の出力を示す。以下では、リスト1及びリスト2を
参照してリスト1のプログラム例及びコンパイラ126が
リスト2に示すステートメントを生成する態様を説明す
る。
【0041】リスト1の行1から行4はCプログラミング
言語の一部であるincludeステートメントを示す。従っ
て、構文解析プロセス406(図4)はこれらのステート
メントをファイル422に直接コピーし、その結果がリス
ト2に示す行1から行4になる。リスト1の行5は構文解
析プロセス406によってPREPROC_DECLプロセス408に振り
向けられる測定器宣言ステートメントである。リスト1
の行5に示すcounterという語は測定器の名称であり、こ
の名称はリスト2の行5に示すintステートメントを構築
するのに用いられる。他の2つのパラメータE1333AとDI
RECTはファイルDEVICE_LIST 420の構築に用いられる。
これらのパラメータはまたリスト2の行5にコメントと
して示されている。
【0042】リスト1の行6、7及び8は従来のC言語ステ
ートメントであり、従って構文解析プロセス406はこれ
らの行をリスト2に直接コピーし、リスト2でこれらは
行6、7及び8として現れる。
【0043】行9はSCPI測定器スタートアップコマンド
である。構文解析プロセス406はこのコマンドを、OS_IN
ITサブルーチンへの呼び出しを発生するPREPROC_INITプ
ロセス414に振り向ける。この呼び出しはリスト2の行9
に示されている。また行9はSTARTUPという語を有するコ
メントを含み、この行がリスト1の入力ファイルのスタ
ートアップコマンドから生成されたことを示す。
【0044】リスト1の行10は測定器オープンコマンド
を示す。このコマンドは構文解析プロセス406によって
プロセスPREPROC_INIT 414に送られる。プロセスPREPRO
C_INIT 414はC言語の範囲内のコードのブロックを生成
する。このコードブロックは全てリスト2の行10に示さ
れている。このコードブロックは左ブレース文字で始ま
り、それにE33_HEADER_FNと呼ばれる関数が外部定義さ
れている関数であることを示すexternステートメントが
続く。このブロック中の次のCステートメントは関数OS_
OPENを呼び出し、リスト1の行10からの第2のパラメー
タをこの関数に対するパラメータとして引き渡す。リス
ト2の以前のexternステートメントによって識別される
関数E33_HEADER_FNもまたパラメータとして渡される。O
S_OPEN呼び出しの結果はリスト1の行10に示す測定器オ
ープンコマンドの1番目の変数counterに入れられる。
このブロックは右ブレースで終わる。このように、リス
ト2中の一連のステートメントを作成するためにリスト
1のステートメントにかなりの操作が行われる。
【0045】リスト1の行11から行14は従来のC言語プ
ログラミングステートメントであり、これらはリスト2
に行11から行14として直接渡される。
【0046】リスト1の行15はリスト2の行15から行21
を生成するのに用いられる照会ステートメントである。
リスト2の行15では2つのデータ構造が作成される。こ
れらのデータ構造のうちの、inと名付けられた1番目の
構造は後続のステートメントで呼び出されるデバイスド
ライバへの情報を引き渡すのに用いられ、outと呼ばれ
る2番目のデータ構造はデバイスドライバから情報を返
すのに用いられる。これらのデータ構造中では全てのパ
ラメータは文字データとして定義されるが、デバイスド
ライバに実際に渡される情報は例えば浮動小数点といっ
た他のフォーマットとすることができる。さらに、デバ
イスドライバに渡される各パラメータには、パラメータ
中のデータの実際のフォーマットをデバイスドライバに
知らせるのに用いられるパラメータタイプが対応付けら
れている。行16から行19はリスト1の入力ステートメン
ト15からの情報をデバイスドライバに引き渡すべきデー
タ構造inにロードする。次に行20がデバイスドライバを
呼び出して測定器中で照会コマンドを実行する。行21は
この照会の結果をユーザデータ領域に記憶する。
【0047】リスト1の行16から行19は従来のC言語ス
テートメントであり、このステートメントはリスト2の
行22から行25に直接コピーされる。
【0048】上の例からわかるように、リスト1の入力
ステートメントをリスト2のステートメントにするには
かなりの処理を要する。しかし、本発明の方法によれば
この処理は一度だけ行われ、実際の測定器照会は何回も
発生しうる。
【0049】以下にリスト1,リスト2を示す。
【0050】
【表1】
【0051】
【表2】
【0052】以上、本発明の実施例を説明したが、本発
明の特徴が完全に達成されたことがわかる。また、当業
者には、本発明の精神と範囲から離れることなく、本発
明の構造及び回路に対する多くの変更やかなり隔たった
実施態様及び応用が可能であることが理解されるであろ
う。以上の開示内容と説明は例示にすぎず、いかなる意
味でも本発明を限定するものではなく、本発明の範囲は
特許請求の範囲によってより好適に定義される。
【0053】
【効果】以上詳細に説明したように、本発明によれば実
行前に測定器用のコマンドを機械での実行に適した形式
に変更するため、測定プログラムの実行効率が向上する
という効果がある。
【図面の簡単な説明】
【図1】本発明を適用したコンピュータシステムのブロ
ック図。
【図2】従来技術に係るプログラムされた測定器コマン
ドを実行する方法を示す図。
【図3】本発明に係るプログラムされた測定器コマンド
を実行する方法を示す図。
【図4】本発明に係るコンパイラのデータフローダイヤ
グラム。
【符号の説明】
100:コンピュータシステム 102:処理エレメント 104:システムバス 106:キーボード 108:グラフィクスディスプレイ 110:内部測定器 112:ディスク 114:IEEE 488インターフェースカード 116:メモリ 118:IEEE 488バス 120:外部測定器 122:オペレーティングシステム 124:試験ソフトウエア 126:SCPIコンパイラ 128:コマンドモジュール 130:測定器カード 202:SCPIユーザプログラム 204:試験ソフトウエア 206:I/Oライブラリ 207:数値構築モジュール 208:デバイスドライバモジュール 210:測定器デバイスドライバ 212:SCPI解析モジュール 214、222、230:数値構築モジュール 216:カードドライバモジュール 220:SCPI構文解析部 224:測定器ドライバ 226:デバイスドライバ 302:試験ソフトウエア 304:カードドライバ 406:構文解析プロセス

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】以下のステップ(a)ないし(c)を有し、自動
    化された試験システムでプログラミング言語のステート
    メントと組み合わされた試験装置コマンドを実行する試
    験プログラム実行方法: (a)前記試験装置コマンドと前記プログラミング言語ス
    テートメントを含むファイルを読み出す; (b)前記試験装置コマンド及び前記プログラミング言語
    ステートメントをコンパイルして、単一の実行可能形式
    にする; (c)前記実行可能形式を前記事項化された試験システム
    で実行する。
  2. 【請求項2】前記ステップ(b)は以下のステップ(b1)な
    いし(b4)を含むことを特徴とする請求項1記載の試験プ
    ログラム実行方法: (b1)前記試験装置コマンドを前記プログラミング言語ス
    テートメントから分離する; (b2)前記試験装置コマンドをプリコンパイルして、プロ
    グラミング言語ステートメントの第2の集合を生成す
    る; (b3)前記プログラミング言語ステートメントと前記プロ
    グラミング言語の第2の集合を組み合わせて、組み合わ
    せられたステートメント集合とする; (b4)前記組み合わせられたステートメント集合をコンパ
    イルして、単一の実行可能形式とする。
  3. 【請求項3】前記ステップ(b2)は以下のステップ(b2A)
    及び(b2B)を含むことを特徴とする請求項2記載の試験
    プログラム実行方法: (b2A)前記試験装置コマンドをプリコンパイルして、試
    験装置の入力及び出力がデバイスドライバルーチンを呼
    び出すことによって実行される形式にする; (b2B)前記試験装置コマンドをプリコンパイルして、デ
    バイスドライバに引き渡される全てのパラメータが単一
    のデータ構造で引き渡されるようにする。
  4. 【請求項4】前記ステップ(b2)が以下のステップ(b2C)
    を含むことを特徴とする請求項3記載の試験プログラム
    実行方法: (b2C)前記試験装置コマンドをプリコンパイルして、デ
    バイスドライバから帰される全てのパラメータが単一の
    データ構造で引き渡されるようにする。
  5. 【請求項5】前記ステップ(b2B)が以下のステップ(b2B
    1)及び(b2B2)を含むことを特徴とする請求項3記載の試
    験プログラム実行方法: (b2B1)前記試験装置コマンドをプリコンパイルして、前
    記単一データ構造で引き渡される1つまたは複数のパラ
    メータが、当該1つまたは複数のパラメータの実際の方
    にはかかわりなく単一の型として定義されるようにす
    る; (b2B2)前記試験装置コマンドをプリコンパイルして、前
    記単一データ構造で引き渡される1つまたは複数のパラ
    メータが、各々に対応付けられその各々の実際の型を定
    義する型フィールドを有する。
  6. 【請求項6】前記ステップ(b)は前記実行可能形式を最
    適化するステップを含むことを特徴とする請求項1記載
    の試験プログラム実行方法。
  7. 【請求項7】前記最適化は前記試験装置コマンドの第1
    の予め定められた部分集合については前記試験装置を直
    接的にアクセスし、また前記試験装置コマンドの第2の
    予め定められた部分集合を実行するために前記デバイス
    ドライバを呼び出す実行形式を生成することを含むこと
    を特徴とする請求項6記載の試験プログラム実行方法。
JP02760493A 1992-01-24 1993-01-22 試験プログラム実行方法 Expired - Fee Related JP3300090B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US828,534 1992-01-24
US07/828,534 US5349660A (en) 1992-01-24 1992-01-24 Method of improving performance in an automated test system

Publications (2)

Publication Number Publication Date
JPH05346332A true JPH05346332A (ja) 1993-12-27
JP3300090B2 JP3300090B2 (ja) 2002-07-08

Family

ID=25252090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02760493A Expired - Fee Related JP3300090B2 (ja) 1992-01-24 1993-01-22 試験プログラム実行方法

Country Status (4)

Country Link
US (1) US5349660A (ja)
EP (1) EP0552895B1 (ja)
JP (1) JP3300090B2 (ja)
DE (1) DE69322800T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194815A (ja) * 2011-03-16 2012-10-11 Mitsubishi Electric Corp 空調機制御インターフェース装置、空気調和機および空調機制御システム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999026377A2 (en) * 1997-11-17 1999-05-27 Mcmz Technology Innovations Llc A high performance interoperable network communications architecture (inca)
US6598183B1 (en) 2000-01-04 2003-07-22 Cisco Systems, Inc. Software tool for automated diagnosis and resolution of problems of voice, data and VoIP communications networks
US7385927B2 (en) * 2002-06-24 2008-06-10 Lsi Logic Corporation Methods and structure for improved testing of embedded systems
JP4047131B2 (ja) * 2002-10-18 2008-02-13 株式会社オーク製作所 固体レーザ装置
US7543208B2 (en) * 2006-07-26 2009-06-02 Cisco Technology, Inc. JTAG to system bus interface for accessing embedded analysis instruments
US8683451B1 (en) 2010-04-30 2014-03-25 The United States Of America As Represented By The Secretary Of The Navy System and method for translating software code

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4402055A (en) * 1981-01-27 1983-08-30 Westinghouse Electric Corp. Automatic test system utilizing interchangeable test devices
US5247693A (en) * 1985-10-08 1993-09-21 The Foxboro Company Computer language structure for process control applications and method of translating same into program code to operate the computer
US5230049A (en) * 1988-11-29 1993-07-20 International Business Machines Corporation Program source code translator

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194815A (ja) * 2011-03-16 2012-10-11 Mitsubishi Electric Corp 空調機制御インターフェース装置、空気調和機および空調機制御システム
US9435560B2 (en) 2011-03-16 2016-09-06 Mitsubishi Electric Corporation Air-conditioner control interface device, air conditioner, and air-conditioner control system

Also Published As

Publication number Publication date
DE69322800D1 (de) 1999-02-11
JP3300090B2 (ja) 2002-07-08
EP0552895A3 (en) 1993-09-01
DE69322800T2 (de) 1999-05-12
US5349660A (en) 1994-09-20
EP0552895A2 (en) 1993-07-28
EP0552895B1 (en) 1998-12-30

Similar Documents

Publication Publication Date Title
US9262135B2 (en) Interpreter-based program language translator using embedded interpreter types and variables
EP0530350B1 (en) Improved system for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment
JP3430252B2 (ja) ソースコード変換方法、ソースコード変換プログラムを記録した記録媒体及びソースコード変換装置
US5884083A (en) Computer system to compile non-incremental computer source code to execute within an incremental type computer system
JPH06501581A (ja) ソース・プログラムをコンパイルする方法及び装置
US20050216897A1 (en) Converter, automation device with a converter, and a development environment having an automation device with converter
JP3300090B2 (ja) 試験プログラム実行方法
US5958028A (en) GPIB system and method which allows multiple thread access to global variables
Chisolm et al. ATLAS compiler development
JP3077627B2 (ja) デバッグ方法およびデバッグプログラムを記録する記録媒体
Campbell et al. Crossassembler for the TMS32010 digital signal processor
KR20020021083A (ko) 최적의 컴퓨터 데이터 필드 변환 루틴을 생성하는 시스템
JPH10312313A (ja) C言語の計算機プログラム検査処理方法およびプログラム記憶媒体
KR970011897B1 (ko) 언어해석 처리장치
KR100281651B1 (ko) 칠의 가변 구조체 모드를 씨로 변환하는 방법
Meekings et al. The C Preprocessor
Gough The DCode intermediate program representation: Reference manual and report
Hartley et al. Introduction to Software Engineering
JPH07105014A (ja) 言語処理システムのシンボル処理方式
Rudd et al. Program Development
Eracar et al. Test scripting—An alternative approach to realtime instrument control
Saib VERIFIABLE PASCAL
US20060225063A1 (en) Method for configuring non-script language library files to be run as scripts
JPH05224946A (ja) 入出力並び最適化処理方式
Hanna et al. WAVES Level 2

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees