///////////////////////////●LI5660-WF1974-sweep.py説明書//////////////////////////
作成　2023.1.26

●プログラム概要
信号発生器WF1974とロックインアンプLI5660が同時に動作できるか確認するプログラム。
それぞれUSB接続したWF1974で指定の信号を出力したあと、LI5660で振幅、位相を測ります。
最低周波数から最高周波数まで指定したステップで周波数スイープして測定を行います。
ステップ間の時間も設定できます。

●動作を確認した環境　※動作を保証するものではありません
・Raspberry Pi 4 Model B Rev 1.5
　Raspberry Pi OS (64bit) / Debian GNU/Linux 11 (bullseye)

・Python 3.9.2
　- pyusb 1.2.1
　- PyVISA 1.12.0
　- PyVISA-py 0.5.3(usbtmc.py変更版)

●使用準備
PyVISA等のPythonモジュールをインストールし、実行環境が構築済みであることを前提とします。
本プログラムを適切なフォルダに配置し、プログラム中のWF1974とLI5660のシリアル番号を適宜変更してください。

　【プログラム中の変更箇所】
　下記の行のserial No.をご使用の機器の番号に変更してください。
　msg1=rm.open_resource("USB::0x0D4A::0x0049::0000003::INSTR")   #LI5660に接続する
　                                                ↑
　                                             serial No
　msg2=rm.open_resource("USB::0x0D4A::0x000E::0000000::INSTR")   #WF1974に接続する。
　                                                ↑
　                                             serial No
●制御機器の設定
WF1974,LI5660のremote設定を「USB」に設定してください。

●プログラムの実行
terminal等で、本プログラムを配置したディレクトリに移動し、下記のようにコマンドを実行します。

> python LI5660-WF1974-sweep.py

※環境によっては、"python3"、"py"等のコマンドでPython処理系を起動します。

またはファイルマネジャーのフォルダからアイコンをクリックして立ち上がるソフトから起動します。

●プログラムの処理内容

・WF1974とLI5660に接続する

・WF1974をリセットする。
・LI5660をリセットする。

・波形を正弦波に設定する
・最低周波数を設定する。
・最高周波数を設定する。
・ステップ周波数を設定する。機器の応答の関係で1秒以上の値を入力してください。
・ステップ間の時間（インターバル時間）を設定する
・振幅を設定する。
・オフセット電圧を設定する。
・時定数を入力する。
・感度を入力する。

・出力をONする。

・記録する測定データセットを設定する。DATA1,DATA2 の値を記録する。
・測定データバッファ3 のサイズを設定する。
・測定データバッファをBUF3に指定して測定データを記録することを有効にする。
・内部タイマの時間間隔を設定する。
・内部タイマを有効にする。
・感度を設定する。
・時定数を設定する。

・トリガ源をリモート制御（BUS）に設定する。

・データ転送形式をASCIIに設定する。

・出力ファイルLI5660-WF1974-sweep.txtのオープン

・'周波数[Hz]　振幅[Vrms]  位相[deg]')   #振幅[Vrms]と表示

・測定周波数が最低周波数から最高周波数になるまでループさせる。
・WFを測定周波数に設定する。
・インターバル時間待つ
・BUF3をクリアする。
・トリガ待ちに移行する。
・トリガ信号を送る
・測定データバッファ(BUF3)からサンプル点数1個のデータ転送を要求する。
・データを表示しファイルにデータを書き込む。

●ライセンス
Copyright (c) 2022 NF Corporation
Released under the MIT license
https://opensource.org/licenses/mit-license.php

