LabVIEW与多台AI-501仪表的通迅

摘要:本项目使用rs232-rs485转换器把pc与多台ai-501仪表连接,并通过labview编程对这些仪表的进行温度适时监视。使用这个方法,同样可以对其它ai系列仪表进行labview的通迅编程。
关键词:rs232-rs485转换器 labview 串口初始化函数(visa configure serial port) 串口写函数(visa write) 串口读函数(visa read) 字符处理
引言:宇电ai系列仪表在国内市场上是有口皆碑的,而且服务质量也是国内。但是在宇电的网站上只有用vb编写的通讯代码,而有部分网友希望得到labview编写的通讯源代码。近我实验室购入10个ai-501用于设备烘烤的温度显示,于是趁此机会,我用labview编写了10个仪表的通讯代码,得到每个仪表的温度(pv值)并显示在计算机上。希望这个程序能给大家一点帮助,其中的错误也欢迎大家批评指正。
本论文分两部分:、计算机和多台ai-501的硬件连接;第二、labview的程序设计。
一、计算机和10台ai-501仪表的硬件连接
使用rs232-rs485转换器可以很方便的连接计算机和10台ai-501。具体方案如图1。rs232-rs485转换器的rs232端接到计算机,所有仪表并联在rs485的a、b端,并设置不同的地址。我设置的10台ai-501地址分别是:1,2,3,4,5,6,7,8,9,10。
ai系列仪表数据格式为1个起始位,8位数据,无校验位,1个或2个停止位,波特率4800~19200 bit/s。考虑到10台仪表的数量,为了通讯快速,本项目我使用19200bit/s,经过试验,效果很好。
二、labview的程序设计
labview是美国ni公司开发的一款非常的图形化编程语言。与基于文本的编程语言不同,labview的程序编写由图形语言(g语言)、图标和连线代替文本形式,它使用数据流编程方法描述程序的执行,更加显得直观,操作更加方便简单。
labview用户界面主要包括前面板和图形代码窗口。前面板类似实际仪表面板,可以放置包括诸如旋钮、按钮和文本框等控制和显示元件。图形代码窗口包括以图标为代表的常数、函数和vi程序等,并通过连线引导数据流,编写和调试程序都很直观方便。
本程序的前面板如图2。
本程序的图形代码窗口如图4.1和4.2。在图形代码窗口,为了完成对串口的初始化、写和读,分别用到串口初始化函数(visa configure serial port)、串口写函数(visa write)和串口读函数(visa read)。另外,由于得到的数据为16进制,还用到了一些字节处理函数,使之换算成10进制显示在程序前面板。
在以下代码的介绍中,以地址为1的ai-501为例,其它仪表可以直接拷贝得到,把地址改变即可。
1、 串口的初始化:按如图4.1a设置串口初始化函数(visa configure serial port)。其中asrl6::instr表示我计算机扩张出来的com6口;enable termination设置成false,否则在读到回车字节的时候会中断读串口数据。
2、 往串口写入读取型号特征的命令:调用串口写函数(visa write函数)共10台ai501,地址1-10,要发送的读命令如下表。需要注意,如图4.1b,写入的字符串为hex display。右键点击与visa write函数连接的 string constant,选择hex display,直接输入8181521500005315,即读取地址为1的仪表型号特征。其它地址如下表类推。
ai-501仪表地址 命令(16进制)
1 8181521500005315
2 8282521500005415
3 8383521500005515
4 8484521500005615
5 8585521500005715
6 8686521500005815
7 8787521500005915
8 88885215000015
9 8989521500005b15
10 8a8a521500005c15
3、读取串口数据:命令发送成功后,调用串口读函数(visa read函数)对串口读取10字节,如图4.2c。因为无论是读还是写,仪表都返回以下10个字节数据(参见《aibus通讯协议说明(v7.0)》)
4、16进制数据转换成10进制数据:如图4.2d,由于读取串口得到的10字节数据前2字节表示pv值的信息,故调用string subset函数取出第1、第2字节。再调用string to byte array函数使第1、第2字节转换成byte array的第0、第1元素。后调用index array函数把两元素提取出来成为单独的10进制数。我设置的温度为1位小数,所以正确的温度是10进制情况下
pv=(字节+第二字节*256)/10
数据转换之后,输出到前面板相应的显示件,即为图1样式。以上是一个仪表的代码,其它仪表除读命令不同外,代码一致,直接拷贝即可。
结语:本项目对ai-501仪表进行了简单的labview通讯编程,还有很多扩张的余地,比如数据存盘,绘制温度曲线,实现远程监控等等。 参考文献:
1. 《aibus通讯协议说明(v7.0)》
2.《labview6.1编程技术实用教程》石博强 赵永德等编著

江阴到丰都县物流专线「品质保障」_江阴到重庆丰都县物流专线货运
如何用PBS清洗细胞?
涂塑钢管是近年来发展起来的一种新型管道材料
SH/T0248自动冷滤点检测仪实验操作
余姚到济南钢城区货运专线物流包车_余姚到钢城区物流公司
LabVIEW与多台AI-501仪表的通迅
储罐紧急切断阀-设置要求-联锁要求
实验室家具的用途
合肥庐阳区到杭州拱墅区专线物流货运_合肥庐阳区到拱墅区物流专线运输公司
深圳南山区到三亚物流专线,深圳南山区到三亚物流公司直达货运
数控机床的种类与结构
佛山到金塔县物流专线直达专线_专业佛山到酒泉金塔县物流公司
钻机液压系统故障排除
纸箱抗压试验的重要性
肥西到万宁物流公司货运直达,肥西到万宁物流专线
如何正确使用临工挖掘机滤芯
厦门到阿合奇专线物流运输_厦门到克州阿合奇物流专线公司
内蒙古路桥抗裂纤维厂家生产
合肥包河区到福州台江区专线物流公司_合肥包河区到台江区专线货运直达
昆山到佛山均安镇货运专线物流包车_昆山到均安物流公司