JP3300090B2 - 試験プログラム実行方法 - Google Patents
試験プログラム実行方法Info
- Publication number
- JP3300090B2 JP3300090B2 JP02760493A JP2760493A JP3300090B2 JP 3300090 B2 JP3300090 B2 JP 3300090B2 JP 02760493 A JP02760493 A JP 02760493A JP 2760493 A JP2760493 A JP 2760493A JP 3300090 B2 JP3300090 B2 JP 3300090B2
- Authority
- JP
- Japan
- Prior art keywords
- test
- command
- instrument
- commands
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
- G01R31/31907—Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring 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)
Description
【0001】
【産業上の利用分野】本発明は電子試験測定器に関し、
より詳細にはこのような測定器のコンピュータ制御に関
する。さらに詳細には、本発明は装置制御言語をコンパ
イルすることによるコンピュータ制御試験システムの性
能の改善に関する。
より詳細にはこのような測定器のコンピュータ制御に関
する。さらに詳細には、本発明は装置制御言語をコンパ
イルすることによるコンピュータ制御試験システムの性
能の改善に関する。
【0002】
【従来技術及びその問題点】さまざまな種類の電子試験
機器をコンピュータによって制御してコンピュータ化さ
れた試験システムを作成することができる。このような
測定器の制御は通常ASCII文字セット中の文字からなる
測定器コマンドを送ることによって達成される。測定器
のプログラミングを一層簡単にするため、コマンド文字
は技術者やプログラマが理解できるワードを形成する。
機器をコンピュータによって制御してコンピュータ化さ
れた試験システムを作成することができる。このような
測定器の制御は通常ASCII文字セット中の文字からなる
測定器コマンドを送ることによって達成される。測定器
のプログラミングを一層簡単にするため、コマンド文字
は技術者やプログラマが理解できるワードを形成する。
【0003】自動試験システムでは測定器コマンドは、
試験ソフトウエアの作成に用いられる従来のプログラミ
ング言語のプログラミングステートメントに埋め込まれ
ている。従来のプログラミング言語ステートメントはコ
ンパイルあるいはインタープリトすることができるが、
測定器コマンドはその結果得られる試験ソフトウエア中
に文字列として人間可読の元の形式のままで残る。この
試験ソフトウエアの処理中に、これらの文字列は測定器
に送られ、それになんらかの試験機能を実行させ、通常
文字列の形式である実行結果が試験ソフトウエアに返さ
れる。
試験ソフトウエアの作成に用いられる従来のプログラミ
ング言語のプログラミングステートメントに埋め込まれ
ている。従来のプログラミング言語ステートメントはコ
ンパイルあるいはインタープリトすることができるが、
測定器コマンドはその結果得られる試験ソフトウエア中
に文字列として人間可読の元の形式のままで残る。この
試験ソフトウエアの処理中に、これらの文字列は測定器
に送られ、それになんらかの試験機能を実行させ、通常
文字列の形式である実行結果が試験ソフトウエアに返さ
れる。
【0004】プログラミング能力が試験測定器に導入さ
れ始めた頃は、測定器コマンドは暗号と見紛うほどにわ
かりにくく、測定器との間で授受されるデータは、ASCI
I等の表示可能なフォーマットではなく、コンピュータ
が読み取り可能なバイナリ形式であることが多い。しか
し、バイナリ形式は試験設計技術者が読んで解釈するこ
とが困難であり、従ってより読みやすく、文字指向であ
る形式が採用された。
れ始めた頃は、測定器コマンドは暗号と見紛うほどにわ
かりにくく、測定器との間で授受されるデータは、ASCI
I等の表示可能なフォーマットではなく、コンピュータ
が読み取り可能なバイナリ形式であることが多い。しか
し、バイナリ形式は試験設計技術者が読んで解釈するこ
とが困難であり、従ってより読みやすく、文字指向であ
る形式が採用された。
【0005】しかし、文字指向形式を用いるためには、
プログラムコマンドとデータは測定器によって構文解析
され機械が使用可能な形式に変換されねばならない。ま
た、測定器が要求された機能を実行した後、この測定器
にある実行結果データは皆、その動作を要求したコンピ
ュータに返される前に文字指向形式に変換される。コン
ピュータ中の試験ソフトウエアが得られたデータを単に
ユーザに表示するのではなく処理しなければならないと
き、このデータは処理の実行の前に機械が使用可能な形
式に再変換されなければならない。
プログラムコマンドとデータは測定器によって構文解析
され機械が使用可能な形式に変換されねばならない。ま
た、測定器が要求された機能を実行した後、この測定器
にある実行結果データは皆、その動作を要求したコンピ
ュータに返される前に文字指向形式に変換される。コン
ピュータ中の試験ソフトウエアが得られたデータを単に
ユーザに表示するのではなく処理しなければならないと
き、このデータは処理の実行の前に機械が使用可能な形
式に再変換されなければならない。
【0006】このような解析、変換及び再変換には処理
時間がかかり、従って試験システムの性能を低下させる
が、コマンドやデータを人間の読むことのできる形式に
しておくためには必要なものと考えられてきた。
時間がかかり、従って試験システムの性能を低下させる
が、コマンドやデータを人間の読むことのできる形式に
しておくためには必要なものと考えられてきた。
【0007】典型的な試験環境では、測定器の多くの操
作が長時間にわたってくり返される。従って、操作が行
われるたびにプログラムコマンドの解釈とデータの変換
を各操作についてくり返さねばならない。例えば、極め
てありふれたことであるが、測定器が数1000回の測
定を行うようにプログラムされているとしたとき、測定
コマンドとその実行結果のデータが数1000回解釈、
変換される。
作が長時間にわたってくり返される。従って、操作が行
われるたびにプログラムコマンドの解釈とデータの変換
を各操作についてくり返さねばならない。例えば、極め
てありふれたことであるが、測定器が数1000回の測
定を行うようにプログラムされているとしたとき、測定
コマンドとその実行結果のデータが数1000回解釈、
変換される。
【0008】測定器はRS-232等の直列インターフェース
あるいはIEEE 488バス等の測定器バスを介して接続され
ることが多い。これらのバスの速度のために、測定器の
性能は測定器と交換されるデータの量によって重大な影
響を受ける。人間の読むことのできるASCII文字はコマ
ンドやデータを理解する能力を向上させるが、コマンド
やデータをこのフォーマットで交換することによって性
能が制限される。
あるいはIEEE 488バス等の測定器バスを介して接続され
ることが多い。これらのバスの速度のために、測定器の
性能は測定器と交換されるデータの量によって重大な影
響を受ける。人間の読むことのできるASCII文字はコマ
ンドやデータを理解する能力を向上させるが、コマンド
やデータをこのフォーマットで交換することによって性
能が制限される。
【0009】本技術分野では、操作の実行に要する時間
を低減できる一方、測定器プログラミングコマンド及び
データの人間可読性を保つシステムが必要とされてい
る。また、本技術分野ではコンピュータシステムと測定
器の間での情報転送効率を向上させるシステムが必要と
されている。さらに、測定器からコンピュータ化された
測定システムに送り帰される各コマンドのコマンド解釈
とデータ変換を行う必要のないシステムが必要とされて
いる。本発明はこれらの要望及びその他の要望を満たす
ものである。
を低減できる一方、測定器プログラミングコマンド及び
データの人間可読性を保つシステムが必要とされてい
る。また、本技術分野ではコンピュータシステムと測定
器の間での情報転送効率を向上させるシステムが必要と
されている。さらに、測定器からコンピュータ化された
測定システムに送り帰される各コマンドのコマンド解釈
とデータ変換を行う必要のないシステムが必要とされて
いる。本発明はこれらの要望及びその他の要望を満たす
ものである。
【0010】
【目的】本発明の目的は、測定器制御言語ステートメン
トの実行前に、このステートメントを試験ソフトウエア
の従来のプログラミング言語ステートメントとともにコ
ンパイルすることである。
トの実行前に、このステートメントを試験ソフトウエア
の従来のプログラミング言語ステートメントとともにコ
ンパイルすることである。
【0011】本発明の他の目的は、Standard Commands
for Programmable Instruments言語をコンパイルするこ
とである。
for Programmable Instruments言語をコンパイルするこ
とである。
【0012】本発明の他の目的は、コマンドを全てのパ
ラメータ情報が単一のデータ構造で測定器ドライバに引
き渡すことができるようにする形態でコンパイルするこ
とである。
ラメータ情報が単一のデータ構造で測定器ドライバに引
き渡すことができるようにする形態でコンパイルするこ
とである。
【0013】本発明の他の目的は、引き渡される各パラ
メータがそれに対応する型指定を有するような形態でコ
マンドをコンパイルすることである。
メータがそれに対応する型指定を有するような形態でコ
マンドをコンパイルすることである。
【0014】本発明の他の目的は、各パラメータをその
パラメータデータの実際のフォーマットにかかわりなく
文字列で引き渡すことが可能な形態でコマンドをコンパ
イルすることである。
パラメータデータの実際のフォーマットにかかわりなく
文字列で引き渡すことが可能な形態でコマンドをコンパ
イルすることである。
【0015】また、本発明の他の目的は、コンパイルさ
れたコードをコンパイルの過程で最適化することであ
る。
れたコードをコンパイルの過程で最適化することであ
る。
【0016】
【概要】本発明の以上の目的及びその他の目的は、測定
器コマンドを含んでいる試験ソフトウエアの従来のプロ
グラミング言語ステートメントがコンパイルされるのと
同時に、測定器コマンドとデータを機械で使用可能な形
式にコンパイルするシステムによって達成される。その
後測定器に送られるコンパイル済みの測定器コマンド
は、ASCII文字からなる人間可読の元の測定器コマンド
よりかなり小さい。このコンパイル済みのコマンドはす
でに機械で使用可能な形式になっているため、測定器中
でコマンドを構文解析する必要がなく、その結果測定器
の性能が向上する。コマンドをコンパイルすることによ
って、このコマンドに関連するデータもまた機械で使用
可能な形式になる。この形式は人間可読性形式より小さ
いため、従来よりも短時間で測定器とのデータの授受を
行うことができる。
器コマンドを含んでいる試験ソフトウエアの従来のプロ
グラミング言語ステートメントがコンパイルされるのと
同時に、測定器コマンドとデータを機械で使用可能な形
式にコンパイルするシステムによって達成される。その
後測定器に送られるコンパイル済みの測定器コマンド
は、ASCII文字からなる人間可読の元の測定器コマンド
よりかなり小さい。このコンパイル済みのコマンドはす
でに機械で使用可能な形式になっているため、測定器中
でコマンドを構文解析する必要がなく、その結果測定器
の性能が向上する。コマンドをコンパイルすることによ
って、このコマンドに関連するデータもまた機械で使用
可能な形式になる。この形式は人間可読性形式より小さ
いため、従来よりも短時間で測定器とのデータの授受を
行うことができる。
【0017】このコンパイルの過程で、測定器に送られ
る全てのパラメータデータは単一のデータ構造にされ
る。これによって試験ソフトウエアと測定器へのアクセ
スに用いられるデバイスドライバとの間でやりとりされ
るパラメータの数が低減される。また、測定器から返さ
れるデータは単一のデータ構造とされる。
る全てのパラメータデータは単一のデータ構造にされ
る。これによって試験ソフトウエアと測定器へのアクセ
スに用いられるデバイスドライバとの間でやりとりされ
るパラメータの数が低減される。また、測定器から返さ
れるデータは単一のデータ構造とされる。
【0018】このデータ構造に記憶されるそれぞれのパ
ラメータは単一のフォーマットで形成された領域に記憶
され、データの実際のフォーマットはこのパラメータに
対応付けられたタイプパラメータ中で定義される。これ
によって測定器との間でのデータの転送効率が向上す
る。
ラメータは単一のフォーマットで形成された領域に記憶
され、データの実際のフォーマットはこのパラメータに
対応付けられたタイプパラメータ中で定義される。これ
によって測定器との間でのデータの転送効率が向上す
る。
【0019】
【実施例】以下の説明は本発明の現在考えられる最も好
適な実施態様に関するものである。この説明は限定的な
ものと解するべきではなく、単に本発明の一般的な原理
を説明するためのものである。本発明の範囲は特許請求
の範囲を参照して決定すべきものである。
適な実施態様に関するものである。この説明は限定的な
ものと解するべきではなく、単に本発明の一般的な原理
を説明するためのものである。本発明の範囲は特許請求
の範囲を参照して決定すべきものである。
【0020】図1は本発明を採用したコンピュータシス
テムのブロック図を示す。図1において、コンピュータ
システム100は本発明によって作成された命令を処理す
る処理エレメント102を有する。処理エレメント102はシ
ステムバス104を介してコンピュータシステム100の他の
エレメントと通信する。このシステムのユーザはキーボ
ード106を用いてコンピュータシステム100に情報を入力
し、コンピュータシステム100はグラフィクスディスプ
レイ108を用いてユーザに情報を出力する。ディスク112
を用いて本発明のソフトウエアとデータの記憶が行われ
る。システムバス104に取り付けられたメモリ116はオペ
レーティングシステム122、本発明のコンパイラ126及び
コンパイラ126によって作成された試験ソフトウエア124
を含む。
テムのブロック図を示す。図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によって処
理された命令によって直接読み出しあるいは書き込みを
行うことができる。
ピュータシステム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のようなバスを介して測定器を接続する
と、測定器内のレジスタへの直接アクセスが妨げられ
る。
て接続することができる。例えば、外部測定器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等のありふれた直列インターフェースを介して
接続することができる。
たRS-232等のありふれた直列インターフェースを介して
接続することができる。
【0024】内部測定器110あるいは外部測定器120をプ
ログラムするためには、ユーザは従来のテキストエディ
タを用いてキーボード106を介してプログラミングコマ
ンドを入力する。これらのコマンドは次にディスク112
に記憶され、測定器110あるいは測定器120あるいはその
両方に所望の機能を実行させるのに用いられる。本発明
はディスク112に記憶されるコマンドを設定し実行する
方法を改善するものである。
ログラムするためには、ユーザは従来のテキストエディ
タを用いてキーボード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文字はプログラム試験測定器コマンドの可読
性を向上させるために用いられる。従来技術及びその問
題点の項で述べたように、試験機器がプログラム可能に
なった当初は、このような機器にはもっと判りにくい、
機械指向のコマンドセットが用いられた。機械指向のコ
マンドと従来の試験の世界での用語との間の関連性が非
常に低いために、このコマンドセットはプログラマには
使用困難なものであった。プログラム可能な試験機器の
開発が進むにつれて、機器に送られるコマンドセットは
もっと記号的になり、その結果、実行時間の増大という
犠牲はあったが試験機器に送られるコマンドの可読性は
向上した。
ログラムされた試験測定器コマンドを実行する従来の方
法の図である。図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に送られる。
れたコマンドをデバイスドライバモジュール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によって処理され
る。
は、このデータをコンピュータシステム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つの試験を複数回行う場合、各
テストを実行する毎にこれらの変換を皆繰り返す。
ドが測定器に送られ、測定器ではそれを構文解析し、機
械可読の形式に変換し、処理し、再度人間可読の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や測定器ドライバを残すこともできる。
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に示すコマンドモジュールを無くす
ことができる。他の実施例ではコマンドモジュールを残
すことができる。
ドライバ304を図3に示すようにコンピュータシステム1
00に内蔵して、図2に示すコマンドモジュールを無くす
ことができる。他の実施例ではコマンドモジュールを残
すことができる。
【0031】コマンドがカードドライバ304に達する
と、カードドライバは測定器カード130上のレジスタを
操作して、要求された動作を測定器カードに実行させ
る。次に、測定器カードは機械向けにフォーマットされ
たデータをカードドライバ304に送り返す。次にカード
ドライバ304はこの機械向けにフォーマットされたデー
タをコンピュータシステム100に直接送り返す。従っ
て、図2のSCPI構文解析部220、数値構築モジュール22
2、I/Oライブラリ228、及び数値構築モジュール230はバ
イパスされる。
と、カードドライバは測定器カード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コ
ンパイラを外部測定器に用いることによってそれでも節
約を達成することができる。
コンピュータシステム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に送る。
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インターフェースを介し
てアドレス指定しなければならないものである場合、こ
れらのコマンドは代わりにデバイスドライバを介して送
らなければならない。
テートメントを受け取ると、このプロセスはディスク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に送られる。
34を介してSCPI初期設定ステートメントを受け取ると、
測定器を初期化するデバイスドライバの初期設定関数を
呼び出すCのコードを生成する。生成されたステートメ
ントはデータフローINST_INIT444中をファイルC_WITH_I
NST_STATENTS 422に送られる。
【0036】SCPI初期設定ステートメントは次にリスト
1を参照して説明するINST_STARTUPステートメントとIN
ST_OPENステートメントを含む。
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ステートメントを作
成する。また、パラメータを引き渡すためのデータ構造
は、各パラメータのための文字列及び各パラメータのた
めの型フィールドを含む。諸パラメータは各々が文字列
中に記憶されるが、これらは別々の型であってもよく、
また型フィールドは特定のパラメータ方をドライバルー
チンに対して識別させる。
ロー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ステートメントを作成すること
ができる。
器がシステムバス上で直接アドレス指定可能であるかど
うかを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情報の処理を更に行う必
要はない。
関する上の説明は単なる例示である。他の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に示すステートメントを生成する態様を説明す
る。
た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にコメントと
して示されている。
言語の一部である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として現れる。
ートメントであり、従って構文解析プロセス406はこれ
らの行をリスト2に直接コピーし、リスト2でこれらは
行6、7及び8として現れる。
【0043】行9はSCPI測定器スタートアップコマンド
である。構文解析プロセス406はこのコマンドを、OS_IN
ITサブルーチンへの呼び出しを発生するPREPROC_INITプ
ロセス414に振り向ける。この呼び出しはリスト2の行9
に示されている。また行9はSTARTUPという語を有するコ
メントを含み、この行がリスト1の入力ファイルのスタ
ートアップコマンドから生成されたことを示す。
である。構文解析プロセス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のステートメントにかなりの操作が行われる。
を示す。このコマンドは構文解析プロセス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として直接渡される。
ログラミングステートメントであり、これらはリスト2
に行11から行14として直接渡される。
【0046】リスト1の行15はリスト2の行15から行21
を生成するのに用いられる照会ステートメントである。
リスト2の行15では2つのデータ構造が作成される。こ
れらのデータ構造のうちの、inと名付けられた1番目の
構造は後続のステートメントで呼び出されるデバイスド
ライバへの情報を引き渡すのに用いられ、outと呼ばれ
る2番目のデータ構造はデバイスドライバから情報を返
すのに用いられる。これらのデータ構造中では全てのパ
ラメータは文字データとして定義されるが、デバイスド
ライバに実際に渡される情報は例えば浮動小数点といっ
た他のフォーマットとすることができる。さらに、デバ
イスドライバに渡される各パラメータには、パラメータ
中のデータの実際のフォーマットをデバイスドライバに
知らせるのに用いられるパラメータタイプが対応付けら
れている。行16から行19はリスト1の入力ステートメン
ト15からの情報をデバイスドライバに引き渡すべきデー
タ構造inにロードする。次に行20がデバイスドライバを
呼び出して測定器中で照会コマンドを実行する。行21は
この照会の結果をユーザデータ領域に記憶する。
を生成するのに用いられる照会ステートメントである。
リスト2の行15では2つのデータ構造が作成される。こ
れらのデータ構造のうちの、inと名付けられた1番目の
構造は後続のステートメントで呼び出されるデバイスド
ライバへの情報を引き渡すのに用いられ、outと呼ばれ
る2番目のデータ構造はデバイスドライバから情報を返
すのに用いられる。これらのデータ構造中では全てのパ
ラメータは文字データとして定義されるが、デバイスド
ライバに実際に渡される情報は例えば浮動小数点といっ
た他のフォーマットとすることができる。さらに、デバ
イスドライバに渡される各パラメータには、パラメータ
中のデータの実際のフォーマットをデバイスドライバに
知らせるのに用いられるパラメータタイプが対応付けら
れている。行16から行19はリスト1の入力ステートメン
ト15からの情報をデバイスドライバに引き渡すべきデー
タ構造inにロードする。次に行20がデバイスドライバを
呼び出して測定器中で照会コマンドを実行する。行21は
この照会の結果をユーザデータ領域に記憶する。
【0047】リスト1の行16から行19は従来のC言語ス
テートメントであり、このステートメントはリスト2の
行22から行25に直接コピーされる。
テートメントであり、このステートメントはリスト2の
行22から行25に直接コピーされる。
【0048】上の例からわかるように、リスト1の入力
ステートメントをリスト2のステートメントにするには
かなりの処理を要する。しかし、本発明の方法によれば
この処理は一度だけ行われ、実際の測定器照会は何回も
発生しうる。
ステートメントをリスト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:構文解析プロセス
───────────────────────────────────────────────────── フロントページの続き (73)特許権者 399117121 395 Page Mill Road Palo Alto,Californ ia U.S.A. (56)参考文献 特開 平2−224137(JP,A) 特開 平3−28932(JP,A) 特開 昭62−216040(JP,A) (58)調査した分野(Int.Cl.7,DB名) G01D 21/00 G01R 31/00 G06F 9/45
Claims (5)
- 【請求項1】以下のステップ(a)ないし(f)を有し、自動
化された試験システムでプログラミング言語のステート
メントと組み合わされた試験装置コマンドを実行する試
験プログラム実行方法: (a)前記試験装置コマンドと前記プログラミング言語ス
テートメントを含むファイルを読み出す; (b)前記試験装置コマンドを前記プログラミング言語ス
テートメントから分離する; (c)前記試験装置コマンドをプリコンパイルして、プロ
グラミング言語ステートメントの第2の集合を生成す
る; (d)前記プログラミング言語ステートメントと前記プロ
グラミング言語の第2の集合を組み合わせて、組み合わ
せられたステートメント集合とする; (e)前記組み合わせられたステートメント集合をコンパ
イルして、単一の実行可能形式とする;及び (f)前記実行可能形式を前記自動化された試験システム
で実行する;において、前記ステップ(c)は以下のステ
ップ(cA)及び(cB)を含むことを特徴とする試験プログ
ラム実行方法: (cA)前記試験装置コマンドをプリコンパイルして、試
験装置の入力及び出力がデバイスドライバルーチンを呼
び出すことによって実行される形式にする;及び(cB)
前記試験装置コマンドをプリコンパイルして、デバイス
ドライバに引き渡される全てのパラメータが単一のデー
タ構造で引き渡されるようにする。 - 【請求項2】前記ステップ(c)が以下のステップ(cC)
をさらに含むことを特徴とする請求項1記載の試験プロ
グラム実行方法: (cC)前記試験装置コマンドをプリコンパイルして、デ
バイスドライバから帰される全てのパラメータが単一の
データ構造で引き渡されるようにする。 - 【請求項3】前記ステップ(cB)が以下のステップ(cB
1)及び(cB2)を含むことを特徴とする請求項1あるいは
請求項2のいずれかに記載の試験プログラム実行方法: (cB1)前記試験装置コマンドをプリコンパイルして、前
記単一データ構造で引き渡される1つまたは複数のパラ
メータが、当該1つまたは複数のパラメータの実際の型
にはかかわりなく単一の型として定義されるようにす
る;及び(cB2)前記試験装置コマンドをプリコンパイル
して、前記単一データ構造で引き渡される1つまたは複
数のパラメータが、各々に対応付けられその各々の実際
の型を定義する型フィールドを有する。 - 【請求項4】前記ステップ(c)は前記実行可能形式を最
適化するステップをさらに含むことを特徴とする請求項
1から請求項3のいずれかに記載の試験プログラム実行
方法。 - 【請求項5】前記最適化は前記試験装置コマンドの第1
の予め定められた部分集合については前記試験装置を直
接的にアクセスし、また前記試験装置コマンドの第2の
予め定められた部分集合を実行するために前記デバイス
ドライバを呼び出す実行形式を生成することを含む請求
項4記載の試験プログラム実行方法。
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 JPH05346332A (ja) | 1993-12-27 |
JP3300090B2 true 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) |
Families Citing this family (7)
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 |
JP5808922B2 (ja) * | 2011-03-16 | 2015-11-10 | 三菱電機株式会社 | 空調機制御インターフェース装置、空気調和機および空調機制御システム |
Family Cites Families (3)
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 |
-
1992
- 1992-01-24 US US07/828,534 patent/US5349660A/en not_active Expired - Lifetime
-
1993
- 1993-01-15 EP EP93300256A patent/EP0552895B1/en not_active Expired - Lifetime
- 1993-01-15 DE DE69322800T patent/DE69322800T2/de not_active Expired - Fee Related
- 1993-01-22 JP JP02760493A patent/JP3300090B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0552895A2 (en) | 1993-07-28 |
DE69322800T2 (de) | 1999-05-12 |
US5349660A (en) | 1994-09-20 |
JPH05346332A (ja) | 1993-12-27 |
EP0552895A3 (en) | 1993-09-01 |
DE69322800D1 (de) | 1999-02-11 |
EP0552895B1 (en) | 1998-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5465216A (en) | Automatic design verification | |
US5651111A (en) | Method and apparatus for producing a software test system using complementary code to resolve external dependencies | |
US5557774A (en) | Method for making test environmental programs | |
US5987250A (en) | Transparent instrumentation for computer program behavior analysis | |
US20020143823A1 (en) | Conversion system for translating structured documents into multiple target formats | |
US20020184615A1 (en) | System and method for selectively and automatically modifying the source code of a computer program | |
US6467082B1 (en) | Methods and apparatus for simulating external linkage points and control transfers in source translation systems | |
CN112558942A (zh) | 算子注册方法和相关产品 | |
US7441158B1 (en) | Embedded hardware debugging tool and associated method | |
JP3300090B2 (ja) | 試験プログラム実行方法 | |
US5958028A (en) | GPIB system and method which allows multiple thread access to global variables | |
US6393606B1 (en) | Inverse assembler | |
US6611924B1 (en) | Reducing code size of debug output statements | |
US20090217215A1 (en) | Apparatus for giving assistance in analyzing deficiency in RTL-input program and method of doing the same | |
US7318221B2 (en) | Windows™ F-language interpreter | |
Chisolm et al. | ATLAS compiler development | |
JP3077627B2 (ja) | デバッグ方法およびデバッグプログラムを記録する記録媒体 | |
JP2662533B2 (ja) | ロジック・アナライザ | |
JPH10312312A (ja) | 仕様によって動作が変わるc言語の計算機プログラム検査処理方法およびプログラム記憶媒体 | |
JPH10312313A (ja) | C言語の計算機プログラム検査処理方法およびプログラム記憶媒体 | |
Gough | The DCode intermediate program representation: Reference manual and report | |
Hanna et al. | WAVES Level 2 | |
Hill et al. | System support software for the Space Ultrareliable Modular Computer (SUMC) | |
Kopetzky | Lanham, Maryland 20706 | |
Meekings et al. | The C Preprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |