第4章 编程语言及编程方法1.ppt_第1页
第4章 编程语言及编程方法1.ppt_第2页
第4章 编程语言及编程方法1.ppt_第3页
第4章 编程语言及编程方法1.ppt_第4页
第4章 编程语言及编程方法1.ppt_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章 PLC的编程语言及编程方法,PLC的编程语言有梯形图语言、助记符语言、流程图语言和布尔代数语言等。其中前两种语言用得较多,流程图语言也在许多场合被采用。 本章仅介绍前三种语言,即梯形图语言、助记符语言和流程图语言的编程和特点。,4.1 PLC的编程语言及格式,2006-3-3,2,4.1.1梯形图语言 1梯形图与继电控制的区别,下图是一个继电器线路图和与其等效的PLC的梯形图。,(1)梯形图按行从上至下编写,每一行从左至右顺序编写。PLC程序执行顺序与梯形图的编写顺序一致。 (2)图左、右边垂直线称为起始母线、终止母线。每一逻辑行必须从起始母线画起。终止母线可以省略。 (3)继电器触点

2、可以反复使用。 (4)图中,最右一列只能放置线圈,用圆圈表示。且同一输出变量只能使用一次.,2、梯形图的格式 (P61),(5) 梯形图中的触点可以任意串、并联,输出线圈只能并联,不能串联。 (6)程序结束时要有结束符、 般以“END”表示。,4.1.2 助记符语言 助记符语言是类似于计算机汇编语言,用一些简洁易记的文字符号表达PLC的各种指令。不同型号的PLC,其助记符语言也不同,但其基本原理是相近的。编程时,一般先根据要求编制梯形图语言,然后再根据梯形图转换成助记符语言。 PLC中最基本的运算是逻辑运算,最常用的指令是逻辑运算指令,如与、或、非等。常见的表示方法如下: LD表示输入一个逻辑

3、变量,每一逻辑行起始处必须用这 一指令; AND逻辑“与”,表示输入变量串联; OR逻辑“或”,表示输入变量并联; ANI( AND NOT)逻辑“与反”; LDI(LD NOT)输入变量“求反”; OUT表示输出一个变量; END-表示程序结束。,梯形图与助记符语言的转换举例:,某一控制小车往返运动的梯形图如下图所示,试转换成助记符语言。,4.2 基本逻辑指令,复习 : 1)输入继电器、输出继电器:各输入输出基本单元都有诸如X0一x7,x10一x17,Y0一Y7,Y10一Y17,的输入输出地址编号,均按八进制编号(输入输出继电器以外的软元件全部按十进制编号)。扩展单元,扩展模块的地址号与基本

4、的地址号连接。 2)辅助继电器:M0一M449的500点辅助继电器为通用辅助继电器。M500M1023,共524点是有电池后备的辅助继电器,即使停电其状态也能保持,也称为保持继电器。 3)状态元件:是步进顺控元件s0s499;不用步进顺控指令时,也可作一般辅助继电器或保持继电器使用s500s899;还有被称为报警器的软元件(100点)S900一S999。,FX2系列PLC 共有20条基本指令,2条步进指令,近百条功能指令 。,4.2 基本逻辑指令,4)定时器:TOT199:可以设定0.13276.7s,以0.1s为单位的定时器,共200点。T200一T245:可以设定0.01327.67s,以

5、0.0Is为单位的定时器,共46点。其他还有积算型定时器T246一T255 ,共10点,在停电计时中断后,复电时可继续计时。 5)计数器:cOc99:计数范围132767的计数器,共100点。c100c199:计数范围同上,计数过程中即使停电其计数值也能保持,共l00点。还有计数范围为-21474836482147483647的可逆计数器c200c234, c235c255(37点加上高速计数器)。,4.2.1 逻辑取与输出线圈驱动指令LD、LDI、OUT,1指令用法 LD:取指令,用于常开触点与母线连。 LDl:取反指令,用于常闭触点与母线连接。 OUT:线圈驱动指令,用于将逻辑运算的结果驱

6、动一个指定线圈。,2指令用法说明 1)LD、LDI指令用于将触点接到母线上,操作目标元件为X、Y、M、T、C、S。LD、LDI指令还可以与ANB、ORB指令配合,用于分支回路的起点 2)OUT指令的目标元件为Y、M、T、C、S和功能指令线圈F。对输入继电器X不能使用。 3)OUT指令可以连续使用若干次,相当于线圈并联(线圈不可串联使用)。在对定时器、计数器使用OUT指令后,必须设置常数K。,4.2.2 单个触点串联指令AND、ANI,1、指令用法: AND:与指令。用于单个常开触点的串联,完成逻辑“与”运算,助记符号通常为AND XX。XX为触点地址(操作数或操作元件或目标元件)。 ANI:与

