第2章 基本逻辑指令
- 格式:ppt
- 大小:604.50 KB
- 文档页数:29
第二章基本逻辑指令说明及应用基本逻辑指令一览表助记符、名称功能可用软元件程序步LD取常开触点逻辑运算开始X,Y,M,S,T,C1LDI取反常闭触点逻辑运算开始X,Y,M,S,T,C1LDP取脉冲上升沿上升沿检出运算开始X,Y,M,S,T,C2LDF取脉冲下降沿下降沿检出运算开始X,Y,M,S,T,C2AND与常开触点串联连接X,Y,M,S,T,C1ANI与非常闭触点串联连接X,Y,M,S,T,C1ANDP与脉冲上升上升沿检出串联连接X,Y,M,S,T,C2沿ANDF与脉冲下降下降沿检出串联连接X,Y,M,S,T,C2沿OR或常开触点并联连接X,Y,M,S,T,C1ORI或非常闭触点并联连接X,Y,M,S,T,C1ORP或脉冲上升沿上升沿检出并联连接X,Y,M,S,T,C2ORF或脉冲下降沿下降沿检出并联连接X,Y,M,S,T,C2ANB块与并联回路块的串联连接1ORB块或串联回路块的并联连接1OUT输出线圈驱动Y,M,S,T,C注1SET置位动作保持Y,M,S注2RST复位清除动作保持,寄存器清零Y,M,S,T,C,D,V,ZPLS上升沿脉冲上升沿输出Y,M特殊M除外1PLF下降沿脉冲下降沿输出Y,M特殊M除外1MC主控公共串联点的连接线圈指令Y,M特殊M除外3MCR主控复位公共串联点的消除指令2MPS压栈运算存储1MRD读栈存储读出1MPP出栈存储读出与复位1INV取反运算结果的反转1NOP空操作无动作1END结束输入输出及返回到开始1软元件为Y和一般M的程序步为1,S和特殊辅助继电器M的程序步为2,定时器T的程序步为3,计数器C的程序步为3-5.软元件为Y和一般M的程序步为1,S和特殊辅助继电器M、定时器T、计数器C的程序步为2,数据寄存器D以及变址寄存器V和Z的程序步为3.LD,LDI,LDP,LDF,OUT 指令指令解说助记符、名称功能可用软元件程序步LD取常开触点逻辑运算开始X,Y,M,S,T,C1LDI取反常闭触点逻辑运算开始X,Y,M,S,T,C1LDP取脉冲上升沿上升沿检出运算开始X,Y,M,S,T,C2LDF取脉冲下降沿下降沿检出运算开始X,Y,M,S,T,C2OUT输出线圈驱动Y,M,S,T,C见说明LD,LDI,LDP,LDF指令将触点连接到母线上.多个分支用ANB,ORB时也使用.LDP指令在上升沿软元件由OFF到ON变化时接通一个周期;LDF指令在下降沿软元件由ON到OFF变化时接通一个周期.LD,LDI,LDP,LDF指令的重复使用次数在8次以下.即与后面的ANB,ORB指令使用时串并连使用的最多次数为8个.软元件为Y和一般M的程序步为1,S和特殊辅助继电器M的程序步为2,定时器T的程序步为3,计数器C的程序步为3-5.OUT指令各种软元件的线圈驱动,但对输入继电器不能使用.并列的OUT可多次连续使用.OUT指令驱动计数器时,当前面的线圈从ON变成OFF,或者是从OFF变成ON时,计数器才加一.编程示例0 LD X0001 OUT Y0002 OUT C0 K105 LDI X0016 OUT Y0017 OUT T0 K10010 LD C011 OUT Y00212 LD T013 OUT Y00314 LDP X00216 OUT M217 LDF X00319 OUT M320 END用LD,LDI,LDP,LDF指令与母线连接.输出使用OUT指令驱动线圈.使用OUT指令驱动定时器的计时线圈或者计数器的计数线圈时,必须设定定时和计数的时间和计数的值,可以是常数K,或者由数据寄存器间接指定数值.每个程序结束必须要有END指令,END指令详见后面的END指令介绍.AND,ANI,ANDP,ANDF 指令指令解说助记符、名称功能可用软元件程序步AND与常开触点串联连接X,Y,M,S,T,C1ANI与非常闭触点串联连接X,Y,M,S,T,C1上升沿检出串联连接X,Y,M,S,T,C2ANDP与脉冲上升沿下降沿检出串联连接X,Y,M,S,T,C2ANDF与脉冲下降沿AND,ANI,ANDP,ANDF指令只能串接一个触点,两个以上的并联回路串联时使用后面的ANB指令.串联次数不受限制.ANDP,ANDF指令在上升沿即软元件由ON到OFF变化时和下降沿即软元件由OFF到ON变化时接通一个周期.编程示例0 LD X0001 AND X0012 OUT Y0003 LD X0024 ANI X0035 OUT Y0016 LD Y0007 ANDP Y0019 OUT Y00210 LDI X00411 ANDF Y00113 OUT Y00314 END实例中X001,X003,Y001作为串联触点与前面的触点相连.OR,ORI,ORP,ORF 指令指令解说助记符、名称功能可用软元件程序步OR或常开触点并联连接X,Y,M,S,T,C1ORI或非常闭触点并联连接X,Y,M,S,T,C1ORP或脉冲上升沿上升沿检出并联连接X,Y,M,S,T,C2ORF或脉冲下降沿下降沿检出并联连接X,Y,M,S,T,C2OR,ORI,ORP,ORF指令只能并接一个触点,两个以上的串联回路并联时使用后面的ORB指令.ORP,ORF指令在上升沿即软元件由OFF到ON变化时和下降沿即软元件由ON到OFF变化时接通一个周期.OR,ORI,ORP,ORF指令和前面的LD,LDI,LDP,LDF指令一起使用,并联次数不受限制.编程示例0 LD X0001 ORP X0013 ORI M04 OUT Y0005 LD X0026 ORF X0108 ANI X0039 ORI X01110 AND X00411 OR X01212 LDI X00513 ORF X01315 AND X00616 ORI X01417 ANB18 OUT Y00119 END使用OR,ORI,ORP,ORF与前面的LD,LDI,LDP,LDF并联连接,在程序步12到16中,由于是两个并联回路块的串联,所以使用ANB指令,ANB指令详见后面的说明.2. 5 ANB,ORB 指令2. 指令解说助记符、名称功能可用软元件程序步ANB块与并联回路块的串联连接1ORB块或串联回路块的并联连接1当多分支回路与前面的回路串联连接时,使用ANB指令.分支以LD,LDI,LDP,LDF指令作为起点,使用ANB指令与前面以LD,LDI,LDP,LDF指令作为起点的分支串联连接.当2个以上的触点串接的串联回路块并联连接时,每个分支使用LD,LDI指令开始,ORB指令结束.ANB,ORB指令都是不带软元件的指令.ANB,ORB使用的并串联回路的个数不受限制,但是当成批使用时,必须考虑LD,LDI的使用次数在8次以下.2. 编程示例0 LD X0001 ANI X0012 LDI X0023 AND X0034 ORB5 LD X0046 AND X0057 ORB8 OUT Y0009 LD X00610 OR X00711 LD X01012 ANI X01113 LDI X01214 AND X01315 ORB16 ORI X01417 ANB18 OR X01519 OUT Y00120 END在每个分支的最后使用ORB指令,不要在所有的分支后面使用ORB指令,如程序步4和7所示.ORB和ANB指令只是对块的连接,如果不是块就不能使用,如程序步16和18不是块就不能使用.如图所示,串联回路块和并联回路块的示例.INV 指令指令解说助记符、名称功能可用软元件程序步INV取反运算结果的反转1INV指令是将INV指令之前,LD,LDI,LDP,LDF指令之后的运算结果取反的指令,没有软元件.编程示例0 LD X0001INV2 OUT Y0003 LDI X0014INV5INV6 OUT Y0017 ENDINV指令的动作范围如图:PLS,PLF 指令指令解说助记符、名称功能可用软元件程序步PLS上升沿脉冲上升沿输出Y,M特殊M除外1PLF下降沿脉冲下降沿输出Y,M特殊M除外1使用PLS指令时,只在线圈由OFF变成ON的一个扫描周期内,驱动软元件.使用PLF指令时,只在线圈由ON变成OFF的一个扫描周期内,驱动软元件.对具有停电保持功能的软元件,它只在第一次运行时产生脉冲动作.编程示例0 LD X0001 PLS M03 LD M04 SET Y0005 LD X0006 PLF M18 LD M19 RST Y00010 LDP X00112 OUT M213 LD M214 SET Y00115 LDF X00117 OUT M318 LD M319 RST Y00120 END程序段0-2和10-12的动作相同,都是在线圈闭合的上升沿,驱动一个扫描周期的输出.同样,程序段5-7和15-17的动作相同,都是在在线圈闭合的下降沿,驱动一个扫描周期的输出. SET,RST指令的作用详见后面的说明.SET,RST 指令指令解说助记符、名称功能可用软元件程序步SET置位动作保持Y,M,S见说明RST复位清除动作保持,寄存器清零Y,M,S,T,C,D,V,Z软元件为Y和一般M的程序步为1,S和特殊辅助继电器M、定时器T、计数器C的程序步为2,数据寄存器D以及变址寄存器V和Z的程序步为3.SET指令在线圈接通的时候就对软元件进行置位,只要置位了,除非用RST指令复位,否则将保持为1的状态.同样,对RST指令只要对软元件复位,将保持为0的状态,除非用SET指令置位.对同一软元件,SET,RST指令可以多次使用,顺序随意,但是程序最后的指令有效.RST指令可以对数据寄存器D,变址寄存器V,Z,定时器T和计数器C,不论是保持还是非保持的都可以复位置零.编程示例0 LD X0001 SET Y0002 LDI X0013 RST Y0004 LDP X0016 SET Y0017 LDF X0018 RST Y00110 ENDNOP,END 指令指令解说助记符、名称功能可用软元件程序步NOP空操作无动作1END结束输入输出及返回到开始1程序清除时指令变为NOP指令,指令之间加入NOP指令,程序对他不做任何事情,继续向下执行,只是增加了程序的步数.每个程序必须有一个且只有一个END指令,表示程序的结束.PLC不断反复进行如下操作:输入处理,从程序的0步开始执行直到END指令,程序处理结束,接着进行输出刷新.然后开始循环操作.编程示例0 LD X0001 AND X0012 OUT Y0003 NOP4NOP5 LDI X0026 ANI X0037 OUT Y0018ENDMPS,MRD,MPP 指令指令解说助记符、名称功能可用软元件程序步MPS压栈运算存储1MRD读栈存储读出1MPP出栈存储读出与复位1嵌入式PLC中有11个栈空间,也就是说可以压栈的最大深度为11级.每使用一次MPS将当前结果压入第一段存储,以前压入的结果依次移入下一段.MPP指令将第一段读出,并且删除它,同时以下的单元依次向前移.MRD指令读出第一段,但并不删除它.其他单元保持不变.使用这三条指令可以方便多分支的编程.在进行多分支编程时,MPS保存前面的计算结果,以后的分支可以利用MRD,MPP从栈中读出前面的计算结果,再进行后面的计算.最后一个分支必须用MPP,保证MPS,MPP使用的次数相同.注意,使用MPP以后,就不能再使用MRD读出运算结果,也就是MPP必须放在最后的分支使用.MRD指令可以使用多次,没有限制.MPS连续使用的最多次数为11,但是可以多次使用.每个MPS指令都有一个MPP指令对应,MPP的个数不能多于MPS的个数.编程示例实例1:0 LD X0001 MPS2 AND X0013 OUT Y0004 MRD5 ANI X0026 OUT Y0017 MPP8 OUT Y0029 AND X00310 OUT Y00311 END该实例只使用一级堆栈,使用一个MPS指令压栈,一个MRD指令读栈,一个MPP指令出栈.实例2:0 LD X0041 MPS2 LD X0053 ORI X0064 ANB5 ANI X0076 OUT Y0047 MRD8 LDI X0109 AND X01110 LD X01211 ANI X01312 ORB13 ANB14 OUT Y00515 MPP16 AND X01417 OUT Y00618 MPS19 LDI X01520 OR X01621 ANB22 OUT Y00723 MPP24 AND X01725 OUT Y01026 END该实例使用一级两段堆栈,并且跟OR,ORB,ANB指令混合使用.实例30 LD X0001 MPS2 ANI X0013 MPS4 ANI X0025 MPS6 AND X0037 OUT Y0008 MPP9 ANI X00410 OUT Y00111 MPP12 ANI X00513 AND X00614 OUT Y00215 MPP16 AND X00717 MPS18 ANI X01019 OUT Y00320 MPP21 AND X01122 OUT Y00423END该实例使用三级堆栈,即堆栈嵌套三级.MC,MCR 指令指令解说助记符、名称功能可用软元件程序步MC主控公共串联点的连接线圈指令Y,M特殊M除外3MCR主控复位公共串联点的消除指令2当前面的触点接通时,就执行MC到MCR的指令.执行MC指令时,母线向MC触点后移动,执行MCR指令返回母线.使用MC指令时,嵌套级N的编号按顺序依次增大,也就是说只有使用N0,才能嵌套N1.相反使用MCR指令时,必须从大往小返回母线.最大嵌套级数为7级N6.通过不同的软元件Y,M,可以多次使用MC指令,如果使用相同的软元件,将同OUT指令一样,会出现双线圈输出.编程示例该实例只使用一个MC,MCR指令,嵌套级数也是1,可以进行7级嵌套.该实例中当X000接通时,执行MC,MCR之间的指令,当X000断开时,成为如下两种形式.现状保持:累积定时器的值,计数器的值,用SET/RST指令驱动的软元件.变为断开的元件:非累积定时器的值,用OUT指令驱动的软元件.0 LD M80001 OUT Y0002 LD X0003 MC N0 M06 LD X0017 OUT Y0018 LDP X00310 SET Y00211 LDF X00313 RST Y00214 LD X00515 OUT T0 K10 18 OUT T250 K10 21 OUT C0 K10 24 OUT C100 K1027 LD T028 OUT Y00329 LD T25030 OUT Y00431 LD C032 OUT Y00533 LD C10034 OUT Y00635 MCR N037 END。
第二章基本逻辑指令说明及应用第二章:基本逻辑指令说明及应用在计算机科学中,逻辑指令是一类用于判断和控制程序流程的指令。
它们基于一组逻辑规则,通过对不同条件的判断来决定下一步的执行路径。
本章将介绍一些常见的基本逻辑指令及其应用。
1. 条件判断指令条件判断指令是最基本的逻辑指令之一。
它通过判断某个条件是否为真来决定程序的执行路径。
常见的条件判断指令包括if 语句和switch语句。
if语句基本格式如下:if (条件) {// 条件为真时执行的代码} else {// 条件为假时执行的代码}switch语句基本格式如下:switch (表达式) {case 值1:// 当表达式的值等于值1时执行的代码break;case 值2:// 当表达式的值等于值2时执行的代码break;...default:// 当表达式的值与所有case都不匹配时执行的代码}这些条件判断指令可以根据不同的条件来执行不同的代码块,从而实现对程序流程的控制。
2. 循环指令循环指令用于重复执行某个代码块,直到满足一定的条件才跳出循环。
常见的循环指令包括for循环、while循环和do-while 循环。
for循环基本格式如下:for (初始化语句; 条件表达式; 更新语句) {// 循环体代码}while循环基本格式如下:while (条件) {// 循环体代码}do-while循环基本格式如下:do {// 循环体代码} while (条件);这些循环指令通过判断条件是否为真来决定是否继续执行循环体代码,从而实现重复执行的功能。
3. 断言指令断言指令用于在程序中插入一些条件判断,如果条件不满足,则在运行时抛出一个异常。
它常用于调试和测试阶段,可以帮助程序员在开发过程中发现问题。
断言指令的基本格式如下:assert 条件;如果条件为假,则程序会抛出一个AssertionError异常,停止继续执行。
总结:基本逻辑指令是在计算机程序中进行条件判断和控制程序流程的重要指令。
3.4.1LD 、LDI 、OUT 指令3.4基本逻辑指令简介LD 、LDI 、OUT 指令的功能、梯形图表示、可用软元件、所占的程序步如表6.1所示。
FX1N 、FX2N 系列可编程控制器共有27 条基本指令,供设计者编制语句表使用,它与梯形图有严格的一一对应关系。
表6.1LD 、LDI 、OUT 指令的相关参数助记符、名称功能梯形图表示及可用软元件程序步LD(Load 取) 常开触点逻辑运算开始X 、Y 、M 、S 、T 、C1LDI(Load Inverse 取反) 常闭触点逻辑运算开始X 、Y 、M 、S 、T 、C1OUT(Out 输出) 线圈驱动Y 、M 、S 、T 、CY 、M :1T :3C :3~53.4基本逻辑指令简介3.4.1LD、LDI、OUT指令LD指令是从母线上取用常开触点指令,LDI是从母线上取用常闭触点指令,它们还可以与后面介绍的ANB、ORB指令配合用于分支回路的开头;OUT指令是对输出继电器、辅助继电器、状态继电器、定时器、计数器的线圈进行驱动的指令,但不能用于输入继电器。
图6.1给出了本组指令的梯形图实例,并配有指令表。
这里还需指出的是:OUT指令可连续使用无数次,相当线圈的并联(如图中的OUT M100和OUT T0);定时器或计数器的线圈,在使用OUT指令后,必须设定常数K,或指定数据寄存器的地址号。
3.4基本逻辑指令简介3.4.1LD、LDI、OUT指令图6.1LD、LDI、OUT指令的使用3.4基本逻辑指令简介3.4.2AND、ANI指令AND、ANI指令的功能、梯形图表示、可用软元件、所占的程序步如表6.2所示。
表6.2AND、ANI指令的相关参数助记符、名称功能梯形图表示及可用软元件程序步AND(And与)常开触点串联连接X、Y、M、S、T、C1ANI(And Inverse与非) 常闭触点串联连接X、Y、M、S、T、C1AND、ANI指令为单个触点的串联连接指令。