新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 利用CAN-bus实现多台PLC之间的远程配置与实时通信

利用CAN-bus实现多台PLC之间的远程配置与实时通信

——
作者:广州致远电子有限公司 李洪锋时间:2007-06-29来源:电子产品世界

摘要: 通过现场总线CAN-bus,可以将多达数十台的中/小型PLC联网,构成一个智能PLC;同时,主控制器可以与指定的远程PLC实现远程配置、控制,以及实现组态环境中的应用。

关键词:  PLC;CAN-bus;CAN232MB转换器;PC-CAN接口卡

PLC特点与PLC

可编程控制器(PLC)是一种数字控制专用电子计算机,它使用了可修改的程序存储器储存指令,执行诸如逻辑、顺序、计时、计数与演算等功能,并通过模拟和数字输入、输出等功能组件,控制各种机械或工作程序。长期以来,PLC一直在各个行业的自动化控制领域得到广泛的使用,为各种各样的自动化设备提供了非常可靠的控制应用。

PLC系统的工作任务相对简单,且需要传输的数据量一般不会太大,所以常见的PLC系统为一层结构。PLC一般应用在小型自控场所,比如设备的控制或少量模拟量的控制及联锁。小范围的集中式控制环境是PLC发挥功能的最佳舞台。

目前,只有少量型号的PLC集成有Ethernet或现场总线CAN-bus接口,价格也较贵;一般常见PLC型号没有随本机集成功能,不便于组建多台PLC构成的中型控制网络。但是,随着应用技术的发展,经常会出现一些应用场合,在面积较大的范围内,需要n台PLC协同完成一个系统的综合控制。此时,原有集中控制的单一PLC控制方案就显得力所不及,PLC网络的需求也应运而生。

本文提出了一种基于现场总线CAN-bus的PLC网络方案,能够对多台联网的PLC实现远程配置、数据,并能够在投入较低硬件成本的基础上,实现良好的系统运行性能。这个方案也充分发挥了现场总线CAN-bus的特点:实时、可靠、高速、远距离、易维护等。此方案是现场总线技术与集中控制技术的有机结合,联网后的PLC网络可以构成一个性能优秀的DCS系统;用户在同一个主控制器上可以远程监控、改变任何一台联网PLC的程序或状态。

PLC网络的两种方式

通用PLC一般都会提供1~2个RS-232或RS-485端口,用于与其他控制设备或主控制器PC通讯;这些集成的通讯端口支持自行规定的通讯协议,或者Modbus协议,实现PLC设备的通讯与配置。构建PLC网络,即利用PLC本机的这一类通讯端口,将其扩展成为能够与多台设备联网,实现多点通讯的现场总线CAN-bus通讯接口。

根据网络中主控制器的不同,PLC网络可以分为以下方式:
*多台PLC联网,各PLC地位平等,可外扩HMI人机界面。
*多台PLC联网,由1台工控PC作为主控制器与操作界面。

多台PLC串行联网

通过一个RS-232/RS-485转CAN-bus网关进行信号转换,独立PLC就具有了现场总线CAN-bus通讯接口。多台具有现场总线CAN-bus通讯接口的PLC之间相互连接,即可以组建PLC网络。

每一台连接PLC单元的RS-232/RS-485转CAN-bus网关都可以设定一个独立的设备ID号,长度为11位或29位,用作为该PLC单元的地址。每一台联网的PLC单元在发送数据时,可设定在数据流中自动添加本地网关的设备ID号;同理,每一台PLC单元在接收数据时,可设定由网关检查数据流中的设备ID号,自动接收符合要求的数据。

通过上述方式组建的PLC网络,各台PLC地位平等,任何一台PLC均可以主动发起数据通讯,由CAN-bus网关起硬件自动仲裁作用,保障每一次通讯的数据不丢失;网络中的PLC数量不受限制,数百、上千台PLC都可以连接在同一现场总线CAN-bus网络中。同时,这个PLC网络中还可以连接具有CAN-bus通讯接口的HMI人机界面,或由其中一台PLC通过其他的串行通讯端口连接HMI人机界面。
这种方式组建的PLC网络,与选择集成CAN-bus通讯功能的PLC设备相比,具有更加灵活的系统扩展能力,也能够获得更好的性价比。

