基于虚拟仪器的CANopen协议监控面板设计
拟仪器上位机监控面板开发
LabVIEW程序开发主要包括三方面内容:CANopen监控面板主程序、数据发送模块和数据接收模块。其中,数据接收和发送模块作为子VI供监控面板主程序调用。
4.1 CANopen主控面板程序设计
主控面板的设计主要包括:CANopen报文的组建及打包发送,以及CANopen报文的接收显示。
4.1.1 CANopen报文打包
根据CANopen协议标识符分配表及主从节点设置定义了各报文的ID号,如图3所示,通过LabVIEW分支结构实现报文类型的选择,并按照CANopen协议数据帧格式要求定义了发送的数据内容,包括高低8位ID、数据长度、远程帧标志以及8 B数据,通过捆绑送入CANWrite.vi子模块发送到VISA接口。
4.1.2 CANopen报文解析
CANopen报文的解析是实现CANopen协议监控面板的重点,实现过程为:将从VISA接口接收的数据按照CANopen报文格式进行组建;判断接收的报文是远程帧还是数据帧;将接收的数据帧累积;对累积的数据帧依次进行格式转换,完成数据显示(见图4)。
4.2 数据发送/接收模块程序设计
数据发送模块CANwrite.vi使用VISA Write节点予以实现,并将该发送模块作为子VI调用。在LabVIEW平台控制的串行通信过程中,数据格式是以字符串的格式组成的,字符串中的每个字符实际上对应大家熟悉的ASCII字符,即计算机能够识别的数据代码是ASCII代码,所以在传送到串口发送数据之前要经过代码转换,这就意味着以十进制、二进制、十六进制表示的数据必须转化为ASCII字符串才能进行传送和接收。数据发送模块如图5所示,其中,以0xAA作为握手信号
数据接收模块CANRead.vi使用VISA Read节点读取数据,如图6所示,从缓冲器接收到的数据是ASCII字符串,经过ASCII字符串转换为十六进制字节数组的模块处理后,最终得到正确的数据。
4.3 监控面板
使用虚拟仪器LabVIEW开发的监控面板如图7所示。可以看到,左侧为数据发送部分,首先设置NodeID,选择主从节点类型,根据用户需要选择待发送的报文类型,并设置帧类型(数据帧/远程帧)以及具体的发送数据。右侧为数据接收部分,显示从CAN总线上监听到的CANopen报文。
5 结语
本文将虚拟仪器技术与现场总线高层通信协议CANopen相结合,实现了现场总线上位机监控面板的开发,为分布式网络控制系统提供了高效、全面的监控环境,不仅解决了工业现场不同设备同步监控的问题,而且提供了较强的在线可控性。同时,利用LabVIEW提供的各类专业工具软件包,可以进一步对工业数据进行处理,完成波形显示、信号滤波和频谱分析等功能。
VISA接口 CANopen协议 现场总线 虚拟仪器 相关文章:
- 现场总线CANbus与RS-485之间透明转换的实现(01-26)
- 采用PROFIBUS-DP的FCS性能研究及诊断软件开发(05-13)
- 十种类型现场总线的体系结构综述(04-27)
- 现场总线技术的造纸机传动控制系统设计应用(07-06)
- 智能无功补偿技术在农村电网的应用(08-27)
- 现场总线让调度实现自动化(09-06)