课程中心
HOME
课程中心
正文内容
plc编程语言规则 PLC编程原则,语言,方法,常用指令及实例
发布时间 : 2025-04-08
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC编程原则、语言、方法、常用指令及实例

PLC的编程原则

1.梯形图的每一逻辑行(梯级)均起始于左母线,然后是中间接点,终止于右母线。各种元件的线圈接于右母线一边;任何触点不能放在线圈的右边与右母线相连;线圈一般也不允许直接与左母线相连。正确的接线如图1a所示。

2.编制梯形图时,应尽量按“从左到右、自上而下”的执行程序的顺序,并易于编写指令语句表。图1b所示的是合理的接线方法。

3.在梯形图中应避免将触点画在垂直线上,这种桥式梯形图无法用指令语句编程,应改画成能够编程的形式,如图1c所示。

图1 正确接线示意图

4.继电器线圈和触点的使用。同一编号的继电器线圈在程序中只能使用一次,不得重复使用,否则将引起误操作,但其常开常闭触点可重复多次使用,如图1c中的X1、X2、X3。由此可以看出,在同一逻辑支路中,串联和并联触点数目是无限的。

5.不允许几条并联支路同时运行。当PLC处于运行状态时,PLC就开始按照梯形图符号排列的先后顺序(从上到下,从左到右)逐一进行处理,PLC对梯形图是按扫描方式顺序执行,因此不存在几条并列支路同时动作的因素,所以在设计上可减少许多约束关系的联锁电路,从而使程序简单化。

6.计数器、计时器在使用前要赋值。

7.外部输入设备常闭触点的处理。图2a是电动机直接起动控制的继电器接触器控制电路,其中停止按钮SB1是常闭触头。如用PLC来控制,则停止按钮SB1和起动按钮SB2是它的输入设备。在外部接线时,SB1有两种接法。

如图2b所示的接法,SB1仍接成常闭,接在PLC输入继电器的X1端子上,则在编制梯形图时,用的是常开触点X1。因SB1闭合,对应的输入继电器接通,这时它的常开触点X1是闭合的。按下SB1,断开输入继电器,它才断开。

如图2c所示的接法,将SB1接成常开形式,则在梯形图中,用的是常闭触点X1。因SB1断开时对应的输入继电器断开,其常闭触点X1仍然闭合。当按下SB1时,接通输入继电器,它才断开。

图2 电动机直接起动控制的继电器接触器控制电路

在图2c的外部接线图中,输入端的直流电源E通常是由PLC内部提供的,输出端的交流电源是外接的。“COM”是两边各自的公共端子。

从图2a和图c可以看出,为了使梯形图和继电器接触器控制电路一一对应,PLC输入设备的触点应尽可能地接成常开形式。

此外,热继电器FR的触头只能接成常闭的,通常不作为PLC的输入信号,而将其直接接通断接触器线圈。

PLC的编程语言

1.逻辑语言

逻辑功能图表达方式基本上沿用了数字逻辑电路的“与”、“或”、“非”门电路的逻辑语言来描述,用逻辑框图形式表示。对每一种功能都使用一个运算方块,其运算功能则由方块内外的符号确定,如图3所示。

图3 简单的逻辑图

如,“&”表示逻辑“与”运算;“≥1”表示逻辑“或”运算;“o”(框图右边的小圆圈)表示逻辑“非”。

图3a是一个简单的逻辑功能图。一般与功能块有关的输入信号画在方块的左边,与功能块有关的输出信号画在方块的右边。在左边和右边应分别写上标志符和地址码。图中,X000、X001、M100为输入信号的标志符和地址码;Y030为输出信号的标志符和地址码。功能块表示如下的逻辑关系:

Y030=X000•X001•M100

采用逻辑功能图来描述程序,易于描述较为复杂的控制功能,表达直观,查错容易。因此它是编程中较为常用的一种表达方式。但它必须采用带有显示屏的编程器才能描述,而且连接范围也受到显示屏幅面的限制。

2.梯形图

(1)常用符号

PLC梯形图图形符号借助于继电器接触器的常开触头、常闭触头、按钮、线圈以及它们的串联、并联的术语和符号,两者对照,则直观明了。和电路图一样,在绘制梯形图之前首先熟悉绘制梯形图的有关符号,如表1所示。

表1 梯形图常用符号