7、反指令。用于单个常闭触点的串联,完成逻辑“非与”运算,助记符号通常为ANI XX。,2、用法说明: 1)AND、ANI指令均用于单个触点的串联,串联触点数目没有限制。该指令可以重复多次使用。指令的目标元件为X、Y、M、T、c、s。 2)OuT指令后,通过触点对其他线圈使用OUT指令称为纵接输出。如左图a)中的OUT Y4。这种连续输出如果顺序不错,可以多次重复。但是如果驱动顺序换成右图b)的形式,编程时则要使用后文提到的MPS与MPP指令(p67)。这时程序步增多,因此不推荐使用右图的形式。,b) 不推荐电路,4.2.3 单个触点并联指令OR、ORI,1、指令用法: OR:或指令。用于单个常开

8、触点的并联,助记符为OR 。表示触点地址。 ORI:或反指令。用于单个常闭触点的并联。,2、用法说明: 1)OR、ORI指令用于一个触点的并联连接指令。 2)OR、ORI指令并联触点时,是从该指令的当前步开始,对前面的LD、LDI指令并联连接。该指令并联连接的次数不限。,4.2.4 串联电路块并联指令ORB,1、指令用法: ORB是将串联块相并联,是块或指令, 2、用法说明: 1)2个以上的触点串联连接的电路称为串联电路块。串联电路块并联时,各电路块分支的开始用LD或LDI指令,分支结尾用ORB指令。 2)若须将多个串联电路块并联,则在每一电路块后面加上条ORB指令。用这种方法编程则对并联的支

9、路数没有限制。 3)ORB指令为无操作元件号的独立指令。,ORB指令的使用方法有两种:一种是在要并联的每个串联电路块后加ORB指令,见图b)语句表;另一种是集中使用ORB指令,详见图c)语句表。对于前者分散使用ORB指令时,并联电路块的个数没有限制,但对于后者集中使用ORB指令时,这种电路块并联的个数不能超过8个(即重复使用LD、LDI指令的次数限制在8次以下),所以不推荐用后者编程。,4.2.5 并联电路块的串联指令ANB,1、指令用法: ANB将并联块相串联,为块与指令。 2、用法说明: 1)在使用ANB指令之前应先完成并联电路块的内部连接。并联电路块中各支路的起点用LD或LDl指令,在并

10、联好电路块后,使用ANB指令与前面电路串联。 2)若多个并联电路块顺次用ANB与前面电路串联连接,则ANB的使用次数不限。 3)ANB指令为无操作元件号的独立指令。,ANB指令使用举例,图 ANB ORB指令说明,63,4.2.6 多重输出电路指令MPS、MPP、MRD,1、指令用法: MPS(Push):进栈指令 MRD(Read):读栈指令。 MPP(POP):出栈指令。,FX系列PLC中11个存储中间运算结果的存储区域被称为栈存储器。使用进栈指令MPS时,当时的运算结果压入栈的第一层,栈中原来的数据依次向下一层推移;使用出栈指令MPP时,各层的数据依次向上移动一次。MRD是最上层所存数据

11、的读出专用指令。读出时,栈内数据不发生移动。MPS和MPP指令必须成对使用,而且连续使用应少于11次。,1 2 3 11,2、用法说明: 无论何时MPS和MPP连续使用必须少于11次,并且MPS与MPP必须配对使用。 3、举例:(1)占用堆栈底一层栈梯形图的例子,(2)占用堆栈底二层栈梯形图的例子,1 2 3 11,4.2.7 置位与复位指令SET、RST,1、指令用法:SET指令用于对逻辑线圈M、输出继电器Y、状态S的置位,RST用于对逻辑线圈M、输出继电器Y、状态S的复位,对数据寄存器D和变址寄存器v、z的清零,还用于对计时器T和计数器C逻辑线圈的复位,使它们的当前计时值和计数值清零。 2

12、、用法说明: 1)SET和RST指令具有自保持功能, 2)SET和RST的使用没有顺序限制,并且它们之间可以加入别的程序,但在最后执行的一条才有效。,RST指令用于计数器的使用说明,4.2.8 脉冲输出指令PLS、PLF,1、指令用法: PLS:上升沿微分输出,专用于操作元件的短时间脉冲输出 PLF:下降沿微分输出,控制线路由闭合到断开。 2、用法说明: 1)使用PLS指令,元件Y、M仅在驱动输入接通后的一个扫描周期内动作。使用PLF指令,元件Y、M仅在驱动输入断开后的一个扫描周期内动作。 2)特殊继电器不能用作PLS或PLF的操作元件。,4.2.9 空操作指令NOP(P73),1、指令用法:

