网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 杭州晶控电子有限公司 >> 文章中心 >> 单片机应用 >> 文章正文
  利用VISA Assistant和Labwindows/CVI实现对虚拟仪器源程序的联合调试            【字体:
利用VISA Assistant和Labwindows/CVI实现对虚拟仪器源程序的联合调试
作者:佚名    文章来源:不详    点击数:    更新时间:2008-01-06    
Labwindows/CVI为虚拟仪器设计者提供了很好的编程和调试环境,但有时由于程序设计存在错误,在程序运行时引起虚拟仪器设备内部产生硬件冲突,引起虚拟仪器“死机”,使得程序的调试无法继续进行。这种情况下如果总是进行硬件复位的话,将对虚拟仪器设备造成一定的损耗。如果通过软件方式,利用Visa Assistant和Labwindows/CVI对仪器进行联合调试,就可以很好地解决此类问题。另一方面,由于Visa Assistant可以与仪器进行直接通讯,在对程序进行断点调试的时候,可以在Visa Assistant中对仪器发命令、从仪器读状态,方便了程序的调试。

一、问题的提出

  笔者最近在Labwindows/CVI环境下开发HP75000 D20型数字功能测试系统时,就遇到了程序调试过程中硬件系统“死机”的情况。该系统是一个基于VXI总线的通用测试平台的一部分,为了和系统的整体开发保持一致,在进行程序开发的时候没有直接使用HP公司提供的开发软件,而是采用了Labwindows/CVI开发环境。这样,在编程语言的选择上,就选择了基于VISA的SCPI编程。在进行程序调试的过程中,在读D20系统对某一测试结果与预存数据的比较结果时,进程出错,系统给出提示如图1所示。

图1:系统给出的出错信息

继续执行,就发现D20的状态已经被锁,程序对仪器失控,为了可以通过断点调试来定位程序的错误所在,需要仪器复位后尽量恢复至故障前的状态。

 

二、选择解决方案

有几种方案可供选择。

  一是在出现故障之后先硬件复位,然后修改程序代码,重新执行源程序。此方案首先是编程工作量大,难以实现对程序故障的定位,其次是对系统硬件设备的损耗比较大,所以没有什么实际意义。

  二是预先在源程序中加入多处错误陷阱代码,在程序执行的过程中,逐一排除假设的程序故障点。但是,预防问题并不能代表解决了问题,遇到没有预料到的情况,错误陷阱也无能为力。

  只有第三个方案简单而切实可行,即综合利用Visa Assistant和Labwindows/CVI两个操作平台,实现对系统的联合调试。

  Visa Assistant是HP公司为VXI  Plug&Play设备提供的仪器驱动辅助开发系统,随虚拟仪器产品一同发售,主要目的是为了帮助用户完成仪器硬件设备的安装和驱动。由于系统可以通过与仪器之间的底层通讯完成对仪器的实时操作,所以从这个角度上说,Visa Assistant对仪器的操作运行机理与我们选择的在Labwindows/CVI下基于Visa的SCPI编程是相同的,这就保证了两者可以实现对仪器的联合调试。而且由于引入了Visa Assiatant,即使在最恶劣的情况下也可以实现对系统的软复位,减少了对系统的硬件损耗。

 

三、解决方案的实现

  采用Visa Assistant和Labwindows/CVI进行联合调试的具体操作方法如下。

图2: Visa Assistant运行界面

首先,启动Visa Assistant, 在完成了对硬件设备的检测之后,界面如图2所示。

  在左边的列表中列出了虚拟仪器设备的地址,例如D20系统的地址为“GPIB0::9::17::INSTR”,选中该地址,并选择Formatted I/O标签页。在Instr.Lang.中选则IEEE 488.2,标签页状态如图3所示。

图3:Formatted I/O标签页

我们可以在标签页下方的文本框中输入SCPI命令,通过点击viPrintf、viScanf和viQueryf按钮来执行对仪器的操作。

图4:程序运行到断点处

  另一方面,在CVI源程序中设置断点,执行Run\Run project。程序运行到断点处,如图4 所示,程序暂停。

继续执行,当程序运行出错仪器状态被锁时,切换到Visa Assistant,单击*RES按钮,对仪器进行软复位,而后,可在文本框中输入命令,恢复程序状态,程序运行情况将在标签页中显示出来,如图5所示。当然,此项操作也可以在程序正常运行到断点的时候进行,来改变当前进程下仪器的状态。

 

结束语

  Visa Assistant和Labwindows/CVI原本是相互独立的两个系统,利用它们都可以实现基于Visa的SCPI编程,实现对虚拟仪器的控制,如果把两者有机地结合起来,就可以使我们的程序调试工作变的更加方便、灵活。开发研制虚拟仪器设备是仪器领域的发展趋势,综合利用目前已有的各种开发工具将有效地加快此类开发工作的进行。


文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    利用OrCAD/PSpice A/D仿真技
    利用实时时钟IC RV5C338A实现
    利用LDO改善白光LED的匹配度
    利用微控制器进行网络通信的
    基于LabVIEW和PXI的测控平台
    基于LabVIEW中DSP目标文件加
    利用TINI平台设计网络On/Off
    Viterbi译码器STEL-2060C及其
    利用Flash实现DSP对多个程序
    巧妙利用数字锁相环测量汽车
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    杭州晶控电子有限公司 版权所有 站长:hificat