在调试环境中以及在断点视图中,调试 > 新断点... / 调试 > 新建数据断点...命令在离线和在线模式下都可用。
新断点 / 新建数据断点 对话框会打开,让您能够定义在活动的应用程序中新 断点或新数据断点的位置和条件。在线模式下,您可以额外定义执行点。
为了使用数据断点,设备描述文件必须包含与您的控制器对应的目标条目。
另请参见断点对话框中的相应函数。
若要在光标位置设置断点,请参见切换断点命令。
元素 |
描述 |
---|---|
POU: |
该选择列表提供了活动应用程序中可用的 POU。选择要设置断点的 POU。 |
位置: |
该选择列表提供了所选 POU 的可能断点位置。根据编辑器的类型,这些位置由行号和列号来定义(文本编辑器),或由元素编号来定义(图形编辑器)。对于功能块,将会另外添加 (Impl))。您必须决定是在实现中设置断点还是在实例中设置断点。如果需要在实现中设置断点,请将选项实例路径保留为禁用状态。如果要在实例中设置断点,请启用选项实例路径以选择实例。 |
实例: |
如果所选择的 POU 是功能块,且此选项已禁用,则将在 POU 的实现主体中设置断点(请参见位置元素)。如果要在实例中设置断点,请启用该选项,然后选择实例。 |
条件选项卡让您能够定义使程序执行在断点处停止的条件:
元素 |
描述 |
---|---|
任务: |
|
Only break if breakpoint is hit in one of the following tasks: |
如果断点仅应在特定任务处理放置该断点的 POU 时才有效,请启用此选项。通过此选项,可以将特定任务设置为在 POU 中的断点停止,而不是在也使用相同 POU 的其他任务中停止。请参阅具有多个任务的应用程序中的断点和单步运行。项目中定义的任务将被列出,以供选择。 |
碰撞计数: |
|
总是停止: |
程序将在断点处停止。 |
或者: |
在所定义的达到断点的次数之前,程序不会在断点处停止(输入所需数字或在数字字段中选择): o当碰撞计数等于以下数值时停止 o当碰撞计数是以下数值的倍数时停止 o当碰撞计数大于或等于以下数值时停止 |
条件 |
|
中断,如果为真 |
如果运行时系统支持,您可以使用有条件断点。查询您的控制器对应的编程指南,了解是否支持有条件断点。条件只能在在线模式下指定。 指定的条件会执行求值处理。只有在结果为 TRUE 的情况下,程序才会在此断点处停止,并且执行点的代码才会被执行。您可以输入有效的布尔表达式作为条件。 示例: x>100, x[y]=z, a AND b, boolVar 注意: 即使条件不为 TRUE,使用有条件断点也会减慢代码执行速度。 |
数据选项卡让您能够修改数据断点设置所涉及的变量。
元素 |
描述 |
---|---|
当指定变量的值更改时中断执行: |
o输入有效的变量名称。 o从输入助手对话框选择变量(类别监视变量)。 |
元素 |
描述 |
---|---|
执行点(执行不会在断点处停止) |
断点变为执行点。这就意味着,处理在此处不停止,但会执行给定代码。 执行点已启用: 执行点已禁用: 数据断点的执行点已启用: 数据断点的执行点已禁用: |
执行以下代码 |
输入要执行的代码。 具有以下限制: o代码大小 < 1200 字节 o无条件语句,循环结构 (IF, CASE, FOR, WHILE) o无功能块调用 o无方法调用 o无使用 AND, OR, NOT 操作符的位运算 o不与除 INT 之外的数据类型乘除 o在接口类型的实例中不调用属性 此外,还应遵循以下限制: 所调用的函数和属性必须满足以下至少一个条件: 1. 在视图 > 属性 > 生成对话框中,激活了选项启用系统调用。 2. 在函数/属性的声明上方添加了以下属性:{attribute 'monitoring' := 'call'}。 |
在设备日志中打印消息 |
如果在项目设置 > 编译选项对话框中激活了选项在断点中启用日志记录,则此选项可用。如果消息应包含变量的当前值,则插入用花括号括起的变量名称。 示例: 变量 iCount 的当前值为:{iCount}。 |
立即激活断点 |
选择立即激活断点选项,可激活断点。 取消选择立即激活断点选项,可禁用断点。如要稍后激活断点,请单击断点视图中的 |