13、 NOP是一条空操作指令,用于程序的修改。NOP指令在程序中占一个步序,没有元件编号。在使用时,预先在程序中插入NOP指令,以备在修改或增加指令时用。还可以用NOP取代已写入的指令,从而修改程序。 2、用法说明: 1)若在程序中加入NOP指令,改动或追加程序时,可以减少步序号的改变,另外用NOP替换已输入的指令,也可改变电路。 2)LD、LDI、AND、ORB等指令若换成NOP指令,电路构成将有较大幅度变化。 3)执行程序全清操作后,全部指令都变成NOP。,短路局部电路,NOP指令的使用说明,电路变换,LDNOP,ANDNOP,4.2.10 程序结束指令END,END指令用于程序的结束,是无元

14、件编号的独立指令。 在程序调试过程中,可分段插入END指令,再逐段调试;在该段程序调试好后,删去END指令。然后进行下段程序的调试,直到全部调试完为止。 END指令必不可少。,4.2.11 基本逻辑指令的编程方法,1. 编程方法: (1)梯形图的设计规则 (P74) 规则1 梯形图中的阶梯都是从左母线开始,终于右母线。线圈只能接在右边的母线上,不能直接在左母线上,并且所有的触点不能放在线圈的右边。每一行的开始是触点群组成的“工作条件”,最右边是线圈表达的“工作结果”。一行写完,自上而下依次再写下一行。,注意:触点不能接在线圈的右边,规则2 如果有几个电路块并联时,应将触点最多的支路块放在最上面

15、。在有几个并联回路相串联时,应将并联支路多的尽量靠近母线。这样可以使编制的程序简洁明了,语句较少。,规则3 在梯形图中没有实际的电流流动,所渭“流动”只能从左到右、从上到下单向“流动”。因此桥式电路是不可编程的,必须按逻辑功能等效转换。,规则4 不包含触点的分支应放在垂直方向,不可放在水平位置,以便于识别触点的组合和对输出线圈的控制路径。,4.2.11 基本逻辑指令的编程方法,1. 编程方法: (2)语句编程规则 (P74) 规则1 对梯形图进行语句编程时,应遵循从左到右,自上而下的原则进行。对于复杂的梯形图,可将其分成若干块,逐块编程,然后再将各块顺次连接起来。 规则2 采用合理的编程顺序和

16、适当的电路变换,尽量减少程序步数,以节省内存空间和缩短扫描周期。,4.2.11 基本逻辑指令的编程方法,2. 编程举例: 例1写出下面所示梯形图的程序。,ANI,4.3 控制指令,4.3.1 主控指令MC、MCR 1、 用法: MC指令可记忆多输出回路所通过的公共回路值,用 MC命后,要开辟一个单元(M)以寄存前面的运算值,而后 面形成新的临时母线。 MCR为主控复位指令,在主控电路块终点使用。 其目的操作数的选择范围为逻辑线圈M,常数为嵌套数,选择范围为NoN7梯形图和语句如下图所示。,MC、MCR指令的使用说明之一,MC、MCR指令的使用说明之二,LD X000 1 MC N0 SP M1

17、00 4 LD X001 5 OUT Y001 6 LD X002 7 OUT Y002 8 MCR N0 10 LD X003 11 OUT Y003,4.3 控制指令,4.3.1 主控指令MC、MCR 2、说明: 1)输入接通时,执行MC与MCR之间的指令。当输入断开时,扫描MC与MCR指令之间各梯形图情况有如下情况 保持当前状态的元件计数器和失电保护计时器,用SET/RST指令驱动的元件。 变成断开的元件普通计时器,各逻辑线圈和输出线圈。 2)MC指令后,母线(LD,LDI)移至MC触点之后,返回原来母线的返 回指令是MCR。MC、MCR必须成对使用。 3)使用不同的M元件号,可多次使用

18、MC指令。 4)在MC指令内再使用MC指令时,嵌套级的编号就顺次增大(按程序顺序由小到大),返回时用MCR指令,从大的嵌套级开始解除(按程序顺序由大到小)。(见书 P78图4-27),3、 用法举例: 根据梯形图写出程序,并分析该程序的工作情况。,当xo闭合时x1、x2、x3、x4都闭合,扫描MC到MCR之间的梯形图,Y0接通,T0和T250进行计时,逻辑线圈M20接通。当x0断开时,假如TO和T250计时时间还未到,则To被复位,计时器T250的当前计时值保持不变,逻辑线圈M20保持接通状态不变;输出线圈Yo被切断。执行MCR指令时,程序退出主控指令,T250 K100,主控触点指令含主控触

