基于CAN总线的设备监控系统设计

2014-02-10 10:34林光春任德均邓霖杰
机电工程技术 2014年3期
关键词:工控机通信协议串口

盘 龙,林光春,任德均,邓霖杰

(四川大学制造科学与工程学院,四川成都 610065)

基于CAN总线的设备监控系统设计

盘 龙,林光春,任德均,邓霖杰

(四川大学制造科学与工程学院,四川成都 610065)

介绍了一种基于CAN总线的设备监控系统的设计方法,监控的对象是不同品牌的PLC。系统由一个主站模块和30个分支节点模块组成,各模块均采用ARM Cortex-M3内核的STM32F107系列单片机,它拥有内置CAN控制器,能够高效的实现CAN总线通信。此外,各节点模块还拥有多种通信接口,支持多种PLC通信协议。

CAN总线;Cortex M3;PLC通信协议

0 引言

CAN总线可靠性高,并具有良好的错误检测能力,可用于实现远距离串行通信。本文所述网络在远距离(布线长度达1.2 km左右),强干扰(布线区域分布着大量大功率设备)的现场环境中,亦可使用100 kbit/s以上的总线波特率现实数据的可靠传输,满足系统实时性要求。所选用的CAN驱动器MCP2551能够可靠驱动20个以上的节点。

1 网络总体结构

(1)现场的设备分布情况

现场需要监控的设备分布在占地面积约5 000 m2的工房内,布线里程达到1.2 km。周围环境复杂,干扰严重。设备种类多,且属于不同年代的设备。

(2)分布式网络结构

本系统采用分布式网络布局,共有3层主从关系:工控机对主站;主站对分支节点;节点对PLC。主设备向从设备发命令,从设备收到命令后执行相应的动作。

主站和各分支节点组成的CAN总线网络是整个系统的主体部分。它作为工控机与PLC之间通信的桥梁,完成了两项功能:1)充当工控机与PLC之间的通信介质;2)将PLC的各种通信协议(包括:HOSTLINK、MODBUS以及MPI协议)转换为自定义的通信协议,以便上位机软件对数据进行解析。

(3)系统主要配置

硬件配置:无风扇工控机及触摸屏显示器1台,主站模块1个,节点模块30个;

软件配置:操作系统:Windows Embedded 7/ Windows Embedded XP;

数据库: SQL Server。

图1 网络结构示意图

2 CAN总线通信的实现

(1)CAN总线接口电路设计

总线控制器采用单片机自带的bxCAN模块,支持CAN协议2.0A和2.0B[1-2]。

单片机CAN收发引脚通过高速光耦6N137与电平转换芯片MCP2551相连。图2即为总线的接口电路图(隔离电源部分没有展示出来)。

(2)CAN应用层协议

在CAN2.0协议中,只对物理层和数据链路层作了规定[4]。用户可以自行制定应用层协议。本系统所设计的协议将CAN总线上的数据分为两大类:命令类和数据类,并将每一类数据按重要程度的不同再次细分。无论是主站还是从站,对总线上数据类型的鉴别都是通过标识符过滤器实现的,过滤器对数据的筛选是由bxCAN控制器硬件完成。

(3)CAN总线通信实现的关键问题

由于CAN总线的实际铺设距离较长,达到了1 200 m,同时,周围存在很多干扰源,如:电力线,大型电机等。并且,每个节点都存在与PLC的电气连接(包括节点的供电线路以及节点与PLC的通信线路),所以必须特别注意网络的隔离屏蔽设计。

如图3所示,节点模块的串口电路(RS-232接口)与CAN接口电路在电气上没有隔离,即:有公共的电源和地。如果从某台PLC引入干扰信号(如:PLC地电平的扰动),那么干扰将进入节点模块中的CAN接口电路,影响到CAN电平转换器的正常工作,严重时会对系统的稳定性构成威胁:某一个节点模块失去电力供应,这时由节点与PLC的通信线引入干扰,在节点模块失去了稳压电源对干扰信号有吸收抑制作用情况下[5],整个网路变得非常脆弱(干扰信号有可能会占据CAN总线使用权,使得其他节点之间无法通信)。

在此,选用B0505隔离电源与高速光耦6N137将节点模块的串口电路与其他功能模块实现隔离,每个部分使用独立的电源和地参考平面。

