制度,政治行动委员会

其他PLC编程语言

在美国,梯形逻辑通常用于可编程逻辑控制器(plc),但其他语言更适合一些编程应用程序。见五种语言的PLC代码示例。

由弗兰克•兰姆 2019年7月8日

在美国,大多数从事可编程逻辑控制器(PLC)编程和维护的人往往认为阶梯逻辑是唯一的PLC编程语言。这种看法很大程度上是由于PLC的历史,以及美国市场是如何被使用阶梯逻辑作为主要语言的品牌所主导的。

事实上,在广泛使用计算机和笔记本电脑编程PLC之前,手持程序员经常被用来将程序输入到PLC中。在此之前,通常要为不同的指令绘制电学图。这很像原来的继电器逻辑在PLC出现之前是如何布线的。手持设备上有时会有符号来表示不同的指令,但在图形设计背后也有基于文本的语言。

1994年,国际电工委员会(IEC)制定了一个标准,IEC 61131-3,它定义了PLC应该是什么。除了形式化的指令定义,如计时器和计数器,他们还定义了五种编程语言。

指令列表(IL)是通常转换成的基于文本的语言阶梯逻辑。有些人只把它用作机器代码的垫脚石,而机器代码最终是在处理器中编译的语言。其他品牌使用指令列表作为主要语言,并添加了根本不能用阶梯逻辑表示的指令(如语句列表)。

进一步定义了梯形逻辑,以及子程序和plc的其他方面。正如前面提到的,梯子是从继电器逻辑电路图演变而来的,这对维修电工来说是很熟悉的。

功能框图(FBD)是一些控制器使用的另一种图形化编程语言,包括分布式控制系统(DCS)控制器。它使用不同类型的块(如and、OR、比较、数学、计时器和计数器)描述输入和输出变量之间的函数。输入从设备或其他块的输出输入到块;输出将数据携带到下一个块或变量。

结构化文本(ST)是一种高级语言,类似于Pascal等计算机语言。它使用诸如Do-While或For-Next之类的迭代循环,条件语句如If-Then-Else或Case,以及其他数学函数,如Sqrt()或Sin()。

序列函数图(SFC)语言是基于一种古老的基于二进制Petri网的逻辑语言,称为Grafcet。它是一种由称为步骤的块和带有相关逻辑条件的转换组成的语言。语言中的步骤是活动的或非活动的,逻辑可以并行运行。

几年前,我认为用这五种语言编写一段简短的代码,看看它们的比较效果会如何,会很有趣。下面的逻辑建立了自动和手动模式,然后在3秒后启用一个“循环”位。它是故意通用的,但基于我使用的一些不同的PLC平台:(图1到5)

图1:指令列表编程示例;IL通常用于更复杂的数学任务和搜索。感谢:弗兰克·兰姆,自动化入门

图2:梯形逻辑编程实例;LL是最常用的PLC编程,最接近继电器使用的电路图。感谢:弗兰克·兰姆,自动化入门

图3:功能框图编程实例;FB图表很好地适用于安全电路/安全plc。感谢:弗兰克·兰姆,自动化入门

图4:结构化文本编程示例;ST可以帮助完成复杂的数学任务和搜索。感谢:弗兰克·兰姆,自动化入门

图5顺序功能图(SFC)编程示例;SFC对分段逻辑很有用。感谢:弗兰克·兰姆,自动化入门

如前所述,不同的品牌和软件包处理这些语言的方式不同。代码的语法和显示方式会根据所使用的平台而有所不同。

说明和注释通常用颜色编码,以便于阅读。一般来说,语言包需要额外付费,或者包含在编程软件的“专业”版本中。

这些语言也有不同的用途。Ladder仍然适用于直接的“敲打”逻辑,而指令列表和结构化文本通常用于更复杂的数学任务和搜索。功能框图很好地适用于安全电路/安全plc。SFC对分段逻辑很有用。

下次要编写复杂的程序时,考虑使用一些“其他”PLC语言,因为这可能会使工作更容易。

弗兰克羊肉是自动化咨询有限责任公司的创始人,是自动化底漆,是该协会的一员控制工程编辑顾问委员会。由内容经理马克·t·霍斯克编辑,控制工程《媒体,cvavra@cfemedia.com

更多的答案

关键词:梯形逻辑,编程语言

梯子逻辑在美国,用于可编程逻辑控制器(plc)的最常用的编程语言是什么

指令表、功能框图、结构化文本和顺序功能图都是有用的编程语言,可能比梯形更合适,这取决于应用程序。

考虑一下这个

什么编程语言你用过梯子以外的逻辑吗?为什么?


弗兰克羊肉
作者简介:Frank Lamb是Automation Consulting LLC的创始人,Automation Primer的创始人,也是控制工程编辑咨询委员会的成员。