欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    常用低压电器与可编程序控制器第7章.ppt

    • 资源ID:6469281       资源大小:6.17MB        全文页数:234页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    常用低压电器与可编程序控制器第7章.ppt

    第7章 可编程序控制器程序编制,7.1 梯形图的编程规则7.2 OMRON PLC指令系统概述7.3 CPM1A系列常用指令7.4 CPM1A系列应用指令,7.1 梯形图的编程规则,图7-1 梯形图示例,梯形图的编程规则主要体现为以下几点:(1)梯形图由多个梯级组成,每个输出元素可构成一个梯级。输出元素主要指继电器线圈或指令。(2)每个梯级可由多个支路组成,每个支路可容纳多个编程元素,最右边的元素必须是输出元素。(3)梯形图两侧的竖线(OMRON PLC梯形图右侧的母线省略)类似电器控制图的电源线,称作母线(BUS BAR)。编程时要从母线开始,按梯级从上至下,每个梯级从左到右的顺序编制。左侧总是安排输入接点,并且把并联接点多的支路靠近最左端。,(4)在梯形图中每个编程元素应按一定的规则加标字母、数字串,不同的编程元素常用不同的字母符号和数字串表示。编程元素中常以“”符号表示指定继电器的常开接点;以“”符号表示指定继电器的常闭接点;以“”符号表示指定继电器的控制线圈,其中“N”表示指定继电器。(5)除END等极少数没有执行条件的指令外,输出元素不能直接和左侧母线相连接。如果必须连接,可以通过特殊辅助继电器的常ON接点连接(CMP1A系列为25313)。(6)在梯形图中不允许两行之间或两条支路之间连接元素,如图7-2所示。这种方式是无法进行编程的,应进行转换。(7)程序应以END指令结束,否则将会出现错误。,图7-2 梯形图的转换(a)错误的梯形图形式;(b)转换后的正确形式,梯形图中的继电器不是物理继电器,其每个继电器和输入接点均为存储器中的一位。相应位为“1”状态时,表示继电器线圈通电或常开接点闭合或常闭接点断开。梯形图中的继电器接点可在编制程序时无限引用,既可常开又可常闭。图7-2中的输入接点和输出线圈不是物理接点和线圈。用户程序的运算是根据PLC内I/O映像区每位的状态,而不是运算时现场开关的实际状态进行的。,7.2 OMRON PLC指令系统概述,1指令格式 指令格式是由操作码和操作数组成的。操作码规定CPU应该执行什么操作,由助记符构成。操作数可以是I/O继电器、IR、SR、HR、TR、AR、LR、TC、DM以及立即数。通常用继电器区的缩写加上通道号或继电器号作为指令的操作数;但I/O继电器没有缩写符,可直接采用继电器号或通道号来表示。常数也可作为指令操作数,但使用时需在常数前加上“”号说明。常数可以是十进制数,也可以是十六进制数,视指令需要而定。OMRON CPM1A系列PLC也支持间接寻址,间接寻址的操作数用*DM表示。这种操作数是以DM中的数据为地址的另一个DM通道中的数据。DM中的内容必须是BCD码,且不得超出DM区的范围。,2.指令执行时的标志位 在指令执行的过程中,指令的执行结果往往会改变系统标志,从而说明指令的执行情况。CPM1A系列PLC的系统标志是特殊辅助继电器(SR)中的2550325507,指令执行结果可能影响的系统标志项见表7-1所示。,表7-1 系统标志项,3.指令的微分和非微分形式 指令具有微分和非微分两种形式。CPM1A系列的应用指令多数兼有这两种形式。微分指令要在其助记符前加标记。两种指令的区别是:对于非微分指令,只要其执行条件为ON,则每个扫描周期都将执行该指令;微分指令仅在其执行条件由OFF变为ON时才执行一次,如果执行条件不发生变化,或者从上一个扫描周期的ON变为OFF,则该指令不执行。,7.3 CPM1A系列常用指令,7.3.1 梯形图指令 1.输入/输出和位逻辑运算指令 输入/输出和位逻辑运算指令包括8条PLC梯形图中的基本指令。它主要用于处理梯形图中继电器接点的各种连接,执行时通过系统结果寄存器及系统堆栈作为中间单元,完成对指定继电器状态的输入/输出及逻辑处理。表7-2列出了这些指令的名称、格式、梯形图符号、操作数的范围及指令的功能。,表7-2 输入/输出和位逻辑运算指令,图7-3 输入/输出指令示例(a)指令编程;(b)指令表,在分析梯形图程序时,常开和常闭触点的状态(ON/OFF)是由它对应的继电器的状态来确定的。例如在图7-3中,若00000号输入继电器状态为ON,则常开触点00000的状态为ON(触点闭合),否则状态为OFF;如果00001号输入继电器状态为ON,则常闭触点00001的状态为OFF(触点断开),否则状态为ON。后面再分析程序时,上述原则不再重申。在图7-3中,第一个梯级首先将触点00000的状态载入结果寄存器,而原结果寄存器的内容被压入堆栈;结果寄存器中触点00000的状态与01000触点的状态相或后的结果存入结果寄存器;再将继电器00001的状态取反后与结果寄存器的内容作与运算;最后的运算结果输出到01000继电器。第二个梯级完成的过程与第一个梯级相似,最后输出时将结果寄存器中的内容取反后送至01001继电器。,2.逻辑块与指令和逻辑块或指令AND LD和OR LD 逻辑块与指令AND LD和逻辑块或指令OR LD用于处理复杂逻辑块操作。表7-3列出了指令的格式、操作数范围、梯形图符号及指令的功能。,表7-3 AND LD和OR LD指令,1)AND LD指令,图7-4 AND LD指令示例(a)指令编程;(b)指令表,在图7-4中,由触点00000、00001和00003组成的逻辑块和触点00002、00004组成的逻辑块串联,助记符指令表中的前三条指令LD 00000、AND NOT 00001、OR 00003完成了第一个逻辑块的处理,指令执行结果已存入结果寄存器中,第四、五条指令则完成第二个逻辑块的处理。在执行LD 00002指令时,第一个逻辑块的结果在结果寄存器中被压入堆栈(堆栈的深度一般为8位),结果寄存器中载入触点00002的状态,在与触点00004的状态或运算后,结果仍存入结果寄存器。执行AND LD指令时,将结果寄存器中的内容与堆栈顶部的第一个逻辑块的结果作与运算,结果存入结果寄存器并执行输出指令。,2)OR LD指令,图7-5 OR LD指令示例(a)指令编程;(b)指令表,图7-6 利用AND LD和OR LD指令示例(a)指令编程;(b)指令表,7.3.2 锁存继电器指令KEEP,表7-4 KEEP指令,图7-7 KEEP指令应用示例(a)指令编程;(b)指令表;(c)工作波形图,当00000为ON时,其指定位20000也会置ON,并保持ON直到复位为止。在此期间,不管00000是否保持ON或变为OFF,当00007置ON时,其指定位20000被复位,置为OFF;当00000与00007端同时为ON时,00007端优先。,7.3.3 置位指令和复位指令SET、RESET,表7-5 SET和RESET指令,图7-8 SET和RESET指令示例(a)指令编程;(b)指令表;(c)工作波形图,7.3.4 上微分指令和下微分指令DIFU、DIFD,表7-6 DIFU和DIFD指令,图7-9 DIFU和DIFD指令示例(a)指令编程;(b)指令表;(c)工作波形图,DIFU和DIFD指令常用在下面的几种场合:(1)利用DIFU和DIFD指令的操作位作为某指令的执行条件,使某条指令只在该操作位由OFF变为ON时或由ON变为OFF时执行一次。(2)利用DIFU和DIFD指令产生脉冲信号。,7.3.5 空操作指令和结束指令NOP、END,表7-7 NOP和END指令,在编程中一般不需要NOP指令,也没有它的梯形图符号。当程序中出现NOP时,程序将执行下一条指令。该指令主要用于程序修改。当程序被清除后,NOP被写入对应的地址。NOP可以通过功能代码00写入。该指令不影响任何标志位。END指令作为程序的最后一条用,它可保证END后面的指令不被执行。当有时要调试程序时,END可以放在程序的任何一个位置来执行这点以前的指令,但调试后必须删除它以执行剩下的程序。如果程序没有END指令,系统将出现“NO END INST”的错误信息,且不执行任何指令。图7-10是END指令的示例。,图7-10 END指令示例指令编程;(b)指令表,7.4 CPM1A系列应用指令,7.4.1 定时/计数指令,1.定时器指令和高速定时器指令TIM和TIMH 定时器指令TIM和高速定时器指令TIMH在输入条件为ON时开始计时,从设定值SV起,以定时单位进行减1运算,当减为0时计时时间到。表7-8列出了TIM、TIMH指令的名称、格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-8 TIM、TIMH指令,定时器TIM指令的定时单位为0.1 s,延时时间可在0999.9 s范围内选择。若定时时间到,则定时器的输出为ON且保持;当输入条件变为OFF时,定时器复位,输出变为OFF并停止定时,其当前值PV恢复为SV。,图7-11 TIM指令示例(a)指令编程;(b)指令表;(c)工作波形图,2.计数器指令CNT 计数器指令CNT在复位端R为OFF的情况下,根据CP端的输入脉冲进行减法计数。计数器预置数SV可在09999范围内选择,当计数达到0时,停止计数,输出为ON且保持。只要复位端R为ON,计数器即复位为OFF并停止计数,且当前值PV恢复为SV。计数器有掉电保持功能。表7-9列出了CNT指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-9 CNT指令,图7-12是CNT指令的应用示例。计数器CNT001内的预置数为50,在复位端R为OFF的条件下,通过触点00000送至计数输入端CP的脉冲被计数(脉冲上跳沿有效)。CNT001每接到一个脉冲作一次减1运算,当接到第50个脉冲时,其预置数减为0,CNT001状态则由OFF变为ON,对应CNT001的触点接通,继电器01001变为ON。一旦CNT001复位端R的状态变为ON,则计数器CNT001复位,由ON 变为OFF,继电器01001的状态也由于触点CNT001的断开而变为OFF,CNT001内部预置数恢复为50,待复位端变为OFF后即可开始重新计数。图7-12(c)是图7-12(a)梯形图的工作波形。,图7-12 CNT指令示例(a)指令编程;(b)指令表;(c)工作波形图,3.可逆计数器指令CNTR CNTR指令是一个可逆的递增/递减循环计数器,计数器根据增值输入(ACP)和减值输入(SCP)的变化对0和设定值(SV)之间计数。在复位端R为OFF的情况下,从ACP端输入计数脉冲为加计数;从SCP端输入计数脉冲为减计数;加/减计数有进/借位时,输出ON一个计数脉冲周期。只要复位R端为ON,计数器即复位为OFF并停止计数,且不论加计数还是减计数,其当前值(PV)均变为0。若从ACP端和SCP端同时输入,计数脉冲则不计数,当前值(PV)不变。可逆计数器有掉电保持功能。,表7-10 CNTR指令,图7-13 CNTR指令示例(a)指令编程;(b)指令表,如图7-13所示,当复位端R的触点00003为ON时,CNTR046复位,当前值(PV)变为0000,此时既不进行加计数,也不进行减计数。当00003变为OFF时计数器开始计数,其计数过程如下:若触点00002为OFF,则由00001输入计数脉冲时为加计数器。00001每输入一个计数脉冲,CNTR046的当前值(PV)加 1。当PV0200时,若再输入一个计数脉冲,则PV值变为0000(有进位),同时CNTR046的输出变为ON。当再来一个计数脉冲时,PV=1,CNTR046的输出变为OFF,且开始下一个循环的计数。,若00001为OFF,则由00002输入计数脉冲时为减计数器。00002每输入一个计数脉冲,CNTR046的当前值(PV)减1。当 PV0000时,若再输入一个计数脉冲,PV变为0200(有借位),同时CNTR046的输出变为ON。当再来一个计数脉冲时,PV=199,且CNTR046的输出变为OFF,并开始下一个循环的计数。由上述操作过程可见,CNT和CNTR指令的主要区别在于:当计数器CNT达到设定值后,只要不复位,其输出就一直为ON,即使计数脉冲仍在输入;而计数器CNTR达到设定值后,其输出为ON,只要不复位,在下一个计数脉冲到来时,计数器CNTR立即变为OFF,且开始下一轮计数,即CNTR是个循环计数器。,7.4.2 互锁指令和解除互锁指令IL、ILC 互锁指令IL和解除互锁指令ILC常用于控制程序的流向。当IL的输入条件为ON时,IL和ILC之间的程序正常执行;当IL的输入条件为OFF时,IL和ILC之间的程序不执行。在这种情况下,IL和ILC之间的部分程序中所涉及的内部器件将做如下处理:所有 OUT和 OUT NOT指令的输出位为 OFF;所有定时器都复位;KEEP指令的操作位、计数器、移位寄存器以及SET和RESET指令的操作位都保持IL为OFF以前的状态。,表7-11 IL和ILC指令,图7-14 IL和ILC指令应用示例(a)指令编程方式一;(b)指令编程方式二;(c)指令表,图7-15 多个IL指令配一个ILC指令实例(a)指令编程方式一;(b)指令编程方式二;(c)指令表,7.4.3 暂存继电器TR TR不是编程指令,但编程中常需要用暂存继电器TR存储当前指令的执行结果或梯形图分支点上存在的执行条件,即保存结果寄存器的当前内容。这是因为指令行在返回分支点执行一个分支行上的其他指令之前执行了右侧指令,使得执行条件可能发生改变而不能完成本来的操作。它与互锁IL和解除互锁ILC指令同样可作为处理程序分支的方法。CPM1A系列PLC有编号为TR0TR7的8个暂存继电器。如果某个TR位被设置在一个分支点处,则分支前面的执行结果就会存储在这个TR位中,但在同一分支程序段中,同一TR号不能重复使用。由于TR不是编程指令,因此只能与LD或OUT等基本指令一起使用。,图7-16 使用暂存继电器TR处理分支示例(a)指令编程;(b)用TR处理分支;(c)用IL/ILC处理分支,7.4.4 跳转指令和跳转结束指令JMP、JME,表7-12 JMP和JME指令,当程序中有多个跳转时,就可使用跳转号N来区分不同的JMP N/JME N对。在00和49之间的任何一个两位数都可以作为一个跳转编号,但除00外,同一编号只能在程序中使用一次。当N取00时,JMP 00/JME 00可以在程序中多次被使用。JMP 00和JME 00之间的指令被跳转时,指令虽不执行但仍被扫描,因此执行的时间比其他跳转号的执行时间长。跳转号不是00的JMP N/JME N之间的指令则完全跳转,不需要扫描时间。发生跳转时,JMP N/JME N指令对中所有的继电器、定时器、计数器均保持跳转前的状态。跳转指令可以嵌套使用,但必须是不同跳转号的嵌套,如JMP 00-JMP 01-JME(05)01-JME 00等。另外,和IL/ILC指令一样,多个JMP 00可以共用一个JME 00。尽管在进行程序检查时会出现错误信息“JMP-JME ERR”,但程序仍会正常执行。图7-17是使用跳转指令的示例。,图7-17 跳转JMP和JME指令示例(a)指令编程方式一;(b)指令编程方式二;(c)指令表,图7-18 多个JMP 00共用一个JME 00示例(a)指令编程;(b)指令表,当第一个JMP 00条件是ON,并且第二个JMP 00条件是OFF时,输出01000的ON/OFF状态取决于00001和00002的状态,而输出01001和计数器仍保持它们的状态。当两个JMP 00在同一时间的条件都是ON时,程序的执行与没有JMP 00指令时一样。将JMP/JME与IL/ILC指令进行比较后可以发现,由于在JMP/JME 分支起作用时,I/O位、计时器等的状态被保持,因此JMP/JME常用于控制需要一个持续输出的设备(例如气动装置和液压装置),而IL/ILC分支用于控制那些不需要一个持续输出的设备,例如电子仪器。,7.4.5 数据移位指令 1.移位寄存器指令SFT 移位寄存器指令SFT由三个执行条件IN、SP和R控制。当复位端R为OFF时,随着SP端移位脉冲的上升沿,St到E通道中的所有数据按位依次左移一位,E通道中数据的最高位溢出丢失,IN端的数据移进St通道中的最低位;当复位端R为ON时,St到E所有通道均复位为零,且移位指令不执行。,表7-13 SFT指令,注:St和E必须在同一区域,且StE。,移位寄存器SFT指令的执行情况如图7-19所示。当移位脉冲SP由OFF变为ON时,始通道到末通道之间的所有位向左移一位,此时IN端状态移入St寄存器的最低位,即如果IN端为ON,则将一个“1”移入寄存器;如果IN端为OFF,则将一个“0”移入寄存器。E寄存器最左位(最高位)溢出丢失。,图7-19 SFT指令执行情况,图7-20是SFT指令的应用示例。例中,SFT指令的首通道为HR00,末通道为HR01,以特殊辅助继电器25502产生的秒脉冲作为移位脉冲,以00000的ON、OFF状态作为输入数据。在PLC上电后的第一个扫描周期,利用特殊辅助继电器25315对移位寄存器进行复位。在移位过程中,首通道HR00和末通道HR01是一个完整的数据链。当HR01通道中的第07位为ON时,继电器20000为ON。移位过程中只要触点00001为ON,移位寄存器即复位。,图7-20 SFT指令应用示例(a)指令编程;(b)指令表,2.双向移位寄存器指令SFTR/SFTR 双向移位寄存器指令SFTR/SFTR用于创建一个单字或多字的可向左或向右移位的移位寄存器。指令中的控制字C提供移位方向、寄存器的输入状态、移位脉冲和复位输入。表7-14是指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。在执行条件为ON时,SFTR/SFTR指令根据控制字C中对应位的状态执行。其功能为:(1)控制字C的复位位bit 15为1时,St到E通道中的所有数据及进位位CY全部清为0,且不接收输入数据。,(2)控制字C的复位位bit 15为0时,在移位脉冲SP的作用下,根据移位脉冲的状态进行左移或右移,移动的方向由C的bit 12的状态决定,移位溢出的位进入CY(25504)。左移:从St到E通道的所有数据,每个扫描周期按位依次左移一位。C的bit 13的数据移入开始通道St的最低位中,结束通道E最高位的数据移入进位位CY中。右移:从E到St通道的所有数据,每个扫描周期按位依次右移一位。C的bit 13的数据移入结束通道E的最高位中,开始通道St最低位的数据移入进位位CY中。,表7-14 SFTR/SFTR指令,图7-21 微分指令SFTR示例(a)指令编程;(b)指令表,图7-21中,00004是SFTR指令的执行条件,IR200是控制通道,由DM0010DM0011组成可逆移位寄存器。当00004为ON时,SFTR指令执行一次移位操作;当00004为OFF时,SFTR指令不执行,此时控制通道的控制位不起作用,DM0010DM0011及CY位的数据保持不变。,控制通道IR200的bit12bit15的状态是由0000000003控制的。工作时,若00000为ON,则20012为1,执行左移位操作;若00000为OFF,则20012为0,执行右移位操作。若00001为ON,则20013为1,即输入数据为1;若00001为OFF,则20013为0,即输入数据为0。以00002的信号作为移位脉冲,若00003为ON,则20015为ON,双向移位寄存器DM0010DM1011及CY位清零;若00003为OFF,则20015为OFF,此时根据20012的状态将执行左移或右移操作。,3.数字左移指令和数字右移指令SLD/SLD和SRD/SRD 数字左移指令SLD/SLD和数字右移指令SRD/SRD可完成一个4位数字的左移和右移。表7-15列出了指令名称、指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。当执行条件置ON时,数字左移指令SLD/SLD将St和E之间的连续通道的内容左移4位(一个数字)。当数字0被写入St的最右边数字时,E中的最左边数字的内容将丢失。图7-22是数字左移指令SLD/SLD的应用示例。,表7-15 SLD/SLD和SRD/SRD 指令,注:St和E必须在同一区域,且StE。,图7-22 数字左移指令SLD/SLD的应用示例(a)指令编程;(b)指令表;(c)指令执行情况,4.算术左移指令和算术右移指令ASL/ASL和ASR/ASR 算术左移指令ASL/ASL和右移指令ASR/ASR将指定通道中的数据按位左移或右移一位。移位溢出的位进入CY,另一端则补0。表7-16列出了指令的名称、格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-16 ASL/ASL和ASR/ASR指令,图7-23 算术左移与算术右移指令执行情况(a)算术左移;(b)算术右移,图7-24 算术左移指令应用示例(a)指令编程;(b)指令表,5.循环左移指令和循环右移指令ROL/ROL和ROR/ROR,表7-17 ROL/ROL和ROR/ROR指令,图7-25 循环左移与循环右移指令的执行情况(a)循环左移;(b)循环右移,6.字移位指令WSFT/WSFT,表7-18 WSFT/WSFT指令,注:St和E必须在同一区域,且StE。,图7-26 字移位WSFT/WSFT指令应用示例(a)指令编程;(b)指令表;(c)通道数据情况,7.异步移位寄存器ASFT/ASFT 当异步移位寄存器ASFT执行条件为OFF时,不执行指令且程序转到下一条指令执行;当执行条件是ON时,ASFT用来建立和控制一个在St和E之间的可逆异步字移位寄存器。这个寄存器的移位字仅当寄存器中相邻的一个字是0时执行。也就是说,如果寄存器中没有字包含0,就不做任何移位,即寄存器中每个为0的字移动一个字。当一个字中的内容移到下一个字时,原始字的内容将被设定为0。从本质上来说,当寄存器移位时,寄存器中每一个0字与下一个字对换位置,而“下一个字”是向上还是向下,则在控制字C中被指定。同时,C也可用来复位寄存器。表7-19列出了指令名称、指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-19 ASFT/ASFT指令,注:St和E必须在同一区域,且StE。,图7-27 ASFT指令应用示例(a)指令编程;(b)指令表;(c)指令执行情况,7.4.6 数据传送指令,1.传送指令和传送非指令MOV/MOV和MVN/MVN 当指令执行条件为ON时,传送指令MOV将源数据S传送到通道D中,而传送非指令MVN则将源数据S按位求反后传送到通道D中。表7-20列出了指令名称、指令格式、操作数范围、梯形图符号及执行指令对标志位的影响。,表7-20 MOV/MOV和MVN/MVN指令,图7-28 MOV和MVN指令应用示例(a)指令编程;(b)指令表;(c)指令执行情况,2.块传送指令XFER/XFER,表7-21 XFER/XFER指令,图7-29 XFER指令应用示例(a)指令编程;(b)指令表,3.块设置指令BSET/BSET 块设置指令BSET/BSET相当于多个MOV指令。当执行条件为ON时,该指令将源数据S传送到从St 到E的所有通道中。表7-22列出了指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-22 BSET/BSET指令,图7-30 BSET指令应用示例(a)指令编程;(b)指令表,综上所述,MOV和BSET指令的区别在于:(1)执行一次MOV指令,只能向一个通道传送一个字;而执行一次BSET指令,可以向多个通道传送同一个字。(2)当用通道对TIMCNT进行设定时,使用MOV和BSEY指令都可以改变TIM/CNT的设定值;使用BSET指令不仅可以改变TIM/CNT的设定值,还可以改变 TIM/CNT的当前值,而MOV指令却没有这个功能,因为MOV指令不能向TC区传送数据。,4.变址传送指令DIST/DIST,表7-23 DIST/DIST指令,1)单字数据分配 当C的第1215位为08的数值时,DIST可用于单字分配操作。控制字C指定一个偏移量Of,偏移量Of的取值范围为BCD码00002047。当执行条件为OFF时,DIST不执行;当执行条件为ON时,DIST把S的内容复制到DBs+Of。也就是说,Of是被加到DBs中来决定目的字地址的。图7-31是DIST指令用于单字数据分配的示例。,图7-31 DIST指令用于单字数据分配的示例(a)指令编程;(b)指令表;(c)指令执行情况,2)进栈操作 当C的第12位15位为9时,DIST能用作堆栈操作。执行该指令生成一个用户堆栈,C的其他位指定堆栈的深度(BCD码000999)。DBs的内容是堆栈的指针。当执行条件为OFF时,DIST不执行;当执行条件为ON时,DIST把S的内容复制到DBs+1+堆栈指针中。换句话说,1和堆栈指针被加到DBs中以决定目的字地址,然后堆栈指针加1。图7-32所示是DIST指令用于进栈操作的示例。,图7-32 DIST指令用于进栈操作的示例(a)指令编程;(b)指令表;(c)指令执行情况,5.数据交换指令XCHG/XCHG,表7-24 XCHG/XCHG指令,当执行条件为ON时,XCHG指令交换通道LR00和HR05内的数据。,图7-33 XCHG指令应用示例(a)指令编程;(b)指令表,6.位传送指令MOVB/MOVB,表7-25 MOVB/MOVB指令,图7-34 MOVB指令应用示例(a)指令编程;(b)指令表;(c)指令执行情况,7.数字传送指令MOVD/MOVD 数字传送指令MOVD/MOVD将一个通道的16个二进制位划分成4个数字位来看待,每个数字位含有4个二进制位。传送操作是以数字位为单位进行的。该指令将S中某一数字位开始的若干个连续的数字位传送至D中某一数字位开始的连续区域中。控制数据C指定了传送的位数及源、目的通道的起始位。表7-26列出了指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-26 MOVD/MOVD指令,图7-35 数字传送指令MOVD/MOVD示例(a)控制字C格式;(b)不同的C值的数据传输,8.数据调用指令COLL/COLL 数据调用指令COLL/COLL可以根据控制字C的内容来进行数据收集、先进先出堆栈的出栈操作或后进先出堆栈的出栈操作。表7-27列出了指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-27 COLL/COLL指令,图7-36 COLL用作数据收集示例(a)COLL编程;(b)指令表;(c)指令操作情况,当C的bit 12bit 15等于9时,COLL可以用于一个先进先出堆栈的出栈操作。C中的其他三位数字指定堆栈的深度(BCD码000999)。SBs中的内容是堆栈指针。当执行条件为ON时,COLL通过一个地址对堆栈中的每一个字的内容往下移一地址,最后把数据从SBs+1(写入堆栈的第一个数值)移位到目的字D,堆栈指针的内容减1。图7-37显示了使用COLL指令在DM0001与DM0005之间创建堆栈,并完成先进先出堆栈的出栈操作的过程。DM0000起堆栈指针的作用,IR200通道内存放的是控制字9005。,图7-37 COLL用作先进先出堆栈的出栈操作示例(a)COLL编程;(b)指令表;(c)指令操作情况,当00000从OFF变为ON时,COLL把DM0002DM0005的内容往下移一个地址,并将DM0001移入IR010,然后,堆栈指针DM0000的内容减1。当C的bit 12bit 15等于8时,COLL可以用于一个后进先出堆栈的出栈操作,此时指令将SBs+堆栈指针的内容所指向的数据复制到目的通道D中,而堆栈中的数据不变,堆栈指针的内容减1。,7.4.7 数据比较指令 CPM1A系列PLC有4条用于数据比较的指令,它包括单字比较、双字比较、块比较和表比较指令。1.单字比较指令CMP 单字比较指令CMP对C1和C2进行比较,并把结果输出给SR区域中的GR、EQ和LE标志。表7-28列出了指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-28 CMP指令,图7-38 CMP指令应用示例(a)CMP指令编程;(b)指令表,2.双字比较指令CMPL,表7-29 CMP指令,3.块比较指令BCMP/BCMP 块比较指令BCMP/BCMP将16个范围值(上限和下限)以下限在前、上限在后的顺序存放在以CB开始的32个连续通道中,然后将数据CD与这16个范围值依次进行比较。若下限CD上限,则在结果通道R的相应位上置1,否则清零。R的16个位分别对应于16个范围值,其第0位与CB所存放的一组范围值相对应。表7-30列出了指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-30 BCMP/BCMP指令,图7-39 BCMP指令应用示例(a)指令编程;(b)指令表;(c)指令执行情况,4.表比较指令TCMP/TCMP,表7-31 TCMP/TCMP指令,表比较指令TCMP与块比较指令BCMP的区别在于:块比较指令是将数据与指定通道中的上下限值进行比较,当下限CD上限时,结果通道对应位置1;而表比较指令则是将数据与指定通道中的数值比较,当CD等于对应数值时,结果通道对应位置1。,7.4.8 数据转换指令 1.BCD与二进制转换及二进制与BCD转换指令BIN/BIN及BCD/BCD BCD与二进制数转换指令BIN/BIN把源通道S中的BCD内容转换为数值对等的二进制数,并把该二进制数的结果输出到结果通道R。因此,仅R的内容被改变,S的内容保持不变。而二进制数与BCD转换指令BCD/BCD则是BCD与二进制数转换指令的逆运算。表7-32列出了指令名称、指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-32 BIN/BIN 和BCD/BCD指令,续表,图7-40 BCD与二进制数转换指令BIN的应用示例(a)指令编程;(b)指令表;(c)指令执行情况,2.数字译码指令MLPX/MLPX 数字译码指令MLPX/MLPX将源通道S中的若干个十六进制数进行译码,根据译码结果将结果通道的相应位置1,其余位清零。将要译码的十六进制数的位数由C的47位指定,最多不超过4位;开始译码的位号由R的03位决定,后续位号依次加1,超过4位时又从第一位开始。转换结果总是存在R、R1、R2和R3中。表7-33列出了指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-33 MLPX/MLPX指令,图7-41 MLPX指令控制字C的格式及指令的应用示例(a)控制字C的格式;(b)指令编程;(c)指令表;(d)指令执行情况,图7-42 MLPX指令具有不同控制字时的执行情况,3.数字编码指令DMPX/DMPX 数字编码指令DMPX/DMPX类似于数字译码指令的逆运算,它将S开始的若干个连续通道中的最高位“1”的位号编为一个十六进制数,结果存放于R的某一个十六进制位上。一次最多对四个通道进行编码,通道的个数由C的47位指定,结果存放在R中,存放的起始位号由C的03位指定。表7-34列出了指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-34 DMPX/DMPX指令,图7-43 DMPX指令控制字C格式及指令应用示例(a)控制字C格式;(b)指令编程;(c)指令表;(d)指令执行情况,图7-44 DMPX指令具有不同控制字时的执行情况,4.七段译码指令SDEC/SDEC,表7-35 SDEC/SDEC指令,图7-45 控制字C的格式,图7-46 SDEC指令操作示例(a)指令编程;(b)指令表;(c)指令执行情况,若要对源通道中的多位数字进行译码,则可将输出区扩展到3个通道,即R、R+1和R+2。根据数字标志的指示分别将译码值顺序写入从R高8位或低8位开始的通道中,若第1个数字的译码写入R的低8位,则第2个数字的译码写入R的高8位,第3个数字的译码写入R+1的低8位,第4个数字的译码写入R+1的高8位;若第1个数字的译码写入R的高8位,则第2个数字的译码写入R+1的低8位,第3个数字的译码写入R+1的高8位,第4个数字写入R+2的低8位。,图7-47所示为SDEC指令的多位译码示意。源通道S中的数据为8765H,控制字C为#0032,表示从S中第2位数字开始译码,共译4位数字,译码顺序为7856。C还指示从R的低8位开始存放译码值,R中为7F27H,R+1中为7D6DH。若把C改为#0132,则表示从S中第2位数字开始译码,共译4位数字,但指示从R的高8位开始存放译码值,则R中为2700H,R+1中为6D7FH,R+2中为007DH。,图7-47 SDEC指令的多位译码示意,5.ASCII码转换指令ASC/ASC 当执行条件为ON时,ASC/ASC把源通道S指定的4位十六进制数转换成对应的8位ASCII码,并把它放入从R起始的结果通道的低8位或高8位。表7-36列出了指令格式、操作数区域、梯形图符号及执行指令对标志位的影响。,表7-36 ASC/ASC指令,图7-48 控制字C格式,在进行奇偶校验时,每个ASCII字符(2个数字)的最左位能被自动调整。如果指定为无校验,则最左位将始终为0。当指定为偶校验时,则最左位将被自动调整,使ON的总数为偶数。例如,当设定为偶校验时,ASCII“31”(00110001)将是“B1”(10110001:校验标志位置ON,以创造偶数个ON位);ASCII“36”(00110110)将是“36”(00110110:校验标志位置OFF,因为ON位的数目已经是偶数了)。校验标志位的状态不影响ASCII码的意义。当指定为奇校验时,最左位将被自动调整,使ON位的总数目为奇数。图7-49是ASC指令应用示例。示例中源通道S为DM0010,其中数据为1928H;结果通道为IR200;控制字为#0000,表示对源通道S中第0位数字“8”进行转换,转换后的ASCII码放在R中的低8位,无校验。,图7-49 ASC指令应用示例(a)指令编程;(b)指令表;(c)指令执行情况,当输入00000为ON时,DM0010通道的第0位数字“8”被转换成ASCll代码(38)并输出至结果通道IR200的位置0处(即低8位)。因为奇偶校验标志为0,所以IR200通道第7位输出0。ASC进行多位数字编码时,输出区可扩展到3个通道。结束通道为R+2,编码从控制字指定的R通道的低8位或高8位开始顺序写入后续通道。其工作情况与SDEC指令基本相同,这里不再赘述。,7.4.9 数据运算指令,1.十进制运算指令,表7-37 十进制运算指令,续表二,1)十进制加法运算指令ADD/ADD和ADDL/ADDL 图7-50是十进制加法运算指令ADD/ADD和ADDL/ADDL的应用示例。当00001为ON时,执行单字BCD加。首先将进位位清零,然后执行ADD指令,将IR200通道内的数据与#6103相加,结果送入DM0100。如果有进位位,则将#0001送入DM0101;如果无进位位,则将#0000送入DM0101。当00002为ON时,执行双字BCD加。在执行清零操作后,在ADDL指令中,将双字HR02(#9876)HR01(#5432)与LR02(#1234)LR01(#5678)相加。图7-50(c)为双字BCD加指令的执行情况。,图7-50 ADD、ADDL指令应用示例(a)指令编程;(b)指令表;(c)ADDL指令执行情况,2)十进制减法运算指令SUB/SUB和SUBL/SUBL 在执行十进制减法运算指令之前要清进位位标志CY,指令执行完后应检查进位位标志CY。如果减法的结果使CY置ON,则输出的数据是正确答案的十进制补码。要将输出的数据转换为正确值,需先清CY,再用0减去结果通道中的数值。图7-51所示是SUB指令的应用示例。IR200中保存被减数,DM0100中保存减数,结果存储在IR201中。当继电器20001为ON时,表示结果为负数。,图7-51 SUB指令的应用示例(a)指令编程;(b)指令表;(c)负数计算过程,3)十进制递增、乘法和除法运算指令INC/INC、MUL

    注意事项

    本文(常用低压电器与可编程序控制器第7章.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开