VISA Read模块读取由VISA session指定设备中的数据。byte count指明读入read buffer中的字节数,当收到的字节数小于read bu
ffer中所指定的字节数时,VISA read 将会一直等待,直到收到的字节数等于read buffer中所指定的字节数。VISA session向下传送
相同的session值。同样,在UNIX工作平台上,数据同步读入;其他平台上的数据异步读入。
VISA Close模块关闭由VISA session指定设备的通信过程,释放系统资源。
VISA仪器控制流程见图11-9。图11-10为串口读写程序示意图。
图11-8 VISA结构层次 图11-9 VISA仪器控制流程
图11-10 串口读写程序
11.1.5 程序编写
基于LabVIEW的PC与PLC串口通信程序的面板如图11-11所示。
根据永宏PLC的通信协议及数据操作流程,本程序采用顺序结构。顺序结构可实现数据流的顺序流动,首先打开串口和设置串口参数(如
图11-12所示),波特率为9600 Bps,串口号为COM1,偶校验(Even),7位数据位,数据停止位为10(如图11-13所示)。
图11-11 程序面板 图11-12 VISA串口配置
图11-13 开串口和设置串口参数
第二步写入命令。先要对命令进行判断,看其是否合法,后面板程序如图11-14所示。然后,判断写入的命令是否超长,并将合法的数
据组合成可写入的命令,后面板程序如图11-15所示。
图11-14 检查输入的命令合法性
图11-15 根据通信协议进行数据组合
串口写入过程需要时间,所以在这一步之后需要延时250ms,如图11-16所示。接下来就是读串口返回值。通过VISA读取返回的数值
(如图11-17所示),然后进行分析检验,判断所接收的数据是否正确。
图11-16 将数据写入PLC的R0寄存器
检验数据之后这个操作流程就结束了,可以关闭VISA串口(如图11-18所示)。
图11-17 读串口返回值 图11-18 关闭串口
11.1.6 实例小结
本例运用LabVIEW驱动配置方法通过VISA建立了上位机与永宏PLC通信的程序,对于其他品牌和型号的PLC通信,同样可以使用该
方法。同样,Modbus协议的设备间通信也可以使用此类方法。