021-68453443

基于CAN总线的PLC通信网络的研究及实现

2017-03-03 16:55:09 人阅读 分类:论文范文

摘要:本文提出了一种基于CAN总线的PLC网络通信方案。该方案通过给上位机PC和每台PLC各自配置一个RS232-CAN网关,使上位机PC和PLC拥有CAN总线通信的能力,从而构建基于CAN总线的PLC通信网络。
关键词:PLC,通信,CAN总线,现场总线
Design and Realize of PLC Communication Network based on CAN Bus
Abstract: This paper presents a kind of PLC network communication scheme based on CAN bus. The scheme is to construct PLC communication network by equipping RS232­­-CAN gateways on the host PC and each PLC.
Key Word: PLC, communication, CAN bus, Field bus

引言

现场总线是应用在生产现场、在微机化测量控制设备之间的双向串行多节点的数字通信系统,也被称为开放式、数字化、多点通信的底层控制网络。它把多个控制测量仪表连接成网络系统,并按公开、规范的通信协议,在位于现场的多个微机化测量控制设备之间,实现数据传输和信息交换,形成各种适应实际需要的自动化控制系统。
CAN总线由于其具有多主工作方式、各站依据优先权进行总线访问的机制、无破坏性的总线仲裁技术、短帧结构不易受干扰、自动检错、发送期间若丢失仲裁或由于出错而遭到破坏的帧可实现自动重发等性能,非常适合组建PLC通信网络。
正是由于以上原因,本文提出了通过基于CAN总线的通信网关构建PLC通信网络的方案。图1即为该网络的拓扑结构。在该网络中,PC和每台PLC均有一个属于自己的通信网关。通过上述方式组建的PLC网络,各台PLC地位平等,任何一台PLC均可以主动发起与另一台PLC的通信,并且可以通过PC对网络中的PLC进行集中式监控。在通信过程中,由CAN网关进行硬件自动仲裁,保障每一次通讯的数据不丢失。


图1 基于RS232转CAN网关的 PLC网络
这种方案的意义如下:第一,可以实现PC对多台联网的PLC进行集中式监控;第二,实现了网络中不同公司的PLC之间的直接通信;第三,在投入较低硬件成本的基础上,实现了良好的系统运行性能;第四,可以在面积较大的范围内实现PLC网络控制,所以具有更加灵活的系统扩展能力。第五,使新的PLC网络同时具有集散式通信网络和分布式通信网络的优点。这个方案也充分发挥了CAN总线的通信特点:实时、可靠、高速、远距离、易维护等。

2.硬件方案的确立

在图1中,每台PLC或PC均有一个属于自己的RS232-CAN的网关,每个网关集成1个RS-232通道、1 个CAN-bus 通道,可以很方便地连接到PLC或PC的RS-232标准通讯端口,使PLC或PC具有CAN总线网络通讯的能力。PC和PLC进行通信的数据通过PC网关和PLC网关进行处理和转发,从而实现PC对PLC网络的集中式监控。网络中的PLC之间直接通信是通过它们之间的PLC网关实现的。
在图1所示的PLC通信网络中,PC网关和PLC网关在硬件构成上是一样的,所以在本章的论述中,用网关统一指代PC网关和PLC网关。
在网关电路设计中,核心元件包括MCU、CAN控制器,CAN驱动器。网关内部结构示意图如图2所示,MCU选用Atmel公司的Atmega8单片机,CAN控制器选用Microchip公司的Mcp2515,CAN驱动器选用Philips公司的PCA82C250。


图2 网关内部结构示意图

MCU是网关的数据处理中心,对来自串口或CAN控制器的数据进行处理和转发。Atmega8具有串行外设SPI接口和串行UART接口,可以通过这两种外围接口分别对CAN控制器Mcp2515进行控制和与PC或PLC进行串行异步通信。

3. 基于CAN总线的PLC网络通信设计

基于CAN总线的PLC网络,是通过构建RS232转CAN网关,将上位机PC和网络中的PLC互联起来组成的PLC通信网络。这种PLC通信网络一方面具有通过PC对网络中不同公司的PLC进行集中式监控的功能;另一方面,由于CAN总线具有多主工作的特点,网络中的任何一台PLC亦可以作为通信的主动发起者与另一台PLC进行直接通信,这使PLC网络兼具分布式网络的特点。
为了便于说明,假设这里的读写命令均是PLCn发出的,而被读写的为PLCm。
(1)写命令通信
当PLCm接收到来自PLCn的被处理成上位连接系统的写命令帧数据时,在PLCm看来,它是在跟上位机PC进行通信,所以会发回写响应帧。但是这个写响应帧对于PLCn来说没有意义,所以PLCm的网关在接收到这个写响应帧后,将其丢弃,此时PLCn对PLCm的一次写命令通信即告结束。PLCn对PLCm的一次写命令通信过程如图3所示。


