LXI(LAN eXtensions for Instrumentation)のVXI-11(VISAを介した標準的な制御)ではなく、より低レイヤーで高速な**TCP/IP Sockets(ポート 5025)**を直接叩く方法。

VISAライブラリをインストールできない軽量な環境や、オーバーヘッドを最小限に抑えたい場合に有効です。Pythonの標準ライブラリ socket を使用した参考プログラムを紹介します。


1. Socket通信による参考プログラム

SIGLENT SNA5000AのデフォルトのSocketポート番号は 5025 です。

Python
 
import socket
import time

# --- 設定項目 ---
IP_ADDRESS = "192.168.1.100"
PORT = 5025  # SCPI Socket標準ポート
TIMEOUT = 5.0
def vna_socket_control():
    # 1. ソケットの作成と接続
    # AF_INET: IPv4, SOCK_STREAM: TCP
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.settimeout(TIMEOUT)
    
    try:
        print(f"Connecting to {IP_ADDRESS}:{PORT}...")
        client.connect((IP_ADDRESS, PORT))
        
        # --- 送受信関数 ---
        def send_cmd(cmd):
            # SCPIコマンドは末尾に改行コード \n が必要
            client.sendall((cmd + "\n").encode('utf-8'))
            
        def query(cmd):
            send_cmd(cmd)
            # データの受信 (バッファサイズは必要に応じて調整)
            return client.recv(4096).decode('utf-8').strip()

        # 2. 接続確認
        idn = query("*IDN?")
        print(f"Connected to: {idn}")

        # 3. 測定設定 (例: 4.5GHz帯の評価設定)
        send_cmd("*RST")
        time.sleep(0.5)
        
        send_cmd("SENS:FREQ:STAR 1GHz")
        send_cmd("SENS:FREQ:STOP 4.5GHz")
        send_cmd("SENS:SWE:POIN 401")
        
        # 4. スイープ実行と完了待ち
        send_cmd("INIT:CONT OFF")
        send_cmd("INIT:IMM")
        
        # *OPC? でスイープ完了を同期(1が返るまで待機)
        while True:
            opc = query("*OPC?")
            if opc == "1":
                break
            time.sleep(0.1)

        # 5. データの取得
        # 振幅データ(dB)を要求
        send_cmd("CALC:SEL:FORM MLOG")
        raw_data = query("CALC:SEL:DATA:FDAT?")
        
        # カンマ区切りの文字列をリストに変換
        data_points = [float(x) for x in raw_data.split(',')]
        print(f"Captured {len(data_points)} points.")
        print(f"First data point: {data_points[0]} dB")

    except socket.timeout:
        print("Error: Connection timed out.")
    except Exception as e:
        print(f"An error occurred: {e}")
    finally:
        # 6. 切断
        client.close()
        print("Connection closed.")

if __name__ == "__main__":
    vna_socket_control()

2. LXI Socketsを使用する際の重要ポイント

改行コードの扱い

VISA (pyvisa) を使う場合はライブラリ側で処理されますが、socket の場合は以下のルールを厳守する必要があります。

  • 送信時: 全てのコマンドの末尾に \n (Line Feed) を付与してください。

  • 受信時: 機器からのレスポンスも \n で終わるため、.strip() で取り除くと処理しやすくなります。

データのパース

CALC:SEL:DATA:FDAT? で返ってくるデータは、非常に長いカンマ区切りの文字列です。

  • ポイント数が多い場合(例:1601ポイント以上)、client.recv(4096) では一度に受け取りきれないことがあります。

  • その場合は、ループを回して全てのデータを読み切る(\n が現れるまで受信を続ける)処理を実装してください。

ブロッキングと同期

Socket通信はVISAの query メソッドほど高機能ではありません。

INIT:IMM(スイープ開始)の直後にデータ取得を試みると、測定が終わっていないためエラーになるか、古いデータが返ります。必ず *OPC? を投げて、機器から 1 が返ってくるのを確認してから次のコマンドを送るのが、安定運用のコツです。

4.5 GHz帯などの特定周波数での注意点

SNA5000Aをこの帯域で使用する場合、アダプタやケーブルの損失(De-embedding)設定もSocket経由で行えます。

  • SENS:CORR:EXT:PORT1:TIME 0.1 (ポート1の延長/ディレイ設定など)

