S7-1500 与 ET200MP 的组态控制通信(Configuration Control)功能实现详解(下)
三、ET200MP 分布式 I/O 的组态控制实现步骤
ET200MP 的组态控制逻辑与 S7-1500 类似,但存在细节差异,需特别注意。
1. 前提条件
- 硬件:ET200MP 的接口模板(IM155-5 PN ST/HF)固件版本需 V2.0 及以上;
- 控制器:可搭配 S7-1200/S7-1500/S7-300 等。
2. 组态 “最大硬件配置”
与 S7-1500 类似,需在 TIA 博途中组态包含所有当前及未来模块的最大配置,包括电源、接口模板、I/O 模块、计数模板等。
首先在 TIA 博途中组态最大硬件配置,即以后所能使用到模板都包含在这个组态中。
下图软件组态控制器为315-2PN DPCPU。ET200 MP 分布式 I/O 中共组态了 11 个模板,分别位于插槽 0~10 中,模块依次为 PS25W 24VDC 电 源,IM 155-5 PN ST 接口模板,TM Count 2X24V 计 数模板,AI 8XU/IRTD/TC 模 拟量输入模板,AQ 8XU/I HS 模拟量输出模板,DI 16X24VDC 模 块,DQ 16X24VDC 模 块,PS25W 24VDC 电源,两个DI16/DQ16 x 24VDC 模 块,CM PTP RS422/485 通信模板。
实际安装的硬件依次为:PS25W 24VDC 电源,IM 155-5 PN ST 接口模 板,AI 8XU/IRTD/TC 模 拟量输入模板,AQ 8XU/I HS 模 拟量输出模板,TM Count 2X24V 计 数模板,DI 16X24VDC 模 块,DQ 16X24VDC 模 块,CM PTP RS422/485 通 信模板。即最大硬件组态和实际硬件组态对应关系如图所示:
3. 激活组态控制功能
与 S7-1500 不同,ET200MP 的激活入口在接口模板属性中:
双击 ET200MP 的 IM155-5 PN 接口模板→“属性”→“常规”→“模块参数”→“常规”,勾选 “允许通过用户程序重新组态设备”。
4. 创建控制数据记录的数据块
数据结构与 S7-1500 类似,但有 3 处关键差异:
差异点 | S7-1500 中央机架 | ET200MP 分布式 I/O |
数据记录长度 | 4 + 插槽数 | 4 + 插槽数 - 1(接口模板无需配置,故减 1) |
版本号 | 第 2 字节 = 4,第 3 字节 = 0 | 第 2 字节 = 3,第 3 字节 = 0 |
缺失模块标识 | B#16#FF | B#16#7F |
- 注意:数据记录中无需包含接口模板的配置(从最大组态的插槽 0 开始,跳过接口模板所在插槽)。
前四个字节为标头,第一个字节为块长度(4+ 插 槽数 -1,这是因为接口模板不需要作任何操作,所以数据记录中没有接口模板的描述),第二个字节为块 ID(数据记录号 196),第三个和第四个字节为版本(IM 155-5 PN 接口模板对应为 3 和 0)。
从 第五个字节开始,按照槽号由低到高的顺序,依次描述最大硬件组态中的模块在实际组态中的位置,组态中的模块在实际中不存在时,向数据块中写入“B#16#7F”。接口模板不需要作任何设置。按照以上规则在共享数据块中建立一个结构,包含有14 个字节的数据,如下图所示:
5. 在用户程序中调用 WRREC 指令
与 S7-1500 不同,ET200MP 的WRREC指令需在循环组织块(如 OB1) 中调用:
- 关键参数:ID设为 ET200MP 接口模板的诊断地址(如 S7-300 中可设为 2042,即十六进制 7FA);
- 触发时机:通过 “Req” 信号(如一个按钮或启动信号)激活WRREC,发送数据记录后,ET200MP 即可识别实际组态。
在 OB1 中调用“WRREC”指令传送创建的数据记录。在右 侧的指令栏中,按照顺序“扩展指令”-〉“分布式I/O”下找到“WRREC”指令。当控制器为 S7-1500 时 ,使用ET200MP 接口模块的诊断地址作为“WRREC”指令接口参数“ID”的实参。当控制器为 S7-1500 时,使用 ET200MP 接口模板的名称为“IO_device_2[Head]”所对 应的硬件标识符作为“WRREC”指令接口参数“ID”的实参。程序如图下图所示,其中,参数“WRREC_DONE”、“WRREC_BUSY”等是在位存储区中定义的变量:
315CPU 中将实际的配置对应的数据记录写入数据块
315CPU 调 用“WRREC”写入数据 记录 本例中的控制器为 S7-315CPU,使用 ET200MP 接口模板的诊断地址“2042”,即“DW#16#7FA”作为功能块“WRREC” 指令“ID”参数的实参。
编译和下载程序至 S7-1500CPU 中,对 ET200MP 分配好设备名称后,使能“WRREC_Req”激活传送数据记录功能 块,即可正确访问 ET200MP 分 布式 I/O。
四、组态控制功能的注意事项
- 在线显示与诊断:设备在线时,TIA 博途的硬件视图和诊断缓冲区均以 “最大组态” 显示,而非实际组态,需通过数据记录确认实际模块位置;
- S7-1500 限制:中央机架启用组态控制后,不可添加通信处理器(CP/CM),否则会导致功能异常;
- 电源模块建议:S7-1500 的插槽 0 电源模块建议不参与组态控制,避免电源异常影响整体识别;
- 数据记录唯一性:无论 S7-1500 还是 ET200MP,控制数据记录的 ID 均固定为 196,不可修改。
五、总结
组态控制功能通过 “最大组态 + 数据记录动态适配” 的思路,彻底解决了工业现场硬件变动时的组态依赖问题。无论是 S7-1500 中央机架还是 ET200MP 分布式 I/O,只要严格按照上述步骤配置最大组态、激活功能、创建数据记录并调用WRREC指令,就能实现模块缺失 / 顺序调整时的无缝运行,后期扩展也无需重新下载硬件配置。