综合编辑器可使用 FBD(功能块图)、LD(梯形图)和 IL(指令表)语言进行编程。
FBD 和 LD 编程的基本单元是网络。每个网络都包含一个结构,可表示以下内容:逻辑或算术表达式、POU(函数、功能块、程序等)调用、跳转或返回指令。IL 实际上不需要网络。不过,在CODESYS 中,一个 IL 程序至少还包括一个网络,以支持向 FBD 或 LD 的转换。有鉴于此,您还应将 IL 课程有意义地划分为若干网络。
功能块图 (FBD)
功能块图是一种面向图形的 IEC 61131 编程语言。它使用网络列表工作,每个网络包含一个结构,该结构可包含逻辑和算术表达式、函数块调用、跳转或返回指令。
这里使用了布尔代数中熟悉的方框。方框和变量之间用连线连接。网络中的信号流从左向右流动。编辑器中的信号流从上至下,从网络 1 开始。
示例

CFC 也是一种编程语言,其原理与 FBD 相同,但有以下区别:
-
CFC 编辑器不是面向网络的。
-
您可以在 CFC 编辑器中自由放置元素。
-
可以直接插入反馈信息。
-
执行顺序由当前插入的元素列表决定,您可以更改该列表。
梯形图 (LD)
梯形图(LD)是一种面向图形的编程语言,近似于电路图。梯形图一方面适用于设计逻辑开关单元,另一方面也可以像 FBD 一样创建网络。因此,您可以很好地利用 LD 来控制其他程序块的调用。
梯形图由一系列网络组成。网络左侧以垂直线(母线)为界。网络包含由触点、线圈、可选盒 (POU) 和连接线组成的电路图。在网络的左侧,有一个或一系列触点,用于传递接通或断开状态,从左到右分别对应于布尔值TRUE
和FALSE
。每个联系人都有一个布尔变量。如果该变量为 "true",状态将通过连接线从左到右传递。否则转发 OFF。这样,网络右侧的线圈就能接收到来自左侧的 ON 和 OFF
值,并将相应的 TRUE 或 FALSE 值写入分配给它们的布尔变量中。
如果元件串联,则意味着 AND 运算。如果并联,则意味着 OR 运算。通过元素的直线表示该元素的否定。输入或输出的否定用圆圈符号表示。
示例

IEC 61131-3 定义了完整的 LD 指令集,包括不同类型的触点和线圈。触点从左到右传导电流(根据其类型)。线圈存储输入值。触点和线圈分配给布尔变量。您可以通过跳转、返回、标签和注释对 LD 网络进行补充。
另见
-
⮫ “Menu 'FBD/LD/IL'”(Befehle)
指令清单 (IL)
指令表是一种类似编译程序的 IEC 61131 兼容编程语言。它支持基于累加器的编程。
指令表 (IL) 由一系列指令组成。每条指令都以新行开始,包含一个运算符和一个或多个操作数(取决于操作类型),操作数之间用逗号隔开。可以在指令前面加上标签,后面加冒号。它用于识别指令,并可将标签用作跳转目标。注释必须是一行中的最后一个元素。指令之间可以插入空行。
支持所有 IEC 61131-3 操作符,以及多输入、多输出、否定、注释、输出设置/复位和条件/非条件跳转。
每条指令都主要基于将数值装入累加器(LD
指令)。然后,利用累加器中的参数执行相应的操作。运算结果会再次写入累加器,然后在ST
指令的帮助下有目的地将其存储在累加器中。
指令列表支持比较运算符(EQ、GT、LT、GE、LE、NE)和用于条件执行或循环编程的跳转。跳转可以是无条件的(JMP),也可以是有条件的(JMPC / JMPCN)。在条件跳转的情况下,要检查累加器中的值是TRUE
还是FALSE
。
示例