(2)读命令通信
当PLCm接收到来自PLCn的被处理成上位连接系统的读命令帧数据时,在PLCm看来,它是在跟上位机PC进行通信,所以会发回读响应帧,将所读通道的数据反馈给PC机。由于这里的通信实际上是PLC之间的通信,对于读响应帧,PLCn是不会正确接收的。读响应帧中的数据正文部分必须以写命令帧的形式反馈给PLCn。所以PLCm发出的读响应帧在到达PLCn前,需要被PLCm的网关和PLCn的网关逐步处理成写命令帧的格式。这里把这个写命令帧定义为响应写命令。PLCn在收到响应写命令后,发出的写响应帧是没有意义的,PLCn的网关在收到后将其丢弃,这次PLCn的读命令通信即结束。PLCn对PLCm的一次读命令通信过程如图4所示。


5.系统测试
首先用Keil软件编写协议转换程序(与欧姆龙PLC连接的DP51+的CAN通信地址设置为2,另外一个与三菱PLC连接的DP51+的CAN地址设置为3,实际应用时可外接DIP开关用来选择地址),并生成汇编文件,然后将DP51+的串口与上位机串口相连接,将模式选择开关拨到编程模式,打开DPFlash下载软件,型号选择DP51(+),选择连接的上位机串口(本文中使用COM1),并选择波特率为9600Kbps。
5.1PLC主动发起读写操作实验
在欧姆龙PLC中首先将DM0-DM2分别设置为#0302、#0000、#0001,然后执行如图所示的命令,每1秒钟通过TXD命令将DM0-DM2的数据发送到串口,经过DP51+转换为对三菱PLC写输出区的命令,然后将DM2中的数值循环左移一位。三菱PLC的输出指示灯依次循环点亮,由欧姆龙PLC主动发起的写数据命令正确执行。

图5 欧姆龙TXD通信程序
在欧姆龙PLC中首先将DM0-DM3分别设置为#0402、#0100、#0000、#0002,然后每1秒钟通过TXD命令将DM0-DM3的数据发送到串口,将三菱PLC的输入区从地址0开始的两个字节读到工作区IR016,然后将输出区IR100设置为与工作区起始地址IR016的值相同。将三菱PLC的输入点设置为ON以后,欧姆龙PLC相应的输出点点亮,由欧姆龙主动发起的读数据命令正确执行。
5.2上位机监控软件
虽然以上通信实验实现了不同类型PLC的统一监控,但是使用命令方式通信非常不直观,也容易出错,因此本文设计了上位机监控软件,以图形化的界面监控网络中各PLC的运行状态。上位机地址设置为0xFF,具有最低的优先级,以免监控命令影响网络中其它PLC的正常通信。
如图6所示,点击开始监控后,与上位机连接的USB-CAN双路智能CAN接口将首先向网络中发送测试命令,用以判断网络中存在哪些节点,以及各节点的PLC类型。监控主界面上显示了网络中的部分PLC的型号以及输入输出点状态,未在主界面上显示的PLC以及更多的输入输出点状态可以通过点击右侧的PLC详细状态看到。

图6监控软件主界面
点击主界面上的PLC或者详细状态按钮,即可显示如图7所示窗口,其中当前PLC选择框可选择当前网络中的任一PLC,选择相应的输入点和输出点可以观察到当前的状态。点击输出点可使其在开关状态间切换,点下方的设置当前输出点状态后,上位机将通过写输出点命令设置相应PLC的输出点状态。

图7 PLC详细状态
点击主界面上的参数设置,通过设置网络检测间隔,可设置上位机每隔多少毫秒发出一次网络监控命令,可根据网络中PLC通信的繁忙程度,适当设置此参数,以免影响正常的通信命令。可以将需要实时检测的PLC选择显示在主界面上。点击主界面上的停止检测按钮,停止监控PLC网络。
结论
许多制造业用户特别是大型企业,为了避免过分依赖一家系统提供商,通常会采用几家不同厂商的控制系统。PLC之间的通信格式不兼容,给企业内部的系统集成、集中管理和升级带来了极大的困难。本文提出了一种基于CAN总线的PLC网络通信方案,该方案通过将各厂家不同的通信协议转化为统一的CAN网络通信,从而实现了较好的互相连通性以及统一的上位机监控能力。
参考文献
[1]甘永梅,李庆丰,刘小娟.现场总线技术及其应用. 北京:机械工业出版社,2004.
[2] 温克强.Modbus通讯协议在DCS与PLC通讯中的应用.石油化工自动化,2005.5:65-68.
[3] 袁飞,程恩.基于Modbus规约的智能仪表与PC机通信技术实现.微计算机信息,2004,20 (9)15-17.
[4]李喜东,刘波涛,刘刚.Modbus RTIJ串行通讯协议在工业现场的应用.自动化技术与应用,2005,24:37-40.
[5] 袁飞,程恩.基于Modbus规约的智能仪表与PC机通信技术实现.微计算机信息,2004,9:56-57.

相关资讯