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 怎样编程?PLC编程实例
上一讲我们学习了PLC常用编程元件及一些基本指令,这一讲我们学习PLC的编程方法。主要用一些实际的电路来进行转换,在转换的过程中,逐步了解PLC的编程技巧和方法。
先看我们都比较熟悉的照明电路怎样用PLC来实现的。在照明电路里,因为用电器的状态只有两种,通电灯亮,断电灯灭。所以我们使用的控制器件很简单,就用一个开关就可实现这两种状态的转变。
1)在照明电路里,一般常见的就是一个开关控制一盏灯,其原理图见图1所示。
图一
这里要说明一下,控制照明电路的开关和我们电动机控制电路里的按钮开关是有差异的,按钮开关也是控制着两个状态相互转换,但它没有自锁性,就是给它一个外力按下按钮,开关改变状态。以常开触点为例,触点闭合,线路导通,外力一消失,改变后的状态不能保持,又恢复到断开状态,这就是没有自锁性。
我们把这种没有自锁性的开关称为SB类的开关。控制照明电路的开关,不管是单联开关或双联开关,它们都是有自锁性的。也就是说给开关一个外力即拨动一下开关,开关改变状态,比如闭合吧,外力取消,改变后的闭合状态一直保持不变,这就能实现长时间通电。若要改变这时的导通状态就必须再给它一个外力,即再次拨动一下开关,原来的闭合状态才能改变成断开状态即切断了电路。这就是开关的自锁性,我们把这类具有自锁性的开关称为SA类的开关。在PLC外接输入控制开关时,大多数都是用的按钮开关,需要说明的是PLC这两种开关都可以使用。
照明电路一个开关控制一盏灯,PLC编程是怎样的,其梯形图见图2所示。
图二
说明:PLC输入端子I0.0接单联开关,输出端子Q0.0接灯泡。I0.0闭合,此线路导通,Q0.0=1有输出,灯亮。I0.0断开,此线路不通,Q0.0=0没有输出,灯灭。(这里的输入接的是带自锁的单联开关,若是用按钮开关,就不能实现长时间导通了,因为按钮开关不能自锁,又没有其它互锁的条件。按钮开关只是按下线路导通灯亮,手一松开关断开,灯灭。后面的例子没有特别说明所用开关都属SA类的开关。)
2)用两只开关控制一盏灯,要求只有两只开关都接通时,灯才亮。其电路图见图3。
图三
PLC控制:用两只单联开关分别接在I0.0、I0.1的输入端子上,灯接在Q0.0输出端子上,设计的程序见图4所示。
图四
说明:I0.0、I0.1状态均为1即为接通时,Q0.0输出为1,灯亮;当I0.0、I0.1任何一个状态为0即断开时,Q0.0输出为0,灯灭。从分析可以看出,此电路是与逻辑关系。
3)再用两只开关控制一盏灯,要求只要有一只开关闭合,灯就亮;两只开关都断开灯灭。其电路图见图5。
图五
PLC控制:两只单联开关分别接在I0.0、I0.1的输入端子上,灯接在Q0.0输出端子上,设计程序见图6所示。
图六
说明:I0.0、I0.1状态任意一个为1即为接通时,Q0.0输出为1,灯亮;当I0.0、I0.1状态均为0即断开时,Q0.0输出为0,灯灭。从分析可以看出,此电路是或逻辑关系。
4)在照明电路里,还有一种控制电路比较特别,也是用两只开关控制一盏灯,但要求任何一个开关都可以随时控制灯的接通和熄灭,也就是所谓的“二控一电路”。
这个电路的作用是能实现异地控制,就是在甲地和乙地都可以实现灯的点亮和熄灭。其电路图见图7。
图七
这个电路主要应用在楼梯照明当中,也可应用于卧室照明。这种二控一电路应用很广,大家可自己思考还可以用到什么地方。(但楼梯口的路灯使用的不多了,很多地方都有声光控路灯了)。
这种电路的控制原理是用两个双联开关来进行控制的,双联开关里面共有一个动触点,两个静触点。一个动触点可以控制两个静触点的通断。接线时把这两个开关的两个静触点相连,其中一个开关的动触点接电源,另一个开关的动触点就接灯头即可。
这种电路若用PLC来控制的话,编程还是比前面的一些电路稍难一些,根本上还是要注意输入开关选择什么样的开关。本人试了很多方案,用不带自锁按钮开关是不容易实现控制要求的,还是要用带自锁的转换开关。其梯形图见图8。
图八
PLC控制:两只单联开关分别接在I0.0、I0.1的输入端子上,灯接在Q0.0输出端子上。程序说明:在常态下,即I0.0、I0.1都为0,Q0.0输出为0,没有输出灯不亮。先看ab支路,I0.0状态为1即为接通时,其常开触点闭合,与之相串联I0.1是常闭触点,两者都闭合为1,Q0.0输出为1。cb支路,I0.0常开触点闭合而常闭触点就断开,与之相串联的是I0.1的常开触点,两个触点都处于断开状态即此路不通,两条支路是或逻辑关系,故整个电路有输出灯亮。
再看ab支路,若I0.0输入断开,其常开触点断开,而cb支路I0.0常闭触点虽说闭合了,但I0.1常开触点是断开的,这条线路还是不通,两条线路都不通,即Q0.0输出为0,灯灭,说明I0.0这个开关可以自由控制灯亮灯灭。
第二个开关控制过程与第一个开关相同,还是先看ab支路,I0.1端子开关按下,其触点改变状态,I0.1常闭触点断开,前面串联的是I0.0的常开触点,两个触点都处于断开状态,这条支路不通。cb支路,I0.0是常闭触点,I0.1常开触点闭合,两个触点都处于导通状态。Ab、cb两支路为或逻辑关系,故整条电路导通,Q0.0输出为1,灯亮。若I0.1端子开关断开,I0.1没有输入即为0,其触点又回到常态之下,故O0.0输出为0,灯灭。由此说明两个开关都能自由控制灯的点亮与熄灭,达到了控制要求。
用PLC二分频电路也很容易实现多个开关控制一盏灯。(后面讲解)
这一讲只介绍了简单的照明电路的PLC控制编程方法。有一点要注意,照明电路是不需要用PLC来进行控制的,经济上不合算,以照明电路为例是希望对大家的学习有一点启发与帮助。下一讲重点介绍电动机控制电路的PLC编程方法。谢谢!
关于中美贸易战,这些消息都是假的!搜“中国网”抖音号(787874450),看你想看
相关问答
机器有自动和手动两种状态用PLC怎么编程?
一般分步编写。手动一个分支。自动一个分支。也可以分主程序和分程序编写。一般分步编写。手动一个分支。自动一个分支。也可以分主程序和分程序编写。
plc状态表是什么?
PLC(可编程逻辑控制器)状态表是一种用于记录和表示PLC各个输入、输出、中继和内部寄存器的状态的表格。它通常以二进制形式表示,每个位的值对应于相应输入/输...
西门子200plc怎么设置run状态?
你好,要设置西门子200plc为“run”状态,请按照以下步骤操作:1.连接PLC和编程器,确保连接正常。2.在编程器软件中打开PLC程序。3.检查程序中的所有错误和警...
在plc编程中判断状态字,是通过通过用逻辑用1与0和0或1来判断,还是读取状态字中每一位来判断好?
具体情况,具体分析:一般采用“与”操作,取出每一位的状态,然后判断,如去第一位,就“与”“01H”。具体情况,具体分析:一般采用“与”操作,取出每一位的状态,...
plc编程实例讲解?
当涉及PLC(可编程逻辑控制器)编程实例时,以下是一个简单的案例来说明:假设有一个自动灌装系统,该系统使用PLC来控制液体的进料和排出。系统中有一个传感器...
plc的编程有哪些主要规则?
plc的编程主要规则如下:1、安全性,使用PLC控制都会有自动运行的部分,对这部分要做到万无一失,宁可不做,也不要让被控对象处于失控状态。手动部分程序也要...
plc编程状态寄存器的功能?
PLC寄存器可以对其进行赋值,然后调用PLC里面的内部资源。举个简单的例子,例如对定时器的计算机进行赋值,就可以调用PLC的定时器来进行定时。PLC寄存器可以对...
plc运行开关怎么使用?
开关拨在RUN时,PLC程序运行。实时刷新输入,输出。可以进行读取,监视修改内部定时器时间拷贝程序等操作。开关拨在STOP时,PLC程序停止。停止实时刷新输入...
PLC状态器是什么,做什么用的啊,求解?
是状态继电器,在三菱fx系列plc的状态继电器是用S表示,就是控制PLC输出的状态----------------比如:要控制第一个灯亮5秒接着第一个灯和第二个灯一起亮3秒。在...
plc读取程序是run还是stop?
在PLC(可编程逻辑控制器)中,读取程序的状态通常是"Stop"(停止)状态。当PLC处于"Stop"状态时,它将暂停执行程序,并停止所有的输入输出操作。这个...