CODESYS Development System
属性:call_before_global_exit_slot 重要 VAR_INPUT 使用该属性的函数或方法中的声明会导致编译错误。原因:在这种情况下,调用时输入变量是未知的,这在在线更改期间隐式发生。 这个 pragma 的效果是所有设置了这个属性的函数和程序都在 GlobalExit . GlobalExit 发生在新下载或重置之前。提供的功能块 FB_Exit 方法受到影响。调用顺序由属
CODESYS Development System
属性:const_replaced、const_non_replaced 这 'const_replaced' 属性具有在代码中替换常量的效果,与 替换常量 编译器选项。该属性仅对标量类型的变量有效,但对数组和结构等复合类型无效。 你插入 pragma {attribute 'const_non_replaced'} 因此,为了明确停用 替换常量 编译器选项。 这具有效果,例如在 符号配置 ,尽管
CODESYS Development System
属性:linkalways 语用 {attribute 'linkalways'} 指示编译器始终在编译信息中包含 POU 或库 POU。在构建期间,POU 被编译并且是应用程序代码的一部分。在下载过程中,POU 被下载到 PLC。 句法 : {attribute 'linkalways'} 插入位置:POU或库POU的声明部分的第一行 POU 可能在整个项目期间都有效(保存在 POU 查看)或整
CODESYS Development System
属性:monitoring_encoding 属性 pragma 允许用于数据类型的变量 STRING 对于别名数据类型 type 的变量 STRING 。该属性的作用是用它标记变量的值,以便在监视期间以 UTF-8 格式解码。 句法 : {attribute 'monitoring_encoding' := 'UTF8'} 插入位置:变量声明上方 例 256 . 例子 PROGRAM PLC_P
CODESYS Development System
属性:no_assign、no_assign_warning 语用 'no_assign' 如果将功能块的一个实例分配给同一功能块的另一个实例,则会导致显示编译器错误。如果功能块包含指针并且指针会导致问题,则通常应避免此类分配,因为在赋值期间它们也会被复制。 语用 'no_assign_warning' 结果与编译指示相同 'no_assign' 带有编译器警告而不是编译器错误。 句法 : {at
CODESYS Development System
属性:noinit 该 pragma 应用于不应被隐式初始化的变量。 句法 : {attribute 'no_init'} {attribute 'no-init'} {attribute 'noinit'} 插入位置:声明部分相关变量的声明行上方的行。 例 259 . 例子 PROGRAM PLC_PRG VAR iA : INT; {attribute 'no_init'} iB : INT;
CODESYS Development System
属性:pin_presentation_order_inputs、pin_presentation_order_outputs 重要 当 {attribute 'pingroup' := '<Group_Name>'} 使用了编译指示。 编译指示在 CFC、FBD 和 LD 图形编辑器中进行评估,导致受影响功能块的输入/输出顺序按指定显示。您可以通过按所需顺序将输入/输出的名称分配给属性来对顺序进
CODESYS Development System
编译器错误 C0243 信息 : 签名中使用的名称与对象名称不同 可能的错误原因 :对象名称与代码中使用的名称不同。 错误修正 : 确保名称相同。 例 435 . 错误示例: 本节内容如下 :
CODESYS Development System
编译器警告 C0298 信息 :由于从“<递归方法名称>”开始的递归调用,堆栈使用量的计算不完整。 可能的原因 :对于具有递归调用的方法,无法成功执行堆栈检查,因为无法确定堆栈的使用情况。 纠错 : 使用 estimated-stack-usage 属性为方法提供堆栈大小要求的估计值(以字节为单位)。 例 436 . 错误示例: METHOD PUBLIC m_Recursive : UDINT
CODESYS Development System
编译器错误 C0380 信息 :运算符 LOWER_BOUND 和 UPPER_BOUND 仅支持可变长度的数组。 可能的错误原因 : 两个运算符 LOWER_BOUND 或 UPPER_BOUND 之一不用于可变长度数组。 错误修正 :仅对可变长度数组使用运算符 LOWER_BOUND 和 UPPER_BOUND。 提示 对于编译器版本 3.5.14.0 及更高版本,运算符也可用于静态数组。因此