私は実験物理学者であり、Pythonの大ファンです。
データ分析とスクリプト作成に最適で、実際に実験用機器 (ネットワーク アナライザ、スコープ、信号アナライザ、信号発生器など) とのインターフェイスにも使用しています。計測器ドライバーを組み込んだ優れたライブラリが存在する場合、Python は私の分野でMATLABの非常に深刻な競争相手になると思います。
これまで、私はいくつかの戦略を使用して、IPythonセッションからそれらを直接インターフェースしてきました。
ライブラリ pyVisa を使用すると、大多数のデバイスで動作しますが、少し低レベルであり、便利な機能をユーザーに公開するために追加のプログラミング レイヤーが必要です。
最近、pythondotnetを使用してIVI-COMまたは.NETドライバーを使用できるようになりました(NumPy / Matplotlib ...ライブラリがないIronPythonではありません)。IVI ドライバはすでに非常に高レベルであり、通常はベンダーによって提供され、さまざまなベンダーの計測器を交換できるため、このソリューションは明らかに最も満足のいくものです。
私の最初の質問はかなり技術的なものです。COMオブジェクトが .NET フレームワークに統合されていることや、COMオブジェクトを .NET で直接使用できることをどこでも読みました。私の場合、comtypes モジュール ( http://code.activestate.com/recipes/578089-using-iviscope-in strument-driver-with-python / を参照) をインポートdotnet
して pythondotnet から COM オブジェクトを使用できます。 、しかし、モジュールclr
を使用してこれらのCOMオブジェクトにアクセスする方法がわかりません。clr
誰かが COM と .NET の間のリンクを説明できますか?
また、私はいつも少し混乱しています.DLLファイルがあるとき、これに.NETモジュールが含まれているかどうか、.NETのバージョン4.0で開くことができるかどうかをどうやって知ることができますか(私は完全な.これらのフレームワークの問題の初心者と適切なドキュメントへのリンクはまったく問題ありません)?
2 番目の質問は、より一般的に言えば、さまざまな計測器用の多数のドライバーを統一された方法で既に収集するモジュールはないのでしょうか? 何千人もの人々が同じ問題に取り組んでいるように思えます。
私は最近、モジュール lantz http://lantz.glugcen.dc.uba.ar/に落ちました。残念ながら、これは Python 3.0 のものですが、私はまだ Python 2.7 (Windows 用の pythonxy ディストリビューションを使用) を使用しています。さらに、このプロジェクトが IVI の推奨事項を実装しようとしていないという事実が少し心配です。これは良い出発点となります。
関連する情報源へのコメントやリンクは大歓迎です。