第4章 指令系统 4.1 概述 4.2 基本指令 4.3 常用的应用指令 4.4 数据传送和比较指令 4.5 数据移位和数据转换指令 4.6 第4章 指令系统 基本指令 4.2 数据传送和比较指令 4.4 概述 4.1 常用的应用指令 4.3 数据移位和数据转换指令 4.5 数据运算指令 4.6
4.1 概述 ⒈指令的分类 ⒉指令的格式 按指令的功能不同,可分为基本指令和应用指令两大类。 基本指令是直接对输入和输出点进行操作的指令。 4.1 概述 ⒈指令的分类 按指令的功能不同,可分为基本指令和应用指令两大类。 基本指令是直接对输入和输出点进行操作的指令。 应用指令是进行数据传送、数据处理、数据运算、程序控制等操作的指令。应用指令的多少表明PLC功能的强弱。 ⒉指令的格式 指令的格式一般表示为:助记符(指令码)+操作数 ⑴助记符表示指令的功能。 ⑵指令码是指令的代码,用两位数(00-99)表示。 ⑶操作数提供指令执行的对象或数据。
4.1 概述 ⒊执行指令对标志位的影响 ⒋指令的微分、非微分形式 4.1 概述 ⒊执行指令对标志位的影响 CPM2的SR区的25503~25507是指令执行结果的标志位,有的指令执行后不影响标志位,有的指令执行后影响标志位。其中ER(25503)是最常用的出错标志位。 指令分为指令的微分型指令和非微分型指令两种形式。应用指令多数兼有这两种形式。微分型指令要在其助记符前加标记@,这两种指令的区别是:对非微分型指令,只要其执行条件为ON,则每个扫描周期都将执行该指令;微分型指令仅在其执行条件由OFF变为ON时才执行一次,如果执行条件不发生变化,或者从ON变为OFF,则该指令都不执行。 ⒋指令的微分、非微分形式
4.2 基本指令 4.2.1 常用的基本指令 本节内容 4.2.2 PLC的基本编程规则和方法
4.2 基本指令 4.2.1 常用的基本指令 ⒈LD和LD NOT指令 格 式 梯形图符号 操作数的 含义及范围 4.2 基本指令 4.2.1 常用的基本指令 ⒈LD和LD NOT指令 格 式 梯形图符号 操作数的 含义及范围 指令功能及执行指令对标志位的影响 LD N N为继电器的编号,其范围是:IR、SR、HR、AR、LR、TC、TR。以位为单位进行操作 常开触点与左侧母线相连接指令。 指令执行结果不影响标志位。 LD NOT N 常闭触点与左侧母线相连接指令。 N N
4.2 基本指令 4.2.1 常用的基本指令 2.OUT和OUTNOT指令 格 式 梯形图符号 操作数的 含义及范围 4.2 基本指令 4.2.1 常用的基本指令 2.OUT和OUTNOT指令 格 式 梯形图符号 操作数的 含义及范围 指令功能及执行指令对标志位的影响 OUT N N为继电器的编号,范围:IR、SR、HR、AR、LR、TC、TR。以位为单位进行操作 把运算结果输出到指定继电器的指令。 指令执行结果不影响标志位。 OUT NOT N 把运算结果求反后输出到指定继电器。 N N
4.2 基本指令 4.2.1 常用的基本指令 LD、LD NOT和OUT指令的例子 4.2 基本指令 4.2.1 常用的基本指令 LD、LD NOT和OUT指令的例子 当继电器0000接通(ON)时,其常开触点闭合,1000继电器线圈接通。当继电器0001(OFF)断开时,其常闭触点闭合,1001继电器线圈通电。 时序图表示触点或线圈的动作时序,时序图中0000的高电平是指开关动作,而不论其触点是常开还是常闭。低电平是指开关未动作。 (a)梯形图 (b)助记符 (c)时序图
4.2 基本指令 4.2.1 常用的基本指令 ⒊AND和AND NOT指令 N N 格 式 梯形图符号 操作数的 含义及范围 4.2 基本指令 4.2.1 常用的基本指令 ⒊AND和AND NOT指令 格 式 梯形图符号 操作数的 含义及范围 指令功能及执行指令 对标志位的影响 AND N N为继电器的编号,范围:IR、SR、HR、AR、LR、TC。以位为单位进行操作 常开触点与其他程序段相串联指令。 指令执行结果不影响标志位。 AND NOT N 常闭触点与其他程序段相串联指令。 N N AND NOT指令的编程
4.2 基本指令 4.2.1 常用的基本指令 ⒋OR和OR NOT指令 N N 格 式 梯形图符号 操作数的 含义及范围 指令功能及执行指令 4.2 基本指令 4.2.1 常用的基本指令 ⒋OR和OR NOT指令 格 式 梯形图符号 操作数的 含义及范围 指令功能及执行指令 对标志位的影响 OR N N为继电器的编号,其范围是:IR、SR、HR、AR、LR、TC。以位为单位进行操作 常开触点与其他程序段相并联指令。 指令执行结果不影响标志位。 OR NOT N 常闭触点与其他程序段相并联指令。 指令执行结果不影响标志位 N N OR和OR NOT指令的编程
4.2 基本指令 4.2.1 常用的基本指令--使用部分基本指令例子 4.2 基本指令 4.2.1 常用的基本指令--使用部分基本指令例子 常开触点1000与0000并联,是逻辑“或”的关系,两者只要有一个为ON,并联的结果为ON。常闭触点0001与左面的并联部分相串联,两者是“与”的关系,常闭触点0001与左面的并联部分的结果都为ON时,输出继电器1000才为ON,否则为OFF。常闭触点0002与常闭触点0003中,只要有一个为ON,且常开触点1000也为ON时,则输出继电器1001才为ON。OUT NOT指令把前面的运算结果取反再输出到继电器1001。 梯形图和助记符语句
4.2 基本指令 4.2.1 常用的基本指令 ⒌NOP和END指令 格式 梯形图 符号 操作数 的含义 及范围 指令功能及执行指令 4.2 基本指令 4.2.1 常用的基本指令 ⒌NOP和END指令 格式 梯形图 符号 操作数 的含义 及范围 指令功能及执行指令 对标志位的影响 NOP (00) 无 无操 作数 空操作指令。 该指令不进行任何执行。在程序中预先插入一些NOP指令,当修改程序时,可避免改变序号。 E ND (01) 程序结束指令。 没有END指令的程序不能被执行并会显示相应的错误信息。执行END指令时标志位ER、CY、GR、EQ和LE将被置为OFF。
4.2 基本指令 4.2.1 常用的基本指令 操作数的含义及范围 梯形图 指令功能及执行指令 格 式 符号 对标志位的影响 4.2 基本指令 4.2.1 常用的基本指令 6.AND LD和OR LD指令 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 AND LD 无操 作数 并联触点组相串联指令,又称块与指令。 指令执行结果不影响标志位。 OR LD 串联触点组相并联指令,又称块或指令。
4.2 基本指令 4.2.1 常用的基本指令--使用AND LD例子 4.2 基本指令 4.2.1 常用的基本指令--使用AND LD例子 使用AND LD指令时,对于三个以上触点组的串联,可有两种编程方法,分别为前置编程法和集中编程法。 梯形图 前置编程法 集中编程法
4.2 基本指令 4.2.1 常用的基本指令--使用OR LD例子 4.2 基本指令 4.2.1 常用的基本指令--使用OR LD例子 使用OR LD指令时,对于三个以上触点组的串联,也可有前置编程法和集中编程法两种编程方法 。 梯形图 集中编程法 前置编程法
4.2 基本指令 4.2.1 常用的基本指令 ⒎SET和RESET指令 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 4.2 基本指令 4.2.1 常用的基本指令 ⒎SET和RESET指令 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 SET N N为继电器的编号,其范围是:IR、SR、HR、AR、LR。以位为单位进行操作 置位指令。当执行条件为ON时,将指定的继电器置为ON且保持。 指令执行结果不影响标志位。 RESET N 复位指令。当执行条件为ON时,将指定的继电器置为OFF且保持。
4.2 基本指令 4.2.1 常用的基本指令--使用SET和RESET例子 4.2 基本指令 4.2.1 常用的基本指令--使用SET和RESET例子 SET和RESET指令常成对使用,一般用SET指令将某继电器置为ON,再用RESET指令将其置为OFF。也可以单独使用RESET指令将已ON的继电器置为OFF。 SET和RESET指令的执行条件常使用短信号(脉冲信号),这两条语句之间可以插入别的指令。 梯形图 时序图 助记符语句
4.2 基本指令 4.2.1 常用的基本指令 ⒏KEEP指令 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 4.2 基本指令 4.2.1 常用的基本指令 ⒏KEEP指令 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 KEEP(11) N N为继电器的编号,其范围是:IR、SR、HR、AR、LR。以位为单位进行操作 锁存继电器指令当S端为ON时,继电器N被置为ON且保持;当R端为ON时,N被置为OFF且保持;当S、R端同时为ON时,N为OFF,N为HR区时有掉电保持功能。 指令执行结果不影响标志位。 S为置位端R为复位端
4.2 基本指令 4.2.1 常用的基本指令--使用KEEP例子 4.2 基本指令 4.2.1 常用的基本指令--使用KEEP例子 0000是置位端的输入条件,0001是复位端的输入条件。当0000从OFF变为ON时,1000被置位并保持,即使0001由ON变为OFF;当0001由OFF变为ON时, 1000被复位为OFF状 态并保持,即使0001由ON又变为OFF。 时序图 梯形图 助记符语句
4.2 基本指令 4.2.1 常用的基本指令--指令比较 使用SET/RESET、KEEP、OUT(如下图)等指令都可实现保持的功能。它们的区别在于: 用KEEP指令编程时,使用3条语句,当使用保持继电器HR作输出时,具有掉电保持功能; 用SET和RESET指令编程时,需用4条语句,但SET和RESET指令之间可以插入其它指令,使用比较灵活。当SET指令的操作数是保持继电器HR作输出时,具有掉电保持功能。 梯形图 时序图 助记符语句
4.2 基本指令 4.2.1 常用的基本指令 DIFU是上升沿微分指令,DIFD是下降沿微分指令。 ⒐DIFU和DIFD指令 格 式 梯形图 4.2 基本指令 4.2.1 常用的基本指令 ⒐DIFU和DIFD指令 DIFU是上升沿微分指令,DIFD是下降沿微分指令。 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 DIFU(13) N N为继电器的编号,其范围是:IR、SR、HR、AR、LR。以位为单位进行操作 当执行条件为OFF变为ON时,将指定的继电器接通一个扫描周期。指令执行结果不影响标志位。 DIFD(14) N 当执行条件为ON变为OFF时,将指定的继电器接通一个扫描周期。指令执行结果不影响标志位。
4.2 基本指令 4.2.1 常用的基本指令--使用微分指令的例子 4.2 基本指令 4.2.1 常用的基本指令--使用微分指令的例子 0005触点是DIFU和DIFD指令的执行条 件。0005触点从OFF变为ON时,继电器2000 只接通一个扫描周期(TS); 0005触点从 ON变为OFF时,保持继电器HR0000只接通一 个扫描周期。 注意:在第n次扫描时检测到的输入条件为OFF(ON),第n+1次扫描时检测到的输入条件为ON(OFF)时,DIFU(DIFD)指令才会被执行。 梯形图 时序图
4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒈PLC梯形图编程格式 4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒈PLC梯形图编程格式 梯形图编程格式是由多个梯级组成。每个输出单元构成一个梯级,每个梯级由一个或多个支路组成。支路中安排触点,它们组成输出执行条件的逻辑控制,安排在梯形图左侧。右侧安排输出单元,触点不能放在输出单元的右边。 (a)正确的安排 (b)错误的梯形图
4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒉梯形图编程规则 4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒉梯形图编程规则 ⑴继电器、定时/计数器等器件的触点可以多次重复使用,使用次数不受限制。 ⑵线圈或指令不能直接与左侧母线连接(除少数没有执行条件的指令,如END等)。如果需要,可以通过特殊辅助继电器25313(常ON)的触点连接。如图(a)所示。 ⑶用OUT指令输出时,同一编号的继电器线圈在同一程序中避免使用两次,否则会引起误动作或逻辑混乱。如图(b)所示。 (a)使用25313继电器 (b)双线圈输出
4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒉梯形图编程规则 4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒉梯形图编程规则 ⑷梯形图应符合顺序执行的原则,即从左到右、从上到下的顺序编写,不允许在两行之间垂直连接触点。如果不符合上述顺序,就要进行转换。 ⑸程序结束时一定要安排END指令,否则程序不被执行。 梯形图顺序转换
4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒊基本编程方法 ⑴两个或两个以上的线圈或指令可以并联输出。 4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒊基本编程方法 ⑴两个或两个以上的线圈或指令可以并联输出。 ⑵按“上重下轻”的方法。按“上重下轻”原则可减少指令语句。 (a)上轻下重 (b)上重下轻
4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒊基本编程方法 ⑶按“左重右轻”方法进行。 4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒊基本编程方法 ⑶按“左重右轻”方法进行。 ⑷如果一条指令只需要在PLC上电之初执行一次,可以用SR区的25315作为其执行条件。 按照“上重下轻”、“左重右轻”方法编程
4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒊基本编程方法 4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⒊基本编程方法 ⑸对于有些复杂的梯形图,难于用AND LD、OR LD等基本指令编写语句表,这时需要重新安排梯形图的结构。如图 (a)改为图 (b),就可以使用AND LD、OR LD等基本指令编程了。 (a) (b)
4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⑺尽量使用那些操作数少、 执行时间短的指令, 4.2 基本指令 4.2.2 PLC的基本编程规则和编程方法 ⑺尽量使用那些操作数少、 执行时间短的指令, ⑹当某梯形图有两个分支 时,若其中一条分支从分支点 到输出线圈之间无触点,该分 支应放在上方,这样可以使编 程语句更少。 ⒊基本编程方法 以缩短扫描周期,提高I/O响应速度。
4.3 常用的应用指令 IL/ILC指令 暂存继电器(TR) JMP/JME指令 定时器/计数器指令 4.3.1 4.3.2 本节内容 4.3 常用的应用指令 4.3.1 IL/ILC指令 4.3.2 暂存继电器(TR) 本节内容 4.3.3 JMP/JME指令 4.3.4 定时器/计数器指令
4.3 常用的应用指令 4.3.3 IL/ILC指令 指令基本情况 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 4.3 常用的应用指令 4.3.3 IL/ILC指令 指令基本情况 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 IL(02) 无操作数 程序分支指令。当输入条件为ON时,执行IL和ILC之间的程序;当输入条件为OFF时, IL和ILC之间的程序不执行。 指令执行结果不影响标志位。 ILC(03) 程序分支结束指令。
4.3 常用的应用指令 4.3.3 IL/ILC指令 不论IL的输入条件是ON还是OFF,CPU都要对IL/ILC之间的程序进行扫描 1 所有OUT和OUT NOT指令的输出位都为OFF; 所有的定时器都复位; KEEP指令的操作位、计数器、移位寄存器、以及SET和RESET指令的操作位都保持IL为OFF以前的状态 如果IL的执行条件为OFF,则位于IL和ILC之间的程序不执行,此时IL和ILC之间各内部器件的状态如右 注意 2 3 IL和ILC指令可以成对使用,也可以多个IL指令配一个ILC指令,但不准嵌套使用,如IL—IL—ILC—ILC
4.3 常用的应用指令 4.3. .1 IL/ILC指令--使用IL和ILC指令例子 4.3 常用的应用指令 4.3. .1 IL/ILC指令--使用IL和ILC指令例子 图中A为分支点,A的右侧有两个分支,且每个分支都有触点控制。这时要使用分支指令编程。图 (a)可以画成图 (b)的结构,两者的功能一样。当0000为OFF时,IL和ILC之间的程序不执行,1000和1001都处于OFF状态;当0000为ON时,IL和ILC之间的程序执行,1000和1001的状态取决于各自分支的控制触点的状态。 (a) (b) (c)
4.3 常用的应用指令 暂存继电器可用来暂时存储当前指令执行的结果,所以处理梯形图分支可使用暂存继电器(TR)。CPM2A系列PLC 有8个暂存继电器,其编号为TR0~TR7。如果某个TR位被设置在一个分支点处,则分支前面的执行结果就会存储在这个TR位中。 4.3.2 (TR) 暂存继电器 对暂存继电器说明如下: ⒈在同一分支程序段中,同一TR号不能重复使用; ⒉TR不是编程指令,只能和LD或OUT等基本指令一起使用。 使用TR处理分支
4.3 常用的应用指令 4.3.3 JMP/JME指令 指令基本情况 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 4.3 常用的应用指令 4.3.3 JMP/JME指令 指令基本情况 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 JMP (04) N N为跳转号,其范围为:00~49 JMP是程序跳转指令。当输入条件为ON时,执行JMP和JME之间的程序;当输入条件为为OFF时, JMP和JME之间的程序不执行。 指令执行结果不影响标志位。 JME (05) N 程序跳转结束指令。指令执行结果不影响标志位。
4.3 常用的应用指令 4.3.3 JMP/JME指令 跳转指令可以嵌套使用,但必须是不同跳转号的嵌套,如JMP 01—JMP 02—JME 02—JME 01。 以00作为跳转号时,指令的执行时间比其他跳转号的执行时间长,因为CPU要花时间去寻找下一个JME 00; 5 发生跳转时,JMP N和JME N之间的程序不执行; 1 注意 4 2 3 对同一个跳转号N,JMP N/JME N只能在程序中使用一次。除N=00外; 发生跳转时所有继电器、定时器、计数器均保持跳转前的状态不变;
4.3 常用的应用指令 4.3.3 JMP/JME指令--使用JMP/JME指令例子 4.3 常用的应用指令 4.3.3 JMP/JME指令--使用JMP/JME指令例子 0000是JMP 00的执行条件。当0000为OFF时,JMP 00到JME 00之间的程序不执行,而转去执行JME 00之后的程序,这时1000和1001保持跳转前的状态;当0000变为ON时,JMP 00到JME 00之间的程序才被执行。 梯形图 助记符语句
4.3 常用的应用指令 区别 JMP-JME IL-ILC 4.3.3 JMP/JME指令 00001从接通到断开, 01000保持; 4.3 常用的应用指令 JMP-JME IL-ILC 4.3.3 JMP/JME指令 00001从接通到断开, 01000保持; 定时器的当前值在 00001断开时保持; 只可使用8次; 不能使用高速计数 指令; 当执行条件为OFF时, CPU不扫描JMP-JME之 间的程序 00001从接通到断开, 01000复位; 定时器在00001断开 时复位; 使用次数不受限制; 可使用高速计数指 令; 当执行条件为OFF时, CPU扫描 IL-ILC指令 之间的程序 区别
4.3 常用的应用指令 4.3.4 定时器/计数器指令--TIM 定时器指令基本情况 格 式 梯形图 符号 操作数的含义及范围 4.3 常用的应用指令 4.3.4 定时器/计数器指令--TIM 定时器指令基本情况 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 TIM N SV N为定时器的TC号,范围为:000~255。 SV为定时器的设定值(BCD码0000~9999),其范围为:IR、SR、HR、AR、LR、DM、*DM、#。 接通延时ON定时器指令。从输入条件为为ON时开始定时,定时时间为SV×0.1S;定时时间到,定时器的输出为ON且保持;当输入条件为OFF时,定时器复位,输出变为OFF,并停止定时,其当前值PV为0。定时器无掉电保护功能。当SV不是BCD码数或间接寻址不存在时,25503为ON。
4.3 常用的应用指令 4.3.4 定时器/计数器指令--TIM ⑴定时器的定时功能: 减1计数 计量单位为0.1S 4.3 常用的应用指令 4.3.4 定时器/计数器指令--TIM ⑴定时器的定时功能: 减1计数 计量单位为0.1S 当前值为0时,TIM输出为ON且保持 (a)梯形图 (b)助记符语句 (c)时序图 定时器的使用
4.3 常用的应用指令 4.3.4 定时器/计数器指令--TIM ⑵定时器的时间扩展 4.3 常用的应用指令 4.3.4 定时器/计数器指令--TIM ⑵定时器的时间扩展 一个定时器TIM的最大定时时间是999.9s,但几个定时器连用可获得更长的定时时间。图中以定时器TIM000的常开触点作为定时器TIM001的执行条件,就可以实现这个要求。总的定时时间为两个定时器SV值之和。 ⑶定时器的定时方式 虽然TIM是接通延时ON型的定时器,但经过合理编程,也可以实现接通延时OFF、断开延时ON、断开延时OFF的控制。 TIM的扩展 接通延时ON和接通延时OFF
4.3 常用的应用指令 4.3.4 定时器/计数器指令--TIM ⑷利用定时器产生时钟脉冲 4.3 常用的应用指令 4.3.4 定时器/计数器指令--TIM ⑷利用定时器产生时钟脉冲 使用两个定时器产生时钟脉冲的例子。当0000接通后,TIM000开始定时,经0.5s后,TIM000常开触点闭合,TIM001开始定时;TIM001定时时间到,其常闭触点断开, TIM000复位。往复循环产生时钟脉冲。 使用两个定时器产生时钟脉冲
4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNT 计数器指令基本情况 格 式 梯形图 符号 操作数的含义及范围 4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNT 计数器指令基本情况 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 CNT N SV N为定时器的TC号,范围为:000~255。 SV为定时器的设定值(BCD码0000~9999),其范围为:IR、SR、HR、AR、LR、DM、*DM、#。 单向减计数器指令。从CP输入计数脉冲,当计数满设定值时,其输出为ON且保持并停止计数。只要复位端R为ON,计数器即复位为OFF,并停止计数,且当前值PV为0。计数器有掉电保护功能。 对标志位的影响同定时器。 CP为计数脉冲输入端;R为复位端
4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNT 减1计数; 当前值为0时,CNT输出为ON且保持; 4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNT ⑴计数器的计数功能 减1计数; 当前值为0时,CNT输出为ON且保持; 当接收到复位信号时,CNT复位。 计数器的计数功能
4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNT ⑵定时功能 ⑶容量扩展 4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNT ⑵定时功能 计数器的CP端接SR区的25502(产生秒脉冲),则计数器可以当定时器使用。如SV=#0500,当计数器计满500时,其计数过程所用的时间为500s。由于计数器有掉电保持功能,所以用计数器作成的定时器也有掉电保持功能。 ⑶容量扩展 用一个计数器的常开触点作为另一个计数器的计数脉冲输入,即两个计数器连用,就可以实现计数器容量的扩展,总的计数器容量为两个计数器SV值的乘积。 定时功能 计数器的容量扩展
4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNTR 可逆计数器(CNTR)指令基本情况 格 式 梯形图 符号 4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNTR 可逆计数器(CNTR)指令基本情况 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 CNTR (12) N SV N为定时器的TC号,范围为:000~255。 SV为定时器的设定值(BCD码0000~9999),其范围为:IR、SR、HR、AR、LR、DM、*DM、#。 可逆循环计数器指令。 从ACP端和SCP端同时输入计数脉冲则不计数。从ACP端输入计数脉冲为加计数;从SCP端输入计数脉冲为减计数。加/减计数有进/借位时,输出ON一个计数脉冲。可逆循环计数器有掉电保护功能。 对标志位的影响同定时器。 ACP为加计数脉冲;SCP为加计数脉冲;R为复位端。
4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNTR 复位 加计数器 减计数器 不计数 ⑴可逆计数器的计数功能 4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNTR ⑴可逆计数器的计数功能 复位 加计数器 减计数器 不计数 00003为ON 00002为OFF 00001为OFF 同时输入CP 当前值变为0000,此时既不进行加计数,也不进行减计数 加1至产生进位 CNTR010的输出变为ON;再加1,为OFF 并进行循环。 减1至产生借位 CNTR010的输出变为ON;再减1,为OFF 并进行循环。 00001和00002同时输入计数脉冲时,计数器不计数
4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNTR 4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNTR 图中,SCP端以25314(常OFF)作为输入条件, CNTR000作为加计数器使用。 ACP端以25502与20000的触点串联作为输入条件,由25502产生秒脉冲作为计数脉冲的输入,此时计数器可作为定时器使用。 R端以00001与25315的并联作为复位条件,使CNTR0 00在PLC上电后的第一个扫描周期被复位。 ⑵可逆计数器的循环定时功能 CNTR的循环定时
4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNTR 4.3 常用的应用指令 4.3.4 定时器/计数器指令--CNTR ⑶循环计数器容量的扩展 在右图中,CNTR000的常开触点连到CNTR001的计数脉冲输入端,就可以实现大容量的循环计数器。例如,CNTR000指令的HR00中若为#9999,CNTR001的SV为#1000,则每经过10000×1000s,CNTR001的输出就会ON一次。 CNTR容量的扩展
4.4 数据传送和比较指令 4.4.1 数据传送指令 本节内容 4.4.2 数据比较指令
4.4 数据传送和比较指令 4.4.1 数据传送指令 ⒈传送指令MOV和求反传送MVN指令 格 式 梯形图 符号 操作数的含义及范围 4.4 数据传送和比较指令 4.4.1 数据传送指令 ⒈传送指令MOV和求反传送MVN指令 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 MOV (21) S D S是源数据,范围:IR、SR、HR、AR、LR、TC、DM、*DM、#。D是目的通道,范围:IR、SR、HR、AR、LR、TC、DM、*DM MOV数据传送指令。当执行条件为ON时,将源数据S传送到通道D中。对标志位的影响见“*” MVN MVN数据求反传送指令。当执行条件为ON时,将源数据S求反后传送到通道D中。 对标志位的影响同MOV指令。 “*” ①当间接寻址不存在时,25503为ON。②执行指令后,若D中数据为0000时,25506为ON。
4.4 数据传送和比较指令 4.4.1 数据传送指令-- MOV与MVN指令的使用 (a)执行MOV指令 助记符语句 4.4 数据传送和比较指令 4.4.1 数据传送指令-- MOV与MVN指令的使用 (a)执行MOV指令 助记符语句 MOV与MVN指令的使用 (b)执行MVN指令
4.4 数据传送和比较指令 4.4.1 数据传送指令--用MOV指令修改TIM设定值 4.4 数据传送和比较指令 4.4.1 数据传送指令--用MOV指令修改TIM设定值 右图是使用MOV指令修改定时器设定值程序,当00000为ON,00001为OFF时,执行一次MOV指令,将常数0100传送到LR00中,所以TIM000的设定值为10s,并开始定时,定时时间到,TIM000的输出变为ON,01000也变为ON。 当需要改变定时器值时,可令00000为OFF、00001为ON,执行一次MOV指令将#0050传送到LR00中,于是TIM000的设定值变为5s。
4.4 数据传送和比较指令 4.4.1 数据传送指令 ⒉块设置指令(BSET/@BSET) 4.4 数据传送和比较指令 4.4.1 数据传送指令 ⒉块设置指令(BSET/@BSET) 块设置指令。当执行条件为ON时,将源数据S传送到从St到E的所有通道中。执行一次BSET/@BSET指令,相当于执行多次MOV/@MOV指令。因此当用BSET/@BSET指令,向某个数据区传送0000时,可将该数据区域清零。 MOV和BSET指令的区别: ⑴执行一次MOV指令,只能向一个通道传送一个字;而执行一次BSET指令,可以向多个通道传送同一个字。 ⑵当用通道对TIM/CNT进行设定时,用MOV和BSET指令都可以改变TIM/CNT设定值。当使用@BSET指令还可以改变TIM/CNT的当前值,而MOV指令没有这个功能。
4.4 数据传送和比较指令 4.4.2 数据比较指令 单字比较指令CMP 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 4.4 数据传送和比较指令 4.4.2 数据比较指令 单字比较指令CMP 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 CPM (20) C1 C2 C1是比较数1,其范围是:IR、SR、HR、AR、LR、DM、*DM、#。C1是比较数2,其范围同上。 当执行条件为ON时,将C1和C2进行比较,并将比较结果送各标志位。当C1>C2时,大于标志位25505为ON;当C1=C2时,等于标志位25506为ON;当C1<C2时,小于标志位25507为ON;间接寻址DM通道不存在时25503 ON。
4.5 数据移位和数据转换指令 数据移位指令 4.5.1 本节内容 4.5.2 数据转换指令
4.5 数据移位和数据转换指令 4.5.1 数据移位指令 ⒈移位寄存器指令 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 ⒈移位寄存器指令 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 SFT (10) St E St是移位的开始通道,其范围是:IR、SR、HR、AR、LR。E是移位的结束通道,其范围同St。St和E必须在同一区域,且St≤E。 移位寄存器指令。当复位端R为OFF时,在SP端的每个移位脉冲的上升沿时刻,St到E通道中所有数据按位依次左移一位,E通道中数据的最高位溢出丢失,St通道中的最低位则移进IN端的数据。SP端没有移位脉冲则不移位。当复位端R为ON时,St到E所有通道均复位为0,且移位指令不执行。 移位指令不影响标志位。 IN是数据输入端,SP是移位脉冲输入端,R是复位端
4.5 数据移位和数据转换指令 4.5.1 数据移位指令--SFT指令的使用 PLC上电之初,200通道内各位均为OFF,第1个脉冲时,20000通道各位向左移一位,读入IN端数据,由于00001为OFF,200通道内各位仍为OFF; 第2个脉冲时,20000通道各位向左移一位,读入IN端数据,由于00001为ON,20000位为ON; 以下依次类推。在第6个移位脉冲,由于R端的00001为ON,200通道所有各位均复位为OFF。 梯形图和助记符语句 时序图
4.5 数据移位和数据转换指令 4.5.1 数据移位指令 2.字移位指令(WSFT)/@WSFT) 格 式 梯形图 符号 操作数的含义及范围 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 WSFT (16) St E St是移位的开始通道,其范围是:IR、SR、HR、AR、LR、DM、*DM。E是移位的结束通道,其范围同St。St和E必须在同一区域,且St≤E。 字移位指令。当执行条件为ON时,每执行一次指令,St和E通道的数据以字为单位左移一位。0000进入St,E中的数据溢出丢失。 下列情况下25503为ON: ①St和E不在同一区域; ②St>E; ③间接寻址DM通道不存在。
4.5 数据移位和数据转换指令 4.5.1 数据移位指令 两个通道的状态 梯形图 使用@WSFT的例子
4.5 数据移位和数据转换指令 4.5.2 数据转换指令 ⒈BCD码→二进制数转换指令(BIN/@BIN) 格 式 梯形图 符号 格 式 梯形图 符号 操作数的含义 及范围 指令功能及执行指令 对标志位的影响 BIN (23) S R @BIN S是源通道(其内容为BCD数),其范围是:IR、SR、HR、AR、LR、TC、DM、*DM。R是结果通道,其范围为:IR、SR、HR、AR、LR、DM、*DM。 BCD码→二进制数转换指令。当执行条件为ON时,将S中的BCD码数转换成二进制数(S中的内容保持不变)并存入R中。 对标志位的影响:①当S的内容不是BCD码时,25503为ON;②间接寻址DM通道不存在,25503为ON;③当转换结果为0000时,25506为ON。
4.5 数据移位和数据转换指令 4.5.2 数据转换指令--使用@BIN指令 图中00000由OFF变为ON时,执行一次@MOV指令将BCD码#4321传送到通道200中,执行一次@BIN指令,将 IR200中的BCD码转换成 二进制数,并存放在结果通道DM0000中。转换前后源通道200的内容不变。(4321)10=(10E1)16=(0001 0000 1110 0001)2 转换后的二进制数在PLC是以16进制表示。 @BIN指令应用
4.5 数据移位和数据转换指令 4.5.2 数据转换指令 ⒉二进制→BCD码转换指令(BCD/@BCD) 格 式 梯形图 符号 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 BCD (24) S R @BCD S是源通道,其范围是:IR、SR、HR、AR、LR、DM、*DM。R是结果通道,其范围同S。 二进制数→BCD码转换指令。当执行条件为ON时,将S中的二进制数转换成BCD码数(S中的内容保持不变)并存入R中。 对标志位的影响:①当转换后的BCD码数大于9999时,25503为ON;②间接寻址DM通道不存在,25503为ON;③当转换结果为0000时,25506为ON。
4.5 数据移位和数据转换指令 4.5. 2 数据转换指令--BCD码指令的使用 MOV和BCD指令采用其微分形式。当00000从OFF变为ON时,@MOV指令将常数#10EC(二进制用16进制表示)传送到020通道, @BCD将020通道的内容转换为BCD码存放在021通道中。 转换的原理是:(10EC)16=1×163+0×162+14×161+12×160=(4332)10,在021通道中,BCD码以4位二—十进制表示为 0100 0011 0011 0010。 BCD指令应用
4.5 数据移位和数据转换指令 4.5.2数据转换指令 ⒊译码指令(MLPX/@MLPX) 格 式 梯形图 符号 操作数的含义及范围 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 MLPX (76) S C R @MLPX S是源通道(其内容为BCD数),其范围是:IR、SR、HR、AR、LR、TC、DM、*DM。C是控制数据,其范围是:IR、SR、HR、AR、LR、TC、DM、*DM、#。R是结果通道,其范围为:IR、SR、HR、AR、LR、DM、*DM。 译码指令。当执行条件为ON时,对S中指定的数字位进行译码(由C确定要译码的起始数字位及译码的位数),即将该位数字(十六进制数)转换为0~15的十进制数对应的位置为ON,其余各位为OFF。 下列情况之一时,25503为ON:①当R+3超出数据区的范围时;②间接寻址DM通道不存在时。
4.5 数据移位和数据转换指令 4.5.2 数据转换指令 不同的C,通道R中的存放结果的顺序示意图: ⒊译码指令(MLPX/@MLPX) 4.5.2 数据转换指令 不同的C,通道R中的存放结果的顺序示意图: ⒊译码指令(MLPX/@MLPX) C是控制数据,各数字位的含义: 指令的转换过程如下图: C=#0002 表示S通道中从数字第2为开始译码,
4.6 数据运算指令 4.6.1 STC(40) 和CTC(41)指令 本节内容 4.6.2 十进制运算指令
4.6 数据运算指令 4.6.1 STC(40) 和CTC(41)指令 STC(40) 和CTC(41)指令基本情况 格 式 梯形图 符号 4.6 数据运算指令 4.6.1 STC(40) 和CTC(41)指令 STC(40) 和CTC(41)指令基本情况 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 STC (40) @STC 无操作数 进位位置1指令。当执行条件为ON时,将进位标志位25504置1。 CTC (41) @CTC 进位位置0指令。当执行条件为ON时,将进位标志位25504置0。
4.6 数据运算指令 4.6.2 十进制运算指令 1.十进制加法运算指令(ADD/@ADD) 格 式 梯形图 符号 操作数的含义及范围 4.6 数据运算指令 4.6.2 十进制运算指令 1.十进制加法运算指令(ADD/@ADD) 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 ADD (30) Au Ad R @ADD Au为被加数,其范围是:IR、SR、HR、AR、LR、TC、DM、*DM、#。 Ad为加数,其范围同Au。 R是结果通道,其范围是:IR、SR、HR、AR、LR、DM、*DM 单字BCD码加法指令。当执行条件为ON时,将被加数、加数以及进位位Cy中的内容相加,结果存放在R通道中。若结果大于9999时,则Cy(25504)置1。 对标志位的影响:①Au和Ad的内容为非BCD数时,25503为ON;②当间接寻址DM通道不存在时,25503为ON;③加运算结果超出4位BCD数时,25504为ON;④当和为0000时25506为ON。
4.6 数据运算指令 4.6.2 十进制运算指令--@ADD指令的例子 4.6 数据运算指令 4.6.2 十进制运算指令--@ADD指令的例子 当00000为ON时,先将数#1234传送到HR00,然后用CLC指令将Cy置0,@ADD指令将HR00通道的内容与数#8321和Cy相加,结果存放在DM0000通道中。 (a)梯形图 (b)语句表 (c)示意图
4.6 数据运算指令 4.6.2 十进制运算指令 2.十进制减法运算指令(SUB/@SUB) 格 式 梯形图 符号 操作数的含义及范围 4.6 数据运算指令 4.6.2 十进制运算指令 2.十进制减法运算指令(SUB/@SUB) 格 式 梯形图 符号 操作数的含义及范围 指令功能及执行指令 对标志位的影响 SUB (31) Mi Su R @SUB Mi为被减数,其范围是:IR、SR、HR、AR、LR、TC、DM、*DM、#。 Su为减数,其范围同Mi。 R是结果通道,其范围是:IR、SR、HR、AR、LR、DM、*DM 单字BCD码减法指令。当执行条件为ON时,将被减数减去减数再减去进位位Cy的内容,把结果存放在R通道中。若被减数小于减数,则Cy(25504)置1,此时R中的内容为结果的十进制补码。欲 得到正确的结果,应先清Cy位,再用0减去R 及Cy的内容,并将结果存在R中。 对标志位的影响:①Mi和Su的内容为非BCD数时,25503为ON;②当间接寻址DM通道不存在时,25503为ON;③当被减数小于减数时25504为ON;④当差为0000时25506为ON。
4.6 数据运算指令 4.6.2 十进制运算指令--SUB指令的例子 4.6 数据运算指令 4.6.2 十进制运算指令--SUB指令的例子 被减数存放在HR00(设其内容为1000),减数存放在DM0000中(设其内容为2000),结果存放在HR01,进位位存放在HR02。 (a)梯形图