概述
FBD、LD 编程的基本单位是网络。每个网络都包含一个结构,可以表示 1) 逻辑或算术表达式,2) POU(函数、功能块、程序或库 POU)的调用,或 3) 跳转或返回指令。
IL 实际上不需要网络。然而,在 CODESYS IL 程序还包含至少一个网络,以支持到 FBD 或 LD 的转换。鉴于此,您还应该将 IL 程序有意义地划分为网络。
功能框图 (FBD)
功能框图是一种面向图形的 IEC 61131 编程语言。它适用于网络列表。这样,每个网络都包含一个结构,该结构可以包含逻辑和算术表达式、功能块的调用、跳转或返回语句。
这里使用了布尔代数中常见的盒子。框和变量通过连接线连接。网络中的信号流是从左到右的。编辑器中的信号流从网络 1 开始从上到下运行。

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

IEC 61131-3定义了完整的LD命令集,由不同类型的触点和线圈组成。触点从左到右传导电流(根据其类型)。线圈存储输入值。触点和线圈被分配给布尔变量。您可以使用跳转、返回、标签和注释来补充 LD 网络。
指令表(IL)
指令表是一种类似于汇编程序、符合 IEC 61131 标准的编程语言。
它支持基于累加器的编程。
指令表(IL)由一系列指令组成。每条指令都以新行开始,并包含一个运算符和一个或多个用逗号分隔的操作数,具体取决于操作类型。
后跟冒号的标签可以放置在指令前面。它用于指令的标识,可以使用标签作为跳转目的地。
注释必须是一行中的最后一个元素。指令之间可以插入空行。
支持所有 IEC 61131-3 运算符,包括多个输入、多个输出、否定、注释、输出设置/重置以及条件/无条件跳转。
每条指令主要基于将值加载到累加器中(LD
操作说明)。之后,使用累加器中的参数执行相应的操作。操作的结果再次写入累加器,您应该在累加器的帮助下专门将其存储在累加器中 ST
操作说明。
指令表支持比较运算符(EQ, GT, LT, GE, LE, NE
) 以及用于条件执行或循环编程的跳转。跳转可以是无条件的 (JMP) 或有条件的 (JMPC/JMPCN)。在条件跳转的情况下,将检查累加器中的值是否为 TRUE
或者 FALSE
。