必要に応じて、特定のレジスタ状態を読み取るコマンドを追加して、エラーチェック(SYST:ERR?)をルーチンに組み込むことをお勧めします。

 

Vector Network Analyzer Programming Guide
SNA5000A Series
SNA5000X-E Series
SNA6000A Series
SHN900A Series

https://siglentna.com/wp-content/uploads/dlm_uploads/2026/03/VNA_Series_ProgrammingGuide_EN04A.pdf

 

 

出典:Google Gemini (Gemini は AI であり、間違えることがあります。)

 

 

 

PR:

SMM3000Xシリーズ 高精度ソースメジャーユニット

・表示桁数:6½桁(2,100,000カウント)
・最大サンプリングレート:100,000ポイント/秒
・プログラミング/測定の最小分解能:10 fA / 100 nV
・最大出力:±210 V / ±3.03 A(DC)/ ±10.5 A(パルス)
・DC、パルス、スキャン、リスト出力に対応。最小パルス幅は50μs
・グラフ表示とデジタル表示を備えた5インチのタッチスクリーン

・SMM3311X(1ch) / SMM3312X(2ch)

・価格:90万円~

・USB VNA

・Coming soon

SDS8000Aシリーズ オシロスコープ

特長と利点
4チャンネル + 外部トリガーチャンネル
アナログチャンネル帯域幅:最大16GHz(8/13/16GHz)
リアルタイムサンプリングレート:最大40GSa/s(全チャンネル同時)
12ビットADC
低ノイズフロア:16GHz帯域幅で176μVrms
SPOテクノロジー
・ 波形キャプチャレート:最大200,000フレーム/秒
・ 256段階の波形輝度と色温度表示をサポート
・ 最大2Gポイント/チャンネルのストレージ容量
・ デジタルトリガー

・Coming soon

SSG6M80Aシリーズ
マルチチャネル・コヒーレント・マイクロ波信号発生器
主な特長
・最大周波数 13.6 GHz/20 GHz
・出力周波数分解能 最大0.001 Hz
・位相ノイズ < -136 dBc/Hz @ 1 GHz、オフセット 10 kHz(測定値)
・コヒーレントモード、搬送周波数 = 10 GHz、周囲温度変動 ±2℃、観測時間 5時間、位相変動 < 1.5°
・チャンネル間の周波数、振幅、位相を個別に調整可能。単一デバイスチャンネル同期および複数デバイスチャンネル位相同期をサポート。位相メモリ機能搭載
・アナログ変調、パルス変調(オプション)

・Coming soon

 

 

SSA6000A Series Signal Analyzer

Main Features
・Measurement Frequency Range: 2 Hz ~ 50 GHz
・IQ Analysis Bandwidth: 1.2 GHz
・Real-time Spectrum Analysis Bandwidth: 400 MHz
・Phase Noise: -123 dBc/Hz @ 1 GHz, 10 kHz offset
・DANL: Less than -165 dBm/Hz
・Demodulation and analysis of signals from multiple mobile communication standards including 5G NR, LTE/LTE-A, WLAN, and IoT, as well as wireless connections.

・Coming soon

 

SNA6000A Series Vector Network Analyzer

Key Features
・Frequency Range: 100 kHz ~ 50 GHz
・Dynamic Range: 135 dB
・IF Bandwidth Range: 1 Hz ~ 10 MHz
・Output Power Setting Range: -60 dBm ~ +20 dBm
・Supports 4-port (2-source) S-parameter measurements, differential (balanced) measurements, time-domain analysis, scalar mixer measurements, etc.
・Optional accessories include electronic calibration kits, switch matrix, and mechanical switches.
・AFR

 

 

 

お礼、

T&Mコーポレーションは設立5年ですが、おかげさまで業績を着実に伸ばしており、
オフィスを港区芝(最寄り駅浜松町)に移転し、スペースも拡大いたしました。
電子計測器業界の「ゲームチェンジャー」として、高性能/高信頼/低価格/短納期を武器に
T&Mコーポレーションはお客様のご予算を最大限生かす製品群をご提案させていただいております。

 

 

 

関連製品

関連製品