组态控制功能组态

S7-1200 CPU 从固件版本V4.1起开始支持组态控制功能,其组态过程如下所述。

组态控制功能启用

使用组态控制功能之前,需要在CPU 设备组态的属性里选择“允许通过用户程序重新组态设备”复选框来启动组态控制功能。如图2-1。

图2-1 启动组态控制功能

创建新数据类型

在博途的PLC数据类型中添加新的数据类型,创建一个用于包含控制数据记录的PLC数据类型,其中前4个USInt变量用于存储组态控制信息,后面12个USInt变量对应于S7-1200最大组态时的各个插槽的实际状态,具体如2-2所示:

图2-2 新数据类型

创建控制数据块

用刚刚创建的数据类型创建一个包含控制数据的数据块,如图2-3 。

图2-3  添加新的数据块

在新生成的数据块中,按图2-4所示组态 Block_length、Block_ID、版本以及次版本。

根据是否存在插槽以及其在实际安装中的位置组态插槽的值:

图2-4  数据块组态

编程传送控制数据记录

在启动OB中,调用扩展的WRREC(写入数据记录)指令,将创建的控制数据记录传送到硬件 ID 33 的索引 196。使用标签和 JMP(跳转)指令等待 WRREC 指令完成。

图2-5  启动OB中程序

注意,WRREC 指令在启动 OB 中传送完控制数据记录后组态控制才会生效。如果已启用组态控制但 CPU 不具有控制数据记录,则在退出 STARTUP 模式时会转到 STOP 模式。所以需要确保启动 OB 中包含传输控制数据记录的程序。

控制数据记录

图2-6中列出了插槽号分配情况:

图2-6 插槽号分配

控制数据记录196包含插槽分配并表示实际组态,如下所示:

图2-7 数据记录196结构

修改控制数据记录时请遵守以下准则: