描述
通过应用,参数 "STATUS" 的信息仅在一个扫描周期有效。由于 CPUs 执行在毫秒范围内,用户不能始终注意到该信息。参数 "DONE" 表示该系统块的数据记录已传送成功,但是 "STATUS" 信息已经被覆盖。
有多种方法来监测该块状态。
方法 1: 使用 MOVE 进行监测
例如,使用 "MOVE"指令将数据块的 "STATUS" 信息暂存起来。即使过了一个扫描周期,使用该方法也可以将信息保存住。
图1举了一个 "WRREC" 指令 (写数据记录) 监测状态的例子。如果 "DB.wrrecError"变量为1时,将 "DB.wrrecStatus"变量数据传送到"DB.error"变量。
图1
在图 1 中的状态监测程序可以采用 STL、FBD、SCL编程语言。
方法 2: 使用 "SaveStatus" FB 监测
本文档附件库中包含 "SaveStatus" FB,该块可以将状态值连续保存在数据块中。这样状态值可以持续保持有效,直到被复位删除。将 "status" 输出到一个数组类型 "Array[1..10] of DWord" 的变量中。也可以使用其他数组单元对例子程序进一步编程。该状态值被连续存储到数组单元中。
- 读取状态值之前,必须通过 "reset" 参数将数组单元复位为 0。
- 当数组单元的数值为 0,一个值仅能保存在一个数组单元中。
- 对每个新状态值,"SaveStatus" FB 都会判断下一个数组单元是否有效。
- 如果一个数值(0 除外)已经保存到一个数组单元中,那么新数值将保存到下一个数组单元中。
- 如果所有数组单元都保存了一个数值,那么最后一个数组单元就会一直被其他状态值覆盖。
- 需要保存新数值,必须复位其他数组单元。
"SaveStatus" FB由 SCL 编程语言编辑,并包含 德语和英语注释。下表解释了该块参数。
参数 | 数据类型 |
描述 |
---|---|---|
输入参数 | ||
reset | Bool | 变量复位 |
readStatus | DWord | 状态值读取 |
输出参数 | ||
status | Array[1..10] of DWord | 连续保存状态值 |
状态信息监测
- 通过在线帮助:
选择系统块,按 "F1" 键。STEP 7 (TIA Portal) 在线帮助会提供该指令和 "STATUS" 参数的详细信息。 - 通过手册:
从 STEP 7 (TIA Portal) 手册获取有用的状态信息,手册如下: Parameter STATUS (S7-1200, S7-1500).
下载
针对 S7-1200 和 S7-1500,下载包中有包含该块的 STEP 7 (TIA Portal) 库。根据 STEP 7 (TIA Portal) 版本,解压这两个 Zip 文件中的一个到硬盘的一个独立的目录中。然后使用 STEP 7 (TIA Portal) 打开编辑该库。
- STEP 7 (TIA Portal) V13:
109745539_SaveStatus_Lib_STEP7_TIA_Portal_V13.zip (1.0 MB). - STEP 7 (TIA Portal) V14:
109745539_SaveStatus_Lib_STEP7_TIA_Portal_V14.zip (299.9 KB).
仅在 STEP 7 (TIA Portal) 中打开编辑该库。有关打开库的更多信息参见条目: 37364723.
创建环境
该文档截图和下载包都是在 STEP 7 (TIA Portal) V14 中创建。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc321988.html