巴基斯坦 LUCKY 水泥厂 C 线是我院在巴基斯坦承建的 4 条 3 000t/d 水泥熟料生产线工程项目中的一个, 整个工程从 2003 年开始分步实施, 由我院提供从设计、供货到生产调试达产达标的一揽子服务。本文主要介绍该线的 SIMATICS7 过程控制系统在网络调试中遇到的问题及解决措施。
1 系统网络结构
该线的 SIMATIC S7 过程控制系统采用的是基于现场总线方式的 PROFIBUS 网络, 整个系统下位机设生料、窑尾、窑头和水泥磨 4 个 PROFIBUS DP 现场主站, 以及生料立磨、原煤立磨、熟料库下料阀和 2 个辊压机共 5 个 PROFIBUS DP 现场从站, 上位机设 6个操作员站和 1 个工程师站。各主站与主站以及主站与从站之间通过专用的屏蔽双绞线连接, 利用西门子公司 PROFIBUS 现场总线中的 FMS 和 DP 技术进行数据通讯。PROFIBUS 现场总线网络共有 3 种协议方式, 即 FMS、DP 和 PA。各主站之间应用的协议为FMS 通讯方式; 各从站与主站之间应用 DP 通讯方式, 另外在各操作员站和工程师站之间设 100Mbps以太网进行通讯, 采用工业标准的 TCP/IP 通讯协议及接口, 通过交换机可提供与全厂管理系统的局域网或广域网的安全通讯。
2 网络调试中所遇到的问题及处理措施
在网络系统的调试初期, 我们根据工程的进度安排, 首先在下位机只安装了生料、窑尾、窑头 3 个 S7-400 现场主站, 以及上位机的 6 个操作员站和 1 个工程师站, 组成了一个单一对等的 PROFIBUS 网, 通过FMS 协议进行数据通讯, 设计网速传输速率为 1.5M。为了网络结构的简化, 笔者起初还把生料立磨和原煤立磨设备自带的 2 个 S7- 300 PLC 专用控制柜也作为和 S7- 400 现场主站对等的现场主站接入了网络中, 这样下位机就有 5 个现场主站和上位机的操作员站或工程师站通过 FMS 协议进行数据通讯。在设备的单机试车、打点的阶段, 整个网络系统运行基本正常, 但也出现了以下问题, 主要表现如下:
1) 在上位机的 6 个操作员站和 1 个工程师站之中, 始终只能是由 2 个最先开机的计算机能正常和由S7- 300 构成的生料立磨现场站或原煤立磨现场站进行数据交换通讯, 而对于由 S7- 400 构成的现场主站,则每个计算机都能够正常进行数据交换通讯。为了解决这一问题, 我们曾尝试通过和 S7- 300 现场站的CPU 315- 2DP 的 MPI 通讯接口、DP 通讯接口以及专用的 PROFIBUS 通讯模块 CP 343- 5 分别进行网络通讯连接, 但问题仍然存在。最后, 我们通过查阅西门子STEP7- 300 的有关技术资料得知, 只要对 S7- 300 现场站的硬件组态进行适当的参数设置, 即选中 CPU315- 2DP, 点击鼠标右键, 弹出 CPU 315- 2D 的属性对话框, 再选中 Communication 对话框, 设置 OPCommunication 的通讯数量和上位机的数量相等即可以解决上述问题。
当然, 我们通过改变网络结构, 把所有的 S7- 300现场站作为 PROFIBUS DP 从站通过其自带的 DP 通讯接口和 S7- 400 现场主站的 CPU 412- 1 的 MPI/DP口进行连接, 组成 PROFIBUS DP 主从站结构, 以PROFIBUS DP 协议的通讯方式进行数据交换也可以使得问题得到圆满解决。
2)由于受地域和工艺布局的限制, 中控室和生料现场站之间的最短的布线距离相距约 300m 左右。在设计过程中, 我们在中控室和生料现场站之间, 以及相邻的两个站节点之间距离大于 200m 的, 都设计增加了一个 RS- 485 PROFIBUS 网络中继器。但在施工安装过程中, 我们一开始本着试试看、节约投资和简化网络结构的侥幸心理, 就把这个网络中继器省了。在进行设备的单机试车、打点的初级阶段, 由于通讯的数据量较小, 整个网络系统通讯也正常。但到设备的后期联动试车, 温度、压力等模拟量信号都有, 网络的通讯数据量较大的时候, 生料、窑尾现场站及 DP从站上的数据在所有的上位机上显示都时有时无, 网络通讯时通时断。
由于先前网络通讯一切正常, 我们起初还以为是网线受到了外界干扰所致, 但经过排查, 并作了一些穿管、隔离等处理措施后, 发现并没有效果。后来, 我们想起可能是通讯距离的问题, 就通过 STEP7 编程软件把网络的传输速率由 1.5Mbps 改为 500kbps, 这时网络通讯恢复了正常, 此时我们才确认是通讯距离太远所引起的网络故障。为保证整个网络通讯速率及可靠性,我们在它们和中控室之间又按设计要求加上了 RS- 485 PROFIBUS 网络中继器, 并把网络的传输速率重新改回到 1.5Mbps, 通电后网络通讯恢复了正常, 至今未出现过问题。
3)在网络的后期调试过程中, 我们还发现一个现象, 就是在整个 PROFIBUS 网络的结构中, 作为PROFIBUS 网络终端的首、尾两个现场控制站的PROFIBUS 总线连接器必须接上终端电阻, 而且首、尾两个现场控制站中的一个必须要通电工作, 否则整个网络通讯将中断。究其原因: 由于 PROFIBUS 总线符合 EIA RS485[8]标准, PROFIBUS RS485 的传输程序是以半双工、异步、无间隙同步为基础的。传输介质可以是光缆或屏蔽双绞线, 每一个 RS485 传输段最多为 32 个站点和有源网络元件(RS485 中间器、OLM等), 在总线的两端为终端电阻。设置终端电阻的目的是为了消除在通信电缆中的信号反射, 在通信过程中, 有两种原因导致信号反射: 即阻抗不连续和阻抗不匹配。通常, 信号在传输线末端突然遇到电缆阻抗很小甚至没有, 即阻抗不连续时, 信号在这个地方就会引起反射。消除这种反射的方法, 就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻, 使电缆的阻抗连续。由于信号在电缆上的传输是双向的, 因此, 在通讯电缆的另一端也跨接一个同样大小的终端电阻。
其次, 引起信号反射的另一个原因是数据收发器与传输电缆之间的阻抗不匹配。这种原因引起的反射, 主要表现在通讯线路处在空闲方式时, 整个网络数据混乱。要减弱反射信号对通讯线路的影响, 通常采用噪声抑制和加偏置电阻的方法。在实际应用中,西门子总线终端一般都配有 PROFIBUS 总线连接器,内置终端电 阻和偏置 电 阻 。 总 线 终 端 的 电 阻 与PROFIBUS 总线的特性阻抗相匹配, 并配有轴向电感以消除电容性负载引起的信号反射。终端电阻放置在PROFIBUS 总线的两端, 通过站点向终端电阻供电使之生效。在一条 PROFIBUS 总线上, 位于总线中间的站点掉电不会影响整个网络通讯功能, 如果设备检修或其他原因而要停掉总线两端站点的供电, 这将使PROFIBUS 网络失去终端电阻的功能, 造成通讯中断。
3 网络调试过程中须注意的几点事项
首先, 我们在组态各 S7- 400 现场主控制站和作为 DP 从站的 S7- 300 站时, 为了实现在从站断电、通讯失败或从站通讯口损坏等现象出现时, 主站能够不停机。需要在 STEP7 项目中插入相应组织块, 即在S7- 300 中加入 OB82、OB86、OB122; 在 S7- 400 中加入 OB82~OB87、OB122, 插入这些组织块时, 不需要编程内容, 当从站断电、通讯失败等现象出现时, 主站只报总线故障, 但不停机。这样, 无论是从站先上电,还是主站先上电, 系统都能正常运行。
其次, 我们在为 S7 CPU 上的 I/O 模块(集中式或者分布式的)分配地址时应当注意, 在创建的数据区域(如一个双字)不能组态在过程映象的边界上, 这是因为在该数据块中, 只有边界下面的区域能够被读入过程映像, 所以不可能从过程映像访问数据。例如, 在一个 256 字节输入的过程映像的 254 号地址上组态汪 华:SIMATIC S7 系统在调试中遇到的问题及解决措施一个输入双字。 如果一定需要如此选址, 则必须在CPU 的 Properties 中相应地调整过程映像的大小。最后, 我们在调试中还发现在使用通讯模块CP343(2)- 5 进行通讯连接时, 如果电缆中使用自己制作的电缆接头, 那么就必须使用带屏蔽外壳的 D型接头, 并且屏蔽线应当和接头的外壳连接, 而不能够将电缆的屏蔽层和 GND 连接, 否则会造成通讯接口的损坏。同时由于 RS232 通讯接头不支持热插拔,所以一定要断电后再插拔通讯电缆; 另外, 还需要提醒的就是通讯模块 CP342- 5 支持 PROFIBUS DP 协议, 不能用于 PROFIBUS FMS 协议通讯, 通讯模块CP343- 5 与之相反, 而通讯模块 CP342- 5 和 CP343-5 都支持 PROFIBUS FDL 的链接方式。
作者:汪 华 合肥水泥研究设计院