多台PLC与工控PC并行联网

工控PC能够深入地配合PLC厂商提供的各种软件,从而实现更多强大的功能,比如系统配置、人机界面、组态开发等,在PLC领域的作用也越来越不可或缺。通常,工控PC与单台PLC通过1个串口连接通讯,实现各种扩展功能;但串口的通讯距离、节点数量都受到了串口本身的性能限制。比如,RS-232标准只可以实现“点-点”通讯,RS-485/422标准能够实现32个节点以内的通讯,但通讯距离、抗干扰能力都比较弱,并不能够满足实际工业现场多台PLC联网应用的需求。

工控PC内置PC-CAN接口卡,可以建立起1条或者多条现场总线CAN-bus网络,并通过连接在CAN-bus网络中的网关RS-232/RS-485转CAN-bus转换器,借助于CAN-bus网络配套的“虚拟串口”软件,建立多达2047个标准的串行通讯端口,从而连接多达2047条串行网络。也就是说,可以在同1条普通双绞线上连接多达2047台PLC设备,工控PC访问连接在这条CAN-bus网络上的PLC设备,也与操作标准串口完全一致。这种方式可以充分发挥工控PC的作用,通讯效率也比较高。

通过工控PC组建多台PLC网络的系统结构如图 1所示。按这一种方式的建立PLC网络的通讯效率较高,应用灵活,是一般PLC网络建设的主流方向。

图 1  多台PLC与工控PC并行联网

PLC网络的硬件组成与连接

建立PLC网络,除了实现具体功能的PLC设备,还需要一些建立现场总线CAN-bus网络的设备,主要有RS-232转CAN-bus网关、PC-CAN接口卡等。

RS-232转CAN-bus网关

CAN232MB 转换器是一种常用的RS-232转CAN-bus网关。转换器集成1个RS-232通道、1个CAN-bus 通道,可以很方便地连接到PLC设备的RS-232标准通讯端口,使PLC设备具有与现场总线CAN-bus网络通讯的能力。转换器提供三种工作模式——透明转换、透明带标识转换、Modbus协议转换,分别可以支持不同通讯协议的PLC设备。通过PC配置软件,CAN232MB转换器可设定一个独立的11位或29位设备ID号,可以用作为该网关所连接PLC设备的地址编号,并对往来串口的数据流加以标注或识别。
对于只集成RS-485/422通讯端口的PLC设备,可以选择RS-485转CAN-bus网关。

PC-CAN接口卡

工控PC内置或外接PC-CAN接口卡,可以令工控PC具有现场总线CAN-bus通讯接口,从而成为CAN-bus网络中的一个主要功能节点。根据与PC连接方式的不同,PC-CAN接口卡可以分为很多种不同的类型,常见的型号有PCI-CAN接口卡、ISA-CAN接口卡、PC104-CAN接口卡、USBCAN接口卡、以太网转CAN接口卡等。

PC-CAN接口卡一般都提供有CAN-bus测试工具、API开发例程、OPC服务器软件等。配套的“虚拟串口服务器”软件可以在不修改原有PC软件的基础上,开发基于串口通讯的软件项目,比如PLC网络。

通讯附件

通讯电缆是现场总线CAN-bus网络的重要组件。通讯电缆的合理选择,对CAN-bus网络的通讯距离也有非常重要的影响。使用国标AWG18(截面积为Φ0.75 mm2)的双绞线作为CAN-bus网络的通讯电缆,可以在1Km距离内实现可靠通讯;使用截面积为Φ1.5 mm2的普通双绞线,则可以达到6~7Km的通讯距离。

现场总线CAN-bus网络在布线时,必须注意终端电阻的连接。主干线的最远两端必须各连接一个120Ω的终端电阻。

另外,CAN-bus网络的分支线不宜过长,当网络通讯速率为20Kbps时,建议每一条连接PLC设备的分支线长度小于100米。

应用实例

