※ 引述《taipoo (要成功要积极)》之铭言:
: 所以我一直很想自己开发测试仪器自动化程式
: 而我也在5年前因缘际会下学习了python
: 我应该与怎样的公司寻求合作呢?
: 恳请各位软工大大推荐,感激不尽!
我的主要工作就是写仪控
主要用的程式语言是用Labview
最近真的感觉自己的功力大大提升
以前很多作不出来的功能。
现在都能轻松搞定。
分享一下,我一般仪控程式的写法和流程。
一般而言,很多初学者习惯的写法
是由内而外。
也就是先写仪控的主要功能出来,
再去垒加外部的功能。
但这种作法,程式比较复杂的话 ,
很容易遇到瓶颈。
我习惯的写法是由外而内。
先写仪控以外的功能。
而真正仪控的功能
留到最后才写。
这样可以确保在仪器还没到手前,
主程式的其他部分可以先写。
不用被仪器绑架。
拿到仪器之后,再去对仪器或待测物下指令。
另一个优点是UI可以先写出来。
可以先和程式使用者讨论是否合用。
这样可以避免很多的事后修改。
第二个部分是,仪器的互易性。
有时使用者有二台仪器。
如果二台同型号,这个问题不大。
如果二台同系列,但不同型号。
指令还是一样,但会有档位规格的问题。
所以这边我会作Error query,
确保当我设定值期超出范围内
程式会报错,提醒使用者。
如果二台仪器不同厂商的话。
比较麻烦,
我以前的作法是同一个VI尽可能支援不同厂家。
后来我发现这个方法,简直搞死自己。
现在我都改用物件的写法
改用这个方式后,Bug变好捉了。
如果仪器有不同接口,如USB,GPIB,RS232,ENTHERNET等。
其实直接用VISA就轻松解决。
另一个问题,如何读取仪器的读值。
早期我的作法比较不成熟,程式里面有很多不必要的delay time。
现在我捉到技巧了,程式内部几乎不需额外的delay就可以捉到正确值。
方法很简单,利用仪器的一些触发功能,就可以省下很多不要的时间。
指令就是
INIT=> OPC? =>FETC
以上是仪控程式经验分享。