结构化文本 (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 项目,同时最大限度地分配内存。

(0)

相关推荐

  • 更智能、更高效的PLC编程

    本文来自于<控制工程中文版>(CONTROL ENGINEERING China )2016年8月刊杂志,原标题为:更智能.更高效的PLC编程 在实际应用中,PLC编程人员更倾向于使用哪些 ...

  • PLC编程,你比较习惯哪种语言呢?不妨试试ST吧

    大家都知道PLC编程有很多语言可选择,在学习 CoDeSys 的过程中常会问一个问题,哪种编程语言最好? 其实,没有哪种编程语言是绝对的好或不好,不同的工程应用具有不同的最佳编程方式,每种编程语言都具 ...

  • SCL语言编程从入门到精通

    SCL语言基础 1.计算机编程语言的变迁 2.PLC编程语言现状 3.PLC编程语言的趋势分析 4.二进制数的诠释 5.常用的数制与码制 6.面向过程与面向对象 7.全局变量与局部变量 8.主程序与子 ...

  • PLC编程语言知多少?

    图片来源:宏德自动化 作者:Frank Lamb " 梯形图逻辑通常是PLC使用最多的图形编程语言,但在某些特定的编程应用中其他语言可能更适合. " 在美国,大多数参与可编程逻辑控 ...

  • 无讼创始人蒋勇:法律数据的结构化特征让人工智能的应用有了更好的基础

    无讼创始人 蒋勇 企业经营的方方面面都和法律有关,法律能力必不可少.据统计,中国有4000万企业,其中只有不到1%的企业拥有法务,绝大多数企业,尤其是中小企业,处于法务职能空缺的状态. 记者 | 郭敏 ...

  • 结构化思维,掌握思考必备的一项核心基础

    真实的世界,是[三维的空间]外加[一维的时间],构成了四维的时空,而这四维的时空,是对真实世界的极端抽象,映射到大脑内在的思维. 大脑内在的四维时空是对真实世界的一种[设计]表述. 外在的世界会映射到 ...

  • 【文本信息抽取与结构化】详聊如何用BERT实现关系抽取

    常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识图谱.信息抽取.文本摘要这些任务中格外明 ...

  • 【文本信息抽取与结构化】深入了解关系抽取你需要知道的东西

    常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识图谱.信息抽取.文本摘要这些任务中格外明 ...

  • 【文本信息抽取与结构化】详聊文本的结构化【下】

    常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识图谱.信息抽取.文本摘要这些任务中格外明 ...

  • 【文本信息抽取与结构化】详聊文本的结构化【上】

    常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识图谱.信息抽取.文本摘要这些任务中格外明 ...

  • 【文本信息抽取与结构化】目前NLP领域最有应用价值的子任务之一

    常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识图谱.信息抽取.文本摘要这些任务中格外明 ...

  • 程序员必备的思维能力:结构化思维

    在日常工作中,我们时常会碰到这样的情况,有的人讲一件事情的时候逻辑非常混乱,说了很多事情的罗列,却说不到重点.有的人写代码,本身的业务逻辑并没有多复杂,但呈现出的代码却像一堆线团,混乱不堪,无法理解. ...

  • 结构化思维:如何进行高效沟通和思考?

    结构化思维是最值得我们学习的一种能力.它应用广泛,在沟通解决问题和知识学习中都需要用到:而且容易培养,属于沟通能力中占比较大的能力. 1 我们所处的互联网时代,对我们提出了碎片化学习的要求.结构化思维 ...