n
介绍Instructions
S7-1500 固件 ≥ V1.5.1 STEP 7 (TIA 博途) 版本 ≥ V13+Update 2 版本可使用高级指令"GET_DIAG"来评估 CPU 的显示面板是否存在,系统诊断会将显示面板状态的改变(移走和插入)作为到来事件自动添加到诊断缓冲区中。在这种情况下,一些应用程序可能需要在程序中进 一步评估这种状态的改变。n
在 STEP 7 (TIA 博途)中建议通过以下方式进行评估:n
- 打开程序编辑器or (FB, FC, or OB1) 并导航到"高级指令 > 诊断" 文件夹,在程序编辑器中插入"GET_DIAG"指令。n
- 将参数 "MODE"的值设置为 "1" .n
- 对于 "LADDR"参数输入站或者 CPU的名称,例如“PLC_1”。 进入之后菜单会自动弹出。在弹出菜单中选择"PLC_1[Display]", 关联的硬件地址会自动输入。
图. 01n
- 使用 数据类型 “DIS"创建一个全局数据块并声明一个变量 (例如"GetDiag_DIAG") .输入后,用于诊断的不同元素会自动创建 。
图. 02n
- 使用全局DB变量"Data_block_1"对 "GET_DIAG"指令的 "DIAG"参数进行设置(图 . 03). 读出的诊断数据存储在该变量中 。n
- 同样还需将以下 2 个输出参数化,分别为参数"RET_VAL"和 "CNT_DIAG"赋一个”Word“和”DWord"变量 。
图 03n
- 保存并编译程序,并将项目下载到 CPU 中后,诊断状态就可以通过 DB 块中的变量进行评估。
可选择下表所示中的变量,通过监视其中一个变量的值即可实现诊断。
n
变量 | 监视值 | ||
GetDiag_DIAG (DIS data type) | 显示面板存在且工作正常 | 显示面板移除或故障 | |
-> | MaintenanceState | 16#0000_0000 | 16#0000_0001 |
-> | ComponentStateDetail | 16#0000_8000 | 16#0001_8000 |
-> | OwnState | 0 | 1 |
-> | IOState | 16#0001 | 16#0002 |
表 01
可将数据块在线进行诊断或在变量监视表中(监视变量)。
创建环境
该 FAQ 相关截图由STEP 7 (TIA 博途) V13+Upd 2创建。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc325703.html