[ZLG-ARM] 基于can总线多台PLC组网系统的实现

[复制链接]
3493|1
 楼主| tmake 发表于 2009-7-11 13:47 | 显示全部楼层 |阅读模式
摘&nbsp;要:本文详细介绍了通过现场总线CAN-bus将多台中/小型PLC进行组网的设计方案以及软硬件的实现,构成一个智能PLC网络;同时,通过PC机可以对指定的远程PLC进行远程配置、控制通信以及监控。组网的PLC网络不但方便构成性能优越的DCS系统,而且可以降<br /><br />低系统成本,具有很好的工业应用前景。<br /><br />关键词:现场总线&nbsp;PLC&nbsp;RS-485<br /><br />Abstract:&nbsp;The&nbsp;paper&nbsp;mainly&nbsp;introduces&nbsp;the&nbsp;scheme&nbsp;o&nbsp;designing&nbsp;and&nbsp;realization&nbsp;&nbsp;hardware&nbsp;of&nbsp;multi-plc&nbsp;based&nbsp;on&nbsp;can-bus,&nbsp;it&nbsp;composes&nbsp;a&nbsp;intellective&nbsp;network&nbsp;of&nbsp;PLC.&nbsp;Synchronously,&nbsp;it&nbsp;also&nbsp;expounds&nbsp;how&nbsp;to&nbsp;long-distance&nbsp;configure、control&nbsp;communication&nbsp;and&nbsp;surveillance&nbsp;by&nbsp;PC.The&nbsp;network&nbsp;of&nbsp;PLC&nbsp;not&nbsp;only&nbsp;structures&nbsp;system&nbsp;of&nbsp;DCS,&nbsp;but&nbsp;also&nbsp;the&nbsp;cost&nbsp;of&nbsp;system&nbsp;will&nbsp;be&nbsp;decreased.&nbsp;So&nbsp;it&nbsp;will&nbsp;have&nbsp;a&nbsp;good&nbsp;market&nbsp;outlook.&nbsp;<br /><br />Key&nbsp;words:&nbsp;can-bus&nbsp;PLC&nbsp;RS-485<br /><br />[中图分类号]&nbsp;TP273&nbsp;&nbsp;[文献标识码]&nbsp;B&nbsp;<br /><br />1&nbsp;引言<br /><br />目前,一般常见PLC(如三菱FX系列、西门子的S7-200、300)型号都没有集成现场总线CAN-bus的通讯功能接口,因而不便于基于CAN总线多台PLC控制网络的实现。随着应用技术的发展,工业经常会出现需要N台PLC协同完成一个系统的综合控制。此时,原有集中控制的单一PLC控制方案就显得力所不及,PLC网络的需求也应运而生。<br /><br />本文提出了一种基于现场总线CAN-bus的PLC网络方案,能够对多台联网的PLC实现远程配置、数据通信,并能够在投入较低硬件成本的基础上,实现良好的系统运行性能。这个方案不仅充分发挥了现场总线CAN-bus的通信特点:实时、可靠、高速、远距离、易维护等,而且将现场总线技术与集中控制技术有机结合,联网后的PLC网络可以构成一个性能优越的DCS系统;用户在同一个主控制器(PC机)上可以远程监控、改变任何一台联网PLC的程序或状态。<br /><br />2&nbsp;组建PLC网络的两种方式<br /><br />通用PLC一般提供1~2个RS-232或RS-485通讯端口,用于与其他控制设备通讯;这些通讯端口支持自行规定的通讯协议,或者Modbus协议,实现PLC设备的通讯与配置。利用PLC自身的通讯端口,将其扩展成为能够与多台设备联网,实现基于现场总线CAN-bus多台PLC网络。根据网络中主控制器的不同,PLC网络分为以下方式:多台PLC联网,各PLC地位平等,可外扩HMI人机界面;多台PLC联网,由1台工控PC作为主控制器与操作界面。<br /><br />下面分别介绍这两种PLC的组网方法:<br /><br />1)&nbsp;PLC串行联网&nbsp;&nbsp;通过RS-232/RS-485转CAN-bus网关进行信号转换使PLC具有CAN-bus通讯接口。多台具有CAN-bus通讯接口的PLC之间相互连接,即可以组建PLC网络。每台连接PLC单元的RS-232/RS-485转CAN-bus网关都可以设定一个独立的设备ID号,长度为11位或29位,用作为该PLC单元的地址。&nbsp;<br /><br />通过上述方式组建的PLC网络,任何一台PLC均可以主动发起数据通讯,由CAN-bus网关起硬件自动仲裁作用,保障每一次通讯的数据不丢失;网络中的PLC数量不受限制,数百、上千台PLC都可以连接在同一现场总线CAN-bus网络中。同时,PLC网络中可以连接具有CAN-bus通讯接口的HMI人机界面。<br /><br />2)&nbsp;多台PLC与工控PC并行联网&nbsp;&nbsp;工控PC机内插PC-CAN板卡(如研华的PCI1680、周立功的PCI5110等),可以组建CAN-bus网络,通过连接在CAN-bus网络中的网关RS-232/RS-485转CAN-bus转换器,借助于CAN-bus网络配套的“虚拟串口”软件,建立多达2047个标准的串行通讯端口,从而连接多达2047条串行网络。即在一条普通双绞线上连接多达2047台PLC设备,工控PC机访问连接在CAN-bus网络上的PLC设备,与操作标准串口完全一致。这种方式可以充分发挥工控PC机的作用,通讯效率比较高,是一般PLC网络建设的主流方向。本文采用此种方案组建PLC网络。3&nbsp;PLC网络的硬件组成与连接<br /><br />建立PLC网络,除了PLC设备,还需要建立现场总线CAN-bus网络的设备,主要有RS-232转CAN-bus网关、PCI-CAN接口卡等。<br /><br />RS-232转CAN-bus转换器可以方便地连接到PLC设备的RS-232标准通讯端口,使PLC设备具有与现场总线CAN-bus网络通讯的能力。转换器&nbsp;通过Modbus协议转换,可以支持不同通讯协议的PLC设备。对于只集成RS-485/422通讯端口的PLC设备,可以选择RS-485转CAN-bus转换器。RS-232转CAN转换器和RS-485转CAN转换器读者可以自行设计,也可以购买目前市场成熟的产品,如研华的亚当模块、周立功的智能转换模块等。<br /><br />工控PC机内插PCI-CAN接口卡,可以令工控PC机具有现场总线CAN-bus通讯接口,从而成为CAN-bus网络中的一个主要功能节点。根据与PC连接方式的不同,PC-CAN接口卡可以分为很多种不同的类型,常见的型号有PCI-CAN接口卡、ISA-CAN接口卡、PC104-CAN接口卡、USBCAN接口卡、以太网转CAN接口卡等。<br /><br />PCI-CAN接口卡一般都提供有CAN-bus测试工具、API开发例程、OPC服务器软件等。利用“虚拟串口服务器”软件可以开发基于串口通讯的软件项目,组建基于CAN总线的PLC网络。<br /><br />4&nbsp;应用实例<br /><br />在某印染厂的印染控制系统中,有两台瑞士布赛5V型平网印花机、三台台湾奇正平网印花机、2台日本东升平网印花机以及2台两台德国的MBK圆网印花机,这些设备的主控制器是西门子的S7200以及日本三菱的FX系列的PLC。为了使印染厂的印染控制系统能够在一台上进行监控以及控制,单台PLC进行现场设备信号的采集和控制,由于各个现场PLC工作点距离较远远,工控机PC不可能实现每一台PLC设备的单独电缆连接。因此,将各台PLC设备通过现场总线CAN-bus网络连接,组建一个地区范围内的PLC网络,从而实现PLC远程维护、数据实时监控,既能够大大提高系统的管理效率,也可以有效地降低网络建设成本。<br /><br />每台平网印花机PLC设备集成有1个RS-4852串行通讯端口,通过CAN转RS-485转换器连接到现场总线CAN-bus网络。工控机PC内置1块PCI-CAN接口卡,型号为PCI-1680接口卡,可以使工控机成为CAN-bus网络中的节点,能够同时管理九台平网印花机。<br /><br />PLC串行通讯协议,不同厂家,PLC的串行通讯的协议不同,本就以本项目所用的S7200为例说明其通讯方法。S7200系列PLC配有RS-485标准串行接口,可实现下列四种网络的连接:(1)SIMATIC&nbsp;S7-200网络(&nbsp;PPI协议);(2)用户可编程接口协议(自由口模式)&nbsp;采用可编程自由口通信模式〔free&nbsp;port&nbsp;mode&nbsp;);(3)&nbsp;PROFIBUS-DP网络。<br /><br />本项目采用自由口通讯的模式,与自由口模式有关的特殊寄存器及相关的位:<br /><br />(1)控制字寄存器SMB30:S7200PLC的通信模式由SMB30设置,当mm=01时PLC工作于自由口模式。<br /><br />(2)通信接收字符缓冲器SMB2:SMB2是一个暂态寄存器,用于存放在自由口通信方式下接收到的当前字符,用户在下一步应从这里取走其中的内容,通过编程控制将接收到的字符一个一个由SMB2移入接收缓冲区。<br /><br />(3)通信校验结果标志位SMB3.0:PLC按SMB30规定的奇偶校验方式对所接收到的数据作校验。如果校验有错,PLC自动将SMB3.0置1,&nbsp;SM3.0=0表示奇偶校验正确。根据这个标志,可决定对当前信息的取舍,还可以在出错的情况下,将此错误位发送给对方,以便要求它重发。<br /><br />(4)工作方式标志位SM0.7:57-200系列PLC只有处于运行(RUN)方式时才能进行自由口模式通信,而在停止(ST6P)&nbsp;方式时只能以PPI模式通信。当PLC处于RUN方式时SM0.7=1,否则SM0.7=0,因此可通过判断SM0.7的状态来打开或关闭自由口通信。<br /><br />(5)发送器空标志SM4.5及收发指令:57-200PLC有专门的发送指令:XMT&nbsp;TABLE&nbsp;&nbsp;PORT&nbsp;TABLE为发送数据的字节数即数据长度,最大为225;&nbsp;PORT指定通信口,自由口模式下必须为0。当正发送数据信息时,特殊存储器位SM4.5=0,当发送完成后,SM4.5=1,因此可通过判断SM4.5的状态来进行发送后处理,也可直接用发送中断来处理。CPU215&nbsp;CPU216还提供了接收控制指令:RCV&nbsp;TABLE&nbsp;PORT与SMB86&nbsp;SMB94&nbsp;SMB&nbsp;186&nbsp;SMB&nbsp;194寄存器配合,用以改变(初始化或终止)接收信息。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;PLC串行通讯程序执行时,在每一个扫描周期的开始,都要检查SM0.7的状态,若PLC处于RUN方式即SM0.7=1,则打开自由口模式并设置其它相关的波特率、奇偶校验等参数,否则置自由口模式无效。通信程序中分别设有发送定时器和接收定时器,均以中断方式运行。在定时器定时范围内,由于PLC的自动周期性扫描,对同一从机的输入/输出数据进行多次的发送/接收,以满足一旦数据传输出错则需重发、重收的要求。具体的程序读者可以参考西门子S7200编程手册中的例程。<br /><br />5&nbsp;结语&nbsp;<br /><br />本文介绍的基于can总线多台PLC`组网系统的实现,在系统的实际运行中,现场总线CAN-bus的稳定性、抗干扰能力得到充分的体现。在这个工程项目中,不需要改变原有的现场设备控制平台,可以将现有控制设备无缝地嵌入先进的现场总线网络,构成新一代的DCS分布式控制系统。方案以较低的成本投入,使现场自动化网络的大跨度提升。具有很好的应用前景。<br /><br />
postcode 发表于 2009-7-13 13:35 | 显示全部楼层

楼上的辛苦了

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

179

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部