15
西门子代理商6ES7541-1AD00-0AB0 西门子代理商6ES7541-1AD00-0AB0
然 后需要启用 PLC 的 组态控制功能,在硬件组态 CPU 的 属性中,按照菜单命令“属性”->“常规”->“组态控制”下,激活“允许通过用户程序重新组态设备”选项,如图 02 所示:
图02. 激活组态控制功能
接 下来创建一个共享数据块,用来存储将要传送的数据记录。并在启动组织块(本例为 OB100)中对数据块赋值,作用是描述 实际安装的模块与较大组态之间的关系,规则如下表所示:
| 字节 | 含义 | 数值 | 说明 |
| 0 | 数据记录长度 | 4+ 插 槽数 | 数据记录头 |
| 1 | 数据记录 ID | 196 | |
| 2 | 版本 | 4 | |
| 3 | 版本 | 0 | |
| 4 | 对较大组态中插槽0 中的模板进行分配 | 硬件组态插槽 0 中的模板所对应的实际插槽号 | 如果模板仅在硬件 组态中存在,而实 际中不存在,则数值为 B#16#FF |
| 5 | 对较大组态中插槽1 中的模板进行分配 | 硬件组态插槽 1 中的模板所对应的实际插槽号 | |
| . . | . . | . . | |
| 4+插 槽数 | 对较大组态中较大插槽编号的模板进行分配 | 硬件组态中较大插槽编号的模板对应实际中的插槽号 |
表01. 数据记录含义
说 明:
前 四个字节为标头,**个字节为块长度(4+ 插 槽数),*二个字节为块 ID(数 据记录号 196),*三 个和*四个字节为版本(S7-1500 对 应为 4 和 0)。
从 *五个字节开始,按照槽号由低到高的顺序,依次描述较大硬件组态中的模块在实际组态中的位置,组态中的模块在实际中不存在时,向数据块中写入“B#16#FF”。按照以上规则在共享数据 块中建立一个结构,包含有 14 个 字节的数据,如图 03 所 示:
图03. 建立数据块
必 须在启动组织块(本例中为 OB100) 调用“WRREC”指令传 送创建的数据记录。在右侧的指令栏中,按照顺序“扩展指令”-〉“分布式I/O”下找到“WRREC”指令。如果未能在启动 OB(本例为 OB100)中传输有效的控制数据记录, 则 CPU 会从启动模 式返回到停止模式。因此,需要“WRREC”指令执行完才能退出启动组织 块,本例中以功能块“WRREC”的完成信号“Done”为循环指令的结束条件,保证能够 完成数据记录的传输。
对 于S7-1500 CPU,使用硬件标识符 33(作为“WRREC” 指令的“ID”的参数)写 入数据记录,程序如图 04 所 示,其中,参数“WRREC_DONE”、 “WRREC_BUSY” 等是在组织块的接口参数中定义的临时变量:
