ET200SP具有组态控制(Confition control)功能。组态控制允许使用 ET 200SP 分布式 I/O 系统的单一组态来运行各种实际组态。即可以组态一个通用的硬件配置下载至plc中,然后在程序中通过控制数据记录196的方式,使得下载至PLC中的单一硬件组态可以适用于多种不同的实际配置。
本文以一个例子来说明组态控制的实现过程。在这个例子中,ET200SP站点共组态了7个插槽,具体模块类型如图1所示。
图1.ET200SP的硬件组态
而实际上,真正所用到的模块如图2所示,其中第1、2插槽为DQ8 x 24VDC/0.5A HF模块,第3、4插槽为DI8 x 24VDC HF模块,*5插槽是空槽,没有安装电子模块,只安装了一个BU外壳,*6个插槽为服务器模块,*1和*3插槽启用了新的电势组。
图2.ET200SP实际站点配置
要实现组态控制,首先双击ET200SP,在属性对话框的参数标签下使能ET200SP组态控制功能,如图3所示:
图3.使能组态控制
然后将硬件组态编译下载至PLC中。
接下来在PLC中编程,对接口模块写数据记录196。数据记录196的内容说明如表格1和表格2所示:
字节 | 含义 | 值 | 说明 |
0 | 数据记录长度 | 4 +(插槽数 × 2) | 数据记录头 |
1 | 数据记录ID | 196 |
2 | 版本 | 2 |
3 | 版本 | 0 |
4 | 分配所组态的插槽 1 | 对应的实际插槽 | 控制元素,在每个元素中说明 IO 设备中的哪个实际插槽被分配到了已组态的插槽。 |
5 | 插槽 1 的其它功能 |
6 | 分配所组态的插槽 2 | |
7 | 插槽 2 的其它功能 |
: | : | : |
4 +((较大插槽编号 - 1)×2) | 分配服务模块的插槽 | 实际服务模块插槽 |
4 +((较大插槽编号 - 1)×2)+ 1 | 服务模块插槽的附加功能 |
表1.数据记录196内容
控制元素的说明如表2所示:
字节 | 位 | 含义 |
分配的已组态插槽(如,在字节 4 中,偶数字节) | 0 到 6 | 0000000: 模块不可用 0000001 直到较大插槽数: 实际插槽 |
7 | 1: 空插槽(带有 BU 盖板) |
插槽的其它功能(如,在字节5中,奇数字节) | 0 | 1: 打开一个新的电势组。将 BU...B 更换为 BU...D. 如果设置该位,则将组态 BU...D。 如果没有为该插槽设置位,则使用组态软件中所组态的参数。 |
1 到 7 | 预留 |
表2.控制元素的说明
在本例中,在DB1中存储该数据记录,并按实际配置参数化该DB块,如图4所示:
图4.在DB1中参数化数据记录196
在OB1中,当M10.0为1时调用SFB53,写数据记录至ET200SP接口模块,数据记录传输成功后,复位M10.0,不再调用SFB53,如图5所示:
图5.在OB1中编程写数据记录
该项目例程由STEP7V5.5SP3HF5创建。