如图4所示,此时,即使某个节点受到了严重的干扰,也只会对单台设备的通信造成影响,而不会妨碍总线上的通信。

图2 CAN总线接口电路

3 与PLC的通信的实现

(1)串行通信接口电路

串行通信接口负责实现节点模块与PLC的通信。由于涉及的PLC的品牌及型号众多,并且PLC的某一种类型通信口可能已经被占用,所以,在硬件上要提供足够丰富的接口,包括:RS-232,RS-422以及RS-485接口。使用一个拨码开关来选择需要使用的串口类型,串口参数的配置在上位机软件上完成。

(2)PLC串口通信协议

串口通信需要严格的按照PLC厂商提供的协议规范。OMRON全系列均使用HOSTLINK协议[3],协议完全公开,可以完成对PLC的大多数操作(如:模式切换、读写操作等),所以无需修改PLC中的应用程序;ABB的KT93型PLC购买于20年前,相关资料匮乏,所以在PLC程序中添加一段自定义的通信代码,使用PLC的RS-232端口进行通信;ABB的AC500型PLC可提供一个串口,配置为MODBUS协议;西门子S7-300可提供一个RS485串口,采用MPI协议进行通信,MPI协议属于不公开协议,在此,使用逻辑分析仪监听西门子专用编程电缆与PLC之间的通信,破译了部分报文格式,最终以187.5 kbit/s的波特率实现了与西门子S7-300的部分通信功能,满足系统的需求。

完成了通信协议的解析工作,就可以读取PLC中指定的寄存器单元的数据,并可以按要求,给某个寄存器单元或者位写入相应的值,实现控制功能。

图3 串口电路域CAN接口电路之间共地

图4 串口电路与CAN接口电路之间彻底的电气隔离

4 上位机软件

上位机软件使用C#语言编写,为用户提供交互接口,实现定向采集,即:用户指定某台PLC的某个寄存器的某一位(或者某一段地址),系统便可以完成采集工作,并将采集到的数据显示出来,同时保存到数据库中。

用户还可以将系统设置为自动周期性采集,此时需要用户提供一个需要采集的数据地址清单,这样系统会自动进行核算,给出一个兼顾实时性与可靠性的参考采样周期(上位机与CAN总线主站节点通信,主站节点与整个分布式网络通信,各个节点分别与相应的PLC设备通信,这些过程需要时间),用户可以根据这个参考采样周期进行恰当的配置。

5 总结

本文设计的基于CAN总线的分布式监控系统具有很高的实时性与可靠性,已经在生产现场长时间稳定的运行,给用户提供了设备远程控制功能,并保存了设备的故障记录,为下一步故障诊断系统的建设提供了硬件平台和数据积累。

[1]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.

[2]彭刚,秦志强.基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践[M].北京:电子工业出版社,2011.

[3]范永胜,徐鹿眉.可编程控制器应用技术[M].北京:中国电力出版社,2010.

[4]杨春杰.CAN总线技术[M].北京:北京航空航天大学出版社,2010.

[5]郑军奇.EMC电磁兼容设计与测试案例分析[M].北京:电子工业出版社,2010.

The Design of an Equipment Monitor and Control System Based on CAN Bus

PAN Long,LIN Guang-chun,REN De-jun,DENG Lin-jie
(Department of Mechanical and Electrical Engineering of Sichuan University,Chengdu610065,China)

This paper presents a method to design a kind of equipment monitor and control system based on CAN bus.The system is consist of PLCs in different brands,one Master module and 30 Slaves,each of which has a STM32F107 MCU with Cortex-M3 core,containing an internal CAN bus controller that makes the CAN bus works efficiently.In addition,each module has multiple transmission interfaces and supports communication protocols of all the PLCs on line.

CAN bus;Cortex M3;PLC Communication protocol

TP273

A

1009-9492(2014)03-0050-03

10.3969/j.issn.1009-9492.2014.03.015

盘 龙,男,1988年生,广西桂林人,硕士研究生。研究领域:嵌入式系统,机电控制工程。

(编辑:向 飞)

2013-09-04

猜你喜欢
工控机通信协议串口
浅谈AB PLC串口跟RFID传感器的通讯应用
定制工控机在老旧线路计算机联锁设备中的应用
中压电子束焊工控机Windows NT系统文件丢失故障的修复方法
基于Z-Stack通信协议栈的红外地温采集电路设计
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
中国工控机市场新Style