Skip to main content

选项卡:堆栈使用情况

任务配置编辑器中的选项卡

这个 堆栈使用情况 选项卡显示每个应用程序、每个任务以及最大调用堆栈中 POU 的当前堆栈使用情况。

显示信息的要求:应用程序代码已生成。这要么在登录控制器时自动完成,要么显式使用 构建生成代码 命令。

覆盖目标设置中的默认堆栈大小

重要

重写堆栈大小 可用堆栈大小 是专家函数。

仅当您激活此处的选项并确认随后出现的消息时,此输入字段才可用。该消息表明可能存在堆栈溢出的风险。可能会出现异常错误。

_cds_icon_option_deactivated.png: 那个 可用堆栈大小 输入字段显示设备描述中当前设置的默认堆栈大小。不允许输入。默认设置。

_cds_icon_option_activated.png这个 可用堆栈大小 可以编辑输入字段。你可以在那里指定一个新值或将其重置为默认值。

_cds_icon_taskconfiguration_stackusage_reset.png 重置为默认值

单击该按钮可重置中的值 可用堆栈大小 到默认的堆栈大小。默认堆栈大小在设备描述中定义。

可用堆栈大小

可用堆栈大小(以字节为单位)

示例: 4,194,304

最大堆栈大小在设备描述中指定。此默认堆栈大小被读取并应用为可用堆栈大小。

您可以更改该值,如果 覆盖目标设置中的默认堆栈大小 选项已激活。

编译器会在编译期间检查应用程序中的最大堆栈使用量,如果可能出现溢出,则根据计算出的大小报告错误。

外部调用的假定堆栈大小

堆栈大小(以字节为单位),假定外部调用运行时系统

示例:如果显示 24,则假定对外部函数的调用使用堆栈上的 24 字节

注意:堆栈使用量的计算结果始终是估计值。

外部调用的堆栈大小的一般估计值在设备描述中指定。该值用于计算。除非已为具有'属性的外部呼叫分配了特殊的估计值,estimated-stack-usage'。在这种情况下,首选特殊值。

任务/最大调用堆栈

在编译期间确定的调用堆栈(调用层次结构)

提示:如果此视图中的调用堆栈为空,则可以启动编译操作并调用 创建生成代码 命令。然后即可获得有关堆栈使用情况的当前信息。

堆栈大小

每个调用 POU 使用的堆栈大小(以字节为单位)

或者堆栈大小通过任务的调用层次结构加起来

在编译期间,编译器计算最大调用链的最大堆栈使用量。

重要:当 POU 显示为红色时,表示已检测到此 POU 存在堆栈溢出。由于内存溢出,以下 POU 也显示为红色

有关更多信息,请参阅: 堆栈使用率的计算