配方是相关数据的集合,例如,生产参数或者生产数据的集合。配方有固定的数据结构,数据结构在组态期间定义,一个配方包含多条配方数据记录,这些数据记录仅在数值方面有所不同,结构均相同。配方数据记录可以在HMI和PLC之间进行传送,并且每条数据记录始终作为一个整体传输。下方为一个“Color“配方示例:
名称 | Color | |||
---|---|---|---|---|
元素 | name | red | green | blue |
1 | black | 0 | 0 | 0 |
2 | gray | 128 | 128 | 128 |
3 | marron | 128 | 0 | 0 |
4 | lime | 0 | 255 | 0 |
5 | olive | 128 | 128 | 0 |
6 | silver | 192 | 192 | 192 |
7 | white | 255 | 255 | 255 |
8 | orange | 255 | 165 | 0 |
配方有三个概念:配方名称、配方元素和配方数据记录。在以上示例中,“Color”为配方名称,“red”、“green”、“blue”为配方元素,而表格中的每一行数据为配方数据记录,”black”等值为配方数据记录的名称。
配方的操作方式共有三种,通过以下三种方式均可以实现配方的操作:
在HMI及PLC之间配方数据的传送方式分为两种:
PLC可以使用“作业信箱”将作业传送到HMI设备,然后HMI设备触发相应的操作。具体功能包含以下内容:
“作业信箱”区域指针的数据区由连续的4个Word组成,每个Word变量代表的含义如下表所示:
字 | 最高有效字节 | 最低有效字节 |
---|---|---|
Word1 | 0 | 作业号 |
Word2 | 参数1 | |
Word3 | 参数2 | |
Word4 | 参数3 |
根据作业的不同,需要使用的参数数量也不同,例如作业69(从PLC读取数据记录)需要3个参数,而作业70(将数据记录写入PLC)仅需要2个参数。
“作业信箱”区域指针需要连续的4 个Word类型变量用于公共数据区域。如果HMI变量访问模式为“符号访问”,在全局数据块中定义长度为4的数组类型变量,如Array[0..3] of Word。如果HMI变量访问模式为“绝对访问”,在全局数据块中定义长度为4的数组类型变量,或者定义4 个连续的Word类型变量均可。
通常情况下,“区域指针”所使用的变量仅在全局数据块中定义。
对于SIMATIC S7-300/400 PLC,HMI变量的访问模式仅支持“绝对访问”。对于SIMATIC S7-1200/1500 PLC,激活全局数据块属性中的“优化的块访问“选项,HMI变量的访问模式只能是”符号访问“。未激活全局数据块属性中的”优化的块访问“选项,HMI变量的访问模式可以是”符号访问“,也可以是”绝对访问”。
在HMI设备“连接”下的“区域指针”中,激活“作业信箱”区域指针,并设定“数据记录”区域指针的变量地址,采集周期建议保留默认的“1s”采集周期。
“作业信箱”区域指针的使用相对简单,只需要对第一个字的低字节赋值作业号69或者70,第二个字赋值要读取或者写入的配方编号,第三个字赋值要读取或者写入的配方数据记录编号即可,对于作业号69,还需要对第4个字赋值覆盖或者不覆盖现有数据记录的数值0或者1。
字 | 最高有效字节 | 最低有效字节 |
---|---|---|
Word1 | 0 | 69 |
Word2 | 配方编号(1-999) | |
Word3 | 配方数据记录编号(1-65535) | |
Word4 | 0:不覆盖 1:覆盖 |
字 | 最高有效字节 | 最低有效字节 |
---|---|---|
Word1 | 0 | 70 |
Word2 | 配方编号(1-999) | |
Word3 | 配方数据记录编号(1-65535) | |
Word4 | 无 |
例如,要通过“作业信箱”实现第3个配方的第5条数据记录的下载,需根据作业号70所对应的参数结构要求执行赋值操作。如下表所示:
Word1 | Word2 | Word3 | Word4 | ||
---|---|---|---|---|---|
高字节 | 低字节 | ||||
值 | 70 | 3 | 5 |
例如,要通过“作业信箱”实现将PLC数据上载保存为第1个配方的第3条数据记录,并覆盖已有数据记录,需根据作业号69所对应的参数结构要求执行赋值操作。如下表所示:
Word1 | Word2 | Word3 | Word4 | ||
---|---|---|---|---|---|
高字节 | 低字节 | ||||
值 | 69 | 1 | 3 | 1 |
同步传送功能,是指PLC和HMI两个通信伙伴均在公共数据区设置状态字。此机制可防止在PLC控制程序中随意覆盖配方数据记录。下载配方数据后,系统会在公用数据区存储传送的配方编号、配方数据记录编号以及完成状态。如果需要进行再次传送配方数据,则必须将状态字设置为0才可传送。
“数据记录”区域指针的数据区需要连续的5个Word类型变量,每个Word变量代表的含义如下表所示:
Word1 | 当前配方编号(1-999) |
---|---|
Word2 | 当前配方数据记录编号(1-65535) |
Word3 | 预留 |
Word4 | 状态(0,2,4,12) |
Word5 | 预留 |
状态字(第4个字)为HMI所写入的“传送结果”,含义如下表所示:
数值 | 含义 |
---|---|
0 | 允许传送 |
2 | 正在传送 |
4 | 传送已完成,没有错误 |
12 | 传送完成,出现错误 |
“数据记录”区域指针需要连续的5 个Word类型变量用于公共数据区域。如果HMI变量访问模式为“符号访问”,在全局数据块中定义长度为5的数组类型变量,如Array[0..4] of Word。如果HMI变量访问模式为“绝对访问”,在全局数据块中定义长度为5的数组类型变量,或者定义5 个连续的WORD类型变量均可。
通常情况下,“区域指针”所使用的变量仅在全局数据块中定义。
对于SIMATIC S7-300/400 PLC,HMI变量的访问模式只能是“绝对访问”。对于SIMATIC S7-1200/1500 PLC,激活全局数据块属性中的“优化的块访问“选项,HMI变量的访问模式只能是”符号访问“,未激活全局数据块属性中的”优化的块访问“选项,HMI变量的访问模式可以是”符号访问“,也可以是”绝对访问“。
在HMI设备“连接”下的“区域指针”中,激活“数据记录”区域指针,并设定“数据记录”区域指针的变量地址。
在配方的“同步”属性中,激活“协调的数据传输”选项,并选择相应的“HMI连接”,否则HMI不会在公共数据区设置配方编号、配方数据记录编号以及完成状态。激活“协调的数据传输”选项如下图所示:
通常情况下,建议在使用作业信箱方式操作配方时组态”同步传送“功能。但通过配方视图及配方画面操作配方也可以组态同步传送功能。以下为作业信箱方式操作配方的传送流程。
以下为数据记录传送出错被取消的可能原因:
输出的系统报警根据原因不同报警也不同,可能情况如下图所示:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有