在一个实际的油田控制系统中,需要由超过32台PLC组建一个中型PLC网络。每一台PLC用于控制一套工作井站的现场设备。选用PLC型号为OMRON公司CPM2A系列,不支持现场总线CAN-bus网络,但集成有1个RS-232通讯端口。单台PLC之间的最大距离超过了10Km距离,但这个油田控制系统要求能够在同一个主控制器上,对每一台现场的PLC实时监控。由于各个现场PLC工作点距离很远,主控制器PC不可能实现每一台PLC设备的单独电缆连接。因此,将各台PLC设备通过现场总线CAN-bus网络连接,组建一个地区范围内的PLC网络,从而实现PLC远程维护、数据实时监控,既能够大大提高系统的管理效率,也可以有效地降低网络建设成本。

井站的PLC设备集成有1个RS-232串行通讯端口,通过CAN232MB转换器连接到现场总线CAN-bus网络。主控制器PC内置1块PC-CAN接口卡,型号为PCI-9840接口卡,可以使PC成为CAN-bus网络中的节点,能够同时管理4路物理独立的CAN-bus网络。

CAN-bus网络

现场总线CAN-bus网络的拓扑结构一般使用直线结构。所有CAN-bus设备节点通过短分支线连接至CAN-bus网络的主干线;短分支线不宜过长,一般必须小于30米。如果因网络布线、地理环境等因素,需要改变CAN-bus网络的拓扑结构,则可以通过CANbridge网桥或CANHub集线器。

在CAN-bus网络布线中,必须注意终端电阻的连接。CAN-bus主干线的最远两端必须各端接一个120Ω的终端电阻;主干线上的其它任何CAN-bus节点则不用连接终端电阻。

设定为5Kbps波特率时,使用截面积为Φ1.5 mm2的双绞线,至少可以达到6~7Km的通讯距离。通常,随着通讯距离的加长,需要适当加大通讯电缆线的截面积。

当网络连接设备数量大于110或距离超过10Km时,在合理位置安装CANbridge网桥,就可以使CAN-bus网络延长1倍的通讯距离,并可增加连接220个的CAN-bus节点数目。

PLC串行通讯协议

OMRON公司CPM系列中小型PLC的串行通讯使用“命令-应答”通信方式,工控PC可通过对串口编程的方式与CPM系列PLC实现数据通信。PC与PLC实现一次数据交换的过程,即传输的命令和应答之数据总和称为一帧,一帧最多可包含131个数据字符。

OMRON公司PLC采用HOSTLINK通讯协议。

HOSTLINK命令帧格式

PC机按HOSTLINK命令帧的格式,向PLC发送命令。HOSTLINK命令帧见图2。

图2 OMRON公司PLC命令帧格式

HOSTLINK命令帧的规定如下:
*@符号必须置于每个命令的开头;
*节点号,用来辨识每一台PLC的节点地址;
*读/写,指明PLC的哪个寄存器单元,例读写IR/SR区时它的识别码设置分别为RR和WR,读写DM区分别为RD和WD。
*FCS,设置两字符的帧检查顺序码,是一个转换成2个ASCII字符的8位数据,这8位数据为从帧开始到正文结束(即FCS之前)所有数据执行“异或”操作的结果。
*终止符设置“*”和回车两字符,表示命令结束。

HOSTLINK命令帧可以有最多131个字符长。一个等于或大于132字符的命令必须分成若干帧。命令分段,使用回车定界符(CHR $(13))。

HOSTLINK应答帧格式

PLC对于接收到的命令帧,都会给予数据响应,发送HOSTLINK应答帧,格式见图3。

图3 OMRON公司PLC应答帧格式

识别码、正文取决于PLC接收到的上位机联结命令,结束字表示命令完成的状态(即是否有错误发生),当应答帧的长度超过132字符,它必须分成若干帧。

结束字是应答帧中表示PLC应答的信息。结束字代码为00表示正常结束,13表示FCS错误,14表示格式错误,15表示入口码数据错误,18表示帧长度错误,A3表示传输数据时因FCS错误引起终止,A8表示传输数据时,因帧长度错误引起终止。

PLC与网关CAN232MB的连接

