核心转储

针对异常的核心转储

核心转储是应用程序数据的存储快照。在运行时系统支持的情况下,当检测到异常时,核心转储会自动保存到控制器上应用程序目录的 <application_name>.core 文件中。

在线模式下,如果应用程序当前在断点停止或者如果检测到异常,您还可以显式生成核心转储。在这种情况下,核心转储文件仅保存在项目目录中,而不保存在控制器上。

离线模式下,您可以将应用程序的核心转储从控制器加载到 EcoStruxure Machine Expert 项目。然后,在检测到异常并且创建了核心转储时,应用程序会显示在其在线视图中,其中同时包含相关数据和值。

此外,从项目中创建了核心转储的时刻起,便会显示控制器的日志文件。

注意: 固件必须支持此功能,才能在核心转储视图中正确显示变量值。在通过将核心转储加载到项目中来创建的应用程序的在线视图中,菜单命令被显示为可用,但在此状态下不产生任何影响。在选择了其中一个命令时,会显示一条消息。

请参阅您的控制器编程手册以确认其是否支持核心转储功能。

注意: 运行时系统中的异常处理可覆盖调用栈中的变量值部分。因此,在监控函数和方法中的变量时,原始值可能丢失,重要信息可能也不再显示。

创建项目存档时的注意事项:

如果...

则...

如果通过选择创建核心转储命令来显式创建了核心转储,

则存档配置中自动加入相应选项。

如果从控制器复制了核心转储,

则只能通过选择功能附加文件来将其添加到项目存档。

注意: 包含核心转储的项目存档必须包含下载信息;否则,转储就无法使用。

使用核心转储分析异常

前提条件:

o已用在控制器上产生异常的应用程序打开项目。

o运行时系统能够创建核心转储。

o项目中的应用程序处于离线模式。

步骤

动作

1

通过执行命令调试 > 加载核心转储,来从控制器加载核心转储。

结果:显示应用程序的在线视图。从检测到错误时起,您就能够看到变量值和调用栈。这还包括设备配置器和任务配置的映射对话中的 I/O 变量的值。状态栏会显示消息核心转储已装载。核心转储文件作为 <project_name>.<device_name>.<application_name>.<application-Guid>.core 复制到本地项目目录。

2

执行命令调试 > 从核心转储加载设备日志,将从检测到错误时起记录的设备日志加载到项目中。

结果:日志视图随即打开(像在设备配置器的在线模式中那样),其中显示了创建核心转储时的事件。

3

完成核心转储分析后,执行命令调试 > 关闭核心转储

结果:应用程序的核心转储视图关闭,并且项目回到其在正常离线模式下的视图。

为正在运行的应用程序手动创建核心转储

前提条件:

o应用程序处于在线模式。

o运行时系统支持核心转储功能。

步骤

动作

1

执行命令调试 > 创建核心转储

结果:开始创建新核心转储。状态栏中显示进度条以及取消按钮。

核心转储文件被保存到本地项目目录中,其文件样式为 <project_name>.<device_name>.<application_name>.<application-Guid>.core

异常的编程式错误处理

作为 IEC 61131-3 的扩展,EcoStruxure Machine Expert 支持使用特定操作符(__TRY、__CATCH、__FINALLY、__ENDTRY)来捕捉异常。您可以编程在检测到错误而不是停止程序时将执行的语句。有关更多信息,请参阅这些操作符的说明

并非所有支持的控制器都支持该功能。 查询您的控制器对应的编程指南,了解详细信息。