对输入信号和被控制对象必须标上相应的标志符和地址码,如图4(与或门)中的X000、X001、X002和Y030。图中所表示的逻辑关系为

Y030=X000•X001+X002

图4 符号在梯形图中

(2)梯形图的绘制

采用触点梯形图来表达程序的方法,看上去与传统的继电器电路图非常类似。因此它比较直观形象,对于那些熟悉继电器电路的设计者来说,易被接受。

另外,为了在编程器的显示屏上直接读出触点梯形图所描述的程序段,构成触点梯形图的图案电流支路都是一行接一行地横着向下排列的。每一条电流支路的触点符号为起点,而最右边的线圈符号为终点,如图5所示。触点梯形图多半适用于简单的连接功能的编程。

图5 多条支路的梯形图

3.语句表

语句表形式是使用助记符来编制PLC程序的语言,表示程序的各种功能。语句表类似于计算机的汇编语言,但比汇编语言容易得多。每一条指令都包含操作码和操作数两个部分,操作数一般由标志符合地址码组成。下面是一个简单的语句表。

LD X000

AND M100

OR Y030

ANI X002

OUT Y030

语句表中各部分含义如表2所示

表2 语句表

采用这种类似计算机语言的编程方式,可使编程设备简单,逻辑紧凑,而且连接范围也不受限制。上述三种程序的表达方式各有所长,在比较复杂的控制系统中,这三种方式可能会同时使用,但对于简单的控制系统采用一般的可编程序控制器进行人工编程时,大多采用触点梯形图编制程序。当设计好触点梯形图后再根据接口、梯形图写出语句表,最后便可将语句表键入可编程序控制器中进行调试。

PLC的常用指令

表3 常用的基本指令表

PLC的编程方法

以图6所示的交流电动机正反转控制电路为例来介绍用PLC控制的编程方法。

图6 交流电动机的正反转控制电路

1.确定I/O点数及其分配

停止按钮SB1、正传起动按钮SB2、反转起动按钮SB3这3个外部按钮须接在PLC的3个输入端子上,可分别分配为X0、X1、X2来接收输入信号;正转接触器线圈KM1和反转接触器线圈KM2须接在两个输出端子上,可分别分配为Y1和Y2。共需用5个I/O点,如表4所示。

表 4 I/O点数

外部接线如图7所示。按下SB2,电动机正转;按下SB3,电动机则反转。在正转时如要求反转,必须先按下SB1。至于自锁和互锁触点是内部的“软”触点,不占用I/O点。

图7 外部接线

2.编制梯形图和指令语句表

表5 语句表

图8 梯形图

PLC的编程举例

用PLC对喷漆机械手的定位控制

喷漆机械手是采用步进顺序器分步控制的,首先介绍步进顺序控制器。

(1)步进顺序控制器

步进顺序器(SS)能够按顺序逐一启动后续的7个内部继电器线圈(ST),组成一个步进顺序器。当第一个标有(SS)的内部继电器得电后,使随后的7个线圈均处于释放状态。随后当其后一个标有(ST)的内部继电器得电时,这组步进顺序器带的其他继电器均释放,通电顺序必定是由小至大,逐一轮流。因此,步进顺序器是把连续的几个内部继电器组合起来,协调行动,它们在梯形图中的图形符号如表6所示。

表6 步进顺序器图形符号

在EPS软件中并不规定步进顺序器从哪个内部继电器编号开始,也不一定在(SS)线圈后要跟随7个(ST)继电器,但最多是7个。如果需要超过8步时,可以把2个步进顺序器串接起来。

(2)喷漆机械手定位控制电路

若有一个带有红、绿、蓝三种颜色油漆喷枪的机械手在一条有4个工位的通道中移动。机械手能喷出三种颜色,在四工位要喷刷四段颜色,如图9a所示。每个工位的交界处都设置一个位置传感器,此外,在起点及终点也各设一个位置传感器,总共5个位置传感器,其梯形图如图9b所示。

喷漆机械手由X0位置传感器启动控制。红色喷枪由输出点Y2控制,绿色喷枪及蓝色喷枪分别由Y3及Y4控制。R0~R5组成一组步进顺序器。输出点YO控制机械手前进,Y1控制机械手返回。