19、点指令(MC)及主控触点复位 (MCR)两条指令。,主控触点指令与栈指令功能的异同: 相同点:都是一个触点实现对一片梯形图区域的控制。 不同点:栈指令是用“栈”建立一个分支结点 (梯形图支路的分支点) ,而主控触点指令则用增绘一个实际的触点建立一个由这个触点隔离的区域。,4.1.3 流程图(SFC)语言(P62) 顺序控制:按照生产工艺预先规定的顺序,在各个输入信号作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动有序地进行操作.,X0,X1,X1,X2,X2,X4,X4,X5,X5,自动门控制系统,机械手将工件从A点向B点移送。机械手的上升、下降与左移、右移都是由双线圈两位电磁阀

20、驱动气缸来实现的。抓手对物件的松开、夹紧是由一个单线圈两位电磁阀驱动气缸完成,只有在电磁阀通电时抓手才能夹紧。该机械手工作原点在左上方,按下降、夹紧、上升、右移、下降、松开、上升、左移的顺序依次运行。,流程图是一种用于描述顺序控制系统控制过程的一种图形。也称状态转移图或功能图。它具有简单、直观等特点,是设计PLC顺序控制程序的一种有力工具。它由步、转换条件及有向连线组成。,1流程图的“步”(P62)系统的工作过程按输出量的状态变化,可以分为若干个阶段,这些阶段称为“步”。用状态寄存器S表示。,初始步:对应于控制系统的初始状态,是其运行的起点。一个控制系统至少要有一个初始步。初始步的符号如图1

21、所示。( S0一S9称为初始状态) 工作步:指控制系统正常运行时的状态。 “步” 有两种状态:动步和静步,动步是指当前正在进行的步,相应的动作被执行,静步是没有运行的步,相应的非存储型动作被停止执行。 与步对应的动作;步是指一个稳定的状态,即表示过程中的一个动作,用该步右边的一个矩形框来表示,如图2所示。当一个步有多个动作时,其表示方法如图3所示。,4.1.3 流程图(SFC)语言,2.转移 用一个有向线段来表示转移的方向。两步之间的有向线段上再用一段横线表示转移条件。转移的符号如右图1所示。,2)转移条件:一个转移能够触发,必须满足转移条件。转移条件可以来用文字语句或逻辑表达式等方式表示在转

22、换符号旁,如右图2所示。只有当某个步处于活动状态,而且与它相关的转移条件成立时,才能实现步状态的转移,转移结果使紧接它的后续步处于活动状态,而使与其相连的前级步处于非活动状态。,1)转移的使能和触发:转移是一种条件,当条件满足时,称为转移使能。如果该转移能够使步实现转移,则称为触发,4.1.3 流程图(SFC)语言,3SFC流程图构成规则 1)步与步不能相连,必须用转移分开。 2)转移与转移不能相连,必须用步分开。 3)步与转移、转移与步之间的连接采用有向线,从上向下画时可以省略箭头。而有向线段从下向上画时,必须画上箭头,以表示方向。 4)一个流程图至少要有一个初始步。 如右图:,4.1.3

23、流程图(SFC)语言,4流程图的基本形式 1) 单一顺序如图a所示。 2)选择顺序如图b所示。选择顺序是指在某一步后有若干单一顺序等待选择,一次只能选择进入一个顺序。 3)并行顺序如图c所示。并行顺序是指在某一转移条件下,同时启动若干个顺序。并行顺序用双水平线表示,同时结束若干顺序,也用双水平线表示。,此处不能有横线,此处不能有横线,转移条件,举例:某店面名叫”彩云间”,这三个字的广告牌要求闪烁,用HL1-HL3三个灯点亮”彩云间”三个字.要求如下:在打开闪烁开关以后,首先是”彩”亮1S,接着”云”亮1S,然后”间”亮1S,再”彩云间”三字闪烁,以0.5S为周期灭亮两次,如此循环.,该机械手工

24、作原点在左上方,按下降、夹紧、上升、右移、下降、松开、上升、左移的顺序依次运行。,4.4 步进顺控指令(P88),顺序控制用梯形图的方法编制程序,既复杂又难以读懂,限制了使用:但在顺序动作的机械控制中, 若将机械动作用状态流程图(简称SFC)表示,用步进顺控指令编程会很方便。,4.4.1 状态寄存器S的功能,软元件“状态寄存器S” 是构成步进顺控指令的重要元素。FX型PLC共有900个状态S0S899,其中SO S19用于后面将要叙述的特殊目的,例如S0S9称为初始状态等。 各种负载,比如Y、M、S、T、C等和功能指令均可由“状态S”的触点来驱动,也可由各种元件触点的逻辑组合来驱动。单独触点可

