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 所示。
![bd8255d32718ac7d94aaa76d1f4bcc3e.png](https://i-blog.csdnimg.cn/blog_migrate/42797194f9142eef7d77bed6837aba45.jpeg)
图 1 多台 plc 与工控 pc 机并行联网
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 提供现场信息自动化平台。方案以较低的成本投入,使现场自动化网络的大跨度提升。具有很好的应用前景。