第4章 编程语言及编程方法1.ppt
第第4章章 PLC的编程语言及编程方法的编程语言及编程方法PLC的编程语言有梯形图语言、助记符语言、流的编程语言有梯形图语言、助记符语言、流程图语言和布尔代数语言等。其中前两种语言用程图语言和布尔代数语言等。其中前两种语言用得较多,流程图语言也在许多场合被采用。得较多,流程图语言也在许多场合被采用。本章仅介绍前三种语言,即梯形图语言、助记符本章仅介绍前三种语言,即梯形图语言、助记符语言和流程图语言的编程和特点。语言和流程图语言的编程和特点。4.1 PLC4.1 PLC的编程语言及格式的编程语言及格式2006-3-3 2006-3-3 2 2 4.1.14.1.1梯形图语言梯形图语言 1 1梯形图与继电控制的区别梯形图与继电控制的区别 梯形图梯形图是在原继电器是在原继电器接触器控制系统的继电器线路图接触器控制系统的继电器线路图基础上演变而来的基础上演变而来的一种图形语言。它是目前用得最多的一种图形语言。它是目前用得最多的PLCPLC编编程语言。程语言。注意注意:梯形图表示的梯形图表示的并不是一个实际电路而只是一个控制程并不是一个实际电路而只是一个控制程序,序,其间的连线表示的是它们之间的逻辑关系,即所谓其间的连线表示的是它们之间的逻辑关系,即所谓“软接线软接线”。常开触点常开触点 :常闭触点:常闭触点:线圈:线圈:注意:注意:注意:注意:梯形图中的元器件并非是物理实体,而是梯形图中的元器件并非是物理实体,而是“软继电器软继电器”。每个。每个“软继电器软继电器”仅对应仅对应PLCPLC存储单元中的一位。存储单元中的一位。该该位状态为位状态为“1”1”时,对应的继电器线圈接通,其常开触点时,对应的继电器线圈接通,其常开触点闭合、常闭触点断开;状态为闭合、常闭触点断开;状态为“0”0”时,对应的继电器线时,对应的继电器线圈不通,其常开、常闭触点保持原态。圈不通,其常开、常闭触点保持原态。下图是一个继电器线路图和与其等效的下图是一个继电器线路图和与其等效的PLC的梯形图。的梯形图。(1)梯形图按行从上至下编写,每一行从左至右顺序编写。梯形图按行从上至下编写,每一行从左至右顺序编写。PLC程序执行顺序与梯形图的编写顺序一致。程序执行顺序与梯形图的编写顺序一致。(2)图左、右边垂直线称为起始母线、终止母线。每一逻辑图左、右边垂直线称为起始母线、终止母线。每一逻辑行必须从起始母线画起。终止母线可以省略。行必须从起始母线画起。终止母线可以省略。(3)继电器触点可以反复使用。继电器触点可以反复使用。(4)图中,最右一列只能放置线圈,图中,最右一列只能放置线圈,用圆圈表示用圆圈表示。且同一输。且同一输出变量只能使用一次出变量只能使用一次.2、梯形图的格式、梯形图的格式(P61)X0X1Y0Y0Y0X1(5)梯形图中的触点可以任意串、并联,输出线圈只能并联,梯形图中的触点可以任意串、并联,输出线圈只能并联,不能串联。不能串联。(6)程序结束时要有结束符、程序结束时要有结束符、般以般以“END”表示。表示。输出线圈串联。输出线圈串联。输出线圈并联输出线圈并联4.1.2 助记符语言助记符语言助记符语言是类似于助记符语言是类似于计算机汇编语言计算机汇编语言,用一些简洁易记的文,用一些简洁易记的文字符号表达字符号表达PLC的各种指令。不同型号的的各种指令。不同型号的PLC,其助记符语,其助记符语言也不同,但其基本原理是相近的。编程时,一般先根据要言也不同,但其基本原理是相近的。编程时,一般先根据要求编制梯形图语言,然后再根据梯形图转换成助记符语言。求编制梯形图语言,然后再根据梯形图转换成助记符语言。PLC中最基本的运算是逻辑运算,最常用的指令是逻辑运算中最基本的运算是逻辑运算,最常用的指令是逻辑运算指令,如与、或、非等。常见的表示方法如下:指令,如与、或、非等。常见的表示方法如下:LD表示输入一个逻辑变量,每一逻辑行起始处必须用这表示输入一个逻辑变量,每一逻辑行起始处必须用这 一指令;一指令;AND逻辑逻辑“与与”,表示输入变量串联;,表示输入变量串联;OR逻辑逻辑“或或”,表示输入变量并联;,表示输入变量并联;ANI(AND NOT)逻辑逻辑“与反与反”;LDI(LD NOT)输入变量输入变量“求反求反”;OUT表示输出一个变量;表示输出一个变量;END-表示程序结束。表示程序结束。梯形图与助记符语言的转换举例:梯形图与助记符语言的转换举例:某一控制小车往返运动的梯形图如下图所示,试转换成某一控制小车往返运动的梯形图如下图所示,试转换成助记符语言。助记符语言。4.2 4.2 基本逻辑指令基本逻辑指令复习复习 :1)1)输入继电器、输出继电器:各输入输出基本单元都有诸如输入继电器、输出继电器:各输入输出基本单元都有诸如X0X0一一x7x7,x10 x10一一x17x17,Y0Y0一一Y7Y7,Y10Y10一一Y17Y17,的输入的输入输出地址编号,均按八进制编号输出地址编号,均按八进制编号(输入输出继电器以外的输入输出继电器以外的软元件全部按十进制编号软元件全部按十进制编号)。扩展单元,扩展模块的地址号。扩展单元,扩展模块的地址号与基本的地址号连接。与基本的地址号连接。2)2)辅助继电器:辅助继电器:M0M0一一M449M449的的500500点辅助继电器为通用辅助继点辅助继电器为通用辅助继电器。电器。M500M500M1023M1023,共,共524524点是有电池后备的辅助继电器,点是有电池后备的辅助继电器,即使停电其状态也能保持,也称为保持继电器。即使停电其状态也能保持,也称为保持继电器。3)3)状态元件:是步进顺控元件状态元件:是步进顺控元件s0s0s499s499;不用步进顺控指令;不用步进顺控指令时,也可作一般辅助继电器或保持继电器使用时,也可作一般辅助继电器或保持继电器使用s500s500s899s899;还有被称为报警器的软元件还有被称为报警器的软元件(100(100点点)S900)S900一一S999S999。FX2FX2系列系列PLC PLC 共有共有2020条基本指令,条基本指令,2 2条步进指令,近百条功能指令条步进指令,近百条功能指令 。4.2 基本逻辑指令基本逻辑指令4)定时器:定时器:TOT199:可以设定:可以设定0.13276.7s,以,以0.1s为单为单位的定时器,共位的定时器,共200点。点。T200一一T245:可以设定:可以设定0.01327.67s,以,以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:线圈驱动指令,用于将逻辑运算的结果驱:线圈驱动指令,用于将逻辑运算的结果驱动一个指定线圈。动一个指定线圈。I映像寄映像寄存器区存器区X00X102 2指令用法说明指令用法说明1)LD1)LD、LDILDI指令用于将触点接到母线上,操作目标元件为指令用于将触点接到母线上,操作目标元件为X X、Y Y、M M、T T、C C、S S。LDLD、LDILDI指令还可以与指令还可以与ANBANB、ORBORB指令配合,用于分支回指令配合,用于分支回路的起点路的起点 2)OUT2)OUT指令的目标元件为指令的目标元件为Y Y、M M、T T、C C、S S和功能指令线圈和功能指令线圈F F。对输对输对输对输入继电器入继电器入继电器入继电器X X X X不能使用。不能使用。不能使用。不能使用。3)OUT3)OUT指令可以连续使用若干次,相当于线圈并联指令可以连续使用若干次,相当于线圈并联(线圈线圈不可串联不可串联使用使用)。在对定时器、计数器使用。在对定时器、计数器使用OUTOUT指令后,必须设置常数指令后,必须设置常数K K。4.2.2 单个触点串联指令单个触点串联指令AND、ANI1、指令用法:、指令用法:AND:与指令。用于单个常开触点的串联,完成逻辑:与指令。用于单个常开触点的串联,完成逻辑“与与”运算,助记符号通常为运算,助记符号通常为AND XX。XX为触点地为触点地址址(操作数或操作元件或目标元件操作数或操作元件或目标元件)。ANI:与反指令。用于单个常闭触点的串联,完成逻辑:与反指令。用于单个常闭触点的串联,完成逻辑“非与非与”运算,助记符号通常为运算,助记符号通常为ANI XX。I映像寄存器区映像寄存器区X10X21X31X40X502 2、用法说明:、用法说明:1)AND1)AND、ANIANI指令均用于单个触点的串联,串联触点数目没有限指令均用于单个触点的串联,串联触点数目没有限制。该指令可以重复多次使用。指令的目标元件为制。该指令可以重复多次使用。指令的目标元件为X X、Y Y、M M、T T、c c、s s。2)OuT2)OuT指令后,通过触点对其他线圈使用指令后,通过触点对其他线圈使用OUTOUT指令称为纵接输出。指令称为纵接输出。如左图如左图a)a)中的中的OUT Y4OUT Y4。这种连续输出如果顺序不错,可以多次。这种连续输出如果顺序不错,可以多次重复。但是如果驱动顺序换成右图重复。但是如果驱动顺序换成右图b)b)的形式,编程时则要使用的形式,编程时则要使用后文提到的后文提到的MPSMPS与与MPPMPP指令指令(p67)(p67)。这时程序步增多,因此不推。这时程序步增多,因此不推荐使用右图的形式。荐使用右图的形式。b)不推荐电路不推荐电路X3 X4 X5 Y6Y74.2.3 4.2.3 单个触点并联指令单个触点并联指令OROR、ORIORI1 1、指令用法:、指令用法:OROR:或指令。用于单个常开触点的并联,助记符为:或指令。用于单个常开触点的并联,助记符为OR OR。表示触点地址。表示触点地址。ORIORI:或反指令。用于单个常闭触点的并联。:或反指令。用于单个常闭触点的并联。I映像寄存器区映像寄存器区X40X50X60X71X101X10202 2、用法说明:、用法说明:1)OR1)OR、ORIORI指令用于一个触点的并联连接指令。指令用于一个触点的并联连接指令。2)OR2)OR、ORIORI指令并联触点时,是从该指令的当前步开始,对前指令并联触点时,是从该指令的当前步开始,对前面的面的LDLD、LDILDI指令并联连接。该指令并联连接的次数不限。指令并联连接。该指令并联连接的次数不限。4.2.4 4.2.4 串联电路块并联指令串联电路块并联指令ORBORB1 1、指令用法:、指令用法:ORBORB是将串联块相并联,是块或指令,是将串联块相并联,是块或指令,2 2、用法说明:、用法说明:1)21)2个以上的触点串联连接的电路称为个以上的触点串联连接的电路称为串联电路块串联电路块。串联电路。串联电路块并联时,各电路块分支的开始用块并联时,各电路块分支的开始用LDLD或或LDILDI指令,分支结尾用指令,分支结尾用ORBORB指令。指令。2)2)若须将多个串联电路块并联,则在每一电路块后面加上若须将多个串联电路块并联,则在每一电路块后面加上条条ORBORB指令。用这种方法编程则对并联的支路数没有限制。指令。用这种方法编程则对并联的支路数没有限制。3)ORB3)ORB指令为无操作元件号的独立指令。指令为无操作元件号的独立指令。I映像寄存器区映像寄存器区X00X11X21X31X40X50 ORBORBORBORB指令的使用方法有两种:一种是在要并联的每个串联电路指令的使用方法有两种:一种是在要并联的每个串联电路指令的使用方法有两种:一种是在要并联的每个串联电路指令的使用方法有两种:一种是在要并联的每个串联电路块后加块后加块后加块后加ORBORBORBORB指令,见图指令,见图指令,见图指令,见图b)b)b)b)语句表;另一种是集中使用语句表;另一种是集中使用语句表;另一种是集中使用语句表;另一种是集中使用ORBORBORBORB指令,指令,指令,指令,详见图详见图详见图详见图c)c)c)c)语句表。对于前者分散使用语句表。对于前者分散使用语句表。对于前者分散使用语句表。对于前者分散使用ORBORBORBORB指令时,并联电路块的指令时,并联电路块的指令时,并联电路块的指令时,并联电路块的个数没有限制,但对于后者集中使用个数没有限制,但对于后者集中使用个数没有限制,但对于后者集中使用个数没有限制,但对于后者集中使用ORBORBORBORB指令时,这种电路块并指令时,这种电路块并指令时,这种电路块并指令时,这种电路块并联的个数不能超过联的个数不能超过联的个数不能超过联的个数不能超过8 8 8 8个个个个(即重复使用即重复使用即重复使用即重复使用LDLDLDLD、LDILDILDILDI指令的次数限制在指令的次数限制在指令的次数限制在指令的次数限制在8 8 8 8次以下次以下次以下次以下),所以不推荐用后者编程。,所以不推荐用后者编程。,所以不推荐用后者编程。,所以不推荐用后者编程。4.2.5 4.2.5 并联电路块的串联指令并联电路块的串联指令ANBANB1 1、指令用法:、指令用法:ANBANB将并联块相串联,为块与指令。将并联块相串联,为块与指令。2 2、用法说明:、用法说明:1)1)在使用在使用ANBANB指令之前应先完成并联电路块的内部连接。并联指令之前应先完成并联电路块的内部连接。并联电路块中各支路的起点用电路块中各支路的起点用LDLD或或LDlLDl指令,在并联好电路块后,指令,在并联好电路块后,使用使用ANBANB指令与前面电路串联。指令与前面电路串联。2)2)若多个并联电路块顺次用若多个并联电路块顺次用ANBANB与前面电路串联连接,则与前面电路串联连接,则ANBANB的使用次数不限。的使用次数不限。3)ANB3)ANB指令为无操作元件号的独立指令。指令为无操作元件号的独立指令。I映像寄存器区映像寄存器区X00X10X20X31X40X51X61ANB指令使用举例指令使用举例语句步语句步指令指令元素元素0 0LDLD X000X0001 1ORORX001X0012 2LDLDX002X0023 3ANDANDX003X0034 4LDILDIX004X0045 5ANDANDX005X0056 6ORBORB7 7ORORX006X0068 8ANBANB9 9ORORX007X0071010OUTOUTY007Y007图图 ANB ORBANB ORB指令说明指令说明634.2.6 4.2.6 多重输出电路指令多重输出电路指令MPSMPS、MPPMPP、MRDMRD1 1、指令用法:、指令用法:MPS(Push)MPS(Push):进栈指令:进栈指令 MRD(Read)MRD(Read):读栈指令。:读栈指令。MPP(POP)MPP(POP):出栈指令。:出栈指令。FXFXFXFX系列系列系列系列PLCPLCPLCPLC中中中中11111111个存储中间运算结果的存储区域被称为栈个存储中间运算结果的存储区域被称为栈个存储中间运算结果的存储区域被称为栈个存储中间运算结果的存储区域被称为栈存储器。使用进栈指令存储器。使用进栈指令存储器。使用进栈指令存储器。使用进栈指令MPSMPSMPSMPS时,当时的运算结果压入栈的第时,当时的运算结果压入栈的第时,当时的运算结果压入栈的第时,当时的运算结果压入栈的第一层,栈中原来的数据依次向下一层推移;使用出栈指令一层,栈中原来的数据依次向下一层推移;使用出栈指令一层,栈中原来的数据依次向下一层推移;使用出栈指令一层,栈中原来的数据依次向下一层推移;使用出栈指令MPPMPPMPPMPP时,各层的数据依次向上移动一次。时,各层的数据依次向上移动一次。时,各层的数据依次向上移动一次。时,各层的数据依次向上移动一次。MRDMRDMRDMRD是最上层所存是最上层所存是最上层所存是最上层所存数据的读出专用指令。读出时,栈内数据不发生移动。数据的读出专用指令。读出时,栈内数据不发生移动。数据的读出专用指令。读出时,栈内数据不发生移动。数据的读出专用指令。读出时,栈内数据不发生移动。MPSMPSMPSMPS和和和和MPPMPPMPPMPP指令必须成对使用,而且连续使用应少于指令必须成对使用,而且连续使用应少于指令必须成对使用,而且连续使用应少于指令必须成对使用,而且连续使用应少于11111111次。次。次。次。123112 2、用法说明:、用法说明:无论何时无论何时MPSMPS和和MPPMPP连续使用必须少于连续使用必须少于1111次,并且次,并且MPSMPS与与MPPMPP必必须配对使用。须配对使用。3 3、举例:、举例:(1)(1)占用堆栈底一层栈梯形图的例子占用堆栈底一层栈梯形图的例子(2)(2)占用堆栈底二层栈梯形图的例子占用堆栈底二层栈梯形图的例子123114.2.7 置位与复位指令置位与复位指令SET、RST1、指令用法:、指令用法:SET指令用于对逻辑线圈指令用于对逻辑线圈M、输出继电器、输出继电器Y、状态状态S的置位,的置位,RST用于对逻辑线圈用于对逻辑线圈M、输出继电器、输出继电器Y、状、状态态S的复位,对数据寄存器的复位,对数据寄存器D和变址寄存器和变址寄存器v、z的清零,还的清零,还用于对计时器用于对计时器T和计数器和计数器C逻辑线圈的复位,使它们的当前逻辑线圈的复位,使它们的当前计时值和计数值清零。计时值和计数值清零。2、用法说明:、用法说明:1)SET和和RST指令具有自保持功能,指令具有自保持功能,2)SET和和RST的使用没有顺序限制,并且它们之间可以加入的使用没有顺序限制,并且它们之间可以加入别的程序,但在最后执行的一条才有效。别的程序,但在最后执行的一条才有效。X0 X1 Y0Y0 RST RST指令用于计数器的使用说明指令用于计数器的使用说明指令用于计数器的使用说明指令用于计数器的使用说明4.2.8 脉冲输出指令脉冲输出指令PLS、PLF1、指令用法:、指令用法:PLS:上升沿微分输出,专用于操作元件的短时间脉冲输出:上升沿微分输出,专用于操作元件的短时间脉冲输出PLF:下降沿微分输出,控制线路由闭合到断开。:下降沿微分输出,控制线路由闭合到断开。2、用法说明:、用法说明:1)使用使用PLS指令,元件指令,元件Y、M仅在驱动输入接通后的一个扫仅在驱动输入接通后的一个扫描周期内动作。使用描周期内动作。使用PLF指令,元件指令,元件Y、M仅在驱动输入断仅在驱动输入断开后的一个扫描周期内动作。开后的一个扫描周期内动作。2)特殊继电器不能用作特殊继电器不能用作PLS或或PLF的操作元件。的操作元件。4.2.9 4.2.9 空操作指令空操作指令NOP(P73)NOP(P73)1 1、指令用法:、指令用法:NOPNOP是一条空操作指令,用于程序的修改。是一条空操作指令,用于程序的修改。NOPNOP指令在程指令在程序中占一个步序,没有元件编号。在使用时,预先在序中占一个步序,没有元件编号。在使用时,预先在程序中插入程序中插入NOPNOP指令,以备在修改或增加指令时用。指令,以备在修改或增加指令时用。还可以用还可以用NOPNOP取代已写入的指令,从而修改程序。取代已写入的指令,从而修改程序。2 2、用法说明:、用法说明:1)1)若在程序中加入若在程序中加入NOPNOP指令,改动或追加程序时,可指令,改动或追加程序时,可以减少步序号的改变,另外用以减少步序号的改变,另外用NOPNOP替换已输入的指令,替换已输入的指令,也可改变电路。也可改变电路。2)LD2)LD、LDILDI、ANDAND、ORBORB等指令若换成等指令若换成NOPNOP指令,电路构指令,电路构成将有较大幅度变化。成将有较大幅度变化。3)3)执行程序全清操作后,全部指令都变成执行程序全清操作后,全部指令都变成NOPNOP。短路前面所有电路短路前面所有电路ANBNONOP P 切断前面所有电路切断前面所有电路ORBNONOP P短路局部电路短路局部电路ANDNONOP PANINOPNOPNOPNOP指令的使用说明指令的使用说明指令的使用说明指令的使用说明 电路变换电路变换LDNOPNOPANDNONOP P 切断局部电路切断局部电路ORNOPNOPORNOPNOP4.2.10 程序结束指令程序结束指令ENDEND指令用于程序的结束,是无元件编号的独立指令。指令用于程序的结束,是无元件编号的独立指令。在程序调试过程中,可分段插入在程序调试过程中,可分段插入END指令,再逐段调试;指令,再逐段调试;在该段程序调试好后,删去在该段程序调试好后,删去END指令。然后进行下段程指令。然后进行下段程序的调试,直到全部调试完为止。序的调试,直到全部调试完为止。END指令必不可少。指令必不可少。4.2.11 基本逻辑指令的编程方法基本逻辑指令的编程方法1.编程方法:编程方法:(1)梯形图的设计规则梯形图的设计规则 (P74)规则规则1 梯形图中的阶梯都是从左母线开始,终于右母线。梯形图中的阶梯都是从左母线开始,终于右母线。线圈只能接在右边的母线上,不能直接在左母线上,并且线圈只能接在右边的母线上,不能直接在左母线上,并且所有的触点不能放在线圈的右边。每一行的开始是触点群所有的触点不能放在线圈的右边。每一行的开始是触点群组成的组成的“工作条件工作条件”,最右边是线圈表达的最右边是线圈表达的“工作结果工作结果”。一行写完一行写完,自上而下依次再写下一行。自上而下依次再写下一行。注意:触点不能接在线圈的右边注意:触点不能接在线圈的右边规则规则2 如果有几个电路块并联时如果有几个电路块并联时,应将触点最多的支路块放在应将触点最多的支路块放在最上面。在有几个并联回路相串联时最上面。在有几个并联回路相串联时,应将并联支路多的尽量应将并联支路多的尽量靠近母线。这样可以使编制的程序简洁明了靠近母线。这样可以使编制的程序简洁明了,语句较少。语句较少。规则规则3 在梯形图中没有实际的电流流动,所渭在梯形图中没有实际的电流流动,所渭“流动流动”只能从左到右、从上到下单向只能从左到右、从上到下单向“流动流动”。因此桥式电。因此桥式电路是不可编程的,必须按逻辑功能等效转换。路是不可编程的,必须按逻辑功能等效转换。4.2.11 基本逻辑指令的编程方法基本逻辑指令的编程方法1.编程方法:编程方法:(2)语句编程规则语句编程规则 (P74)规则规则1 对梯形图进行语句编程时,应遵循从左到右,自上对梯形图进行语句编程时,应遵循从左到右,自上而下的原则进行。对于复杂的梯形图,可将其分成若干块,而下的原则进行。对于复杂的梯形图,可将其分成若干块,逐块编程,然后再将各块顺次连接起来。逐块编程,然后再将各块顺次连接起来。规则规则2 采用合理的编程顺序和适当的电路变换,尽量减采用合理的编程顺序和适当的电路变换,尽量减少程序步数,以节省内存空间和缩短扫描周期。少程序步数,以节省内存空间和缩短扫描周期。4.2.11 基本逻辑指令的编程方法基本逻辑指令的编程方法2.编程举例:编程举例:例例1写出下面所示梯形图的程序。写出下面所示梯形图的程序。ANI 4.3 控制指令控制指令4.3.1 主控指令主控指令MC、MCR1、用法:用法:MC指令可记忆多输出回路所通过的公共回路值指令可记忆多输出回路所通过的公共回路值,用用 MC命后,要开辟一个单元命后,要开辟一个单元(M)以寄存前面的运算值以寄存前面的运算值,而后而后 面形成新的临时母线。面形成新的临时母线。MCR为主控复位指令,在主控电路块终点使用。为主控复位指令,在主控电路块终点使用。其目的操其目的操作数的选择范围为逻辑线圈作数的选择范围为逻辑线圈M,常数为嵌套数,选择范围为,常数为嵌套数,选择范围为NoN7梯形图和语句如下图所示。梯形图和语句如下图所示。X0 X1 Y0X2 Y1MCMC、MCRMCR指令的使用说明之一指令的使用说明之一指令的使用说明之一指令的使用说明之一X0 X1 Y0X2 Y1X3 Y3MCMC、MCRMCR指令的使用说明之二指令的使用说明之二指令的使用说明之二指令的使用说明之二0 LD X0001 MC N0 SP M100 4 LD X001 5 OUT Y001 6 LD X0027 OUT Y002 8 MCR N0 10 LD X00311 OUT Y003X000MCN0M100MCRN0X003Y003X002Y002N0M100X001Y001 4.3 控制指令控制指令4.3.1 主控指令主控指令MC、MCR2、说明:、说明:1)输入接通时,执行输入接通时,执行MC与与MCR之间的指令。当输入断开时,之间的指令。当输入断开时,扫描扫描MC与与MCR指令之间各梯形图情况有如下情况指令之间各梯形图情况有如下情况保持当前状态的元件保持当前状态的元件计数器和失电保护计时器,用计数器和失电保护计时器,用SET/RST指令驱动的元件。指令驱动的元件。变成断开的元件变成断开的元件普通计时器,各逻辑线圈和输出线圈。普通计时器,各逻辑线圈和输出线圈。2)MC指令后,母线指令后,母线(LD,LDI)移至移至MC触点之后,返回原来母触点之后,返回原来母线的返线的返 回指令是回指令是MCR。MC、MCR必须成对使用。必须成对使用。3)使用不同的使用不同的M元件号,可多次使用元件号,可多次使用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 K100X0 X1 Y0 X2 T 0 X3 T 250 X4SETM20K100K100主控触点指令含主控触点指令主控触点指令含主控触点指令(MC)及主控触点复位及主控触点复位(MCR)两条指令。两条指令。主控触点指令与栈指令功能的异同:主控触点指令与栈指令功能的异同:主控触点指令与栈指令功能的异同:主控触点指令与栈指令功能的异同:相同点相同点相同点相同点:都是一个触点实现对一片梯形图区域的控制。:都是一个触点实现对一片梯形图区域的控制。不同点不同点不同点不同点:栈指令是用:栈指令是用“栈栈”建立一个分支结点建立一个分支结点 (梯形图梯形图支路的分支点支路的分支点),),而主控触点指令则用增绘一个实际的而主控触点指令则用增绘一个实际的触点建立一个由这个触点隔离的区域。触点建立一个由这个触点隔离的区域。4.1.3 流程图流程图(SFC)语言语言(P62)顺序控制顺序控制顺序控制顺序控制:按照生产工艺预先规定的顺序按照生产工艺预先规定的顺序按照生产工艺预先规定的顺序按照生产工艺预先规定的顺序,在各个输入信号作用下在各个输入信号作用下在各个输入信号作用下在各个输入信号作用下,根据内部状态和时间的顺序根据内部状态和时间的顺序根据内部状态和时间的顺序根据内部状态和时间的顺序,在生产过程中各个执行机构自动在生产过程中各个执行机构自动在生产过程中各个执行机构自动在生产过程中各个执行机构自动有序地进行操作有序地进行操作有序地进行操作有序地进行操作.X0X1X1X2X2X4X4X5X5自自动动门门控控制制系系统统 机械手将工件从机械手将工件从机械手将工件从机械手将工件从A A点向点向点向点向B B点移送。机械手的上升、下降与左移、点移送。机械手的上升、下降与左移、点移送。机械手的上升、下降与左移、点移送。机械手的上升、下降与左移、右移都是由双线圈两位电磁阀驱动气缸来实现的。抓手对物件右移都是由双线圈两位电磁阀驱动气缸来实现的。抓手对物件右移都是由双线圈两位电磁阀驱动气缸来实现的。抓手对物件右移都是由双线圈两位电磁阀驱动气缸来实现的。抓手对物件的松开、夹紧是由一个单线圈两位电磁阀驱动气缸完成,只有的松开、夹紧是由一个单线圈两位电磁阀驱动气缸完成,只有的松开、夹紧是由一个单线圈两位电磁阀驱动气缸完成,只有的松开、夹紧是由一个单线圈两位电磁阀驱动气缸完成,只有在电磁阀通电时抓手才能夹紧。该机械手工作原点在左上方,在电磁阀通电时抓手才能夹紧。该机械手工作原点在左上方,在电磁阀通电时抓手才能夹紧。该机械手工作原点在左上方,在电磁阀通电时抓手才能夹紧。该机械手工作原点在左上方,按下降、夹紧、上升、右移、下降、松开、上升、左移的顺序按下降、夹紧、上升、右移、下降、松开、上升、左移的顺序按下降、夹紧、上升、右移、下降、松开、上升、左移的顺序按下降、夹紧、上升、右移、下降、松开、上升、左移的顺序依次运行。依次运行。依次运行。依次运行。流程图流程图流程图流程图是一种用于描述顺序控制系统控制过程的一种图形。是一种用于描述顺序控制系统控制过程的一种图形。是一种用于描述顺序控制系统控制过程的一种图形。是一种用于描述顺序控制系统控制过程的一种图形。也称也称也称也称状态转移图状态转移图状态转移图状态转移图或或或或功能图功能图功能图功能图。它具有简单、直观等特点,是。它具有简单、直观等特点,是。它具有简单、直观等特点,是。它具有简单、直观等特点,是设计设计设计设计PLCPLC顺序控制程序的一种有力工具。它由步、转换条顺序控制程序的一种有力工具。它由步、转换条顺序控制程序的一种有力工具。它由步、转换条顺序控制程序的一种有力工具。它由步、转换条件及有向连线组成。件及有向连线组成。件及有向连线组成。件及有向连线组成。转换条件转换条件步步动作或命令动作或命令将系统的一将系统的一个工作周期个工作周期划分为若干划分为若干个顺序相连个顺序相连的阶段的阶段每一步所每一步所完成的工完成的工作作使使系系统统由由前前级级步步进进入入下下一一步步的的信信号号称称为为转转换换条条件件转换转换有向线段有向线段步步动作或命令动作或命令1流程图的流程图的“步步”(P62)系统的工作过程系统的工作过程按输出量的状态变化按输出量的状态变化,可以分为若干个阶段,这可以分为若干个阶段,这些阶段称为些阶段称为“步步”。用状态寄存器用状态寄存器S S表示。表示。初始步:对应于控制系统的初始状态,是其运行的起点。一个初始步:对应于控制系统的初始状态,是其运行的起点。一个控制系统至少要有一个初始步。初始步的符号如图控制系统至少要有一个初始步。初始步的符号如图1 所示。所示。(S0一一S9称为初始状态称为初始状态)工作步:指控制系统正常运行时的状态。工作步:指控制系统正常运行时的状态。“步步”有两种状态:有两种状态:动步和静步,动步是指当前正在进行的步动步和静步,动步是指当前正在进行的步,相应的动作被执行相应的动作被执行,静,静步是没有运行的步步是没有运行的步,相应的非存储型动作被停止执行。相应的非存储型动作被停止执行。与步对应的动作;步是指一个稳定的状态,即表示过程中的一个与步对应的动作;步是指一个稳定的状态,即表示过程中的一个动作,用该步右边的一个矩形框来表示,如图动作,用该步右边的一个矩形框来表示,如图2所示。当一个步所示。当一个步有多个动作时,其表示方法如图有多个动作时,其表示方法如图3所示。所示。序号序号 图图1序号序号动作动作图图2 序号序号动作动作A动作动作B动作动作C图图34.1.3 4.1.3 流程图流程图(SFC)(SFC)语言语言2.转移转移用一个有向线段来表示转移的方向。两步之间用一个有向线段来表示转移的方向。两步之间的有向线段上再用一段横线表示转移条件。转的有向线段上再用一段横线表示转移条件。转移的符号如右图移的符号如右图1所示。所示。转移条件转移条件56图图1 转移条件符号转移条件符号25221091615转移条件转移条件图图2 转移条件示例转移条件示例2)转移条件:一个转移能够触发,必须满足转移条件:一个转移能够触发,必须满足转移条件。转移条件可以来用文字语句或转移条件。转移条件可以来用文字语句或逻辑表达式等方式表示在转换符号旁,如逻辑表达式等方式表示在转换符号旁,如右图右图2所示。所示。只有当某个步处于活动状态,只有当某个步处于活动状态,而且与它相关的转移条件成立时,才能实而且与它相关的转移条件成立时,才能实现现步状态的转移步状态的转移,转移结果转移结果使紧接它的后使紧接它的后续步处于活动状态,而使与其相连的前级续步处于活动状态,而使与其相连的前级步处于非活动状态。步处于非活动状态。1)转移的使能和触发:转移是一种条件,转移的使能和触发:转移是一种条件,当条件满足时,称为转移使能。如果该当条件满足时,称为转移使能。如果该转移能够使步实现转移,则称为触发转移能够使步实现转移,则称为触发4.1.3 流程图流程图(SFC)语言语言3SFC流程图构成规则流程图构成规则1)步与步不能相连,必须用转步与步不能相连,必须用转移分开。移分开。2)转移与转移不能相连,必须转移与转移不能相连,必须用步分开。用步分开。3)步与转移、转移与步之间的步与转移、转移与步之间的连接采用有向线,从上向下连接采用有向线,从上向下画时可以省略箭头。而有向画时可以省略箭头。而有向线段从下向上画时,必须画线段从下向上画时,必须画上箭头,以表示方向。上箭头,以表示方向。4)一个流程图至少要有一个初一个流程图至少要有一个初始步。始步。如右图:如右图:4.1.3 流程图流程图(SFC)语言语言 4流程图的基本形式流程图的基本形式1)单一顺序如图单一顺序如图a所示。所示。2)选择顺序如图选择顺序如图b所示。选择顺序是指在某一步后有若干单一顺序所示。选择顺序是指在某一步后有若干单一顺序等待选择,一次只能选择进入一个顺序。等待选择,一次只能选择进入一个顺序。3)并行顺序如图并行顺序如图c所示。并行顺序是指在某一转移条件下,同时启所示。并行顺序是指在某一转移条件下,同时启动若干个顺序。并行顺序用双水平线表示,同时结束若干顺序,动若干个顺序。并行顺序用双水平线表示,同时结束若干顺序,也用双水平线表示。也用双水平线表示。此处不能此处不能有横线有横线此处不能此处不能有横线有横线转移条转移条件件举例举例:某店面名叫某店面名叫”彩云间彩云间”,这三个字的广告牌要求闪烁这三个字的广告牌要求闪烁,用用HL1-HL3HL1-HL3三个灯三个灯点亮点亮”彩云间彩云间”三个字三个字.要求如下要求如下:在打开闪烁开关以后在打开闪烁开关以后,首先是首先是”彩彩”亮亮1S,1S,接着接着”云云”亮亮1S,1S,然后然后”间间”亮亮1S,1S,再再”彩云间彩云间”三字闪烁三字闪烁,以以0.5S0.5S为周期灭为周期灭亮两次亮两次,如此循环如此循环.S0S0M8002M8002S20S20S