报告系统错误RSE
关于RSE(report systerm error)
- 注:RSE/报告系统错误/SSL/RDSYSST/诊断状态DB等等是针对 S7-300/400 PLC系统而言。
作用
- 使用通过“报告系统错误”进行系统诊断,可以生成分析系统错误的块以及具有文本错误说明和错误位置的报警。可根据带报警功能的组件定义这些报警(例如通道错误或机架错误),每个带报警功能的组件的报警数限制为 255 个。 如果超出该限制,将收到消息。
- 在系统诊断中进行或更改的常规设置将与项目一同储存。 对系统诊断的影响仅在生成块、编译硬件配置及下载相关组件配置之后才发挥作用。
状态DB
- 发生系统错误时,其它制造商的硬件组件和设备(其属性由 GSD 文件设置的从站)会触发组织块调用。
- 示例:如果出现断线,则具有诊断功能的模块将调用 OB 82。硬件组件提供有关所发生系统故障的信息。 起始事件信息,即所分配 OB 的局部数据(包括数据记录 0)提供有关位置(例如模块逻辑地址)和错误类型(例如通道错误或模块故障)的常规信息。
- 还可以使用其它诊断信息更加详细地说明问题(使用 RDSYSST 指令读取数据记录 1 或使用“DPNRM_DG”指令从标准 DP 从站读取诊断框架): 例如,通道 0 或 1,断线或超出测量范围。 带“报告系统错误”(RSE) 功能的系统诊断可方便您评估 S7-300/400 PLC、ET200S、ET200Pro 和软件 PLC 的诊断信息,并以消息形式显示该信息。 所需的块和报警文本创建于特定 PLC 的属性中。 仅需将生成的块下载到 CPU,并在必要时将文本传送到所连接的 HMI 设备。
- 要在 HMI 设备或通过 Web 服务器以图形形式显示诊断事件,则可以生成一个或多个状态 DB。 这些状态 DB 由系统诊断块更新,随后便包含当前系统状态的信息。
移植诊断功能
-
S7-1500 系列 CPU 具有集成的系统诊断功能。因此将不再支持“报告系统错误”。
- S7-1500 系列的 CPU 中没有系统状态列表。但可通过“GET_DIAG”、“Geo2Log”、“DeviceStates”或“ModuleStates”指令读取相关信息。有关移植系统状态列表的更多信息,请参见:移植 RDSYSST 指令。
- S7-1500 系列 CPU 具有集成的系统诊断功能。因此将不再支持“报告系统错误”。如果程序包含有“报告系统错误”的块,则在参考程序中禁用系统诊断,之后再进行移植并重新编译该程序。在此过程中,删除此处所述的块。
- 默认情况下,启用 S7-1500 CPU 的系统诊断。用户无需进行任何其它设置。要更改系统诊断的设置,请在设备组态中选择该 CPU。系统诊断的相关设置将显示在巡视窗口中的“属性 > 系统诊断”(Properties > System diagnostics)下。在此,系统诊断报警为启用状态;如果不需要,则可以取消选中。
-
移植限制:
- 在移植“报告系统错误”(Report system errors) 应用程序时,仅会移植用户在 SIMATIC STEP 7 项目中进行的设置(例如,基本设置、块编号、块名等)。
- 不会移植以下元素:
- SFM 块
- SFM 消息和为组态消息文本而进行的设置
- 系统文本库
- 移植之后,可以手动方式再次调整设置。 在第一次编译硬件组态过程中,将重新创建丢失的元素。
RSE的诊断块
- 对报告系统错误进行设置之后,将在下次编译硬件配置时创建所需块(分配了背景 DB 和一个或多个全局 DB 的 FB、FC,根据具体设置还可能包括尚不存在的 OB)和状态 DB。
- 诊断 FB(默认: FB 49),
- 诊断 FB 的背景 DB(默认: FB 49),
- 全局 DB(默认: FB 50),
- 诊断 FC(默认: FC 49),
- 错误 OB(如果 CPU 支持该功能,则自动创建),
- 循环 OB(如果已在“OB 组态”(OB configuration) 组框中选择了该选项),
- 可选状态 DB
- 创建的块(除 OB 外)存储在项目树的“程序块 > 系统块 > 报告系统错误”(Program blocks > System blocks > Report System Errors) 下。
- 创建的诊断块(分配了背景 DB 及一个或多个全局 DB 的 FB 和 FC)评估错误 OB 的局部数据并从触发错误的硬件组件中读取所有其它诊断信息。 具有下列属性:
- 以 RSE 语言创建(报告系统错误)(也适用于上文列出的块)
- 受专有技术保护(也适用于上文列出的块)
- 延迟运行系统期间到达的中断
- 状态 DB
- 状态 DB 用作诊断块的接口,并可以在 HMI 设备或 Web 服务器上以图形方式显示诊断事件。
系统诊断buffer中生成用户诊断
- 如果想要在CPU buffer中生成用户诊断:
- 对于1200/1500,
Gen_UsrMsg:生成用户诊断报警,详情参考帮助。 - 对于300/400,
WR_USMSG: 向诊断缓冲区写入用户诊断事件,详情参考帮助。
- 对于1200/1500,
在step7中设置报告系统错误
- 设置RSE

- 选择响应的OB,会在OB里生成对应的SFM,调用如下:

- 生成的数据并下载进PLC之后,可以选择cpu message查看系统诊断的归档和报错(不需要用到HMI诊断视图,也不需要用到webserver诊断视图)

- 注意,DB127不是默认生成,需要如下设置。DB127本身没有加密,打开可以看到是对系统组件诊断的分级和指示:

- DB127作用如下:

什么时候用到RSE,什么时候用到诊断状态DB
- 在step7中快速看系统诊断,如下:

- 什么时候用到诊断状态DB
- 400PLC没办法直接和HMI相连以得到系统诊断视图/网络视图的信息,这个时候就需要用到一个代理设置,起到连接HMI和PLC的目的(TIA21中可以选中的一个虚拟设备)。但是代理没办法把SFM的数据代理过去,这时候就需要DB126/127.
- HMI诊断信息的连接如下(1200/1500自动集成),有了它,各种诊断相关的视图控件才可用:


浙公网安备 33010602011771号