CPM系列PLC集成1个RS-232串行通讯端口,采用DB9孔型插座;CAN232MB转换器集成1个RS-232串行通讯端口,也采用DB9孔型插座。

串行通信电缆一端连接CAN232MB转换器,另一端连接CPM系列PLC。注意,通讯电缆的两个DB9端口不可互换。通讯电缆的连接示意如图 4所示。

图4  PLC通信电缆的引脚连接

PLC与网关CAN485MB的连接

OMRON公司的CXP软件可以在一个RS-485标准的串行通讯端口上连接多达32台CPM2A系列PLC设备;每台PLC设备都需要预先设定一个唯一的5位地址编号,用于在RS-485网络中区分各台PLC设备。

RS-485标准是一种多点网络通讯方式。通过网关CAN485MB转换器,可以建立一个符合RS-485标准的虚拟串口。CPM2A系列PLC可以借助于RS-232转RS-485电平转换器,得到一个RS-485标准的通讯端口。多台预设地址编号的PLC可以通过RS-485串行通讯方式联网,并与CAN485MB转换器组成1~32个节点、1Km距离范围内、RS-485标准的PLC网络。

按上述方式,整个地区的PLC网络可以由多个网关CAN485MB转换器构建面成,而每一个网关CAN485MB转换器都可以组建一个RS-485标准的小型PLC网络构成。这样,就可以形成大型的星形PLC 网络。

PLC网络的组态开发

通过网关CAN232MB/CAN485MB转换器可以建立多个虚拟串口,用于连接PLC设备。虚拟串口的操作方式与PC标准串口完全相同。

通常的组态环境(例如昆仑通态MCGS、组态王KingView等)都可以按串行通讯设备驱动的方式支持OMRON公司PLC设备的开发。如果组态环境可以支持按多串口方式扩展的多台PLC设备,同样也可以支持基于现场总线CAN-bus网络的虚拟串口方式构建的串行PLC网络。

需要注意的是,串行PLC网络基于现场总线CAN-bus而构建,每一条命令帧/响应帧都需要一定的传输时间。例如,当CAN-bus总线的通讯波特率设置为10Kbps时,传输30字节的命令帧至少约需60mS传输时间;加上响应帧的延迟,PLC网络中的任何一台PLC与工控PC需要约150mS才能够执行1次完整的通讯过程。这一时间即单台PLC通讯周期。按此参数计算,当使用1条现场总线CAN-bus网络,建立有30台PLC设备构成的PLC网络时,工控PC主动查询一遍所有PLC设备的状态,大概需要花费约30倍的单台PLC通讯周期。应用组态环境开发PLC网络时,用户必须重视网络的通讯延迟因素,并在组态环境中设置相关的定时参数;否则,可能会导致组态环境不能够正常运行。

我们可以通过一些方法来提高PLC网络的响应速度。解决方法之一是增加CAN-bus网络的数量,由此减少每一个CAN-bus网络中的PLC设备数量;另外,提高CAN-bus网络的通讯波特率也可以获得相同的效果,其代价是会缩短CAN-bus网络的通讯距离。

结语

本文介绍的实例“通过现场总线CAN-bus网络对多台PLC进行联网控制”已经通过了实际项目的运行考验,现场作业的网络长度达到7Km以上。在系统的实际运行中,现场总线CAN-bus的稳定性、抗干扰能力得到充分的体现。在这个工程项目中,不需要改变原有的PC控制平台,可以将现有控制设备无缝地嵌入先进的现场总线网络,构成新一代的DCS分布式控制系统。方案以较低的成本投入,换取了现场自动化网络的大跨度提升。

参考文献:
1. Bosch, CAN specification, Version 2.0, 1991, Robert Bosch GmbH
2. 《CiA DS 201-207 V1.1, CAN Application Layer for Industrial Applications》,CiA , 1996
3. 夏继强等,现场总线工业控制网络技术,北航出版社,2005
4. 构建CAN-bus网络中的虚拟串口,周立功公司,2005

数字通信相关文章:数字通信原理


通信相关文章:通信原理


双绞线传输器相关文章:双绞线传输器原理


评论

技术专区

关闭