SA0041:检测可能的循环不变代码 检测循环中为每个循环周期计算相同值的分配。这些代码行可以插入到循环之外。 理由:这是一个性能警告。在循环中执行但在每个循环中执行相同操作的代码可以在循环外执行。 重要性:中等 例 49 . 例子 PROGRAM PLC_PRG VAR iCounter, iVar1, iVar2 : INT; END_VAR FOR iCounter := 0 TO 10 D
SA0039:可能的空指针引用 检测可能取消引用空指针的代码位置 理由:在每次取消引用之前应检查指针以确保它不等于零。否则,运行时可能会发生访问冲突。 重要性:高 例 113 . 例子 PROGRAM PLC_PRG VAR ptiVar1:POINTER TO INT; ptiVar2:POINTER TO INT; ptiVar3:POINTER TO INT; iVar:INT; iCoun
SA0122:数组索引定义为表达式 检测数组索引声明中表达式的使用 理由:并非所有系统都允许将表达式作为数组限制。 重要性:低 例 105 . 例子 PROGRAM PLC_PRG VAR CONSTANT c_iValue : INT := INT#15; END_VAR VAR arr : ARRAY [0..c_iValue + 1] OF INT; END_VAR 输出在 留言 看法: S
命令:打开并行分支 象征: 捷径: 控制键 + P 功能 :该命令打开一个封闭的并行 分支 . 称呼 : 梯子 菜单;上下文菜单 要求 :必须选择要重新开通的分支的两条线路之一。 本节内容如下 :
CODESYS Development System
ST 表达式 表达式是一种在求值后返回值的构造。 表达式由运算符和操作数组成。在 扩展结构化文本 (ExST) ,您还可以使用赋值作为表达式。 操作数可以是常量、变量、函数调用或其他表达式。 特殊的 ST 表达式还有: 使用权 到 数组变量的元素 结构变量的组成部分 功能块实例或程序的变量 方法调用 例 51 . 例子 2014 常量、字面量 ivar 多变的 fct(a,b) 函数调用 (x*y
CODESYS Development System
运算符:__XADD 多核运算符是 IEC 61131-3 标准的扩展。 该运算符可用于实现原子计数器。如果一个整数变量通过普通加法的方式递增,例如 iTest := iTest + 1; , 那么这个操作不是原子执行的。对变量的另一次访问可能发生在读取和写入变量之间。 如果计数器在多个任务中递增,则计数器结果可能小于计数周期数。因此,如果两个任务一次执行上述代码并且变量先前具有该值 0 , 然后
CODESYS Development System
命令:调用树 象征: 功能 : 命令打开视图 调用树 . 称呼 : 菜单 观点 视图中可调用构建块的上下文菜单 设备 或者 POU 查看:调用树 在编译(翻译)应用程序之前,调用树始终可用。它是调用者和您明确指定的构建块的调用的静态表示。因此,树总是包含 2 个根节点,在这些根节点下,相应的调用序列可以被视为连续缩进的条目。在此树视图中可以快速识别递归调用。 块 (2) 的调用树 (1) 示例 P
CODESYS Development System
命令:停止 象征: 键盘快捷键: 切换 + F8 功能 :命令停止应用程序(状态 停止 )。 称呼 : 菜单 调试 , 对象的上下文菜单 应用 要求 :应用程序处于在线模式 跑步 . 如果您使用菜单中的命令 调试 调用,它作用于当前活动的应用程序。 本节内容如下 :
CODESYS Development System
命令:新断点 象征: 键盘快捷键: 老的 + F7 功能 :命令打开对话框 断点属性 . 称呼 : 菜单 调试 要求 :应用程序必须处于在线模式。 提示 用命令 新断点 在线模式下可以直接在当前光标位置设置新断点。 有关更多信息,请参阅: 使用断点 本节内容如下 :
CODESYS Development System
命令:写入值 键盘快捷键: 控制 + F7 功能 :该命令将控制器上的变量值设置为预定义值。 称呼 : 菜单 调试 要求 :应用程序处于在线模式。 在控制器上运行的应用程序中变量值的异常变化可能导致受控系统的不良行为。 在强制变量值之前评估潜在的危险并采取适当的安全预防措施。根据受控系统的不同,可能会损坏系统和工件,或危及人的健康和生命。 使用该命令,您可以将控制器上活动应用程序的一个或多个变量设