問題タブ [gpib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 一見無関係な部分を追加すると、Python コードの一部が異なって解釈されるのはなぜですか?
背景: GPIB 経由で機器と対話するための GUI を実装しています。この方法で問題が発生します。
while ループの最初のパス中に、マークされた場所で単純な ValueError が発生します。Python は、文字列を float に変換できないと言います (これについては後で詳しく説明します)。ただし、次の 5 行のコードを削除するだけです。
プログラムは完全に実行されます。エラーの原因を理解しています。これらの行を追加して、次の 2 行を計測器に送信すると、次のようになります。
基本的に null エラーが発生します。#3000
が返されます。これは、データを出力するように求められ、出力するデータがない場合にマシンが送信する空白のメッセージです。ただし、これらの同じ 2 つの行は#3006 00.003
、私が言及した 4 つの行がプログラムから除外された場合のようなものを生成します。つまり、これらの 4 行をプログラムに追加するだけで、最後近くに追加したにもかかわらず、while ループの最初に計測器に送信されるメッセージが変更されました。
ここでは Python のインタープリターに問題があると確信しています。以前、コードをクリーンアップしていたところ、ある特定の引用符セットが から に変更されたときに'
、"
同じ行内であっても、この動作を示す他の引用符ペアがないにもかかわらず、同じエラーが発生することがわかりました。私の質問は、コードへの無関係な変更に依存してコードの実行が変更されるのはなぜですか(修正もありがたいです)? 私のやや特殊なアプリケーションでは、この問題を再現するのが難しいことは理解しています。そのため、私が提供できる役立つ情報がさらにある場合は、お知らせください。
編集: コマンド プロンプトから IDLE に移行した後、機能が改善されました。私はまだ何が起こったのか困惑していますが、コマンドプロンプトのスキルが貧弱であるため、証拠を提供することはできません. この質問を閉じてください。
driver - LabVIEW ドライバ、ブロックダイアグラムが表示されない
Keithley 6485のドライバをインストールしました。ただし、インストール後にブロック ダイアグラムが表示されません。には KE6485 フォルダがありますinst.lib
が、LabVIEW ファイルは LabVIEW ライブラリ ファイルにあります。それらを個別のファイルとしてロック解除しても、この状況は変わりません。
python - バイト/ビットからバイナリへのデコード
Prologix GPIB-USB アダプターを LISTEN のみのモードで使用して、2 つの機器 (半導体関連、つまりテスターとプローバー) 間の通信を解読しています。
マニュアルに記載されているように、ほとんどの情報をデコードできますが、データの 1 つ、つまり BIN カテゴリを変換できません。
サンプルデータ :
ツールマニュアル:
私が興味を持っているデータは、「C@A@@@@@@@」と「CA@A@@@@@@」です。最初のバイト、つまり「C」は、渡されるコマンドです。 「@」または「A」にすることができ、実際にテストが合格/不合格であるかどうかを示します。
バイナリへの変換:
Result は Byte の下位 4 ビットの 0000(Pass) と 0001(Fail) で決まります。ここまでは正しくデコードできています。
次の 8 バイトは BIN カテゴリを表し、テスト中にテストが失敗した場合は 5 に設定され、合格の場合は 1 に設定されるため、「C@A@@@@@@@」の BIN 番号は 1 であり、対応する BIN 番号は「CA@A@@@@@@」は5に設定されています。
GPIB アダプタから生成されたデータから 5 と 1 の値をデコードできません。実際に5と1としてデコードできるかどうか誰かが提案できますか.受信データの読み取り方法を説明するマニュアルを添付しました.
長い間これにこだわっています:-(
python - python gpib vna IEEE-754 64 ビット
助けが必要です。HPBASIC で書かれたプログラムを Python の VNA ネットワーク アナライザーに変換します。データ形式: データ転送形式: FMB IEEE-754 64 ビット データ転送形式を選択します。
バイナリ データ転送メッセージの形式:
MSB MODE: バイト カウント バイト カウント バイト
ここに抜粋があります:
出力 @ Vna360B; 「FMB MSB」!転送フォーマット 64 ビット、最上位バイト。! FMB (64 ビット) 3068 (最大収集ポイント数)。出力 @ Vna360B; 「OFV」!出力周波数値。入力 @ Vna360B; P、S!2 つの整数を返します。入力 @ Vna360b; フレクス(*)!配列 foat 周波数を返します。
2.6 Ghz の値をデコードして取得する必要があった Pyvisa で得られるものは次のとおりです。
出:['\x00\x08A\x08A\xe3_\x1b@\x00\x00']
私の質問は次のとおりです。この形式、バイナリ、ヘキサは何ですか? Python で '\ x00 \ x08A \ x08A \ xe3_ \ x1b @ \ x00 \ x00' をデコードするには?
ご協力ありがとうございました。
visa - PyVisa: GPIB からの読み取り時に文字化け
(これはおそらく間違ったフォーラムなので、GitHub で問題を開始しました: https://github.com/pyvisa/pyvisa/issues/254 )
Python で GPIB を使用してケースレー機器を制御しようとしています。基本的には通信はできているのですが、計測器から読み取ると文字化けすることがよくあります。例えば:
与える
ナショナルインスツルメンツの VISA テストパネルでは、代わりに次のように表示されます。
NI I/O Trace をチェックインすると、両方の呼び出しが似ているように見えます。
NI テスト パネル:
パイソン:
誰かがアイデアを持っていますか?
Python のその他のコマンド:
正しいようですが、そうではありません:
NI VISA Interactive Control から比較するには:
timeout - LabVIEW および Keithley 2635A - データを読み取れません
LabVIEWとそのVISA機能を使用して、ケースレー2635Aソースメータを制御しています。デバイスを識別しようとすると、読み取りと書き込みの両方で問題なく動作します。
ただし、電圧(または電流)を設定するとすぐに設定されます。次に、測定を実行するコマンドを送信しますが、そのデータを読み取ることができず、エラーが発生します
*IDN?
その後、出力も読み取れなくなりました。
ソースメータは、National Instrument GPIB-USB-HS アダプタを介して PC に接続されます。
編集: 追加するのを忘れていましたが、これは VISA Interactive Control プログラムでも発生します。