目次
測定機器のコントロール
この歳で、また公的研究費を頂いて、研究をしているのですが、連続で同じようなことを何回もしたいということがあり、測定機器のコントロールをしようかと。。 で。。そんなの昔は、GPIBというHPが作ったプロトコルで、マニュアル片手に、Visual Basicで一個づつ作っていたんですが。。 まぁ、潤沢に予算も昔はあったので、測定機器もHPに統一されてたり、自分で作った測定器だったりしたので、すぐに作れたのですが(笑) ちょっとお勉強しなおさないと、パパっと作れないことが(笑) 昔より頭の回転遅いし。。体力ないし。。 なので、自動で効率的にできるようにしておくこと。。大事だし(笑)
今回は、寄せ集めで。。KeySight(HP→Agilentとかいろいろな会社がここに集約されている?)や、Rohde &Shwarz、Anritsu、などなどいろんなメーカの測定機器があり。。それぞれ調べてみたら。。 なんとなく共通のプロトコルっぽいのがあってそれみないと。。って感じ
VISA? SCPI?
通信層は、VISA(Virtual Instrument Software Architecture)というものが。。そして、コマンド層にはSCPI(Standard Commands for Programmable Instruments)ってのがあるみたい。 NI(National Instruments)が作ってきたものが。。VISAで、KeySightやGPIBの流れをくむのがSCPIって感じなんでしょうかね?
VISAは、NIのHPに概要が載ってて
https://www.ni.com/ja-jp/support/documentation/supplemental/06/ni-visa-overview.html
KeySightも、奨めています。
https://www.keysight.com/jp/ja/ttps:/www.keysight.com/jp/ja/lib/resources/programming-guides/resource-2304677.html
GPIBやRS232C,USB,Ethernetなどの物理通信層を共通的に扱えるようにしているライブラリっぽいですね。
SCPIはKeysightに記述が載ってて、
https://www.keysight.com/jp/ja/lib/resources/training-materials/resource-2304680.html
やっぱり共通コマンドみたいですね。
Rohde & Schwarz も、VISA対応のアプリが出ていますね。
https://github.com/Rohde-Schwarz/RsInstrument/
このRohdeのやつみていると、
RsInstrumentやRsCommaderというPythonのライブラリを読み込むと、pyVISAがインストールされるので、これの上に構築されているっぽい。
pyVISA
Pythonで、VISAをコントロールするPyVISA: Control your instruments with Pythonの詳しい説明は、こちら
https://pyvisa.readthedocs.io/en/latest/introduction/communication.html
で、入れてみて、
pyvisa-info.exe
を動かしてみると、pyvisaの情報が出てきます。バックエンドは、どうやら。。最新版のWindows用のdllは、Rohde Schwarz製のようです
pyvisa-shell.exe
これで、Shellのようにしてとりあえず動かしてみることができるんですね。
とりあえず。。まずはここまで。。実際につなげて動かさないとわかんないですね。
Rohde Schwarz
RsCommander
https://www.rohde-schwarz.com/jp/applications/rscommander-application-note_56280-510720.html
ネットワークのない場所でのInstallや開発
https://www.rohde-schwarz.com/jp/faq/-rsinstrument-pycharm-faq_78704-1145222.html
KeySight
自動計測全般
https://www.keysight.com/jp/ja/lib/resources/programming-guides/resource-2302231.html
C#での例
【C#】【VISA】計測機器をPCから制御するVISA入門 | Extra-Lab (extralab.org)
pyVISA RSinstruments でやってみた。
PCと、機器のIPアドレスを同一セグメントのIPにセットしてあげると。。一応、やり取りはOK。
RSinstruments は R&S は応答。。 当たり前か?w
pyVISAもほとんど同じ。Keysightも反応してくれる。
ただ。。 ResourceManagerからは反応なさそう。。
あと、GPIB-USB変換(National Instruments製)のドライバがうまく動かなかったのか?ZadigでUSBドライバーをいろいろ入れ替えてみたけど。。うまくいかずUSBはまだ検討中
各測定器のコマンド集みたいなのって、Githubに落ちてないかな?w
探そっと!
SCIP 共通コマンド IEEE488共通コマンド
探せば何か出てくる幸せな世の中。先人の方ありがとう。
SCPIコマンドと問合せのアルファベット順リスト (keysight.com)
- ABORt
- AMサブシステム
- APPLyサブシステム
- BPSKサブシステム
- BURStサブシステム
- CALibrationサブシステム
- COMBine:FEED
- DATAサブシステム
- DISPlayサブシステム
- FMサブシステム
- FORMat:BORDer
- FREQuencyサブシステム
- FSKeyサブシステム
- FUNCtionサブシステム
- HCOPyサブシステム
- IEEE-488.2共通コマンド
- INITiateサブシステム
- INPut_ATTenuation_STATe
- LISTサブシステム
- LXIサブシステム
- MARKerサブシステム
- MEMoryサブシステム
- MMEMoryサブシステム
- OUTPutサブシステム
- PHASeサブシステム
- PMサブシステム
- PWMサブシステム
- RATEサブシステム
- ROSCサブシステム
- SOURceサブシステム
- STATusサブシステム
- SUMサブシステム
- SWEepサブシステム
- SYSTemサブシステム
- SYSTem: LAN設定
- TRACk
- TRIGgerサブシステム
- UNIT:ANGLe
- UNIT:ARBitrary:ANGLe
- VOLTageサブシステム
なるほど。。 これが共通になってるのか。。
Python用には、easy SCIPなるものもある。
ソースを読むと、pyVISAで通信してます。。 これ使おう。
共通化されていないコマンドは当然あるので、それらはそれぞれのマニュアルで補強だな。。なるほど。。
Python lab automation landscape Catalog
Github探していたら。。 こんなの見つけた。これがPythonでラボ用機器の自動化をするカタログ。。ライブラリー類の一覧ですね。
https://pymeasure.github.io/python-lab-automation-landscape/catalog/
コメントを残していただけるとありがたいです