首先,X0位置传感器发出启动信号,使步进顺序器启动,这时R0内部继电器吸合,其余5个线圈释放。由于R0接通,使R10置位,驱动输出点Y0。于是机械手前进,同时R0触点驱动输出点Y2,使机械手上的红色喷枪工作。当机械手行进到X1处,X1位置传感器发出信号,使X1触点接通,内部继电器R1吸合,同时R0断开。因为R0是步进顺序器的第一个线圈。R1触点驱动输出点Y3,使机械手上的绿色喷枪工作。当机械手继续前进到X2处,X2位置传感器动作,使R2吸合,同时断开R1。与此类同,直至机械手到达终点,R4使R10复位,于是机械手停止前进。当R4接通Y1线圈,机械手便返回起始点。起始点X0的位置传感器X0又发出信号,于是PLC的R0又接通,机械手又开始下一次的喷漆工作。

图9 喷漆机械手的定位控制

PLC编程入门,先来认识6种编程语言

传统的PLC编程语言只有两种,指令表(IL)及梯形图(LD),有的称梯形逻辑图(LLD)。而今为便于各类型的工程技术人员都能使用PLC,PLC厂商都增加了它的编程语言。国际电工组织也制定与几次修订了PLC编程语言国际标准。并在1993年做了全面修订后称之为IEC 61131-3 的修订版。我国在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语言程序对应的梯形图程序

关于梯形图的文章有很多,在此不再赘述,本公众号以前也发过几篇文章,大家可以去看一看:

关于PLC梯形图,你想知道都在这里!

想短时间内掌握西门子PLC梯形图的编程方法就一定要看这篇文章!

学PLC必看:看懂电动机控制系统中PLC梯形图和语句表

PLC常用的基本控制电路及梯形图

功能块图(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有以上修饰词。有的没有,使用时要看具体软件的说明。

本文选自《PLC实用编程指南 第3版》

编后语

相关问答

plc几种编程语言?

PLC的用户程序是设计人员根据控制系统的工艺控制要求,通过PLC编程语言的编制设计的。根据国际电工委员会制定的工业控制编程语言标准(IEC1131-3)。PLC的编程...

PLC编程语言有什么?

常见的PLC编程语言包括以下几种:1.LadderDiagram(梯形图):最常用的PLC编程语言,将输出信号和输入信号以具有逻辑关系的图形方式表示,类似于电气图。2....

plc编程语言有哪些?

PLC编程语言主要包括以下几种:1.LadderDiagram(梯形图):是PLC最常用的程序设计语言,采用电气线路图的形式表示控制逻辑,能够可视化控制方案,易学易懂。...

PLC编程语言有什么?

PLC编程语言主要包括以下几种:1.LadderDiagram(梯形图):是PLC最常用的程序设计语言,采用电气线路图的形式表示控制逻辑,能够可视化控制方案,易学易懂。...

plc常用的编程语言有三种?

一、梯形图编程语言梯形图沿袭了继电器控制电路的形式,它是在电器控制系统中常用的继电器、接触器逻辑控制基础上简化了符号演变来的,形象、直观、实用。二...

plc编程语言有哪三种?

PLC编程语言五种:梯形图、指令表、功能模块图、顺序功能流程图及结构化文本)。目前编程语言的价值在于用经验的方式来管理软件系统复杂度。而SQL算是一个数...

plc的编程语言有哪些?

1.指令表语言是PLC编程最基本的语言。但是,用它编的程序,可读性较差,目前已不常用。故不在此做介绍。2.ST语言与BASIC语言、PASCAL语言或C语言等类似。它没有...

plc有几种编程语言?

PLC(可编程逻辑控制器)有以下几种编程语言:1.LadderDiagram(梯形图):梯形图是PLC编程中最常用的一种编程语言,它模拟了电气控制电路的逻辑关系,具有易...P...

plc语言有几种表示方法?

①梯形图语言:以图形方式表达触点和线圈以及特殊指令块的梯级。②语句表语言:类似于汇编程序的助记符编程表达方式。③逻辑图语言:类似于数字逻辑电...①梯...

plc编程语言主要有那几种?

PLC编程语言主要有三种:1.梯形图语言(LD):是一种可视化的编程语言,使用类似于电气原理图的符号和逻辑连接方式来表示程序。梯形图语言是PLC中最常用的编...

 莱罗塔列  温泉会所 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部