LabVIEW论坛
直播中

荣琪

8年用户 689经验值
擅长:可编程逻辑 测量仪表 嵌入式技术
私信 关注
[文章]

荣小菜补钙记第11期:基于LabVIEW OOP的仪表控制库(8)

荣小菜补钙记第11期:基于labview OOP的仪表控制库(8)

同步更新于 WeChat:荣小菜在补钙
大家好,我是荣小菜,也可以叫我Richie,今天继续分享基于LabVIEW OOP的仪表控制库系列。
上一期我们完成了“查询在线IP”Vi的开发。今天将在此基础上,结合前面讲的读写配置文件Vi,实现仪表配置的基本功能:获取仪表的型号、类型、TCP Link等信息。

1. 获取仪表端口号、型号和类型
获取端口号:TCP程控仪表时要使用端口号,国外大部分仪表端口都是5025,国内仪表端口号比较乱(这几年好多了),目前新出的大部分也是5025了,也有部分是1024甚至8000多的,总之我们使用配置文件来存储常用的端口号即可。
获取仪表型号和类型:对于标准仪表通过*IDN?指令我们就可以知道期型号,但类型(是频谱仪类还是信号源类?)一般无法直接获取。但考虑到我们是自己写的仪表库,因此可以将仪表型号和类型对应关系放在配置文件中(型号_类型),这样当我们通过*IDN获得型号时就知道其类型了。
这样我们通过读取配置文件即可完成获取,而后续添加仪表时也只需更新配置文件无需改动代码。总体上代码比较简单,就是利用我们前面讲的读取配置文件Vi。
2. 获取在线仪表信息
下面就要和仪表进行通讯,获取有效信息了,直接上代码吧,本质就是遍历IP和Port的组合,尝试TCP通讯并发送询问指令,一些小细节也在代码中注释了。最后,我们就获得了在线仪表描述(含型号)、IP、Port和TCP Link。
需要注意的是,若我们一次使用很多仪表还都是非常规5025端口的,那么本Vi运行速度就会较慢了,但这种情况极少。
获取在线仪表信息前面板.JPG 获取在线仪表信息后面板.JPG

3. 型号与类型匹配
前面我们获取了“仪表型号”,又通过配置文件读取了“全部仪表型号_类型”,之后只需要匹配一下就行了,代码如下。注意,其实这里的“全部仪表型号_类型”就是我们库支持的仪表了。
获取仪表型号前面板.JPG 获取仪表型号后面板.JPG

4. 总结
我们基本完成了“仪表配置”Vi的基础功能,可自动识别在线IP,读取型号、判断类型,并传递出驱动库所需参数(如TCP Link)和后续可能使用到的参数(如仪表描述)。后面我们将陆续完善其高级功能。^_^

更多回帖

发帖
×
20
完善资料,
赚取积分