指令表(IL)、梯形图(LD)都是PLC 的常用编程语言?图文详解
PLC 是一种工业控制计算机,其软件必然是通过编程语言来编辑的。
目前 PLC 常用的编程语言有梯形图、指令语句表和顺序功能图。功能块图和结构文本高级语言则存在于某些PLC中。
一、指令表(IL)
指令语句表也叫助记符或列表,是基于字母符号的一种语言,类似于计算机的汇编语言。
这种编程语言是用一系列操作指令组成的 语句表将控制流程描述出来,并通过编程器或者编程软件送到PLC中去,指令语句表是由若干条语句组成的程序,语句是程序的最小单元。一个操作功能是由一条或若干条语句来完成的。PLC的操作指令系统比计算机的汇编语言简单很多。但表达形式类似。也是由地址、操作码和操作数三部分组成,关于FX2N的具体操作指令待讲解程序编制时再作介绍。
下图为—指令表程序(FX2N PLC)
若果把指令表的逻辑关系写成逻辑表达式则为:
Y0=(X0+Y0)* X1
不同品牌的PLC其指令表的形式是相同的,但是指令的符号表示,各编程元件表示则相差很大。
指令表编程语言是最基本的程序设计语言。它具有容易记忆便于操作的特点,它可以用最简单的编程工具—手持编程器进行编程。它与其他语言多有一一对应的关系,而且,一些其他语言无法表达的程序用它都可以进行表达。它的缺点是阅读困难,其中的操作功能很难一眼看出,不便于工控人员之间进行交流和沟通
早期,在编程软件普及前一般都是先用梯形图设计程序,然后再手工编译成指令表程序,最后用手持编程器将程序送入PLC。现在,编程软件已经普及,在编程软件上,我们只要编好梯形图程序,软件会自动编译成指令表程序。所以,我们今后重点是梯形图编程语言的学习和编程软件的操作。对指令表编程语言则不作进一步讲解。但是,PLC的各种操作指令的学习则是必不可少的编程基础。
二、梯形图(LD)
梯形图编程语言习惯上叫梯形图。其源自继电控制系统电气原理图的形式,也可以说,梯形图是在电气控制原理图上对常用的继电器,接触器等逻辑控制基础上简化了符号演变而来的,
由于PLC在结构上,工作原理都和继电器控制系统截然不同,因而他们之间必定存在着许多差异。初学者可以通过继电器控制电路图切入梯形图,但一旦入了门,则必须完全离开继电控制电路图
下图为根据指令表这一节中的指令表程序所画出的梯形图,其功能和指令表程序一样,但理解却容易多了,电工师傅们一看就知道,这是一个电动机起、保、停控制程序
和指令表编程语言一样,尽管都是梯形图,但各个厂家PLC对梯形图的画法还是有差别的。对最基本的逻辑控制指令差别并不大,但对功能指令(实现数据操作的指令)的表达上差别非常大。这也是为什么学习三菱PLC后再学习西门子S7-300/400,很多人感到不好学的原因之一。
梯形图语言优点非常特出,形象、直观、易学、实用,电气人员容易接受,是目前所有PLC都具备的编程语言,也是用的最多的一种PLC编程语言。
往期优秀文章回顾:
电气工程师的PLC基础应用实例:S7-200 SMART如何实现喷泉控制?
PLC编程入门,先来认识6种编程语言~附赠详细解读!
传统的PLC编程语言只有两种,指令表(IL)及梯形图(LD),有的称梯形逻辑图(LLD)。而今为便于各类型的工程技术人员都能使用PLC,PLC厂商都增加了它的编程语言。
我国在1995年11月发布了GB/T 15969-1/2/3/4标准,与IEC 61131-1/2/3/4等同。该标准推荐了6种编程语言,除了指令表及结构化文本(ST)为文字语言,还有梯形图、功能块图(FBD)、连续功能图(CFC)及顺序功能图(SFC)等图形语言。
目前,IEC 61131-3编程语言不仅用于PLC,而且还用于集散型控制系统、工业控制计算机、数控系统和远程终端单元。
由于这个标准的建立是在PLC已广泛使用之后,加上它不是强制性标准,所以,有些老的PLC厂商还是在原来语言的基础上做了扩展,并没有完全采用这个标准。再就是,即使语言相同,但细节还是有不少差异。
倒是国产PLC,如和利时公司的LM、LK系列机,是在有了标准之后才开发的,能全面采用这个标准。再就是ABB公司的PLC也使用标准规定的6中语言编程。
下面就给大家简要介绍一番:
指令表(IL)
指令表语言是PLC编程最基本的语言。但是,用它编的程序,可读性较差,目前已不常用。故不在此做介绍。
结构化文本语言(ST)
ST语言与BASIC语言、PASCAL语言或C语言等类似。它没有单一的指令,只有由一组指令构成的含义完整的各种语句。具体语句有赋值语句、条件语句、选择语句、循环语句及其他语句(EXIT语句、RETURN语句、功能块调用语句等)。
不同品牌PLC的ST语言所提供的函数、运算符可能略有不同。
ST语言功能比图形语言强,但不如图形语言直观,目前用的还不大普及。如欧姆龙PLC只是在自编功能块的程序中才可使用它。
同样为ST语言,各PLC厂商的细节不完全一样。
梯形图(LD)
梯形图来源于美国,是一种基于梯级的图形符号布尔语言。
梯形图语言与电气原理图相对应,与原有继电器逻辑控制技术相一致。与原有的继电器逻辑控制技术不同的是,梯形图中的功率流不是实际意义的电流,内部的继电器也不是实际存在的继电器。
梯形图的左母线好像电气原理图的电源线一样,一般不直接与输出类指令(相当于电气原理图的负载)相连,中间总要有能建立逻辑条件的一些指令(相当于电气原理图的控制元件)。但有的PLC也允许这么做。
用梯形图符号编的PLC程序,很像电气原理图。如上图所示。图b为施耐德公司Naza PLC用的梯形图。
下图所示为与IL语言程序对应的梯形图程序
▼
关于梯形图的文章有很多,在此不再赘述,本公众号以前也发过几篇文章,大家可以去看一看:
功能块图(FBD)
FBD语言(一种对应于逻辑电路的图形语言),与电子线路图中的信号流图非常相似。FBD广泛地用于过程控制。
FBD语言是以功能模块为单位,描述控制功能。特别是控制规模较大、控制关系较复杂的系统,用它表达将更为方便。
目前,PLC厂商推出一些高功能及高性能的硬件模块的同时,多提供与其有关的功能块图程序,这为用户使用这些硬件及进行编程提供了很大方便。
FBD语言占用内存较大,执行时间较长,因此,这种语言多只在大、中型可编程序控制器和集散控制系统的编程和组态中采用。
连续功能图(CFC)
CFC与FBD类似,也是按需要选用种种功能块。所不同的是,它更灵活,块的位置可任意摆放,特别有信号反馈时,画起来更方便。
为了块的执行有明确的顺序,它的每个块的右上角都标有序号。但在实际表达时,这个标号也可选择不显示。
FBD及CFC语言在DCS系统编程中用得较多。此外,由于这两种语言差别不大,有时,仅使用FBD语言。因而,有的也把IEC 61131-3自动化编程语言说成5种。
顺序功能图(SFC)
SFC语言以描述控制程序的顺序为特征,以图形方式,简单、清楚地描述系统的所有现象,并能对系统中存有的像死锁、不安全等反常现象进行分析和建模,并可在此基础上编程。所以,得到了广泛的应用。
其实,SFC语言仅仅是一种组织程序的图形化方式。其实际使用要与其它语言配合,否则无法实现其功能。所以,严格地讲,它不能算是完整的编程语言。
1、组成
步(Step)
用方框表示,分有初始步、活动步、不活动(休止)步三种。一个步是否为活动步,即是否处于激活状态,则取决于上一步及与其相应的转移。
动作(Action)
动作是步的组成部分,一个步含有一个或多个动作,用一个附加在步上的矩形框来表示。每一动作中的程序代码都可以用IEC的任一语言如ST、FBD、LD或IL来编写。每一动作还有一个修饰词(Qualifier),用来确定步激活时其动作什么时候执行或终止。
有向连线
从上到下、从左到右的步间连线。也可用加箭头做非上下、左右的步间连线。
转移
在有向连线上的垂直短线。与转移相关的逻辑条件,用文字、布尔代数表达式、图形符号标注在转移短线旁。
2、SFC转移规则
步的转移指的是有向连线相连的前后步激活状态的转换。
步间转移的规则是:
①步间的转移逻辑条件为真;
②被转移步的前一步是活动的。
不满足此两条件,将不转移。
为了启动顺序功能流程图程序的执行,总是要指定一个初始步,其标志为S0,是程序运行开始时被激活的那个步。有个这个初始步,则随着相应转移逻辑条件满足,流程图中步的激活状态将逐步转换,直至最后一步被激活,或根据有向线指定路线不停地循环转换。
3、SFC主要形式
根据结构的不同,可分为以下几种形式:单序列控制、并行序列控制、分支结构序列、转移序列等。
下图所示为一段SFC语言编写的程序。
▼
同样称SFC语言,但有的是合乎标准的,如欧姆龙CJ2所用的,其Action有以上修饰词。有的没有,使用时要看具体软件的说明。
-------End-------
来源:机械工业出版社E视界,节选自《PLC实用编程指南 第3版》
相关问答
plc五种编程语言?
plc编程语言如下1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟...
plc编程用什么语法?
PLC的编程语言包括以下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。PLC的用户程序...PLC的...
plcedit使用教程?
plcedit安卓版是一款可以随时在手机上进行编程的软件。plcedit安卓版拥有众多基础的编程模板任你免费使用,可以省去很多麻烦。有了plcedit安卓版,打开手机就...
PIC的标准编程语言分别是?
一、PIC汇编语言指令格式PIC系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:标号操作...指令格...
plc的位和节什么意思?
在PLC(可编程逻辑控制器)中,位(bit)和节(byte)是计量存储容量的单位。下面我将详细解释一下它们的含义和用途。1.位(bit):位是计算机中最小的存储单...这些...
PLC的编程语言标准?
PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程语言。图形化编程语言包括:梯形图(LD-LadderDiagram)、功能块图(FBD-FunctionBlockDia......
PLC里面IL(02)什么意思?
IL是欧姆龙PLC中互锁指令。非楼上所说什么主控指令IL是欧姆龙PLC中互锁指令。非楼上所说什么主控指令
Plc的常用参数及其含义?
1、输入/输出点数。输入输出点数是PLC组成控制系统时所能接入的输入输出信号的最大数量,表示PLC组成系统时可能最大的规模。这里有个问题要注意,在总的点数中...
plc编辑器采用哪种方式?
一、梯形图Delete(LD)二、指令表Delete(IL)三、功能模块图Delete(FBD)四、顺序功能流程图Delete(SFC)五、结构化文本Delete(ST)以上是常用的几种.....
PLC(可编程序控制器)一共有几种编程方式?
你说的应该是编程语言分几种吧。一般有以下几种:梯形图(LD语言)也有叫LAD语言、顺序功能图(SFC)语言、功能块图(FBD)语言,指令表(IL)语言和结构文本(S...三、F...