SA0034:分配不正确的枚举 检测分配给枚举变量的值。仅允许分配枚举变量的已定义枚举常量。 理由:枚举类型的变量应该只具有预期的值,否则使用该变量的代码可能无法正常工作。我们建议始终将枚举与 pragma 一起使用 {attribute 'strict'} 。然后编译器已经检查了枚举组件的正确使用。 重要性:高 例 45 . 例子 TYPE COLOR : ( Red := 0, Green,
SA0041:检测可能的循环不变代码 检测循环中为每个循环周期计算相同值的分配。这些代码行可以插入到循环之外。 理由:这是一个性能警告。在循环中执行但在每个循环中执行相同操作的代码可以在循环外执行。 重要性:中等 例 49 . 例子 PROGRAM PLC_PRG VAR iCounter, iVar1, iVar2 : INT; END_VAR FOR iCounter := 0 TO 10 D
SA0145:可能使用未初始化的引用 检测任何在使用前可能未初始化且操作员未检查的参考变量 __ISVALIDREF .该规则适用于 POU 的实现部分。对于声明,有规则 SA0124 . 理由:访问前应检查引用的有效性,因为访问期间可能会发生访问冲突。 重要性:高 例 115 . 例子 PROGRAM PLC_PRG VAR_INPUT ref_iTest : REFERENCE TO INT;
SA0113:数据类型为 WSTRING 的变量 检测类型变量 WSTRING 理由:并非所有系统都支持 WSTRING .代码更容易移植,无需 WSTRING . 重要性:低 例 97 . 例子 VAR wstrTemp : WSTRING; END_VAR 输出在 留言 看法: SA0113:不允许数据类型 WSTRING 本节内容如下 :
SA0114:数据类型为 LTIME 的变量 检测类型变量 LTIME 理由:并非所有系统都支持 LTIME 代码更容易移植,无需 LTIME . 重要性:低 例 98 . 例子 VAR ltVar : LTIME; // SA0114 END_VAR 输出在 留言 看法: SA0114:不允许数据类型 LTIME 有关更多信息,请参阅: 属性“分析:报告多实例调用” 本节内容如下 :
Tool installation ¶ Note The CODESYS LibDoc Scripting Collection is now part of the CODESYS Library Documentation Support package. With this, the installing a complete Python environment is not necess
Referencing other Libraries ¶ Rule #4: Use the right way for referencing other Libraries ( Required ) Common Libraries: Placeholder Reference Interface Libraries: Newest Constraint Container Libraries
How to change a library ¶ Note Compatibility: Compatibility of two libraries usually means that they react in the same way according to the requirements of an application. Important After changing a l
TYPE_CLASS ¶ Global Variable List __SYSTEM.TYPE_CLASS {attribute 'qualified_only'} TYPE TYPE_CLASS : ( TYPE_BOOL := DWORD#0 ; TYPE_BIT := DWORD#1 ; TYPE_BYTE := DWORD#2 ; TYPE_WORD := DWORD#3 ; TYPE_D
CODESYS Development System
对象:函数 一个函数是一个 POU 它在执行时只提供一个数据元素,并且在文本语言中的调用可以作为表达式中的运算符出现。数据元素也可以是数组或结构。 通过单击将对象添加到应用程序或项目中 项目→添加对象→POU .在设备树或 POU 看来,功能 POU 有 (乐趣) 后缀。 重要 函数没有内部状态信息,这意味着函数在下一次调用之前不会保存其变量的值。调用具有相同输入变量值的函数始终提供相同的输出值。