1 引言
目前,一般常见plc型号都没有集成现场总线can-bus的通讯功能接口,因而不便于基于can总线多台plc控制网络的实现。随着应用技术的发展,工业经常会出现需要n台plc协同完成一个系统的综合控制。此时,原有集中控制的单一plc控制方案就显得力所不及,plc网络的集成工程需求也应运而生。
本文提出了一种基于现场总线can-bus的plc网络方案,能够对多台联网的plc实现远程配置、数据通信,并能够在投入较低硬件成本的基础上,实现良好的系统运行性能。这个方案不仅充分发挥了现场总线can-bus的通信特点:实时、可靠、高速、远距离、易维护等,而且将现场总线技术与集中控制技术有机结合,联网后的plc网络可以构成一个性能优越的dcs系统;用户在同一个主控制器(pc机)上可以远程监控、改变任何一台联网plc的程序或状态。
2 组建plc网络的两种方式
通用plc一般提供1~2个rs-232或rs-485通讯端口,用于与其他控制设备通讯;这些通讯端口支持有限的通讯协议,实现plc设备的通讯与配置。本项目利用plc自身的通讯端口,将其扩展成为能够与多台设备联网,实现基于现场总线can-bus多台plc网络。根据网络中主控制器的不同,plc网络分为以下方式:多台plc联网,各plc地位平等,可外扩hmi人机界面;多台plc联网,由1台工控pc作为主控制器与操作界面。本文重点讨论两种基于rs-232或rs-485通讯端口plc的组网方法。
2.1 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网络,任何一台plc均可以主动发起数据通讯,由can-bus网关起硬件自动仲裁作用,保障每一次通讯的数据不丢失;网络中的plc数量不受限制,数百、上千台plc都可以连接在同一现场总线can-bus网络中。同时,plc网络中可以连接具有can-bus通讯接口的hmi人机界面。
2.2 多台plc与工控pc并行联网
工控pc机内插pci-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网络。系统结构如图1所示。
图 1 多台plc与工控pc机并行联网
3 plc网络的硬件组成与连接
建立plc网络,除了plc设备,还需要建立现场总线can-bus网络的设备,主要有rs-232转can-bus网关、pci-can接口卡等。
rs-232转can-bus转换器可以方便地连接到plc设备的rs-232标准通讯端口,使plc设备具有与现场总线can-bus网络通讯的能力。转换器通过modbus协议转换,可以支持不同通讯协议的plc设备。对于只集成rs-485/422通讯端口的plc设备,可以选择rs-485转can-bus转换器。rs-232转can转换器和rs-485转can转换器读者可以自行设计,也可以购买目前市场成熟的产品,如研华的亚当模块、周立功的智能转换模块等。
工控pc机内插pci-can接口卡,可以令工控pc机具有现场总线can-bus通讯接口,从而成为can-bus网络中的一个主要功能节点。根据与pc连接方式的不同,pc-can接口卡可以分为很多种不同的类型,常见的型号有pci-can接口卡、isa-can接口卡、pc104-can接口卡、usbcan接口卡、以太网转can接口卡等。
pci-can接口卡一般都提供有can-bus测试工具、api开发例程、opc服务器软件等。利用“虚拟串口服务器”软件可以开发基于串口通讯的软件项目,组建基于can总线的plc网络。
4 三菱-西门子can网络集成案例
4.1 原理设计
在某印染厂的印染控制系统中,有两台瑞士布赛5v型平网印花机、三台台湾奇正平网印花机、2台日本东升平网印花机以及2台两台德国的mbk圆网印花机,这些设备的主控制器是西门子的s7-200以及日本三菱的fx系列的plc。为了使印染厂的印染控制系统能够在一台上进行监控以及控制,单台plc进行现场设备信号的采集和控制,由于各个现场plc工作点距离较远远,工控机pc不可能实现每一台plc设备的单独电缆连接。因此,将各台plc设备通过现场总线can-bus网络连接,组建一个地区范围内的plc网络,从而实现plc远程维护、数据实时监控,既能够大大提高系统的管理效率,也可以有效地降低网络建设成本。
每台平网印花机plc设备集成有1个rs-4852串行通讯端口,通过can转rs-485转换器连接到现场总线can-bus网络。工控机pc内置1块pci-can接口卡,型号为pci-1680接口卡,可以使工控机成为can-bus网络中的节点,能够同时管理九台平网印花机。
plc串行通讯协议实现,不同厂家,plc的串行通讯协议不同,本就以本项目所用的s7-200为例说明其通讯方法。s7-200系列plc配有rs-485标准串行接口,可实现下列四种网络的连接:
(1) simatic s7-200网络(ppi协议);
(2) 用户可编程接口协议(自由口模式)采用可编程自由口通信模式(free port mode);
(3) profibus-dp网络。
4.2 系统通讯
本项目采用自由口通讯的模式,与自由口模式有关的特殊寄存器及相关的位:
(1) 控制字寄存器smb30:s7-200plc的通信模式由smb30设置,当mm=01时plc工作于自由口模式。
(2) 通信接收字符缓冲器smb2:smb2是一个暂态寄存器,用于存放在自由口通信方式下接收到的当前字符,用户在下一步应从这里取走其中的内容,通过编程控制将接收到的字符一个一个由smb2移入接收缓冲区。
(3) 通信校验结果标志位smb3.0:plc按smb30规定的奇偶校验方式对所接收到的数据作校验。如果校验有错,plc自动将smb3.0置1,sm3.0=0表示奇偶校验正确。根据这个标志,可决定对当前信息的取舍,还可以在出错的情况下,将此错误位发送给对方,以便要求它重发。
(4) 工作方式标志位sm0.7:s7-200系列plc只有处于运行(run)方式时才能进行自由口模式通信,而在停止(stop) 方式时只能以ppi模式通信。当plc处于run方式时sm0.7=1,否则sm0.7=0,因此可通过判断sm0.7的状态来打开或关闭自由口通信。
(5) 发送器空标志sm4.5及收发指令:s7-200plc有专门的发送指令:xmt table port table为发送数据的字节数即数据长度,最大为225;port指定通信口,自由口模式下必须为0。当正发送数据信息时,特殊存储器位sm4.5=0,当发送完成后,sm4.5=1,因此可通过判断sm4.5的状态来进行发送后处理,也可直接用发送中断来处理。cpu215 cpu216还提供了接收控制指令:rcv table port与smb86 smb94 smb 186 smb 194寄存器配合,用以改变(初始化或终止)接收信息。
plc串行通讯程序执行时,在每一个扫描周期的开始,都要检查sm0.7的状态,若plc处于run方式即sm0.7=1,则打开自由口模式并设置其它相关的波特率、奇偶校验等参数,否则置自由口模式无效。
5 结束语
本文介绍的基于can总线多台plc组网系统的实现,在系统的实际运行中,现场总线can-bus的稳定性、抗干扰能力得到充分的体现。工程项目不需要改变原有的现场设备控制平台,可以将现有控制设备无缝地嵌入先进的现场总线网络,构成新一代的纺织自动化集成网络系统,为纺织工程mes和erp提供现场信息自动化平台。方案以较低的成本投入,使现场自动化网络的大跨度提升。具有很好的应用前景。