何をお探しですか?
Keysightの測定器をRS-232を使用して、Microsoft OSが動作しているラップトップPCと接続した場合の問題
症状: タイムアウト、データ損傷、データ紛失、データのアップロード時のエラー・メッセージ
原因: PCに使用されているRS-232 I/Oチップ(UART)には16バイトのバッファしかありません。リアルタイム・フロー制御が行えない場合、データ損失の原因となるバッファ・オーバランが生じる可能性があります。改行文字が紛失すると、EOL(エンドオブライン)終端文字をソフトウェアが見つけられなくなりタイムアウトが 発生します。また、文字の紛失は誤ったデータを返す原因になります。
Microsoftのシリアル・ドライバは真のハードウェア・フロー制御を実装していません。ソフトウェア・ドライバでのフロー制御のみを実装しています。このため、PCIバス・ロックアウト、優先順位のより高い割り込み、割り込みオフの影響を受けやすくなっています。ソフトウェアによるフロー制御を行う理由は、歴史的には、非常に信頼性の低い初期のハードウェア設計に原因があります。たとえば、16550 UARTには無数のクローンがあり、その多くは不完全です。Microsoftにとっての唯一の解決策はできるだけ少ない機能のみを使用するソフトウェア・ドライバの開発でした。したがって、ハードウェア・フロー制御はこのドライバ内で処理されます。Microsoftは現状ではドライバを改良してこの問題を解決することはできません。
電源管理または PCMCIAアダプタに関係するソフトウェアのオーバヘッドが原因と考えられる問題は、ラップトップPCでのみ発生していますが、理論的にはデスクトップPCにおいても発生する可能性もあります。高速プロセッサと低速のRS-232は協調動作をしていません。
解決策: 重要なアプリケーションにはRS-232を使用しないでください。代わりに、34970AのGPIBポートをご使用ください。
- 82357A USB / GPIBコンバータにより、ポータブルPCのUSBポートと34970AのGPIBポートを接続します。このオプションはUSBを備えたWindows 2000、98 SEまたはXP ラップトップで使用できます。Windows 3.1、95、NTはUSBをサポートしていません。
- E5810A LAN/GPIBゲートウェイを使用します。このゲートウェイを、34970AのGPIBポートに接続し、PCのLAN(またはPCのLAN ポートに直接)取り付けてください。LANゲートウェイはWindows® 98 (SE)/Me/NT/2000/XPで使用できます。
- PCMCIA GPIBカードを挿入します。複数のベンダがPCMCIA GPIBカードを提供していて、通常はWindows® 98 (SE)/Me/NT/2000/XPをサポートしています。
- デスクトップPCに取り換えて、82350B GPIBカードまたは82357A USB-GPIBコンバータを使用します。82350AはWindows® 98 /Me/NT/2000/XPで動作します。RS-232での問題はデスクトップPCでは発生していませんが、同一のハードウェアを使用しているため理論的には同じ問題が生じる可能性があります。
注意: いずれの解決策を選択した場合も、制御プログラムの変更が必要です。コマンド文字列が同じでも、通信セットアップの変更が必要です。測定器のモードの変更は、SCPIコマンド「SYSTem:INTerface {GPIB | RS232}」を使用して、プログラムまたはフロント・パネルから行います。さらに、ボー・レート、パリティ、フロー制御のようなRS-232のパラメータを初期化するために使用されるコードはすべて削除します。RS-232ポートをオープンするために使用されるコードは、代わりにGPIBインタフェースをオープンするように変更する必要があります。これは以下のコマンドを使用してVisual Basicから実行します。
Dim A_34970A As AgtIOServer
Dim iomgr As KeysightIOUtilsLib.AgtIOManager
Set iomgr = New AgtIOManager
Set A_34970A = io_mgr.ConnectToInstrument ("GPIB::9").
GPIBアドレスをデフォルト(9)以外の値に変更する必要がある場合は、フロント・パネルからのみ行うことができます。詳細はマニュアルを参照してください。