2011年10月4日 20:03
整个国庆节一直都在搞这个东西,就是编写一个针对8003/8013卡的应用程序。到现在为止,程序基本将近完成,功能尚待完善,调试和维护工作也会很麻烦。
首先,介绍一下8003/8013卡,其英文全名是“MODEl 8003/8013 Ethernet---Parallel Interface”,可译为“8003/8013 以太网板卡---并行接口”。 8003/8013是Agilen公司的一个最新产品,用户相对还是比较陌生,所以在这方面搞点开发,还是很有必要。8003/8013卡上有接线头,通过导线连接到电源表上,通过电源表供电。通过以太网,用网线使之连接至电脑网口或者局域网内,在windows下可对其进行开发。板卡上有8个提示灯,功能分别如下 PWR:Indicates power on ;LAN :Indicates tht the unit isready and is connected to an active LAN; ACT:Indicates message are beingtransferred between unit and LAN;RDY:Indicate the unit has passed selftest;Talk:indicates the unit was send a device_read command;LSTN: indicates theunit was send a device_write command.
8003/8013的VISA ResourceStrings are :
TCPIP::ip::insto::INSTR forcommands and data transfer
TCPIP::ip::inst1::INSTR for transparent data transfer
开发中使用第一个工具资源地址。
在后来,进入了一个误区,我一直以为通过IP地址和端口就可以运用套接字对卡进行操作,于是花了大部分时间在套接字上,而且把套接字的客户端额服务器端都写好了,当调试时发现,数据无法发送到8003/8013里,后来我以为insto应该是有一个初始化命令,于是就把TCPIP::ip::insto::INSTR当做一个命令发送给卡,结果卡片仍然没有数据回复,经检测发现数据在网线上传输了,但是没有到达板卡,既然没有到达板上,当然是不可能受到任何回复的。
8003/8013的使用说明是厚厚的一本全英文,网上没有关于8003/8013的中文介绍,于是就上了Angilen的网站,硬着头皮在上面看了一遍又一遍,发现要想开发8003/8013,必须安装接口驱动,这个驱动就是VXI-11compliantVISA Library ,庆幸的是一个师兄那里恰好有安捷伦的库,于是就安装好了,并add interface,add instruments,修改了部分配置后,才发现久违的8003/8013终于有反应了。
虽然现在写VISA程序的不少,但是大部分还停留在VB和C++上,在.net环境下要想配置好VISA,真是难上加难,配了好几天,没有成功,果断放弃了开发应用程序界面最方便的C#.net,转向了vc++。MFC,看来还是要重新好好搞搞了。从安捷伦库安装目录下找到了最为关键的 VISA32.lib,visa.h,和visatype.h。后来师兄帮忙,把三个文件考进工程文件中,并添加到了环境中,并修改了一些参数配置,终于结束。当然代码编写过程中也存在不少郁闷的地方,总是出错,不过后来在师兄帮助下,算是都还得到了解决。
界面和后台代码写毕,输入8003/8013的Ip地址,8003/8013的IP地址是可以修改的,并得到了资源地址的字符串即 TCPIP0::10.10.150.254::inst0::INSTR,通过 viopen()函数,打开地址和接口,并开始向卡发送ViString格式的命令,发送代码之后紧接着就要进行接收。连接调试发送命令是:*IDN?,*esr?*clr?,之后都得到了正确的设备信息。
接下来就该进行设备信息读出并重新写入了,发送和读操作已经完成,至于写操作明天再说吧。
人生总有很多不情愿的事情。但是,你却深陷其中。真的不知道生活本来就应该是这样,如果生活本来是去改变的,那么脱离了天道自然的本质,那还是我自己吗?也许是,衣暖饭饱之后的无聊打发吧,总是在做一些无聊。每天看到好友状态里同学的说说,我就感觉热心沸腾,敬佩你们。
百无聊赖之中还算是做了一些有点意思的事情。深知,苦海中寻觅的痛苦,点点滴滴都是汗水。
关于8013/8003衰减矩阵硬件控制程序。
1、 Visual c++下的环境配置:
Linking to VISALibraries
Your applicationmust link to the VISA import library as follows,
assuming defaultinstallation directories and Microsoft compilers:
C:\VXIPNP\WinNT\lib\msc\visa32.lib