1、.1第三章 CPM1A指令系统指令系统概述基本指令(11类17条)编制梯形图应注意的问题应用指令(17大类).2第一部分、指令系统概述第一部分、指令系统概述大家一起来回顾梯形图的有关知识!大家一起来回顾梯形图的有关知识!.3第一部分、指令系统概述第一部分、指令系统概述为什么要学习指令系统?为什么要学习指令系统?1、能够翻译梯形图为语句表、能够翻译梯形图为语句表2、能够轻松地学习其他类型的、能够轻松地学习其他类型的PLC.4第一部分、指令系统概述第一部分、指令系统概述-CPM1A系列PC的指令根据功能分为基本指令和应用指令两大类 指令的格式、操作数及标志 指令的格式为: 助记符(指令码)操作数
2、操作数 操作数 .52指令的两种形式只要执行条件为ON,指令的非微分形式在每个循环周期都将执行;微分指令仅在执行条件由OFF变为ON时才执行一次。.6第二部分、基本指令第二部分、基本指令1LD和和LD NOT 指令指令功能:LD指令表示常开触点常开触点与左侧母线连接;LD NOT指令表示常闭触点常闭触点与左侧母线连接。.72OUT和和OUT NOT指令指令功能: OUT指令输出运算结果; OUT NOT指令将运算结果取反后再输出。应用-下页.8OUT和和OUT NOT指令应用指令应用.93AND和和AND NOT指令指令功能:AND指令表示常开触点常开触点与前面的触点电路相串联;AND NOT
3、指令表示常闭触点常闭触点与前面的触点电路相串联。应用-下页.10AND和和AND NOT指令指令的应用连续输出及其编程-下页.11连续输出次序颠倒 AND和和AND NOT, 连续输出连续输出.12功能:OR指令表示常开触点常开触点与前面的触点电路相并联;OR NOT指令表示常闭触点常闭触点与前面的触点电路相并联。应用-下页4OR和和OR NOT指令指令.13OR和和OR NOT指令应用指令应用.14AND LD指令的使用 功能:AND LD指令用于逻辑块的串联连接,即对逻辑块进行逻辑“与”的操作。5AND LD指令指令.15AND LD指令指令 方法 方法2LD00000LD00000AND
4、00001AND00001OR NOT00002 OR NOT00002LD00003 LD00003OR00004OR00004AND LDLD00005 LD00005OR NOT00006OR NOT00006 AND LDAND LDAND LD OUT20000OUT20000在方法2中,AND LD指令之前的逻辑块数应小于等于8,而方法1对此没有限制。.16功能:OR LD指令用于逻辑块的并联连接,即对逻辑块进行逻辑 “或”的操作。复杂梯形图-下页6OR LD指令指令.17OR LD指令指令复杂梯形图.18功能: 当SET指令的执行条件为ON时,使指定继电器置位为ON,当执行条件为
5、OFF时,SET指令不改变指定继电器的状态。 当RESET指令的执行条件为ON时,使指定继电器复位为OFF,当执行条件为OFF时,RESET指令不改变指定继电器的状态。 指令的应用 7置位和复位指令置位和复位指令 SET和和RESET.19SET和RESET指令的应用.20功能:根据两个执行条件,KEEP用来保持指定继电器的ON状态或OFF状态。具有断电保持功能。 KEEP指令的用法8保持指令保持指令-KEEP(11).21KEEP指令的用法启保停电路与普通继电器电路比较.22两图中的程序功能完全相同,但用KEEP指令编程可以少用一条指令。具有断电保持功能KEEP指令启保停电路与普通继电器电路
6、.23功能:功能: 当执行条件由OFF变为ON时,上升沿微分DIFU使指定继电器在一个扫描周期内为ON;当执行条件由ON变为OFF时,下降沿微分指令DIFD使指定继电器在一个扫描周期内为周期内为ONON。指令的应用9.上升沿微分和下降沿微分指令 DIFU(13)和DIFD(14) .24DIFU和DIFD指令的应用.25NOPNOP指令的应用指令的应用 注:修改程序时,使用NOP指令,可使步序号变更较少,便于调试程序 。功能:空操功能:空操作指令用来作指令用来取消某一步取消某一步操作操作10. .空操作指令空操作指令 NOP(00).26功能:END指令表示程序结束。11结束指令一结束指令一E
7、ND(01).27基本指令基本指令1LD和和LD NOT 指令指令2OUT和和OUT NOT指令指令3AND和和AND NOT指令指令4OR和和OR NOT指令指令5AND LD指令指令6OR LD指令指令7置位和复位指令置位和复位指令SET和和RESET8保持指令保持指令KEEP 9 上升沿微分和下降沿微分指令上升沿微分和下降沿微分指令DIFU和和DIFD10 空操作指令空操作指令NOP11 结束指令结束指令END(熟练掌握).28第三部分第三部分编制梯形图应注意的问题 (1)梯形图中线圈应放在最右边梯形图中线圈应放在最右边.29编制梯形图应注意的问题(2)除极少数指令(如)除极少数指令(如
8、ILC、JME等)不允许有等)不允许有执行条件外,几乎所有的指令都需要执行条件执行条件外,几乎所有的指令都需要执行条件. .如何解决:上电后指令一直执行?上电后指令只执行一次?特殊辅助继电器: 25313为常ON继电器 25314为常OFF继电器 25315常用作初始化脉冲,它在PC运行的第一个扫描周期,处于ON状态,然后处于OFF状态。.30编制梯形图应注意的问题(2)除极少数指令(如)除极少数指令(如ILC、JME等)不允许有等)不允许有执行条件外,几乎所有的指令都需要执行条件执行条件外,几乎所有的指令都需要执行条件. .上电后指令一直执行上电后指令只执行一次 特殊辅助继电器: 25313
9、为常ON继电器;25314为常OFF继电器25315在第一个扫描周期为ON,然后为OFF。.31(3)触点不能画在垂直路径上)触点不能画在垂直路径上编制梯形图应注意的问题.32(4)编程时,对于逻辑关系复杂的程序)编程时,对于逻辑关系复杂的程序段,应按照先复杂后简单的原则编程。段,应按照先复杂后简单的原则编程。梯形图等效变换梯形图等效变换编制梯形图应注意的问题.33(5)尽量避免出现双线圈输出)尽量避免出现双线圈输出 -同一个程序中,同一元件的线圈使用了两次或多次,称为双线圈输出。 双线圈引起逻辑关系混乱编制梯形图应注意的问题复杂梯形图下页.34复杂梯形图例子更复杂的梯形图下页.35你能够写出
10、下图的语句表么?你能够写出下图的语句表么?.36你能够写出下图的语句表么?你能够写出下图的语句表么?第四部分、应用指令下一页.37第四部分、应用指令 功能:功能:IL总是和ILC指令一起使用,用于处理梯形图中的分支电路图分支应用下一页.38IL/ILC的两点说明的两点说明下一页联锁联锁/联锁解除指令处理分支电路联锁解除指令处理分支电路复合输出定义: 电路图中,A点为分支点,右侧分为若干条支路,且每条支路都有触点控制有触点控制。.39IL/ILC的说明:的说明:(1)不论IL前面的条件是ON或OFF,PC都要对ILILC之间的联锁程序段处理,都要占用扫描时间。(2)IL和ILC指令可以成对使用,
11、也可以多个IL指令配一个ILC指令,但不允许嵌套使用(如ILILILCILC)。连续使用IL指令下一页.40连续使用连续使用IL指令指令并联输出、连续输出和复合输出下一页.41并联输出、连续输出和复合输出并联输出、连续输出和复合输出2.暂存继电器下一页.42暂存继电器TR共有8位,分别为TR0TR7 TR位可用来暂时存储执行结果,如果一个TR位被设置于一个分支点处,则当前的执行结果就会存储在指定的TR位中。应用下一页.43用用TR位处理梯形图的分支位处理梯形图的分支多分支多分支下一页下一页.44用用TR位处理多分支电路位处理多分支电路TR指令的说明指令的说明下一页下一页.45TR指令的说明指令
12、的说明在同一程序段中,同一TR号不能重复使用,在不同的程序段中,同一TR号可以重复使用。TR不是独立的编程指令,只能和LD或OUT等基本指令一起使用指令的梯形图。 B.跳转指令跳转指令下一页下一页.46TR 临时存放某节点状态临时存放某节点状态应用:LD - OUT TR0 LD TR0IL,ILC 造就新母线的工具造就新母线的工具应用: LD - IL LD - LD - ILC两种分支语句的理解 新母线开始新母线开始 条件条件 新母线结束新母线结束 条件条件 存存 取取例下页.47例1,分析梯形图的结构电机优先启动控制。 有5个电机M1M5,都有启动和停止控制按钮,要求按顺序启动,即前级电
13、机不启动时,后级电机无法启动;前级电机停,后级电机也都停。 例2 下一页.48例2,用两种分支方法分析梯形图B.跳转指令下一页.49. .跳转跳转/跳转结束指令跳转结束指令(JMP(04)/JME(05)梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能下一页.50JMP/JME指令的功能指令的功能(1)当JMP N的执行条件为OFF时,跳过JMP N和JME N之间的程序段,不占扫描时间(2)有两种类型的跳转:跳转号在0149之间取值时,每个N只能使用一次;当取00值时,JMP00 JME00可以在程序中多次使用。以00作为JMP的跳转号时,它的执行时间比其他跳转指令的执行时间要稍长
14、一些。 (3)多个JMP N可以共用一个JME N,如JMP 00JMP 00JME 00 。(4)跳转指令可以嵌套使用,但必须是不同跳转号的嵌套,如JMP 00JMP 01JME 01JME00。 跳转指令的应用下一页.51跳转指令的互锁应用下一页跳步指令的应用跳步指令的应用.52跳转指令的应用跳转指令的应用-互锁互锁C.定时器和计数器指令下一页.53C. 定时器和计数器指令定时器TIM高速定时器TIMH(15)计数器CNT可逆计数器CNTR(12)间隔定时器STIM(69)高速计数器输人中断的计数模式CPM1A提供的定时计数功能提供的定时计数功能:功能强大,使用复杂!共用TC号,000-1
15、27。关于BCD码下一页.54关于BCD码BCD = Binary Coded Decimal二进制编码的十进制规则:每四个二进制位表示一位十进制位。因此:BCD的0001 0001 表示十进制数的11。BCD的加法应该如十进制。 如1001+1 = 0001 0000 不是1010为方便区分,本课程使用BCD数值时前面加#号。1.定时器下一页.551.定时器指令TIM功能下一页定时器的最小定时单位为0.1秒,定时范围0999.9秒,定时时间为SV0.1秒。.56TIM指令的功能指令的功能定时器为通电延时,当定时器的输入为OFF时,定时器的输出为OFF。当定时器的输入变为ON时,开始定时,定时
16、时间到,定时器的输出变为ON。若输入继续为ON,则定时器的输出保持为ON。当定时器的输入变为OFF时,定时器的输出随之变为OFF。 应用下一页请大家注意不要请大家注意不要“死记硬背死记硬背”!输入输入on 开始定时开始定时延时延时时间到时间到输出输出on.57注意: 定时器没有断电保持功能,断电时,定时器复位,不能保存定时器的当前值。TIM指令的应用指令的应用2.高速定时器下一页.582高速定时器指令一TIMH(15) 梯形图符号及操作数取值区域高速定时器的最小定时单位为0.01秒,定时范围为099.99秒,定时时间为SV0.01秒。除此之外,其它情况TIMH与TIM相同。 3.计数器下一页.
17、593计数器指令一CNT 梯形图符号及操作数取值区域 注释:为计数器TC号,SV为计数设定值。CP为计数脉冲输入端,R为复位端 。应用下一页.60说明:(1)计数器编程时,先编计数输入端,再编复位端,最后编CNT指令。(2)定时器和计数器的编号是共用的,使用时不能冲突。CNT指令的应用工作时序下一页.61CNT的工作时序的工作时序4.可逆计数器下一页.624可逆计数器指令一CNTR(12) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域: 为计数器TC号,SV为计数设定值。ACP为加计数脉冲输入端,SCP为减计数脉冲输入端,R为复位端 。应用下一页.63说明:可逆计数器编程时,先编加计数
18、脉冲输入端,再编减计数脉冲输入端,后编复位端,最后编CNTR指令 CNTR指令的应用工作时序下一页.64CNTR的工作时序的工作时序出错标志位下一页.65定时器和计数器指令出错标志位出错标志位25503,当SV不是BCD数或间接寻址的DM通道不存在时置位为ON。 定时器TIM高速定时器TIMH(15)计数器CNT可逆计数器CNTR(12)例1,长时间定时的问题下一页.66例例1,如何实现,如何实现1小时定时?小时定时?答:用答:用计数计数器实现长时间器实现长时间定时定时!注:注:2550025500是特殊继电器的位,提供是特殊继电器的位,提供0.1s0.1s时钟脉冲。时钟脉冲。例2,闪烁电路下
19、一页.67例例2,如何实现闪烁电路,如何实现闪烁电路?答:用计时器产生周期性方脉冲!答:用计时器产生周期性方脉冲!D.数据比较指令下一页TIM001TIM00000000.68D.数据比较指令单字比较指令一CMP双字比较指令一CMPL块比较指令一BCMP 表比较指令TCMP 通道、位、字的概念下一页.69通道、位、字的概念一个字为16进制的4位数一位16进制数可表示为4位二进制数一个字为一个字为16个二进制位个二进制位进制转换:210,8,161,单字比较指令下一页一个通道为16个继电器一个继电器能表示1个二进制位一个通道为一个通道为16个二进制位个二进制位.70D.数据指令D1.数据比较指令
20、, 4种D2.数据移位指令,10种D3.数据传送指令, 9种D4.数据转换指令, 6种合计29种.71D1.数据比较指令单字比较指令一CMP双字比较指令一CMPL块比较指令一BCMP 表比较指令TCMP 通道、位、字的概念下一页.72通道、位、字的概念一个字为16进制的4位数一位16进制数可表示为4位二进制数一个字为一个字为16个二进制位个二进制位进制转换:210,8,161,单字比较指令下一页一个通道为16个继电器一个继电器能表示1个二进制位一个通道为一个通道为16个二进制位个二进制位.731单字比较指令一CMP(20) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域功能:当执行条件为
21、ON时,比较C1和C2的大小,将比较结果送SR区的标志位: 大于标志位25505等于标志位25506小于标志位25507出错标志位25503 应用一 下一页.74注意: 图中的梯形图存在分支,其语句表程序用到了暂存继电器TR0。 CMP指令的基本应用指令的基本应用应用二 下一页.75CMP指令的应用指令的应用2双字比较指令下一页.76 2双字比较指令一CMPL(60) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域功能: 将通道C11、C1中的两个4位16进制数连连成一个8位16进制数,将通道C2、C2中的两个4位16进制数连连成另一个8位16进制数,然后比较比较这两个8位数的大小,将比
22、较结果送SR区的标志位。应用下一页.77 CMPL指令的应用比较(C11、C1)与(C21、C2)大于,则大于标志位25505置位为ON。等于,则等于标志位25506置位为ON。小于,则小于标志位25507置位为ON。 出错,则出错标志位25503置位为ON。3块比较指令下一页.78 3块比较指令一BCMP(68)/BCMP(68) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能下一页.79BCMP指令的功能指令的功能 比较块由CB,CB+1,CB+2,CB+31组成,分16个比较区域,每一个区域由两个通道定义,第一个为下限,第二个为上限,上限值应大于等于下限值。当执行条件为ON时
23、,将比较数据CD与每一个区域进行比较,如果CD处在某一个区域中,比较结果通道R中对应位置1,否则该对应位置0。 应用下一页.80BCMP指令的应用.81 执行结果4表比较指令下一页 .824表比较指令TCMP(85)/TCMP(85) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 将数据CD与TB,TB+1,TB+2,TB+15中的数据进行比较,如果CD与这些通道中某一个的数据相同,则结果通道R中相应的位置1,否则置0 。应用下一页.83TCMP指令的应用 .84执行结果E数据移位指令下一页 .85D2.数据移位指令移位寄存器指令SFT可逆移位寄存器指令SFTR字移位指令WSFT算术左
24、移指令ASL算术右移指令ASR(26)/ASR(26)循环左移指令ROL(27)/ROL(27)循环右移指令ROR(28)/ROR(28)1位数字左移指令SLD(74)/SLD(74)1位数字右移指令SRD(75)/SRD(75)异步移位寄存器指令ASFT(17)/ASFT(17).861移位寄存器指令SFT(10)附注:开始通道号St必须小于或等于结束通道号E,且St和E必须在同一区域。梯形图符号及操作数取值区域梯形图符号及操作数取值区域功能示意图下一页.87当复位端R为OFF时,在移位脉冲端SP由OFFON的上升沿时,E到St通道中的所有位依次左移一位,E通道的最高位溢出丢失,St通道的最
25、低位则移进数据输入端IN的数据。当复位端R为ON时,从St到E通道中的所有位将置为OFF,此时移位脉冲端和数据输入端无效。 SFT指令的功能示意图应用下一页.88说明:SFT指令编程时,先编数据输入端,再编移位脉冲端,再编复位端,最后编SFT指令。 SFT指令的应用2可逆移位下一页.892可逆移位寄存器指令SFTR(84)/SFTR(84) 梯形图符号及操作数取值区域说明:控制通道C中的数据规定了移位方向、数据输入端、移位脉冲端和复位端。C定义下一页.90控制通道C的含义及移位功能说明:如果控制通道复位端(bit15)为ON,则从St到E通道的数据及进位为CY全部复位为0.应用一下一页.91S
26、FTR指令的应用(一)应用二下一页.92SFTR指令的应用(二)3下一页.933字移位指令 WSFT(16)/WSFT(16) 功能:当执行条件为ON时,WSFT每执行一次将St和E通道中的数据以字为单位左移一次,0000移进St,E中的数据溢出丢失。梯形图符号及操作数取值区域梯形图符号及操作数取值区域 应用一下一页.94WSFT指令的应用4下一页.954算术左移指令ASL(25)/ASL(25) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能下一页.96ASL指令的功能当执行条件为ON时,ASL每执行一次将Ch中数据左移一位,最高位移到CY位,0移进最低位。 算术右移算术右移下一
27、页.975算术右移指令ASR(26)/ASR(26) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能下一页.98ASR指令的功能当执行条件为ON时,ASR每执行一次将Ch中数据右移一位,最低位移到CY位,0移进最高位。6循环左移下一页.996循环左移指令ROL(27)/ROL(27) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能下一页.100ROL指令的功能指令的功能当执行条件为ON时,ROL每执行一次将Ch中的数据连同CY位数据,循环左移一位。7循环右移下一页.1017循环右移指令ROR(28)/ROR(28) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域
28、功能下一页.102ROR指令的功能当执行条件为ON时,ROR每执行一次将Ch中的数据连同CY位数据,循环右移一位。8一位数字左移下一页.10381位数字左移指令SLD(74)/SLD(74) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能下一页.104SLD指令的功能当执行条件为ON时,SLD每执行一次将St到E通道中的数据以数字(4位二进制)为单位左移一次,E的最高位数字溢出丢失,St的最低位数字填入0。9一位数字右移下一页.10591位数字右移指令SRD(75)/SRD(75) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能下一页.106SRD指令的功能当执行条件为
29、ON时,SRD每执行一次将St到E通道中的数据以数字(4位二进制)为单位右移一次,E的最低位数字填入0,St的最高位数字溢出丢失。10异步移位寄存器指令下一页.10710异步移位寄存器指令ASFT(17)/ASFT(17) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域控制数据控制数据C的含义的含义.108控制数据C的含义 St和E之间的通道构成一个可逆的异步移位寄存器,ASFT可以将寄存器中的0000字上移或下移,执行几次ASFT后,所有0000字可以集中到寄存器的上半部或下半部。 应用下一页.109ASFT指令的应用控制字:控制字:#6000 0110,0000,0000 ,0000
30、移动方向允许移动复位D3. 数据传送指令下一页.110D3. 数据传送指令1传送指令 MOV(21)/MOV(21)2取反传送指令 MVN(22)/MVN(22)3块传送指令 XFER(70)/XFER(70)4块设置指令 BSET(71)/BSET(71)5数据交换指令 XCHG(73)/XCHG(73)6单字分配指令 DIST(80)/DIST(80) 7数据调用指令 COLL(81)/COLL(818位传送指令 MOVB(82)/MOVB(82)9数字传送指令 MOVD(83)/MOVD(83).1111传送指令MOV(21)/MOV(21)梯形图符号及操作数取值区域梯形图符号及操作数取
31、值区域功能下一页.112MOV指令的功能当执行条件为ON时,将S中的数据传送到D通道中。应用下一页.113MOV指令的应用 说明:当00000为ON时,执行MOV指令,将常数0196送至DM0000。 2取反传送指令下一页.1142取反传送指令MVN(22)/MVN(22) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 当执行条件为ON时,将S中的数据取反后传送到D中。应用下一页.1153下一页MVN指令的应用说明:当00000为ON时,执行MVN指令,将常数0196取反后(结果为FE69)送至DM0000中。.1163块传送指令XFER(70)/XFER(70) 梯形图符号及操作数取
32、值区域梯形图符号及操作数取值区域 功能下一页.117XFER指令的功能块传送是指将几个连续通道中的数据对应传送到另外几个连续通道中。4。下一页.1184块设置指令BSET(71)/BSET(71)梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能下一页.119BEST指令的功能当执行条件为ON时,将S中的数据传送到从St到E的所有通道中去。 5. 下一页.1205数据交换指令XCHG(73)/XCHG(73) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能下一页.121XCHG指令的功能当执行条件为ON时,将E1、E2中的数据交换。6. 下一页.1226单字分配指令DIST
33、(80)/DIST(80) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 根据控制数据C的内容,DIST指令可进行单字数据分配或堆栈的进栈操作 。功能下一页.1231)单字数据分配C的bit15bit12=8时2)进栈操作进栈操作C的bit15bit12=9时DIST指令的功能.124DIST指令的功能2)进栈操作)进栈操作7. 下一页.1257数据调用指令COLL(81)/COLL(81)梯形图符号及操作数取值区域梯形图符号及操作数取值区域 请注意:与数据分配指令对应比较请注意:与数据分配指令对应比较功能下一页.126COLL指令的功能根据控制数据C的内容,COLL指令可以:1)数据
34、调用C=00006655时2)出栈操作C=90009999时先入先出;C=80008999时后入先出;.127COLL指令的功能2)出栈操作先入先出先入先出.128COLL指令的功能2)出栈操作后入先出后入先出8. 下一页.1298位传送指令MOVB(82)/MOVB(82) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 当执行条件为ON时,将S中指定的一位传送到D的值定位上,S和D中的位由C指定。功能下一页.130MOVB指令的功能当执行条件为ON时,将S中指定的一位传送到D的值定位上,S和D中的位由C指定。C的最右边2个数字指定源位,C的最左边2个数字指定目的位。 应用下一页.13
35、1C=#1201,源01,目的12。执行MOVB指令后,将#00FF的第01位送到LR10的第12位。MOVB指令的应用9. 下一页.1329数字传送指令MOVD(83)/MOVD(83) 梯形图符号及操作数取值区域梯形图符号及操作数取值区域 功能:当执行条件为ON时,将S中指定的数字位(4个二进制位)传送到D中指定的数字位,一次最多可以传送一次最多可以传送4个数字位个数字位。 S中要传送的第一个数字位、传送的数字位数、D中接收被传送数字的第一个数字位由C指定。C的含义 下一页.133C的含义为什么最大是四位数字?传送举例 下一页.134传送举例D4. 数据转换指令下一页.135D4. 数据转
36、换指令BCD码码二进制转换指令二进制转换指令BIN二进制二进制BCD码转换指令码转换指令BCD41616译码器指令译码器指令MLPX 1644编程器指令编程器指令DMPXASC转换指令转换指令ASC七段译码指令七段译码指令SDEC (*).1361BCD码码二进制转换指令二进制转换指令BIN(23)/BIN(23)功能:当执行条件为ON时,BIN将S中的BCD数转换为二进制数,存入R中。转换过程中,S的内容保持不变。梯形图符号及操作数取值区域 .1372二进制二进制BCD码转换指令码转换指令BCD(24)/BCD(24) 功能:当执行条件为ON时,BIN将S中的BCD数转换为二进制数,存入R中
37、。转换过程中,S的内容保持不变。图3.105梯形图符号及操作数取值区域.138341616译码器指令译码器指令MLPX(76)/MLPX(76) 功能功能: 1)当执行条件为ON时,MLPX对S中指定的数字进行译码,译码的结果存入R开始的通道中。最多可对4位数字同时译码。 2)S中第一个要译码的数字由C指定,译码的结果存入R通道中;第二个要译码的数字是紧邻第一个数字的最高位数字,译码的结果存入R+1通道中;下面以此类推。 .139MLPX指令的梯形图符号及操作数取值区域图3.106控制数据C的含义 CLICK HERECLICK HERE!.140控制字C与转换举例图3.107.141图3.1
38、08 译码举例.1424164编程器指令DMPX(77)/DMPX(77) 1)当执行条件为ON时,DMPX对源通道进行编码,编码结果存放在R中指定的数字位上。一次最多可对4个源通道进行编码。 2)第一个源通道S的编码结果放入R中指定的开始存放数字位上,S+1通道的编码结果放入R中的紧邻开始存放数字位的高位数字上,依此类推,存完R的数字3后再从R的数字0开始存放。 .143DMPX指令的梯形图指令的梯形图符号及操作数取值区域符号及操作数取值区域:图3.109说明:控制数据C的含义CLICK HERE!.144控制字C及转换举例图3.110 .145图3.111编码举例编码举例.1465ASC转
39、换指令转换指令ASC(86)/ASC(86) :当执行条件为ON时,ASC对S中指定的数字(十六进制数)转换ASC码并存入从R开始的结果通道中,一次最多可对S中的4个数字进行转换,如果C中指定从R的高8位开始存放,则最多可占用3个结果通道。 .147ASC指令的梯形图指令的梯形图符号及操作数取值区域符号及操作数取值区域 图3.112说明:控制数据C的含义CLICK HERE!.148ASCII码转换实例 .149控制字C及转换 图3.113.1506七段译码指令七段译码指令SDEC(78)/SDEC(78) 功能:当执行条件为ON时,SDEC对源通道中的数字进行7段译码,译码结果放入从R开始的
40、结果通道中。一次最多可对S中的4个数字进行转换。 控制数据C的含义下一页.151控制数据控制数据C C的含义的含义控制字C及转换举例下一页.152控制字控制字C及转换举例及转换举例 七段译码举例下一页.153七段译码举例七段译码举例 D.数据指令总结数据指令总结下一页.154D.数据指令总结D1.数据比较指令, 4种D2.数据移位指令,10种D3.数据传送指令, 9种D4.数据转换指令, 6种合计29种E 十进制运算指令十进制运算指令下一页.155E. 十进制运算指令进位位置进位位置1指令指令STC进位位置进位位置0指令指令CLCBCD码加法指令码加法指令ADDBCD码减法指令码减法指令SUB
41、双字双字BCD码加法指令码加法指令ADDL双字双字BCD码减法指令码减法指令SUBLBCD码乘法指令码乘法指令MULBCD码除法指令码除法指令DIV双字双字BCD码乘法指令码乘法指令MULL双字双字BCD码除法指令码除法指令DIVL (*)递增指令递增指令INC递减指令递减指令DEC核心:核心:BCD码的运算码的运算跳到:F. 二进制运算指令.156图3.118当STC的执行条件为ON时进位标志位25504被置为1。当CLC的执行条件为ON时,进位标志位25504被置为0。 STC、CLC指令的梯形图符号指令的梯形图符号 1进位位置进位位置1指令指令STC 进位位置进位位置0指令指令CLC返回
42、.1572BCD码加法指令码加法指令ADD(30)/ADD(30)梯形图符号梯形图符号 及操作数取值区域及操作数取值区域 图3.119功能:当执行条件为ON时,ADD将Au、Ad的内容和CY相加,结果存入R中,若结果大于9999将把CY置为ON。.158ADD指令的应用 图3.120返回.1593BCD码减法指令码减法指令SUB(31)/SUB(31) 功能:当执行条件为ON时,SUB将Mi的内容减去Su的内容和CY,结果存入R中。若结果为负,将置为CY,而R中的内容为实际结果的十进制补码。 梯形图符号梯形图符号 及操作数取值区域及操作数取值区域 图3.121.160SUB指令的应用指令的应用
43、图3.122返回.1614双字双字BCD码加法指令码加法指令ADDL(54)/ADDL(54) 功能:当执行条件为ON时,ADDL将Au+1、Au中的8位BCD数与Ad+1、Ad中的8位BCD数相加,再与CY想家,结果存入R+1、R中,若结果大于99999999,CY将被置位。ADDL功能如右所示:.162ADDL指令的梯形图指令的梯形图符号及操作数取值区域符号及操作数取值区域 图3.123返回.1635双字双字BCD码减法指令码减法指令SUBL(55)/SUBL(55) 功能:当执行条件为ON时,SUBL将Mi+1、Mi中的8位BCD数减去Su+1、Su中的8位BCD数,再减去CY,结果存入
44、R+1、R中。若结果为负,将置为CY,而R+1、R中的内容为实际结果的十进制补码。 SUBL功能如右所示: .164SUBL指令的梯形图指令的梯形图符号及操作数取值区域符号及操作数取值区域 图3.124返回.1656BCD码乘法指令码乘法指令MUL(32)/MUL(32) 功能:当执行条件为ON时,MUL将Md、Mr中的内容相乘,结果存入R+1、R中,R+1中存积的高4位数,R中存积的低4位数。梯形图符号 及操作数取值区域 图3.125返回.1667BCD码除法指令码除法指令DIV(33)/DIV(33) 功能:当执行条件为ON时,DIV将Dd中的内容除以Dr中的内容,结果存入R+1、R中,R
45、+1中存余数,R中存商。梯形图符号 及操作数取值区域 图3.126返回.1678双字双字BCD码乘法指令码乘法指令MULL(56)/MULL(56) 功能:当执行条件为ON时,MULL将Md+1、Md中的8位BCD数与Mr+1、Mr中的8为BCD数相乘,结果存入R+3R中。MULL功能如右所示:.168MULL指令的梯形图指令的梯形图符号及操作数取值区域符号及操作数取值区域 图3.127返回.1699双字双字BCD码除法指令码除法指令DIVL(57)/DIVL(57) 功能:当执行条件为ON时,DIVL将Dd+1、Dd中 的8位B C D数 除 以Dr+1、Dr中的8位BCD数,结果存入R+3
46、R中。R+3、R+2存余数,R+1、R存商。返回:返回:E. 十进制运算指令十进制运算指令.17010递增指令递增指令INC(38)/INC(38) 功能:当执行条件为ON时,每执行一次INC将Ch中的数据按十进制加1,不影响进位位CY。梯形图符号及操作数取值区域 图3.129返回.17111递减指令递减指令DEC(39)/DEC(39) 功能:当执行条件为ON时,每执行一次DEC将Ch中的数据按十进制减1,不影响进位位CY。梯形图符号 及操作数取值区域 图3.130返回.172F. 二进制运算指令二进制运算指令 二进制加法指令二进制加法指令ADB 二进制减法指令二进制减法指令SBB 二进制乘
47、法指令二进制乘法指令MLB 二进制除法指令二进制除法指令DVB 核心:核心:以通道为单位计算以通道为单位计算跳到: G. 逻辑运算指令.1731二进制加法指令二进制加法指令ADB(50)/ADB(50) 功能:当执行条件为ON时,ADB将Au、Ad中的内容和CY进行二进制加法运算,结果存入R中。如果运算结果大于FFFF,CY为ON。 梯形图符号 及操作数取值区域 图3.131.1742二进制减法指令二进制减法指令SBB(51)/SBB(51) 功能:当执行条件为ON时,进行一次二进制减法运算,SBB将Mi中的内容减去Su中的内容,再减去CY,结果存入R中。梯形图符号 及操作数取值区域 图3.1
48、32.1753二进制乘法指令二进制乘法指令MLB(52)/MLB(52) 功能:当执行条件为ON时,MLB将Md、Mr中的内容进行二进制乘法计算,结果存入R+1、R中,R+1中存积的高4位十六进制数,R中存积的低4位十六进制数。梯形图符号 及操作数取值区域 图3.133.1764二进制除法指令二进制除法指令DVB(53)/DVB(53) 功能:当执行条件为ON时,进行一次二进制除法运算,DVB将Dd中的内容除以Dr中的 内 容 , 结 果 存 入R+1、R中。R+1中存余数、R中存商。梯形图符号 及操作数取值区域 图3.134.177G. 逻辑运算指令1求反指令求反指令2逻辑与指令逻辑与指令3
49、逻辑或指令逻辑或指令4异或指令异或指令5同或指令同或指令以通道为单位对数据进行与、或、非、异或、以通道为单位对数据进行与、或、非、异或、同或等逻辑运算同或等逻辑运算 关于与、或、非、异或、同或逻辑运算关于与、或、非、异或、同或逻辑运算下一页下一页 .178与、或、非逻辑运算异或、同或逻辑运算异或、同或逻辑运算下一页下一页ANDORNOT.179异或、同或逻辑运算返回:返回:G. 逻辑运算指令逻辑运算指令.1801求反指令COM(29)/COM(29) 梯形图符号梯形图符号 及操作数取值区域及操作数取值区域图3.135功能:当执行条件ON时,将Ch中的数据按位求反。图3.136 求反功能示意图
50、.1812逻辑与指令ANDW(34)/ANDW(34) 功能:当执行条件为ON时,将I1、I2中的数据按位进行逻辑与运算,结果存入R中。图3.138 与指令的功能示意图 图3.137 梯形图符号 及操作数取值区域 .1823逻辑或指令ORW(35)/ORW(35) 功能:当执行条件为ON时,将I1、I2中的数据按位进行逻辑或运算,结果存入R中。 图3.140 或指令的功能示意图 图3.139 梯形图符号 及操作数取值区域 .1834异或指令XORW(36)/XORW(36) 功能:当执行条件为ON时,将I1、I2中的数据按位进行逻辑异或运算,结果存入R中。 图3.142 异或指令的功能示意图