基于虚拟仪器的CANopen协议监控面板设计
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提供的各类专业工具软件包,可以进一步对工业数据进行处理,完成波形显示、信号滤波和频谱分析等功能。
- 基于虚拟仪器的CANopen协议监控面板设计(07-02)
- 采用LabVIEW的近红外测量方案 (01-18)
- I/O接口设备驱动设计方案(12-21)
- 基于虚拟仪器的电网综合参数测控系统(06-21)
- 基于虚拟仪器技术设计馆藏室温湿度监控系统(10-11)
- 利用虚拟仪器设计的网络化温室测控系统(12-08)