首页 > 应用 > 物联网

可编程逻辑控制器(PLC)软件语言概述

Stephen St. Michael 2019-07-11

使用可编程逻辑控制器(PLC)的一个重要部分 ,IEC 61131-3是可编程逻辑控制器国际标准的第三部分。在本标准的这一部分中,列出了PLC的软件体系架构和有效的编程语言。该标准列出了五种不同的语言,其中三种是图形语言,另外两种是基于文本的。语言如下:阶梯图;功能区块图;顺序功能流程图;结构化文字;指令表(第3版标准已弃用)。I36电子头条

 I36电子头条

阶梯图I36电子头条

 I36电子头条

梯形图,通常称为梯形逻辑,是用于PLC编程的最主要语言之一。I36电子头条

 I36电子头条

功能区块图I36电子头条

 I36电子头条

梯形逻辑可以帮助工程师和技术人员习惯于将逻辑转换为PLC编程。尽管如此,当梯级数量变得太多时,梯形逻辑程序仍然难以维护和修改。大型系统可以在CPU上运行多个子程序,每个子程序具有数百个阶梯逻辑梯级。梯级三上的内部位可以在阶梯上进一步使用。这有明显的问题,并导致创建更现代的语言。功能区块图(FBD)可能是工业控制中使用最广泛的编程语言。它是一种图形语言,其中系统功能通过接受系统变量作为输入并生成系统变量和控制信号作为输出的块来描述。例如,可以使用AND功能块,而不是将两个XIC指令串联。这可以大大简化编程结构,并在需要时添加额外的抽象级别。下图显示了施耐德电气网站的FDB示例图。I36电子头条

 I36电子头条

可编程逻辑控制器(PLC)软件语言概述I36电子头条

功能区块图语言编写的程序示例。图片由施耐德电气提供。 I36电子头条

 I36电子头条

注意AND块的一个输入如何来自系统的最终输出;在这种情况下,FBD图比梯形逻辑梯级的集合更容易读取。除了AND和OR块之外,该图还使用SR锁存器、接通延迟定时器和类型转换指令。功能区块图通常看起来像一个大型数字逻辑图。重要的是要认识到,尽管它的外观,功能区块图总是被分解为CPU执行的一系列顺序指令。相反,数字逻辑可以是组合逻辑也可以是顺序逻辑,并且两个不相关的逻辑块总是同时运行并且可以具有不同的时钟速度。I36电子头条

 I36电子头条

其他PLC语言I36电子头条

 I36电子头条

虽然顺序功能流程图(SFC)、结构化文字(ST)和指令表(IL)不如FBD常见,但它们在某些应用中很有价值,并在许多工业系统中使用。I36电子头条

 I36电子头条

SFCI36电子头条

 I36电子头条

SFC是一种图形语言,其中图表被分解为一系列步骤和转换。这些步骤对数据和I / O执行操作,而转换则充当控制程序从一个步骤流到另一个步骤的条件语句。SFC最有效的地方是批处理单元。在批处理控制中,逐个添加成分,然后对这些成分进行操作。这这就像遵循烹饪食谱,配料被搅拌、泵送和反应,而不是混合、倒出和烘焙。I36电子头条

 I36电子头条

STI36电子头条

 I36电子头条

对于具有编程背景的人来说,其他两种语言看起来更为熟悉。ST是PLC的高级编程语言,很像C或BASIC。代码简洁、模块化,支持高层次的抽象。当需要大量的数学或数据操作时,经常使用ST。嵌套的if-else块、循环和数组通常过于繁琐而无法以图形方式编程。I36电子头条

 I36电子头条

ILI36电子头条

 I36电子头条

IL基本上是PLC的汇编代码。它使用简化的指令集,但具有熟悉的命令,如加载、存储和跳转。虽然IL非常高效,但它已被IEC弃用,并且不太可能在未来的PLC中实现。I36电子头条