我是一个实验物理学家和我的一大爱好者的Python 。
我发现它非常适合数据分析和脚本,我actualy还用它的接口实验室仪器(网络分析仪,示波器,信号分析仪和信号发生器......)。 我认为Python将是一个非常严重的竞争对手MATLAB在我的领域,如果有就存在整合的仪器驱动程序一个很好的库。
到现在为止,我一直在使用几个策略可以直接从我的连接它们的IPython会话:
使用该库pyVisa,这是很好的,对于大多数设备的工作,但有点低的水平,并要求规划了一层额外的暴露有用的功能给用户。
我已经能够最近使用使用pythondotnet(不IVI-COM或.NET司机IronPython的 ,缺乏与NumPy / Matplotlib ...库)。 该解决方案显然是最令人满意的一个,因为IVI驱动程序已经相当高的水平,他们通常是由来自不同供应商的供应商和仪器提供了然后互换。
我的第一个问题是一个比较技术性的:我读的每个地方COM对象集成在.NET框架,你可以使用COM OBJETS直接写给在.NET。 就我而言,我能够通过导入comtypes模块使用COM对象(见http://code.activestate.com/recipes/578089-using-iviscope-instrument-driver-with-python/ )和dotnet与clr从pythondotnet,但我根本不知道如何访问这些COM对象与clr模块。 有人可以解释COM和.NET之间的联系?
此外,我总是有点糊涂了,我怎么知道,当我有一个DLL文件,如果这是包含.NET模块或没有,如果我能在.NET 4.0版本中打开它(我是一个完整初学者在这些框架的问题,并适当文档的链接将是完美的罚款)?
第二个问题是,更普遍的,是不是有将已经聚集在一个统一的方式对不同的仪器驱动程序的较大数量的模块? 在我看来,就像我们必须成千上万的人对同一问题的工作。
最近,我倒在模块兰茨http://lantz.glugcen.dc.uba.ar/ 。 不幸的是,这是在Python 3.0,而我仍然在使用Python 2.7(用于Windows的pythonxy分布)。 此外,我有点害怕的事实,这个项目是不是想实现IVI的建议,这将是一个很好的起点。
任何意见或链接的信息,有关人士会更受欢迎。