西门子1500 PLC系统与西门子S7-200 Smart PLC系统之间的数据交换
2022-09-24王天
王天
(西安航天自动化股份有限公司 陕西西安 710065)
随着国内工业水处理控制系统的不断发展,不可避免地会出现大量老旧系统,这些系统规模小,多安装小型PLC。随着更为先进复杂的系统的不断投用,大型PLC 的使用是必然趋势,而且对于那些老旧子系统的改造也被提上了日程。数量众多的子系统中,有相当一部分可以被优化保留,但因自成系统而无法与主系统进行控制切换,从而形成一个个控制孤岛,不能充分发挥其作用。同时,因数据传输无法共享,缺少统筹控制和管理,又导致子系统的运行效率低下。基于此情况,本文阐述了一个已成功应用的项目案例,介绍基于以太网总线在大型、小型PLC 间实现数据和控制共享的方法。
1 系统概况
本工程为西安市第六污水厂的提标改造工程。此次改造中,控制系统使用的PLC全部为西门子品牌,包括1500、1200、300、200、200 Smart 多个系列的产品。整个系统按生产工艺划分,分成4 个不同的子系统。本文介绍的是其中的V型滤池子系统。V型滤池是水厂内一种水处理建筑物,以恒定水位过滤水中杂质,池内两侧的进水槽呈V 字型,故称为V 型滤池。本项目中V 型滤池分站有2 组,每组8 个共16 个滤池组成。由1套1500和16套200 Smart PLC组成,使用以太网通信。每套200 Smart PLC可独立控制一个滤池,西门子1500 PLC 负责16 个滤池的反洗协调运行和外围共用的3 台反洗风机和3 台反洗水泵的控制。因为有共用设备,所以16 个滤池的反洗必须按一定规则依次进行,有序使用共用设备,这样就需要1500 实时和16 台200 Smart 交换数据。为了解决200 Smart PLC 无法直接与1500 PLC交换数据这一问题,本文阐述了一种数据交换方法解决了这一问题,控制16个滤池的反洗步序协调进行。
2 硬件设计
V 型滤池站系统主控设置控制柜1 面,使用CPU 1515R-2 控制器(6ES7515-2RM00-0AB0),使用PN 系统。分控设置16 个操作台,安装200 Smart 控制器(6ES7288-1SR60-0AA0),使用PN 总线(ProfileNet)协议通信。每一个分控操作台中安装有一个小型百兆交换机,16 个分控站采用总线型总线首位相连,再使用通信光缆接至1500 主站的共享百兆换机上。PN 总线通信速率为12Mbits/s。另外,主站柜配置了一个昆仑通泰触摸屏,每个分控操作台配置了西门子触摸屏方便运行人员就地监控。系统通信网络配置图如图1所示。
图1 系统通信网络结构
由于主控系统和子系统的距离较长(435m),因此使用单模光缆连接,再使用光电转换器转成网线彼此连接。
3 软件配置
完成硬件安装接线后,需要配置主控和分控的软件部分。首先,根据控制工艺,确定需要交换数据的数量和类型(DI、DO、AI、AO),因数据包以字节为单位,再依此规划好对应全部的变量名称及地址,包括位(开关量)、字节、字(整数量)和双字(实数量)。软件配置分成主控部分和分控部分。主控部分使用Portal v16。首先,在控制器保护属性中开启Put/Get 访问功能[1]。因为1500 和200 Smart 之间的数据交换必须且仅能使用数据块DB1 进行[2],在DB1 中依次定义用于接受或发送数据包的全部字节,如FromV1_ByteXToV1_ByteX…FromV16_ByteXToV16_ByteX(X:实际需要数量创建)[3],再设置一个IP地址可供外部任何设备访问主控,变量地址引用格式为:DB1.DBXM.0-7、DB1.DBWX、DB1.DBDX[4]。主站编写分站反洗调度控制逻辑,实现调度功能。主站反洗调度功能块如图2所示。
图2 主站反洗调度程序功能块
引脚含义如下[5]。
Execute:功能执行指令。检测到一次上条沿执行一次。
Mode:控制栈方式。1入栈,0出栈。
InitialValue:堆栈内队列元素的初始值。
ResetBuffer:初始化堆栈指令。1执行一次。
Item:赋入栈值和读取出栈值。
Buffer:自定义堆栈数组。
Done:显示堆栈操作标志。1完成,0未完成。
Error:显示是否执行错误。1成功,0失败。
StatusID:显示功能块执行信息代码。
Status:显示功能块执行信息信息。
至此,主控端配置完成。
接下来配置分控端。分控端使用STEP 7-MicroWIN SMART 2.6软件。首先,定义需要交换数据的V 区变量(M 区、I 区、Q 区都无法用于交换数据)[6],再将分控需要通讯的M 区、I 区、Q 区变量赋值给V 区变量,再配一个IP 地址可供外部任何设备访问分控。打开配置向导,配置Get/Put通信参数。
首先,新建一个Get/Put 配置的实例,准备下一步配置。配置界面如图3所示。
图3 新建G et/P ut配置实例
配置Get参数。设置200 Smart中接收数据包的长度(单位字节),配置200 Smart侧存放接收数据的V区起始地址。然后配置远程CPU(1500)的IP 地址,可以让网络上的其他设备访问。最后配置1500 侧发送据的起始地址[6]。Get配置界面如图4所示。
图4 配置G et参数
配置Put参数。设置200 Smart中发送数据包的长度(单位字节),配置200 Smart侧发送数据的V区起始地址。然后配置远程CPU(1500)的IP 地址,可以让网络上的其他设备访问。最后配置1500 侧保存接收据的起始地址。Put配置界面如图5所示。
图5 配置P ut参数
配置完Get/Put 参数后,系统会编译并生成NET_EXE 功能块。其中,Timeout、Cycle、Error 引脚分别连接Word 和Bool 类型变量反馈功能块运行状态。要注意的是,功能块无法直接修改,需要修改时,必须使用向导修改参数,重新编译下载到200 Smart中即可生效。EN引脚不允许直接连接电源母线,必须串联一个常开点,这里使用系统默认的常开接点Always_On。变量地址引用格式为VXM.0-7、VWX、VDX[7]。至此,软件配置完成,功能块将根据内部配置参数运行。通信功能块如图6所示。
图6 生成的G et/P ut通信功能块
西门子1500 控制系统与西门子200 Smart 控制系统通过以太网交换数据,实现了主控系统与16个分控系统无缝通信。这样不仅达到了系统生产工艺的设计的要求,同时也大大降低了用户项目的工程成本。系统至今已稳定运行1年零4个月。
4 结语
通过对两种西门子不同类型PLC 的通信协议、数据结构、程序配置的充分分析,并在以上项目中实际应用,验证了通过以太网实现不同PLC 控制器之间的数据交换是完全可行的。加之对系统生产环境的仔细分析,不断修改调通信整参数和完善控制逻辑后系统的稳定运行,也验证了这种在不同PLC 控制器之间的数据交换方法是完全可靠的。
该项目的成功投运不但提高了污水处理厂V型滤池子系统的生产效率和系统可靠性,而且减少了人力,降低了生产和维护成本。最终验证了这一方式在技术层面的可行性,为今后实施类似项目积累了宝贵经验。