[Python-ml-jp 4718] Re: VXI-11 module for Python
Noboru Yamamoto
noboru.yamamoto @ kek.jp
2009年 3月 28日 (土) 11:58:44 JST
Goto様、
やはりというか、世の中にはおなじような興味をお持ちの方もいらっしゃる訳で
すね。
Shun-ichi GOTO wrote:
> 2009/03/27 12:53 Noboru Yamamoto <noboru.yamamoto @ kek.jp>:
>> ネットワーク経由でオシロスコープやEthernet-GPIBブリッジ等をPythonから
>> 制御するためのVXI11モジュールを作成してみました。といってもVXI-11規格
>> から抜き出したRPCLを基に、SWIGのインターフェースファイル(VXI11.i)を作成
>> しただけです。簡単な操作ではテストしてみて、動作しているようです。
>
> 計測関係の仕事がら、VXI-11は以前から使ってるので興味あります。
>
> rpcgenを使うとのことですが、こんなのもありますよ。
>
> rpcc - Python ONC RPC Compiler
> http://www.cs.umd.edu/~gaburici/rpc/
>
> RPCコンパイラだけでなく、ONC-PRCプロトコルのpythonコードも含まれて
> いるので、ソケット通信より上位は all-python でプロトコル実装ができます。
> rpcgen は Windowsだとどうしてもcygwinが介在してくることになるので、
> やっかいなのですが、その点でもポイント高いです。
>
はい、こちらのプログラムの存在も気がついていました。
"余談"にGotoさんも書かれているようにWinな環境ではVISAなどのドライバが
提供されるいるけれど、MacOSXやLinuxではそれらのドライバがないことも
多い。というのが私の問題で、MacOSXやLinuxから簡単にこれらのVXI-11対応機
器を使いたいというのがモチベーションとなっています。
仕事の上ではEPICSと呼ばれる制御システム構築用フレームワークを使い、こち
らでアプリケーション開発となるのですが、新しい機器を持ち込まれた時に
ちょっとしたテストのためにPythonが使えればということで、このモジュールを
開発して見ました。
この目的には、SWIGを以前から利用していたということもあり、今回のモジュー
ルはこのような方法となりました。
>
> 余談ですが、、、
> 私自身はVISAの使えない環境で作業することはまずないので、
> VXI-11 クライアントとしては pyvisa ライブラリを使えば困ることは
> ほとんどないのですが、GPIB機器の制御プログラムの作る上で、
> 以前からターゲットのダミーをpythonで作りたくて、先日がんばって
> rrpcを使ってVXI-11サーバをpythonで実装してみたところでした。
私のモジュールは現状, クライアント側だけをサポートしています。
(RPCLからはサーバーのGlueも生成されますが、SWIG interfaceファイルで
はそれらの記述は省かれています。)
Gotoさんの仰る通りターゲットのダミーをPythonで作るのも有効な手法
かと思います。
> # なので結構タイムリー感が。
> ## そしてpyvxi11という名前もかぶった。。。(^^;
私のモジュールは大胆にもpyがありません。。。。
>
> 一応、シングルインスタンスの見ながら、CORE/INTR/ABORTのチャネルを
> 使っての通信はOKのようで、試しに作ったWT1600(パワーメータ)のダミー
> に対して、LabVIEWやpyvisa、.NETプログラムからのI/OおよびSRQなども
> うまく動作するくらいにはなりました。
SRQのテストはこれから行いたいと思います。
>
> もうちょっと頑張って計測器ダミーフレームワーク(っぽいもの)を作ろ
> うと思ってたのに、目の前の仕事に追われてまとめられてませんが、
> もし興味があるようでしたら、コード/情報を提供できますです。
>
私自身は今しばらく、このモジュールとその他の仕事でGotoさんの
コードを拝見する(心の)余裕がなさそうです。またご相談させていただくこと
もあるかと思いますが、その際はよろしくお願いいたします。
私に限らず、Gotoさんのお仕事に興味を持たれる(持たれるであろう)方も
いらっしゃると思います。一連をお仕事をまとめて発表していただけるのを
楽しみにしています。
それでは、
Noboru
Python-ml-jp メーリングリストの案内