25、作为转移条件,各种触点的逻辑组合连接也可用作转移条件。 当PLC的CPU扫描由步进顺控程序编制的用户程序时,扫描与某个状态相连的那些梯形图,其结果和扫描与主控触点相连接的那些梯形图是一样的。若该状态为1,相当于主控触点闭合:若该状态为0,相当于主控触点断开。,4.4.2 状态流程图的编制方法,1步进顺控的程序示例 步进指令有两条:STL和RET STL是步进开始指令 RET是步进结束指令 步进指令STL只有与状态继电器S配合时才具有步进功能。使用STL指令的状态继电器S的常开触点,称为STL触点,没有常闭的STL触点。用状态继电器S代表功能图的各步,每一步都具有三种功能:负载的驱动处理、指定转

26、换条件和指定转换目标。,STL S20 OUT Y000 LD X001 SET S21 STL S21,STL触点是与左母线相连的常开触点,类似于主控触点,并且同一状态继电器的STL触点只能使用一次(并行序列的合并除外)。,与STL触点相连的触点应使用LD或LDI指令,使用过STL指令后,应用RET指令使LD点返回左母线。,在步进梯形图中,将状态(S)看作为一个控制工序,从中将输入条件与输出控制按顺序编程。这种控制最大的特点是在工序进行时,与前一工序不接通,以各道工序的简单顺序,即可控制设备。,梯形图中同一元件的线圈可以被不同的STL触点驱动,即使用STL指令时,允许双线圈输出。,在转移条件

27、回路中,不能使用ANB、ORB、MPS、MRD、MPP指令,试简要分析下图输出线圈的工作状态。 如果状态S30为1,则输出线圈Y10和Y11被置1,这时输出线圈Y12为0。 当状态S30的转移条件满足,即开关量X21闭合,则状态S30停止工作,紧随其后的状态S31投入工作。这时,输出线圈Y10被置0,Y11仍为1。 若常开触点M10断开,则输出线圈Y12仍为0;若常开触点M10闭合,则输出线圈Y12被置1。,LD M8002 SET S0 STL S0 LD X001 SET S21 STL S21 OUT Y000 LD X002 SET S22 STL S22 OUT Y001 LD X0

28、03 SET S23 STL S23 OUT Y002 LD X004 OUT S0 RET END,2.初始状态的编程 状态转移图的起始位置是初始状态,编程时必须将初始状态在其他状态之前,S0S9可用作初始状态。除初始状态之外的一般状态元件必须在其他状态后加入STL指令才能驱动,不能脱离状态用其他方式驱动。,3选择性分支、汇合的编程,如果某个状态的转移条件满足,在将该状态置0的同时,需要将若干状态置1,即有几个状态同时工作。这时,可采用并行分支的编程方法,其用户程序如图所示。,4并行分支、汇合的编程,5. 跳转、重复的编程方法 用SFC语言编制用户程序时,有时程序需要跳转或重复,则用OUT指

29、令代替SET指令。 (1)部分重复的编程方法 在一些情况下,需要返回某个状态重复执行一段程序,可以采用部分重复的编程方法,如图所示。,5. 跳转、重复的编程方法,(2)同一分支内跳转的编程方法 在一条分支的执行过程中,由于某种需要跳过几个状态,执行下面的程序。此时可以采用同一分支跳转的编程方法。如图所示。,同一分支内跳转的编程方法,(3)跳转到另一条分支的编程方法 在某种情况下,要求程序从一条分支的整个状态跳转到另一条分支的某个状态继续执行。此时可以采用跳转到另一条分支的编程方法,如图所示。,跳转到另一条分支的编程方法,(4)复位处理的编程方法 在用SFC语言编制用户程序时,如果要使某个运行的状态(该状态为1)停止运行(使该状态置0),其编程的方法如图。 图中当状态S22为1时,此时若输入X21为1,则将状态S22置0状态S23置1;若输入X22为1,则将状态S22置0,即该支路停止运行。如果要使该支路重新进入运打,则必须使输入X10为1。,复位处理的编程方法,4.4.3 状态的详细动作说明,1STL指令的动作 编制SFC程序时,当STL触点接通(ON)时,与此连接的电路运行。当STL触点断开(OFF),与此连接的电路停止运行,但要注意在STL接点接通转为断开后,还要执行一个扫描周期。图a所示。 状态转移过程中,在一个扫描周期中两状态同时为oN的情况也可能出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论