第三章 梯形图概述.docx
《第三章 梯形图概述.docx》由会员分享,可在线阅读,更多相关《第三章 梯形图概述.docx(32页珍藏版)》请在冰点文库上搜索。
第三章梯形图概述
第三章梯形图概述
梯形图编程语言是一种图形化的语言,是若干图形符号的组合。
不同厂家的PLC有自己的一套梯形图符号。
这种编程语言具有继电器控制电路的形象、直观的优点,熟悉继电器控制技术的人员很容易掌握。
因此,各种机型的PLC都把梯形图作为第一编程语言。
3.1梯形图的由来
3.1.1梯形图的由来
梯形图语言实际就是图形,它来源于继电器控制电路图,在继电器控制电路图中,有5种基本图形就可以组成很复杂的控制线路。
(1)常开按钮。
该按钮的触点平常的工作状态是断开状态。
当用手按动时,触点闭合,为连接状态;当手离开按钮时,触点断开,恢复断开状态。
(2)常闭按钮。
该按钮的触点平常的工作状态是连接状态。
当用手按动时,触点断开,为断开状态;当手离开按钮时,触点闭合,恢复连接状态。
按钮和按钮的常闭和常开触点如图3-1所示。
图3-1按钮和按钮的触点
(3)常开触点。
该触点平常的工作状态是断开状态。
当继电器线圈通电时,触点闭合,为连接状态;当继电器线圈断电时,触点断开,恢复断开状态。
(4)常闭触点。
该触点平常的工作状态是连接状态。
当继电器线圈通电时,触点断开,为断开状态;当继电器线圈断电时,触点闭合,恢复连接状态。
(5)继电器线圈。
继电器线圈只有连接该线圈的所有触点都闭合时,线圈通电,由线圈和动铁(衔铁)组成的电磁铁吸引闭合,带动常开触点闭合,常闭触点断开。
继电器和它的触点如图3-2所示。
(a)中间继电器示意图(b)中间继电器图形符号
图3-2中间继电器、触点和线圈
根据以上基本图形,可以画出最简单的继电器控制电路,该电路又叫自保持电路,是机床电气控制中常见的电路,该电路如图3-3所示。
图3-3一个简单的继电器控制电路
该电路的初始条件是,控制电路电源加电,常开触点在断开状态,常闭触点在闭合状态。
当按钮SB1的常开触点闭合时,继电器的线圈KM得电,继电器的常开触点闭合。
当按钮SB1的常开触点断开时,由于继电器的常开触点闭合,继电器的线圈KM仍然得电。
当按钮SB2的常闭触点断开时,继电器线圈KM失电。
由以上电路可知,继电器线圈KM左侧的触点组合是线圈KM得电、失电的条件,而继电器线圈KM的得电和失电是满足某个条件的结果。
对于图3-3所示电路的结果-条件表达式为:
得电条件=(SB1的常开触点)OR(继电器的常开触点)
失电条件=(SB2的常闭触点)
继电器的线圈动作条件=(得电条件)AND(失电条件)
对于继电器控制电路,每个继电器的动作条件都是遵循上述公式的。
如果不考虑按钮和继电器的区别,只考虑常开常闭触点,则按钮和继电器的常开常闭触点图形就可以统一成图3-4所示的图形。
图3-4统一的常开触点和常闭触点
若将继电器线圈更换成圆形图形,则图3-3所示的继电器控制图就如图3-5所示。
这个图形就称为梯形图。
该梯形图中的触点和线圈还是按钮和继电器的概念。
图3-5梯形图
若是用数字1表示按钮、继电器触点的闭合状态和继电器线圈的得电状态,用数字0表示按钮、继电器触点断开状态和继电器线圈的失电状态,则该继电器控制电路就可以用计算机实现。
用计算机实现继电器控制电路是PLC的初衷,而梯形图就是继承继电器控制系统的实现方法,成为PLC输入的一种方式。
在PLC中,这些按钮的触点和线圈就是存储器中的存储单元,又称为操作数。
PLC首先采集操作数的状态,然后通过对梯形图的理解对这些操作数进行操作。
在操作完成后,输出操作结果,达到控制的目的。
3.1.2梯形图与继电器图的区别
梯形图与继电器控制图的电路形式和符号基本相同,相同电路的输入和输出信号也基本相同,但是它们的控制的实现方式是不同的。
(1)继电器控制系统中的继电器触点在PLC中是存储器中的“数”,继电器的触点数量有限,设计时需要合理分配使用继电器的触点,而PLC中存储器的“数”可以反复使用,因为控制中只使用“数”的状态“1”或“0”。
(2)继电器控制系统中梯形图就是电线连接图,施工费力,更改困难,而PLC中的梯形图是利用计算机制作的,更改简单,调试方便。
(3)继电器控制系统中继电器是按照触点的动作顺序和时间延迟,逐个动作。
而PLC是按照扫描方式工作,首先采集输入信号,然后对所有梯形图进行计算。
当计算完成后,将计算结果输出,由于PLC的扫描速度快,输入信号的变化到输出信号的改变似乎是在一瞬间完成的。
(4)梯形图左右两侧的线对继电器控制系统来说是系统中继电器的电源线,而在PLC中这两根线己经失去了意义,只是为了维持梯形图的形状。
(5)梯形图按行从上至下编写,每一行从左向右顺序编写,在继电器控制系统中,控制电路的动作顺序与梯形图编写的顺序无关,而PI工中对梯形图的执行顺序与梯形图编写的顺序一致,因为PLC视梯形图为程序。
(6)梯形图的最右侧必须连接输出元素,在继电器控制系统中,梯形图的最右侧是各种继电器的线圈,而在PLC中,在梯形图最右侧可以是表示线圈的存储器“数”,还可以是计数器、定时器、数据传输、译码器等PLC中的输出元素或指令。
(7)梯形图中的触点可以串联和并联,输出元素在PLC中只许并联,不允许串联。
而在继电器控制系统中,继电器线圈是可以串联使用的(只要所加电压合适)。
(8)在PLC中的梯形图结束标志是END。
3.1.3梯形图编程前的准备工作
梯形图编程前需要做一定的准备工作,主要有以下几方面需要准各。
(1)熟悉PLC指令。
画梯形图实际就是做程序,既然是做程序,就应该熟悉PLC的指令。
(2)存储器地址安排与分配。
仔细阅读PLC说明书,清楚如何分配存储器中的地址和一些特殊地址的功能。
(3)清楚输入输出设备的工作原理。
清楚硬件接线和与PLC连接的输入输出设备的动作原理。
只有知道接线和输入输出设备的工作原理,才能合理分配存储器单元。
(4)为输入和输出设备分配存储器地址。
在PLC存储器中,给输入输出设备分配存储器地址。
(5)为PLC梯形图中需要的中间量分配地址。
除输入输出设备需要地址外,PLC梯形图中的中间量也需要地址。
例如,计数器、定时器、保持器等元素。
(6)清楚控制原理,确认输出量、中间量和指令的得电条件和失电条件。
在清楚控制原理的基础上,确认每一个输出量、中间量和指令在什么时候什么条件下执行,这是编写梯形图的基础。
3.2梯形图指令和时序输出指令
梯形图指令和时序输出指令是使用频率最高的指令,是梯形图不可缺少的部分。
对于梯形图指令,必须了解它们的几个共同点:
1、梯形图指令支持上升沿微分@条件、下降沿微分%条件及立即刷新!
,以及复合条件上升沿时1周期逻辑开始且每次刷新指定条件(如!
@LD)和下降沿时1周期逻辑开始且每次刷新指定条件(如%@LD);
2、梯形图指令的执行结果不影响标志位;
3、梯形图指令最多只有一个操作数(AND/ANDNOT和OR/ORNOT没有操作数);
4、梯形图指令的操作区域是一样的,均可以取自:
CIO、WR、HR、AR、T/C、TR和IR。
3.2.1读LD/读非LDNOT
·读LD
梯形图符号如下图所示。
图3-6LD梯形图符号
指令功能:
表示逻辑起始,读取指定接点的ON/OFF内容。
·读LDNOT
梯形图符号如3-7图所示。
图3-7LDNOT梯形图符号
指令功能:
表示逻辑起始,将指定接点的ON/OFF内容取反后读入。
LD/LDNOT指令用于母线开始的第一个接点,或者电路块的第一个接点。
如下图所示,虚线框就是LD与LDNOT指令,其中左边的两条指令
LD和
LDNOT都是用于母线开始的第一个接点;另外两条指令
LD和
LD则用于各自所属电路块的第一个接点。
它们对应的语句如右图所示。
(a)梯形图(b)语句表
图3-8LD、LDNOT指令的应用
3.2.2与AND/与非ANDNOT
·与AND
梯形图符号如图3-9所示。
图3-9AND梯形图符号图3-10ANDNOT梯形图符号
指令功能:
取指定接点的ON/OFF内容与前面的输入条件之间的逻辑积。
·与非ANDNOT
梯形图符号如图3-10所示。
指令功能:
对指定接点的ON/OFF内容取反,取与前面的输入条件之间的逻辑积。
如图3-11所示,三个条件都满足,w0.00才能得电,否则不得电。
也就是0.00为“1”、0.01为“0”、0.02为“1”时,w0.00才得电。
因此,w0.00的得电条件用逻辑条件表达表示就是:
W0.00的得电条件=0.00·
·0.02
图3-11三个条件串联的梯形图及语句表
AND和ANDNOT指令用于串联的接点,不能直接连接在母线上,也不能用于电路块的开头。
如下图所示,虚线框是AND与ANDNOT指令,其中指令
AND(也就是b段)前有LD指令(a段),指令
AND(也就是d段)前有LD指令(c段),
ANDNOT(也就是f段)前有LD指令(e段)。
它们对应的语句如右图所示。
(a)梯形图(b)语句表
图3-12AND、ANDNOT指令的应用
3.2.3或OR/或非ORNOT
·或OR
梯形图符号如图3-13所示。
图3-13OR梯形图符号
指令功能:
取指定接点的ON/OFF内容与前面的输入条件之间的逻辑和。
·或ORNOT
梯形图符号如图3-14所示。
图3-14ORNOT梯形图符号
指令功能:
对指定接点的ON/OFF内容取反,取与前面的输入条件之间的逻辑和。
OR和ORNOT指令用于并联连接的接点,从(连接于母线或电路块的开头的)LD/LDNOT指令开始,构成与到本指令之前为止的电路之间的OR(逻辑和)的接点。
当两个或多个条件是放置在相互独立的指令行时,并且这些指令并联相接,则它们之间的关系就是“或”的关系。
如3-15所示,只要三个条件中的任何一个条件为“ON”,w0.00就得电。
因此,w0.00的得电条件用逻辑条件表达表示就是:
W0.00的得电条件=0.00+
+0.02
图3-15三个条件的并联的梯形图及语句表
3.2.4AND和OR指令的组合使用
在更加复杂的梯形图中对AND和OR指令进行结合时,情况会复杂一些,例如图3-16所示的梯形图。
w.00的得电条件用逻辑表达式表示为:
w.00的得电条件=((0.00·
)+0.02)·0.03·0.04
图3-16AND和OR组合应用的梯形图
3.2.5块与ANDLD
梯形图符号如图3-17所示。
图3-17ANDLD梯形图符号
指令功能:
取电路块间的逻辑积。
所谓电路块是指,从LD/LDNOT指令开始,到下一个LD/LDNOT指令之前的电路。
如图3-18(a)的两个虚线框就是电路块A和电路块B;对应的指令表(如图3-18(b)所示),第一个LD是电路块A的开始,第二个LD是电路块B的开始。
指令ANDLD的作用就是把电路块A和电路块B串联起来。
图3-18是两个电路块的串联,如果要串联3个以上的电路块时,可以采取顺次连接的形式,即先通过本指令串联2个电路块后,再通过本指令串联下一个电路块。
(a)梯形图
(b)语句表及功能注释
图3-18ANDLD的应用
3.2.6块或ORLD
梯形图符号如图3-19所示。
图3-19ORLD梯形图符号
指令功能:
取电路块间的逻辑和。
如图3-20(a)的两个虚线框就是电路块A和电路块B;对应的指令表(如图3-20(b)所示),第一个LD是电路块A的开始,第二个LD是电路块B的开始。
指令ORLD的作用就是把电路块A和电路块B并联起来。
(a)梯形图
(b)语句表及功能注释
图3-20ORLD的应用
图3-20是两个电路块的并联,如果要并联3个以上的电路块时,可以采取顺次连接的形式,即先通过本指令并联2个电路块后,再通过本指令并联下一个电路块。
以上介绍的是6条使用频率最高的梯形图指令,利用它们就可以复杂的梯形图。
下面再介绍两条指令:
OUT和END。
3.2.7输出OUT/输出非OUTNOT
梯形图符号如图3-21所示。
(a)OUT指令(b)OUTNOT指令
图3-21OUT、OUTNOT的梯形图符号
OUT指令功能是:
将逻辑运算处理结果(输入条件)输出到指定接点;
OUTNOT指令功能是:
将逻辑运算处理结果(输入条件)取反后输出到指定接点。
OUT、OUTNOT指令支持每次刷新。
无每次刷新指定时,将输入条件(功率流)的内容写入I/O存储器的指定位。
有每次刷新指定时(!
OUT/!
OUTNOT),将输入条件(功率流)的内容同时写入I/O存储器的指定位和CPU单元内置的实际输出接点。
如图3-22所示,当0.00为“OFF”时,OUT指令该条件输出到指定的点100.00,则100.00也为“OFF”,不得电;当0.00为“ON”时,100.00也为“ON”,得电。
相反地,当0.00为“OFF”时,OUTNOT指令该条件
图3-22OUT、OUTNOT指令
取反后,再输出到指定的点100.12,则100.12也为“ON”,得电;当0.00为“ON”时,100.12为“OFF”,失电。
3.2.8结束END
梯形图符号图3-23所示。
图3-23END梯形图符号
指令功能:
表示一个程序的结束。
对于一个程序,通过本指令的执行,结束该程序的执行。
因此,END指令后的其它指令不被执行。
在一个程序的最后,必须输入该END指令。
无END指令时,将出现程序错误。
用CX-P软编辑梯形图时,不必特别输入END指令,因为该软件自动为每个程序段添加上END指令。
3.3梯形图程序设计
3.3.1梯形图程序的基本思维方式
由于CP系列按照存储器中保存的指令语言的顺序(助记符的顺序)来执行各指令,因此必须具有正确的编程思维方式和正确的执行顺序。
1、梯形图的构成要素
梯形图由左右母线、连接线、接点、输出线圈、应用指令组成。
如图3-24所示。
程序由多电路构成。
所谓电路是指切断母线时可以分割的单位(在助记符中,由LD/LDNOT指令~LD/LDNOT指令之前的输出系指令)。
电路由以LD/LDNOT指令为前端的电路块构成。
在梯形图里电路也叫梯级,在CX-P梯形图编辑器里一个梯级(电路)占用一条。
图3-24的三个虚线框就是三个电路。
图3-24梯形图的构成要素
2、助记符程序
助记符程序又称语句或语句程序,是指用指令语言记述梯形图的一系列程序。
具有程序地址,一个程序地址等于一个指令语言。
它也是常用的PLC编程语言。
PLC程序就是按照助记符程序从上到下的顺序来执行的。
梯形图必须使用CX-P软件或CPT软件才能输入到PLC中,而在一般的手持编程器中不能使用梯形图,而只能使用助记符形式的语言。
助记符可以提供与梯形图完全相同的内容,而且能够直接输入到PLC的存储器中。
实验上,梯形图就是转换成助记符是很容易的。
如何转换,我们会在后面学习。
如图3-25所示的梯形图和助记符程序是同一个程序。
图3-25梯形图程序与助记符程序
3、梯形图程序的基本思维方式
(1)用PLC执行梯形图程序时,信号(功率流)的流向为左→右。
对于希望由右→左转动的动作不能进行程序化。
请注意由一般控制继电器构成的电路的动作不同。
例如由PLC执行图3-26的梯形图程序时,括弧内的二极管作为插入的电路进行动作,不能转入接点D来驱动线圈R2。
实际上按照右侧所示的助记符的顺序执行。
实现不存在二极管的电路动作时,需要改写电路。
此外,对如图3-27所示,转入接点E的电路不能在梯形图中表现,电路动作不能直接程序化,需要进行改写。
(2)在输入输出继电器、内部辅助继电器、定时器等接点的使用次数中
没有限制。
但是,与节约接点使用数的复杂电路相比,结构简单的电路在维护
图3-26梯形图信号流示意图
图3-27不能程序化的梯形图
等方面可以算是一种最佳的设计方法。
(3)在串联·并联电路中,构成串联的接点数和构成并联的接点数中没有限制。
(4)能够并联连接2个以上输出线圈或输出系指令。
如图3-28所示,(a)图并联两个输出线圈,(b)图并联一个输出线圈一个输出系指令。
(a)图(b)图
图3-28并联输出梯形图
(5)能够将输出线圈作为接点使用。
如图3-29所示,输出线圈102.00,箭头所指的是它作常开触点用的符号及地址,线圈102.02得电,则它的常开触点为“ON”,常闭触点为“OFF”。
图3-29线圈作触点用
4、梯形图程序构成上的限制
(1)必须按照从左母线的信号(功率流)向右母线流动一样的顺序来关闭梯形图程序。
没有关闭时为“电路出错”(但是可以运行)。
如图3-30所示,第二个梯级没有关闭于右母线。
“电路出错”时,CX-P梯形图程序编辑器会在该梯级的左母线上以加粗的“红线条”的警告。
图3-30错误的梯形图
(1)
(2)不能直接通过左母线来连接输出线圈、定时器、计数器等输出系指令。
直接连接左母线时,由CX-P进行的程序检查中会出现“电路出错”(但是可以运行。
此时的OUT指令和MOV指令不动作)。
如图3-31所示的梯形图是错误的。
图3-31错误的梯形图
(2)
若要始终为ON输入时,请插入不使用的内部辅助继电器的接点或条件标志的ON(始终ON接点)。
如图3-32所示。
图3-32正确的梯形图
(1)
(3)输出线圈等输出系指令的后面不能插入接点。
接点必须插到输出线圈等输出系指令的前面。
如果在输出系指令的后面插入接点,由CX-P进行的程序检查中会出现“配置出错”的警告。
如图3-33所示。
图3-33错误的梯形图(3)
(4)不能重复使用输出线圈的继电器编号。
一个周期中由于梯形图程序按照从高位电路到低位电路的顺序来执行。
因此即使双重使用时,较低侧的电路动作结果会将高位电路的动作结果覆盖掉,最终输出的是低电路的动作结果,高电路的动作结果得不到。
有重复线圈输出的,CX-P在编译时会会警告,但可以运行。
如图3-34所示的梯形图是错误的。
图3-34错误的梯形图(4)
(5)输入继电器在输出线圈(OUT)中不能使用。
如图3-35所示的梯形图是错误的。
图3-35错误的梯形图(5)
(6)请务必在分配到各任务的各程序的最后插入END指令。
运行没有END指令的程序时,作为“无END指令”出现“程序出错”。
CPU单元前的“ERR/ALM”LED灯亮,不执行程序。
在CX-P梯形图程序编辑器中,不必特别地加入END指令,CX-P会自动地为每个程序段后勤工作加入END指令。
程序中有多个END指令时,仅执行到最初的END指令为止的程序。
试运行时,每个时序电路的分段插入END指令。
确认程序后,如果删除当中的END指令,则可以较顺利地进行试运行。
如图3-36所示是END指令在梯形图中的作用。
图3-35END指令的作用
3.3.2助记符输入的方法
由LD/LDNOT指令开始执行逻辑开始。
从逻辑开始后到下一个LD/LD NOT指令之前的指令为止,为1个电路块。
根据需要由ANDLD指令对这个电路块进行AND连接(将从LD开始的块作为AND),或由ORLD指令进行OR连接(将从LD开始的块作为OR)后,构成一个电路。
以图3-36所示复杂的电路为例,对助记符输入方法(电路的汇总方法和顺序)进行说明。
1、首先将电路分割成小的块(a)~(f)。
如图3-36下图所示。
图3-36电路分割
图3-37电路程序化
(1)
2、如图3-37所示,每个块按照①→⑤的顺序进行程序化,最终形成如较大的⑤所示的1个块。
各块中按左→右的顺序进行程序化。
块之间首先按上→下,然后按左→右的顺序进行程序化。
注意右表标有的(a)~(f)的程序语句与电路中电路块的对应,程序合并后①~⑤较大电路块与电路中的对应(与图3-36的下图进行比较)。
掌握了如何对电路进行分割、如何按顺序进行程序化,就掌握了助记符的输入方法。
下面从简到难举几个电路程序化的例子,以帮助大家很好地掌握上述方法。
3、程序示例
并联/串联电路示例。
例3-1把图3-38所示的电路转化成助记符程序。
解:
首先把电路分割为a块和b块(如图3-38所示),然后分别对a块、b块进行程序化,最后由ANDLD来汇总a块和b块(如图中右表所示)。
图3-38电路程序化
(2)
例3-2把图3-39所示的电路转化成助记符程序。
图3-39电路程序化(3)
解:
先把电路分割为a、b两块,再把b块分割b1、b2两块(如图3-39所示)。
然后对a块进行程序化,对b1块进行程序化之后再对b2块进行程序化,用ORLD来汇总b1块和b2块,最后用ANDLD来汇总a块和b块(如图右表所示)。
串联电路的串联连接示例。
例3-3把图3-40所示的电路转化成助记符程序。
解:
先把电路分割为a、b两块,再把b块分割b1、b2两块(如图3-40所示)。
然后对a块进行程序化。
依据程序化的顺序,先对a块进行程序化后再对b块进行程序化;而在a块中先对a1块进行程序化再对a2块进行程序化,然后用ORLD把它们合并为a块;b块的程序化过程跟a块类似;a、b两块都程序化后再用ANDLD来汇总a块和b块(如图右表所示)。
图3-40电路程序化(4)
如图3-41所示的a~n中为连续时,程序化该电路的方法也一样。
依据程序化的顺序,有:
a块程序化→b块程序化→(a・b)合并→c块程序化→(a・b・c)合并→d块程序化→……
图3-41电路程序化(5)
复杂的电路示例。
例3-4把图3-42所示的电路转化成助记符程序。
解:
图3-42所示的电路的复杂部分在虚线框所框的部分,我们先把这部分电路拿出来进行简化(简化过程如图中右边所示)。
这样一来,我们就可以把该电路看作是三个电路块的并联了,程序化起来就简单多了。
程序化后的助记符程序如图中下表所示。
图3-42电路程序化(6)
例3-5把图3-43所示的电路转化成助记符程序。
图3-43电路程序化(7)
解:
图3-43所示的电路比上一题的要复杂,我们解题的思路跟上题一样,对电路进行简化,首先把电路分割成左右两大部分(如图3-43垂直虚线所分割的),然后再把右部分虚线框所框的复杂部分进行简化,简化的过程跟上一题类似。
这样一来,整个电路的程序化过程就简单明了了:
把c、d、e三块合并成一块,再与b块合并成右部分的一大块,最后把左部分(也就是a块)与右部分合并。
程序化后的助记符程序如图右表所示(注意各电路块在表中对应的语句)。
例3-6把图3-44所示的电路转化成助记符程序。
解:
对比图3-43与图3-44的电路,不难发现它们极其相似,因此对图3-44电路的分割与上一题相似,先分成左右两部分,再对左部分进行分割。
分割完毕后再顺序进行程序化。
程序化的结果见图中的下表。
图3-44电路程序化(8)
3.3.3电路的优化
细心的读者或许会发现图3-43与图3-44两个电路相似、接点一样、功能相同,但程序化后它们的助记符程序是不一样的,后者比较前者少了三条语句(少了两个ANDLD、一个ORLD)。
后者程序比较短,则程序占用PLC的内存较小、效率较高。
这说明,电路要设计得好,才能减少不必要的程序语句