MEMORY_AREA ¶ Global Enum Type __SYSTEM.MEMORY_AREA {attribute 'qualified_only'} TYPE MEMORY_AREA : ( MEM_UNKNOWN := -1 , MEM_MEMORY := 0 , MEM_INPUT := 1 , MEM_OUTPUT := 2 , MEM_RETAIN := 3 , MEM_GLO
VAR_INFO ¶ Example VAR aiData : ARRAY [0..9] OF INT ; (* My measurements *) viInfo : __SYSTEM.VAR_INFO ; END_VAR viInfo := __VARINFO ( aiData ); A monitoring snipped of the variable viInfo ¶ TYPE VAR_
CODESYS Development System
对象:POU 象征: 类型的对象 POU 是一个“编程组织单元” CODESYS 项目。控制器程序的源代码是用 POU 编写的。 有以下 POU 类型: 程序 功能 功能块 你添加一个 POU 在设备树或 POU 通过查看 项目 → 添加对象 命令。添加 POU 时,您指定 POU 类型和实现语言。 您还可以将其他编程对象(方法、操作等)添加到这些对象。 调用 POU 某些 POU 可以调用其他
CODESYS Development System
对象:功能块 功能块是在执行时产生一个或多个值的 POU。 通过单击将对象添加到应用程序或项目中 项目→添加对象→POU .在设备树或 POU 查看,功能块 POU 具有 (FB) 后缀。 它总是通过作为功能块副本的实例调用功能块。 功能块的编辑器由声明部分和实现部分组成。 输出变量和内部变量的值在执行后保持不变,直到下一次执行。这意味着功能块不必为具有相同输入变量的多次调用返回相同的输出值。 除
CODESYS Development System
对象:函数 一个函数是一个 POU 它在执行时只提供一个数据元素,并且在文本语言中的调用可以作为表达式中的运算符出现。数据元素也可以是数组或结构。 通过单击将对象添加到应用程序或项目中 项目→添加对象→POU .在设备树或 POU 看来,功能 POU 有 (乐趣) 后缀。 重要 函数没有内部状态信息,这意味着函数在下一次调用之前不会保存其变量的值。调用具有相同输入变量值的函数始终提供相同的输出值。
CODESYS Development System
对象:接口 象征: 关键词: INTERFACE 接口是面向对象编程的一种手段。物体 ITF 描述了一组方法和属性原型。在这种情况下,原型意味着 方法 和 特性 只包含声明,不包含实现。 这允许以相同方式使用具有共同属性的不同功能块。一个 国际乒联 通过单击将对象添加到应用程序或项目中 项目→添加对象→接口 有关更多信息,请参阅: 实现一个接口 表 47 . 添加接口 遗产 姓名 接口名称 先进的
CODESYS Development System
对象:方法 象征: 关键词: METHOD 方法是 IEC 61131-3 标准的扩展,是面向对象编程的工具,用于数据封装。方法包含声明和实现。但是,与函数不同的是,方法不是独立的 POU,它从属于功能块或程序。方法可以访问上级 POU 的所有有效变量。 您可以在程序或功能块下方添加方法。点击 项目 → 添加对象 → 方法 .然后 添加方法 对话框打开。 您可以使用接口来组织方法。 有关详细信息,
CODESYS Development System
编译器警告 C0565 信息 :功能块或结构的“FB_Exit”方法需要 BOOL 类型的输入“bInCopyCode”。 可能的原因 :输入 bInCopyCode 类型 BOOL 不见了。 更正 : 定义输入。 例 446 . 警告示例: PROGRAM PLC_PRG VAR inst : FB; END_VAR FUNCTION_BLOCK FB METHOD FB_exit VAR_IN
CODESYS Development System
编译器警告 C0566 信息 : 功能块或结构的 FB_ReInit 方法必须没有输入和 BOOL 类型的返回值。 FB_ReInit 不会被自动调用。 可能的原因 : 一个或多个输入被定义为 FB_ReInit . 输出不仅是一个 BOOL 多变的。 更正 :删除的输入 FB_ReInit 方法。确保 FB_ReInit 方法只有一个输出,这个输出是类型 BOOL . 例 447 . 警告示例
CODESYS Development System
编译器警告 C0567 信息 : 接口 <接口名称 1> 不扩展 __System.IQueryInterface 可能的原因 : 接口库的每个接口都必须扩展 __System.IQueryInterface .使用的接口不扩展 __System.IQueryInterface . 例 448 . 例子 PROGRAM PLC_PRG VAR ITFref : ITF; ITFref2 : ITF