跟我一起看1200手册之组态控制的讲解

1.7组态控制

组态控制的优点和应用

当您想创建一个要在多个不同安装中使用的自动化解决方案(机器)时,组态控制将发挥作用。

可加载STEP7设备组态和用户程序到不同的已安装PLC组态。仅需进行一些简单的调整,即可使STEP7项目与实际安装对应。

组态控制功能组态

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

组态控制功能启用

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

图1启动组态控制功能

创建新数据类型

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

图2新数据类型

创建控制数据块

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

图3添加新的数据块

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

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

·0:实际组态中不存在已组态的模块。(插槽为空。)

·1到9,101到103:已组态插槽的实际插槽位置

·255:STEP7设备组态在此插槽中不包含模块。

图4数据块组态

编程传送控制数据记录

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

图5启动OB中程序

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

控制数据记录

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

图6插槽号分配

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

图7数据记录196结构

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

·组态控制不支持通信模块的位置更改。插槽101到103的控制数据记录插槽位置必须与实际安装对应。如果没有为插槽配置模块,请为该插槽位置输入255。

·在已填充(已使用)的插槽之间不能有嵌入式空(未使用)插槽。例如,如果实际组态在插槽4中有一个模块,则实际组态在插槽2和3中也必须有模块。相应地,如果实际组态在插槽102中有一个通信模块,则实际组态在插槽101中也必须有一个模块。

·如果已启用组态控制,却没有控制数据记录,则CPU仍未做好运行准备。如果启动OB未传送一个有效的控制数据记录,则CPU从启动模式返回到STOP模式。CPU在这种情况下不会初始化集中式I/O,并将在诊断缓冲区中输入转到STOP模式的原因。

·CPU将成功传送的控制数据记录保存在保持性存储器中,也就是说,在不更改组态的情况下重启时无需重新写入控制数据记录196。

·每个实际插槽只能在控制数据记录中出现一次。

·只能将一个实际插槽分配给一个已组态插槽。

组态控制示例

本示例介绍了由一个CPU和三个I/O模块组成的配置。在第一次实际安装中,插槽3处的模块并不存在,因此可使用组态控制将其“隐藏”。

第二次安装时,应用将包括最初隐藏的模块,但现在该模块位于最后一个插槽中。

修改后的控制数据记录可提供有关模块插槽分配的信息。

示例1—已组态但未使用模块

设备组态包含实际安装中可能存在的所有模块(最大组态)。如图8所示。

图8最大安装的设备组态

实际情况下,在设备组态中应位于插槽3中的模块不存在,而插槽4组态的模块实际位于插槽3中。如图9所示。

图9实际设备安装

要指示实际安装模块的不存在,必须在控制数据记录中使用0组态插槽3,即Slot_3=0,而插槽4组态的模块实际位于插槽3中,所以Slot_4=3。如图10所示。

图10示例1的数据记录

示例2—模块位置颠倒

项目最大组态仍如示例1中图8所示,但在实际安装时,原本位于插槽3的模块与位于插槽4的模块颠倒了位置。如图11所示。

图11实际安装时模块位置颠倒

要将设备组态与实际安装关联,可编辑控制数据记录Slot_3=4,将模块分配到正确的插槽位置。

图12示例2的数据记录

免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系