您的位置:首页 > 其它

开发自己的IVI-11虚拟仪器,提高测试软件的开发效率

2012-11-08 15:15 211 查看
从事测试相关的工作,少不了要借助各种测量仪器,而大部分物理测量仪器又是非常昂贵的,为了节约成本及提高仪器的使用效率,实际中购买的仪器总是有限的。因而在测试软件开发过程中,常常会面临缺少硬件调试的难题。结果要么就是等待,要么就是通过协调资源,造成的主要问题就是留给软件开发人员的时间非常有限,面临很大的时间进度压力。

那么能否摆脱硬件的限制,提高测试软件的效率呢? 结果其实是可能的,因为测试软件的开发很大程度上是对仪器的测试结果,进行分析,处理得到最终的处理结果。只要保持接口不变,模拟物理仪器的逻辑功能,针对不同的场景给出你期望的结果,那么测试软件的开发就可以进行下去。

另一方面,现代的测量仪器基本都提供了网络控制的功能,基本都是符合IVI,VISA的规范,底层通讯也是基于IVI-11协议,这也为模拟仪器的实现提供了可能。一台安装了网卡的PC机,既可以运行你的测试软件,同时也可以变成你想要的任何仪器。

当然理论和现实总是有距离的,不过问题已经简化成实现基于IVI-11协议的server 端软件。如果仔细搜索,你会发现网络上还是有些关于IVI-11的资料,不过的确很少。各大仪器厂商也提供一些基于IVI的底层驱动,不过基本都是用于client 端的。所以自己动手开发我们自己的虚拟仪器,看过上一篇IVI-11协议介绍的应该有所了解,IVI-11协议是基于ONC/RPC的应用层协议。常规的 RPC 是微软开发的,而 ONC/RPC是Sun 公司开发的,Windows下用的非常少。如果能找到现成的ONC/RPC协议栈,事半功倍。经过大量的查找,的确发现Window下也有开发好的协议栈了,可惜是商用的。本着DIY的原则,继续查找。功夫不负有心人,终于发现了基于Java开发的开源项目remotetea实现了ONC/RPC(再次膜拜老外。。。),有兴趣的具体参看http://freecode.com/projects/remotetea/releases?page=2

有了ONC/RPC协议栈的支持,在此基础上进一步开发IVI-11已经前进了一大步。

其实写了这么多,也不一定适用于每个人。不管如何还是把自己的收获分享出来,不管如何当作参考,少走点弯路吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: