PythonGPIB
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[コンピュータ関連>ComputerRelated]]
* Pythonでネットワーク経由のGPIB機器制御 [#i206168c]
#contents
** Introduction [#j8762587]
*** ネットワークとGPIB [#n49f901e]
GPIBは多くの計測器機に内蔵されている、汎用の制御バスであ...
従来、PCからGPIB機器を制御する場合、PC用のGPIBボードやUSB...
この方法では、ネットワーク経由なので、制御PCと制御対象機...
*** Python [#ub407eea]
この方法でGPIB機器を制御するには、TCP/IP通信を行う必要が...
Pythonを利用する理由は、(1)スクリプト言語であり、手軽に使...
** GPIB-Ethernet Converterの設定 [#v2f239fb]
Prologix製、GPIB-Ethernet Converter(以下GPIB Boxと呼ぶ)は...
GPIB BoxのIPアドレスは、NetFinderというソフトで設定をする...
(坪野研のGPIB BoxはすでにIPアドレスが設定済みである。本体...
IPアドレスを設定したら、GPIB Boxを制御したいGPIB機器に接...
*** 基本コマンド [#f83b90d4]
GPIB-Boxは、TCP/IPで送られてくるアスキー文字列のうち、++...
ここでは、GPIB Boxに対する基本的なコマンドを説明する。詳...
- ++addr [number]: 通信相手のGPIBアドレスを指定する。例え...
- ++auto [0|1]: Auto modeをON/OFFする。Automodeでは、コマ...
- ++read : GPIB経由でデータを読み込む。
** Pythonでのアクセス [#z8896f54]
PythonからGPIB Boxにアクセスするためのクラスを実装した。...
*** インストール [#saae78f5]
&ref(netgpibdata.zip);をダウンロードし、展開してできたデ...
環境変数PYTHONPATHに、上記ディレクトリを追加する。これで...
簡単なテストのためには、展開してできたディレクトリの中か...
[[インストールの詳細>PythonGPIBInstall]](古いので注意)~
[[python自体のインストールはここを参照>PythonTutorialInst...
*** netGPIBクラスの使用方法 [#vbfa3143]
GPIB Boxにアクセスするには、netgpibモジュールを読み込む。
import netgpib
次に、GPIB Boxに接続する。
dev=netgpib.netGPIB('192.168.2.3',10)
この例では、IPアドレス192.168.2.3のGPIB Boxに接続された、...
GPIBコマンドを送信するには、
dev.command('GPIBCOMM')
というように、commandメソッドを用いる。'GPIBCOMM'の部分を...
何らかのデータが返されるようなコマンド(query)を送信するに...
answer=dev.query('GPIBQ',100)
とする。最初の引数は、GPIBコマンド文字列である。二番目の1...
GPIB機器との通信を終了するには、
dev.close()
を実行する。
*** R9211クラス [#h000ecde]
netgpibdata.zipにはR9211というモジュールが含まれる。この...
(このクラスを利用するには、numpyモジュールが必要である。)
使用方法は以下のとおり。
import R9211
とした上で、
dev=R9211.R9211('192.168.2.3',8)
のように、接続を開く。最初の引数はIPアドレスで、次にGPIB...
R9211クラスでは、netGPIBと同様に、command()やquery()メソ...
また、データを指定されたディスプレイからダウンロードする...
(data,hdr)=dev.getdata(disp=[1,2],verbose=1)
この例では、ディスプレイ番号1番と2番から、データをダウン...
数と同じサイズを持つリストである。各要素は、(x,y)というTu...
現在のR9211の設定を取得したい場合は、
(cparams,dparams)=dev.getparams(disp=[1,2], verbose=1)
とする。cparamsとdparamsは、どちらも設定パラメータ値が入...
取得したデータやパラメータをファイルに保存したい場合は、
mcol = dev.saveData('dataFileName.dat',data)
dev.saveParam('paramFileName.par',cparams, dparams, hdr,...
というようにする。mcolは、データファイルがmulti columnで...
saveData()は、もしdataの各ディスプレイが同じ長さのデータ...
R9211では、startというGPIBコマンドを送ると、測定が始まる...
dev.command('start') #Start averaging
dev.isAveraging() #Ask if it is still averaging
dev.waitAvg() #Wait until the averaging is complete
R9211との接続を終了するには、
dev.close()
を実行する。
*** dlR9211.pyスクリプト [#d537c19d]
R9211からデータのダウンロードとセーブを一気に行うためのス...
python dlR9211.py --ip 192.168.2.3 -a 8 -f filename -d 1...
この例では、IPアドレス192.168.2.3, GPIBアドレス8番のR9211...
python dlR9211.py --ip 192.168.2.3 -a 8 -f filename -d 1...
というように、--plotオプションを付けると、ダウンロードし...
その他のオプションについては、
python dlR9211.py --help
とすれば説明が表示される。
*** その他のGPIB機器 [#db1d9f40]
- SR785: LIGO等で使われている、Stanford Research Systems...
- Agilent 4395A: Agilent製のネットワークアナライザ。この...
** python3へ移植 [#b9d79221]
netgpib.pyのみpython3へ移植した.基本的には
- python2型の構文をpython3型へ
-- print "hoge" → print("hope") など
-python2では文字列がバイトだがpython3ではstrなので,送受...
-- send("foo") → send("foo".encode())
といった修正をした.
修正したファイルはここ&ref(netgpib.py);
** TO DO [#efaee214]
*** R9211の自動測定スクリプト [#b6a75282]
SR785の場合のように、伝達関数やスペクトルの測定を簡単に行...
*** 小野測器CF-5220Z [#aca49201]
坪野研にあるCF-5220ZにもGPIBポートが付いているので、リモ...
終了行:
[[コンピュータ関連>ComputerRelated]]
* Pythonでネットワーク経由のGPIB機器制御 [#i206168c]
#contents
** Introduction [#j8762587]
*** ネットワークとGPIB [#n49f901e]
GPIBは多くの計測器機に内蔵されている、汎用の制御バスであ...
従来、PCからGPIB機器を制御する場合、PC用のGPIBボードやUSB...
この方法では、ネットワーク経由なので、制御PCと制御対象機...
*** Python [#ub407eea]
この方法でGPIB機器を制御するには、TCP/IP通信を行う必要が...
Pythonを利用する理由は、(1)スクリプト言語であり、手軽に使...
** GPIB-Ethernet Converterの設定 [#v2f239fb]
Prologix製、GPIB-Ethernet Converter(以下GPIB Boxと呼ぶ)は...
GPIB BoxのIPアドレスは、NetFinderというソフトで設定をする...
(坪野研のGPIB BoxはすでにIPアドレスが設定済みである。本体...
IPアドレスを設定したら、GPIB Boxを制御したいGPIB機器に接...
*** 基本コマンド [#f83b90d4]
GPIB-Boxは、TCP/IPで送られてくるアスキー文字列のうち、++...
ここでは、GPIB Boxに対する基本的なコマンドを説明する。詳...
- ++addr [number]: 通信相手のGPIBアドレスを指定する。例え...
- ++auto [0|1]: Auto modeをON/OFFする。Automodeでは、コマ...
- ++read : GPIB経由でデータを読み込む。
** Pythonでのアクセス [#z8896f54]
PythonからGPIB Boxにアクセスするためのクラスを実装した。...
*** インストール [#saae78f5]
&ref(netgpibdata.zip);をダウンロードし、展開してできたデ...
環境変数PYTHONPATHに、上記ディレクトリを追加する。これで...
簡単なテストのためには、展開してできたディレクトリの中か...
[[インストールの詳細>PythonGPIBInstall]](古いので注意)~
[[python自体のインストールはここを参照>PythonTutorialInst...
*** netGPIBクラスの使用方法 [#vbfa3143]
GPIB Boxにアクセスするには、netgpibモジュールを読み込む。
import netgpib
次に、GPIB Boxに接続する。
dev=netgpib.netGPIB('192.168.2.3',10)
この例では、IPアドレス192.168.2.3のGPIB Boxに接続された、...
GPIBコマンドを送信するには、
dev.command('GPIBCOMM')
というように、commandメソッドを用いる。'GPIBCOMM'の部分を...
何らかのデータが返されるようなコマンド(query)を送信するに...
answer=dev.query('GPIBQ',100)
とする。最初の引数は、GPIBコマンド文字列である。二番目の1...
GPIB機器との通信を終了するには、
dev.close()
を実行する。
*** R9211クラス [#h000ecde]
netgpibdata.zipにはR9211というモジュールが含まれる。この...
(このクラスを利用するには、numpyモジュールが必要である。)
使用方法は以下のとおり。
import R9211
とした上で、
dev=R9211.R9211('192.168.2.3',8)
のように、接続を開く。最初の引数はIPアドレスで、次にGPIB...
R9211クラスでは、netGPIBと同様に、command()やquery()メソ...
また、データを指定されたディスプレイからダウンロードする...
(data,hdr)=dev.getdata(disp=[1,2],verbose=1)
この例では、ディスプレイ番号1番と2番から、データをダウン...
数と同じサイズを持つリストである。各要素は、(x,y)というTu...
現在のR9211の設定を取得したい場合は、
(cparams,dparams)=dev.getparams(disp=[1,2], verbose=1)
とする。cparamsとdparamsは、どちらも設定パラメータ値が入...
取得したデータやパラメータをファイルに保存したい場合は、
mcol = dev.saveData('dataFileName.dat',data)
dev.saveParam('paramFileName.par',cparams, dparams, hdr,...
というようにする。mcolは、データファイルがmulti columnで...
saveData()は、もしdataの各ディスプレイが同じ長さのデータ...
R9211では、startというGPIBコマンドを送ると、測定が始まる...
dev.command('start') #Start averaging
dev.isAveraging() #Ask if it is still averaging
dev.waitAvg() #Wait until the averaging is complete
R9211との接続を終了するには、
dev.close()
を実行する。
*** dlR9211.pyスクリプト [#d537c19d]
R9211からデータのダウンロードとセーブを一気に行うためのス...
python dlR9211.py --ip 192.168.2.3 -a 8 -f filename -d 1...
この例では、IPアドレス192.168.2.3, GPIBアドレス8番のR9211...
python dlR9211.py --ip 192.168.2.3 -a 8 -f filename -d 1...
というように、--plotオプションを付けると、ダウンロードし...
その他のオプションについては、
python dlR9211.py --help
とすれば説明が表示される。
*** その他のGPIB機器 [#db1d9f40]
- SR785: LIGO等で使われている、Stanford Research Systems...
- Agilent 4395A: Agilent製のネットワークアナライザ。この...
** python3へ移植 [#b9d79221]
netgpib.pyのみpython3へ移植した.基本的には
- python2型の構文をpython3型へ
-- print "hoge" → print("hope") など
-python2では文字列がバイトだがpython3ではstrなので,送受...
-- send("foo") → send("foo".encode())
といった修正をした.
修正したファイルはここ&ref(netgpib.py);
** TO DO [#efaee214]
*** R9211の自動測定スクリプト [#b6a75282]
SR785の場合のように、伝達関数やスペクトルの測定を簡単に行...
*** 小野測器CF-5220Z [#aca49201]
坪野研にあるCF-5220ZにもGPIBポートが付いているので、リモ...
ページ名: