当您听说 PLC 编程时,其中使用的五种语言是 - 梯形逻辑、结构化文本、功能框图、顺序流程图和指令表。任何语言,一旦理解,都可用于编写应用程序代码并正确运行机器。
最佳 PLC 编程语言
图 - 示例梯形逻辑
但通常,新的 PLC 程序员会对使用什么来编写程序感到困惑。如果他了解一种语言的优点和缺点,那么他可以轻松确定使用什么来编写 PLC 程序。因此,有必要了解它们之间的区别并确定使用哪种语言进行编码。在这篇文章中,我们将看到哪种语言最适合 PLC 编程。
梯形逻辑
梯形逻辑是最基本的 PLC 编程语言类型。它可以很容易地与电气接线控制图相关联。传统上,电气控制接线用于根据提供的输入来操作输出。
由触点和线圈组成的梯形逻辑图在梯形逻辑编程中以相同的方式实现。您有一系列梯级,每个梯级都有触点和线圈。当梯级通电时,线圈会根据其类型相应地运行。
您可以在程序中编写任意数量的梯级,代码将相应地执行。当您看到它时,它与梯子相似,因此,它被命名为梯形逻辑。请参阅下图以了解。你可以看到它是多么简单。
在上图中,与继电器逻辑图中的开关设备相关的输入在梯形图中显示为触点。继电器逻辑图中的M1输出线圈在梯形图中用输出线圈符号表示。
梯形图中每个触点/线圈符号上方出现的地址号是指逻辑控制器的外部输入/输出连接的位置。因此,在两个末端电源轨之间,您可以放置所需的元素并在其中写入逻辑。梯级以循环方式从上到下执行。
结构化文本
结构化文本可以说是本地 IT 级语言。结构化文本语言的相似性与我们用软件语言编写的代码非常相似。顾名思义,结构化文本是以赋值方式编写的一系列文本。
指令必须以分号结尾。执行赋值时,单个或多元素变量的当前值将由表达式求值的结果替换。
赋值由左侧的变量规范、后跟赋值运算符:=、后跟要求值的表达式组成。两个变量(赋值运算符的左侧和右侧)必须具有相同的数据类型。请参阅下图进行理解。
如您所见,它具有不同类型的操作和条件。在上面的示例中,if-else 语句用于求值表达式。如果条件为真,则输出端分配的变量将打开,当条件为假时,变量将关闭。因此,ST 语言最适合数学计算,因为它看起来很简单易懂。
顺序流程图
当您想要以重复或顺序的方式编写复杂程序时,顺序流程图是最先进的工具。顾名思义,SFC 语言允许您通过流程图编写程序。它以步骤、分支、链接、跳转和转换的方式工作。
SFC 部分是“状态机”,即状态由活动步骤创建,转换传递切换/更改行为。步骤和转换通过定向链接相互链接。
两个步骤永远不能直接链接,必须始终由转换分隔。活动信号状态过程沿着定向链接进行,并通过切换转换触发。请参阅下图以了解。
链式流程的方向遵循方向链接,从前一步的末尾运行到下一步的顶部。分支从左到右处理。每个步骤都有零个或多个操作。
每个转换都需要一个转换条件。链中的最后一个转换始终连接到链中的另一个步骤(通过图形链接或跳转符号)以创建闭环。因此,步骤链是循环处理的。
功能框图
功能框图 (FBD) 语言通常用于微处理器,在 PLC 编程中也有类似的格式。它是相互连接的块的图表,每个块都有其输入和输出。
FBD 语言非常容易排除故障,因为您可以在一个视图中直接查看整个代码,而不必上下滚动。这有助于快速维护,还可以提高编程效率。请参阅下图以了解。
如您所见,您可以通过线路轻松连接各种类型的功能和块,这显示了逻辑中的流程。您只需分配输入和输出引脚,连接这些引脚之间的线路,您的代码就会相应地工作。
指令表
用指令表语言编写的程序由一系列由逻辑控制器按顺序执行的指令组成。
每条指令由单个程序行表示,并由以下组件组成 - 行号、仅可在线查看的当前值、指令运算符和操作数。请参阅下图以了解。
你可以看到每一行只执行一个操作。与梯形逻辑中使用的触点和线圈不同,你拥有相应的加载指令和设置/重置指令。它是梯形逻辑和结构化文本的混合体。这就是为什么它也被称为类似于汇编语言的原因。当你在PLC 上线时,你可以在这个窗口中看到动画值。
当我们看到这五种语言时,我们发现程序员最常用的是梯形逻辑、结构化文本和功能框图。每种语言都有其优点和缺点。但是,这三种语言都很容易理解、解释和设计。这有助于程序员正确地设计逻辑。
这并不意味着剩下的两种语言没有被使用。这取决于程序员使用什么来实现编码的技能。所以,很难评论哪种语言最好;但是,在这三种语言中,梯形逻辑也是最常用的。
Edited by leiwenge