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 喷漆机械手的定位控制
【0102023】基础指令:指令:OUT NOT —— 输出非指令
【0102023】基础指令:指令:OUT NOT — 输出非指令
这条指令是欧姆龙PLC的第10条基础指令,所有的控制程序也都要用到。
从这篇文章开始,详细介绍欧姆龙PLC的199条指令的功能。即短文排序从【0012023】——【1992023】。前期已经从短文排序从【1682023】——【1992023】已经提交。因为,正好遇上一个百万级别横向课题,其功能指令全部用到,所以就顺便把这些功能指令提前上传了。现在回过来再从基础指令开始。即从短文【0012023】开始,这是第【0102023】。使的每一位阅读者都有所收获和启迪!
调试程序中
一.梯形图语言符号:
OUT NOT —— 输出非指令的梯形图形式
实例:在梯形图中的形式
程序中的形式
B:操作数位;
B数据区域:将IR、SR、AR、HR、LR、TR。
IR【输入、输出继电器,对应外部的输入、输出端子,没有用到的通道号也可以用作内部继电器号使用】;
SR【是内部辅助继电器,可以在程序内部自由使用】;
AR【是辅助记忆继电器,有特定功能的继电器】;
HR【是保持继电器,电源断开时能记住ON/OFF的状态】;
LR【是辅助记忆继电器,有特定功能的继电器】;
TR【是暂时存储继电器,临时记忆回路分支点的ON/OFF状态】
二.功能:把逻辑运算的结果或执行条件,取反后输出到指定位。
三.说明:在梯形图的逻辑行中,输出非逻辑线圈用OUT NOT输出非指令。
版权声明:本文系作者原创文章。程序图片属于作者,其它图片资料来源于头条平台提供的。本文文字内容未经授权严禁非法转载,如确需转载或引用必须征得作者同意并注明来源。
相关问答
台达plc编程软件没有plc肿么仿真-ZOL问答
ISPsoft可以做的,在功能块中新增POU,新增符号中定义输入输出,在程序中调用即可...也就是也卖PLC,他不能搞个很复杂的东西让我们这些准备用他的产品的人感觉到非...
plc符号表不填会怎么样?
回答如下:如果不填PLC符号表,可能会导致以下问题:1.对于其他人来说,理解和识别PLC程序中的变量和地址将变得困难。没有符号表,其他人可能需要花费更多的时...
plc编程有两个符号表怎么关掉?
在PLC编程中,如果有两个符号表显示,则可以通过以下步骤关闭其中一个符号表:1.打开PLC编程软件,进入程序编辑界面。2.在菜单栏上找到"View"(视图)选项...
西门子200PLC编程软件中符号表的注释为何有些是1有些是空白?...
和符号表的作用是什么啊?举报主板芯片组Intel3人讨论8780次围观关注问题写回答讨论回答(3)smileqinxu符号表实际上是对地址的一个说明或注释,可以简单...
PLC中负数如何发送出来?
PLC里用有符号数编程太麻烦,最好全用正如:10-15=-5,用10-15,之后判断,如果进位标志通,用15-10,然后将一个状态点置位,如10.0,表示现在是负值,VB在读数...PLC...
西门子PLC中无符号数和有符号数怎么定义的呢
单看内存中的数不能判断数的类型,你把这个数用在什么指令,这个数就被作为这个指令操作数的类型.需要补充的是,在S7-300中,如果你已经在变量表定义...
plc指令符号怎么写?
LD/LDI取指令,OUT线圈输出指令,AND/ANI触点串联指令,OR/ori触点并联指令,ORB/ANBA块指令,SET/RST置位复位指令,MPS/MRD/MPP堆栈指令,MC/MCR主控主控复...
eplan插入符号PLC时为什么没有部件选项?
因为不知的你的plc模块中到底是几个点,用黑盒自己做的灵活性大多了,当然你也可以用黑盒做好8点的,16点的,32点的,你自己做成符号元素,后边你自己使用起来就...
plc常用指令符号及其意义?
PLC(可编程逻辑控制器)是工业自动化中常见的控制设备,用于控制和监视生产过程。下面是一些常见的PLC指令符号及其意义:1.LD:加载指令,将一个位或字的值加...
plc中m0是什么符号?
m0是一个数字输入/输出(digitalI/O)信号的符号。在PLC编程中,数字输入/输出信号可以用来检测外部开关、按钮或传感器等的状态变化,或者控制外部的继电器、电...