こんにちは、LabView 2012、Delphi XE7 と GPIB (488.2 だと思います)、Win7 SP1 と Agilent 53131A を使用しています。
与えられたNIの例を使用しました。
NI Labview の例 - LabVIEW のヘルプ - GPIB.vi にあります。
2 つのチャネルから周波数を照会するために書き込みと読み取りを試みましたが、成功しました。それらは送信され、連続して読み取られます。
- *IDN?
- :FUNC 'FREQ 1'
- :READ:FREQ?
成功した場合は、Agilent および NI MAX 用の GPIB とドライバが正常にインストールおよび構成されたことを意味します。
また、KeySight Connection Expert を使用して書き込みと読み取りを行うこともできます。これも成功しています。
ただし、指定されたNI の例を Delphi で使用した場合。元々は Delphi 3 または 4 として保存されていました。
ユニバーサル カウンターの Scope Simple の例を使用しました。私は主に簡単な方法で書いたり読んだりするためにそれを使用しました。初期化、読み取り/書き込み、およびクリーンアップが必要なすべて
SimpleForm.pas で、次のコードを次のように変更しました
検出されたデバイスはGPIB0::3::INSTR
32 行目で、
PRIMARY_ADDR_OF_COUNTER = 3;
読み書きする文字列なので、132行目で、
CommandBox.Text := '*IDN?';
その後、エラーなしでコンパイルされ、実行されました。
文字列の書き込みに成功しました
しかし、読んでみると、うまくいきませんでした。文字列出力は と想定されます' HEWLETT-PACKARD,53131A,0,4806'
。
プログラムの最後のエラーは次のとおりです。
Unable to read from device
ibsta = SC000 <ERR TMO>
iberr = 6 <EABO>
ibcntl = 0
これらの読みから、私は次のように理解しました:-
EABOは中止を意味します
私は GPIB の操作に慣れていません。親切なアドバイス。