SIGLENT SNA5000AシリーズのVNAをLXI(LAN経由)で制御するためのPythonプログラムの基本構成を紹介します。
一般的に、計測器の自動制御にはPyVISAライブラリを使用するのが標準的です。
1. 開発環境の準備
事前に以下のライブラリをインストールしておく必要があります。
pip install pyvisa
※ また、接続には NI-VISA や Keysight IO Libraries などのVISAバックエンドがPCにインストールされている必要があります。
2. Pythonによる参考プログラム
このサンプルコードは、VNAに接続し、ID文字列の確認、S21パラメータの設定、およびトレースデータの取得を行う基本的な流れです。
import pyvisa
import time
# --- 設定項目 ---
# 計測器のIPアドレス(LXI接続)
INSTR_IP = "192.168.1.100"
VISA_ADDRESS = f"TCPIP0::{INSTR_IP}::inst0::INSTR"
def siglent_vna_sample():
rm = pyvisa.ResourceManager()
try:
# 1. 計測器への接続
vna = rm.open_resource(VISA_ADDRESS)
vna.timeout = 5000 # タイムアウト設定(ms)
# 2. 基本的なID確認
print("Connected to:", vna.query("*IDN?").strip())
# 3. 計測設定のリセット
vna.write("*RST")
time.sleep(1)
# 4. 測定パラメータの設定 (例: S21)
vna.write("CALC:PAR:DEF 'MyS21', S21")
vna.write("DISP:WIND:TRAC1:FEED 'MyS21'")
# 5. 周波数範囲とポイント数の設定
vna.write("SENS:FREQ:STAR 1GHz")
vna.write("SENS:FREQ:STOP 4.5GHz")
vna.write("SENS:SWE:POIN 201")
# 6. スイープの実行
vna.write("INIT:CONT OFF") # シングルスイープモードへ
vna.write("INIT:IMM") # スイープ開始
vna.write("*OPC?") # 完了待ち
# 7. データの取得 (フォーマット: 振幅[dB])
vna.write("CALC:SEL:FORM MLOG")
data_raw = vna.query("CALC:SEL:DATA:FDAT?")
# 文字列データを数値リストに変換
data_list = [float(val) for val in data_raw.split(',')]
print(f"Captured {len(data_list)} data points.")
print("First 5 points:", data_list[:5])
except Exception as e:
print(f"Error: {e}")
finally:
if 'vna' in locals():
vna.close()
rm.close()
if __name__ == "__main__":
siglent_vna_sample()
3. 主要なSCPIコマンドの解説
SNA5000Aで頻繁に使用されるLXI経由のコマンドです。
| 機能 | SCPIコマンド | 備考 |
| ID確認 | *IDN? |
接続確認の基本 |
| 画面の更新停止 | SYST:CONF:TIM OFF |
実行速度を上げたい場合に有効 |
| 中心周波数 | SENS:FREQ:CENT <freq> |
Hz単位。GHzなどの接頭辞も可 |
| IF帯域幅 | SENS:BWID <freq> |
ノイズフロアに影響 |
| エラー確認 | SYST:ERR? |
デバッグ時に必須 |
4. 運用のヒント
-
データフォーマット:
CALC:SEL:DATA:FDAT?は現在のフォーマット(LogMag, Phaseなど)に従ったデータを返します。複素数データが必要な場合はCALC:SEL:DATA:SDAT?を使用します。 -
高速化: 大量のデータを取得する場合は、
vna.query_ascii_values()やvna.query_binary_values()を使用すると、パース処理が高速化されます。 -
ポートの確認: SIGLENTのLXI接続は通常
inst0ですが、うまくいかない場合はINSTRポートの指定(5025番など)を確認してください。
測定対象(DUT)の特性に合わせて、スタート/ストップ周波数やIFBWを調整してご利用ください。
Vector Network Analyzer Application Notes:
Programming Example: Using VXI11 (LXI) and Python for LAN control without sockets
https://siglentna.com/application-note/programming-example-vxi11-python-lan/
出典:Google Gemini (Gemini は AI であり、間違えることがあります。)
PR:
SMM3000Xシリーズ 高精度ソースメジャーユニット・表示桁数:6½桁(2,100,000カウント) ・SMM3311X(1ch) / SMM3312X(2ch) ・価格:90万円~ |
|
|
・USB VNA |
・Coming soon |
![]() |
SDS8000Aシリーズ オシロスコープ 特長と利点 ・Coming soon |
![]() |
SSG6M80Aシリーズ ・Coming soon
|
![]() |
![]() |
![]() |
SSA6000A Series Signal Analyzer Main Features ・Coming soon
|
![]() |
SNA6000A Series Vector Network Analyzer Key Features
|
お礼、
T&Mコーポレーションは設立5年ですが、おかげさまで業績を着実に伸ばしており、
オフィスを港区芝(最寄り駅浜松町)に移転し、スペースも拡大いたしました。
電子計測器業界の「ゲームチェンジャー」として、高性能/高信頼/低価格/短納期を武器に
T&Mコーポレーションはお客様のご予算を最大限生かす製品群をご提案させていただいております。



















T&M
即納ストア