结构化文本 (ST) 编程基础
在本文中,我们将讨论利用结构化文本进行 PLC 编程的基础知识。
作为IEC-61131 PLC 编程语言之一,结构化文本或只是ST基于并类似于 Python 或 Java 等传统编程语言。与梯形逻辑或功能块图等视觉或图形编程不同,构化文本就是这样,文本!
结构化文本编程优势
与所有编程语言一样,结构化文本也有优点和缺点,作为程序员,您可能会在下一个 PLC 编程项目中选择使用结构化文本,这也是有原因的,所以让我们开始吧。
1) 无需PLC编程背景
由于结构化文本类似于传统的高级编程语言,因此对于许多可能没有 PLC 编程背景但有传统编码经验的人来说,学习和开发 PLC 项目是相当容易的。
2)ST是基于文本的
在大多数情况下,您也可以在不使用 PLC 编程软件的情况下开发结构化文本 PLC 编程项目。由于它是基于文本的,因此您可以在一个简单的文本文件中编写您的项目,并在准备好后将其复制并粘贴到您的 PLC 项目中。
这也使您在调试时更容易编辑您的项目。虽然结构化文本的这个功能非常有用,请记住,没有你的编程软件,如TIA门户网站或的RSLogix,你不能编译和调试程序。
大多数PLC 制造商在其 PLC 中支持不同的编程语言,这是因为程序员选择特定编程语言的原因有很多。
这些原因可以很简单,从客户对特定编程语言的请求一直到编程项目的大小。
3)ST是一种轻量级的编程语言
由于结构化文本根据定义是基于文本的,这意味着它没有内存密集型图形界面,这可以允许较小的处理器内存,从而降低成本。
这使得结构化文本成为控制器内存非常宝贵的大型 PLC 程序的理想选择。
4) ST 编程文件可以很容易地共享
有时,您可能希望使用结构化文本,因为您需要一遍又一遍地部署相同的 PLC 程序,例如在发送给客户进行交钥匙启动的打包机器中。
在这些情况下,您的 PLC 程序文件可以离线存储在文本文件或 Word 文档中,并且可以轻松地作为电子邮件附件发送,供其他人下载到PLC 中并进行部署。
ST语法的基本规则
结构化文本的语法遵循一些基本规则。
– 首先,结构化文本中的所有语句都以分号结尾。
– 例程将以 End_If 语句结束。
- 不需要空格和制表符,但优秀的程序员仍会使用它们来提高可读性。
– 此外,结构化文本不区分大小写,但如果您要分配变量,称为标记或符号,例如控制阀 1,则使用驼峰式ControlValve1是一个很好的做法。
ST编程中注释的使用
结构化文本的另一个非常常见和有用的语法是使用注释。作为初级程序员,注释的使用对于创建以后可以阅读的代码至关重要。
以下是结构化文本编程中的注释示例:
(*这行代码将关闭控制阀 1*)
如您所见,要在结构化文本中添加注释,您将以左括号开始,后跟星号。要结束您的评论,您将添加另一个星号,后跟一个右括号。
结构化文本运算符
结构化文本还使用运算符来操作数据。运算符的一些示例是逻辑运算符,例如 AND、OR 和 NOT。逻辑运算符用于比较布尔数据并从中创建逻辑。
结构化文本示例
结构化文本中的逻辑运算符示例如下所示:
在这种情况下,如果控制阀 1 没有关闭,程序将根据指令之后的任何指令执行。
这是另一个例子:
在这种情况下,如果控制阀 1 关闭,或者如果另一个并行条件为真,则程序将根据指令之后的任何后续指令执行。
请记住,仅仅因为表达式告诉我们控制阀 1未关闭,我们仍然不确定它是否打开!我们需要创建逻辑来告诉我们它是开放的。
让我们在结构化文本中创建一个简单的语句,以在控制阀打开时打开泵。
首先,让我们从评估控制阀的状态开始。您将需要使用此语句确保阀门已打开。如果ControlValve1_Closed为假且ControlValve1_Open为真。
通过此语句,您已评估控制阀未关闭且控制阀已打开。
现在,让我们打开泵。为此,您将添加then Pump_Start is true到语句中。
现在泵正在运行,您需要添加逻辑以在控制阀关闭时停止泵。为此,您只需将另一条语句添加到逻辑中,如…… IF ControlValve1_Closed为 TRUE 或ControlValve1_Open 为 FALSE THEN pump start 为 FALSE。
ELSIF 语句
现在让我们把所有的语句放在一起来创建一个例程。为此,您将拥有第一个语句,然后在其下方添加ELSE。接下来,您将拥有第二个语句,然后 在最后添加... END_IF。
使用此程序,如果控制阀 1 未关闭且打开,则泵启动。
否则,如果控制阀 1关闭且未打开,则泵停止。很容易,对吧?
为了让其他人更容易阅读和理解此例程,您还可以在其上方添加注释。
因此,您将使用左括号后跟一个星号,然后添加……此例程将在控制阀打开时启动泵,并在控制阀关闭或未打开时停止泵。要关闭评论,您将添加另一个星号,后跟右括号。
恭喜!您刚刚在结构化文本中创建了第一个例程!多酷啊?虽然这个简单的教程是对结构化文本的介绍,但在您的项目中添加使用结构化文本的能力将是您程序员工具箱中的另一个强大工具。
它允许您快速有效地创建大型复杂 PLC 项目,同时最大限度地分配内存。