1、 PLC原理及应用,第三章小型整体式PLC,第三章 小型整体式PLC,CPM系列小型机系统的特点 CPM系列机的构成 CPM系列机的继电器区和数据区 CPM系列机的指令系统,3.4.5 移位指令,3算术左移指令ASL(25)/ASL(25),(1)梯形图符号,算术左移指令的梯形图符号如图3-160所示。其中ch为移位通道。,3.4.5 移位指令,3算术左移指令ASL(25)/ASL(25),(2)工作,当ASL前面的状态为ON时,移位通道ch中的内容每个扫描周期左移1位,ch中bit15的内容移入进位标志位CY,bit00的内容填入0即变为OFF。对于ASL,只有当其前面的状态由OFF变为ON
2、时执行一次,ch中的内容与ASL指令工作时一样左移一位。,3.4.5 移位指令,3算术左移指令ASL(25)/ASL(25),(3)数据区与标志位,1)数据区:IR、SR、HR、AR、LR、DM、*DM。2)出错标志位25503:间接寻址DM单元不存在时为ON,此时该指令不执行。3)进位标志位25504:移位溢出的位进入该标志位。4)相等标志位25506:当移位通道中的内容为0000时为ON。,3.4.5 移位指令,4算术右移指令ASR(26)/ASR(26),(1)梯形图符号,算术右移指令的梯形图符号如图3-162所示。其中ch为移位通道。,3.4.5 移位指令,4算术右移指令ASR(26)
3、/ASR(26),(2)工作,当ASR前面的状态为ON时,移位通道ch中的内容每个扫描周期右移1位,ch中bit00的内容移入进位标志位CY,bit15的内容填入0即变为OFF。对于ASR,只有当其前面的状态由OFF变为ON时执行一次,ch中的内容与ASR指令工作时一样右移一位。,3.4.5 移位指令,4算术右移指令ASR(26)/ASR(26),(3)数据区与标志位,1)数据区:IR、SR、HR、AR、LR、DM、*DM。2)出错标志位25503:间接寻址DM单元不存在时为ON,此时该指令不执行。3)进位标志位25504:移位时从bit00溢出的位进入该标志位。4)相等标志位25506:当移
4、位通道中的内容为0000时为ON。,3.4.5 移位指令,5循环左移指令ROL(27)/ROL(27),(1)梯形图符号,循环左移指令的梯形图符号如图3-163所示。其中ch为移位通道。,3.4.5 移位指令,5循环左移指令ROL(27)/ROL(27),(2)工作,当ROL前面的状态为ON时,移位通道ch中的内容在每个扫描周期左移1位,进位标志位CY的内容移入ch的bit00,bit15的内容移入进位标志位CY。对于ROL,当其前面的状态由OFF变为ON时,执行一次,移位方式同ROL。,3.4.5 移位指令,5循环左移指令ROL(27)/ROL(27),(2)工作,注意:进位标志位在遇到EN
5、D指令时复位为OFF。,假定移位开始前DM0000的内容为4000,则00000第一次由OFF变为ON后,DM0000的内容变8000;第二次由OFF变为ON后,DM0000的内容为 0000,此后,DM0000的内容保持0000不变。,0,0,1,3.4.5 移位指令,5循环左移指令ROL(27)/ROL(27),(3)数据区与标志位,1)数据区:IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:间接寻址DM单元不存在时为ON,此时该指令不执行3)进位标志位25504:ch中bit15的内容进入该位4)相等标志位25506:当ch中的内容为0000时为ON,3.4.5 移位
6、指令,6循环右移指令ROR(28)/ROR(28),(1)梯形图符号,循环右移指令的梯形图符号如图3-166所示。其中ch为移位通道。,3.4.5 移位指令,6循环右移指令ROR(28)/ROR(28),(2)工作,当ROR的面的状态为ON时,移位通道ch中的内容在每个扫描周期右移1位,移位指令执行前进位标志CY的内容移入ch的bit15,ch的bit00的内容移入进位标志位CY。对于ROR,当其前面的状态由OFF变为ON时,执行一次,移位方式同ROR。,3.4.5 移位指令,6循环右移指令ROR(28)/ROR(28),(3)数据区与标志位,1)数据区:IR、SR、HR、AR、LR、DM、*
7、DM2)出错标志位25503:间接寻址DM单元不存在时为ON,此时该指令不执行3)进位标志位25504:ch中bit00的内容进入该位4)相等标志位25506:当ch中的内容为0000时为ON,3.4.5 移位指令,7.一位数字左移指令SLD(74)/SLD(74),(1)梯形图符号,一位数字左移指令的梯形图符号如图3-167所示。其中B为移位开始通道,E为移位结束通道。,3.4.5 移位指令,7.一位数字左移指令SLD(74)/SLD(74),(2)工作,当SLD前面的状态为ON时,从B到E通道中的内容以数字为单位左移。该指令每执行一次,左移1位数字,开始通道B的数字0填入数据0,结束通道E
8、的数字3(即最高位数字)丢失。,B,3.4.5 移位指令,7.一位数字左移指令SLD(74)/SLD(74),(3)数据区与标志位,1)数据区:IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:有以下情况之一时,该位为ON,此时该指令不执行 开始通道B和结束通道E不在同一数据区内 开始通道B的通道号大于结束通道E的通道号 间接寻址DM单元不存在,3.4.5 移位指令,8.一位数字右移指令SRD(75)/SRD(75),(1)梯形图符号,一位数字左移指令的梯形图符号如图3-168所示。其中B为移位开始通道,E为移位结束通道。,3.4.5 移位指令,8.一位数字右移指令SRD(7
9、5)/SRD(75),(2)工作,当SRD前面的状态为ON时,从B到E通道中的内容以数字为单位右移。该指令每执行一次,右移1位数字,开始通道B的最低位数字丢失,结束通道E的最高位数字填入0。,3.4.5 移位指令,8.一位数字右移指令SRD(75)/SRD(75),(3)数据区与标志位,1)数据区:IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:有以下情况之一时,该位为ON,此时该指令不执行 开始通道B和结束通道E不在同一数据区内 开始通道B的通道号大于结束通道E的通道号 间接寻址DM单元不存在,3.4.5 移位指令,9.字移位WSFT(16)WSFT(16),(1)梯形图
10、符号,字移位指令的梯形图符号如图3-170所示。其中,B为字移位开始通道,E为移位结束通道。,3.4.5 移位指令,9.字移位WSFT(16)WSFT(16),(2)工作,当WSFT前面的状态为ON时,从B到E通道中的内容以通道为单位左移。每执行一次,左移一个通道,通道E的原内容丢失,通道B的内容填入0000。,3.4.5 移位指令,9.字移位WSFT(16)WSFT(16),(3)数据区与标志位,1)数据区:IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:有以下情况之一时,该位为ON,此时该指令不执行 开始通道B和结束通道E不在同一数据区内 开始通道B的通道号大于结束通道
11、E的通道号 间接寻址DM单元不存在,3.4.5 移位指令,10.异步移位寄存器指令ASFT(17)/ASFT (17),(1)梯形图符号,异步移位寄存器指令的梯形图符号及控制通道的内容如图3-172所示。其中,C为控制通道,B为移位起始通道,E为移位结束通道。,3.4.5 移位指令,10.异步移位寄存器指令ASFT(17)/ASFT (17),(2)工作,B和E之间的通道构成一个可逆异步移位寄存器,ASFT可以将寄存器中的0000字上移或下移,执行几次ASFT后,所有0000字可以集中到寄存器的上半部或下半部。,执行一次ASFT,如果是下移,所有内容为0000的通道与紧邻的低地址通道之间交换数
12、据,若某一内容为0000通道的紧邻的低地址通道内容也为0000,则这两个通道不发生数据交换。,执行一次ASFT,如果是上移,所有内容为0000的通道与紧邻的高地址通道之间交换数据,若某一内容为0000通道的紧邻的高地址通道内容为0000,则这两个通道不发生数据交换。,如果寄存器中不包含0000的字,将不发生移动,不出现数据交换。,3.4.5 移位指令,10.异步移位寄存器指令ASFT(17)/ASFT (17),注意:,寄存器中0000字移动的方向由控制数据C规定,C也用来复位寄存器。,控制通道C的bit14为OFF,将不发生移动,不出现数据交换。,3.4.5 移位指令,10.异步移位寄存器指
13、令ASFT(17)/ASFT (17),(3)数据区与标志位,1)数据区:C为IR、SR、HR、AR、LR、DM、*DM、#;B、E为IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:有以下情况之一时,该位为ON,此时该指令不执行 开始通道B和结束通道E不在同一数据区内 开始通道B的通道号大于结束通道E的通道号 间接寻址DM单元不存在,3.4.6 转换指令,CPM1A提供六种转换指令。常用的有:二-十进制间的转换指令,译码、编码指令,七段译码指令,ASCII码转换指令等。,3.4.6 转换指令,1.二-十进制转换BCD(24)/ BCD(24),(1)梯形图符号,二-十进制转
14、换指令的梯形图符号如图3-174所示。其中,B为源数据,是二进制数据,D为目的数据通道,用于存放转换后的BCD数据。,3.4.6 转换指令,1.二-十进制转换BCD(24)/ BCD(24),(2)工作,当BCD指令前面的状态为ON时,把B中的二进制数据转换为BCD数据,存放于D通道中。,3.4.6 转换指令,1.二-十进制转换BCD(24)/ BCD(24),(3)数据区与标志位,1)数据区:B为IR、SR、HR、AR、LR、DM、*DM;D为IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:当转换后的数据大于9999时或间接寻址DM单元不存在时为ON,此时该指令不执行3)
15、相等标志位25506:当转换后的数据为0000时为ON,3.4.6 转换指令,2.十-二进制转换BIN(23)/BIN(23),(1)梯形图符号,十-二进制转换指令的梯形图符号如图3-175所示。其中,B为源数据,是BCD数据;D为目的数据通道,用于存放转换后的二进制数据。,3.4.6 转换指令,2.十-二进制转换BIN(23)/BIN(23),(2)工作,当BIN前面的状态为ON时,把B中的BCD数转换成二进制数据,存放于目的数据通道D中。,3.4.6 转换指令,2.十-二进制转换BIN(23)/BIN(23),(3)数据区与标志位,1)数据区:B为IR、SR、HR、AR、LR、TC、DM、
16、*DM;D为IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:当B中的数据不是BCD数时或间接寻址DM单元不存在时为ON,此时该指令不执行3)相等标志位25506:指令执行完后D中的内容为0000时为ON,3.4.6 转换指令,3.译码指令MLPX(76)/MLPX(76),(1)梯形图符号,译码指令的梯形图符号如图3-176所示。其中,S为源数据,C为控制数据,D为目的通道的第一个通道。,3.4.6 转换指令,3.译码指令MLPX(76)/MLPX(76),(2)工作,当MLPX前面的状态为ON时,在控制数据C的控制下,对源数据中的数字进行译码,译码结果存放在目的通道D开始
17、的通道中。第1位数字译码后放在通道D中,第2位数字译码后存放在D+1通道中,依此类推,第4位数字译码后存放于D+3通道中。,译码时,从控制数据C指定的数字开始译码,然后对与之相邻的高位数字译码,若对数字3译码后仍不足要译码数字位数,则再从数字0译码。,对源数据的某位数字译码时,按这位数字的十六进制数值转换为十进制数,将目的通道中与该十进制数对应的位置为ON。,3.4.6 转换指令,3.译码指令MLPX(76)/MLPX(76),(2)工作,对两位数字译码时的情况,不同控制数据下的译码情况,3.4.6 转换指令,3.译码指令MLPX(76)/MLPX(76),(2)工作,在指定数据区D时,应保证
18、目的通道不超出数据区范围。如控制数据为#0023时,需用三个目的通道,若指定D为HR18,PLC将出错标志位25503置为ON,且不执行该条MLPX指令。 这是因为这条指令把HR18 、HR19、HR20通道作为存放译码结果的通道,但在CPM型机中的HR20是不存在的。 在指定控制数据区时,应保证控制数据的数字0和数字1不超过3。,3.4.6 转换指令,3.译码指令MLPX(76)/MLPX(76),(2)工作,注意:,3.4.6 转换指令,3.译码指令MLPX(76)/MLPX(76),(3)数据区与标志位,1)数据区:S为IR、SR、HR、AR、LR、TC、DM、*DM;C为IR、SR、H
19、R、AR、LR、TC、DM、*DM、#;D为IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:当结果通道D3超出数据区范围时为ON,此时该指令不执行,3.4.6 转换指令,4.编码指令DMPX(77)/DMPX(77),(1)梯形图符号,编码指令的梯形图符号如图3-179所示。其中,S是源数据的第一个通道,D是目的通道,C是控制数据。,3.4.6 转换指令,4.编码指令DMPX(77)/DMPX(77),(2)工作,当DMPX前面的状态为ON时,在控制数据C的控制下,对源数据通道进行编码,编码结果存放在目的通道的指定数字位上。,对源数据的某个通道编码时,把该通道中为1的最高一
20、个bit的位号转换成十六进制后,存放到目的通道的指定数字位上。,对第一个源数据通道S的编码结果存放在目的通道D的指定的开始存放数字位上,S+1通道的编码结果存放在D的开始存放数字位的相邻高位数字上,依此类推,存放完D的数字3后再从D的数字0开始存放。,3.4.6 转换指令,4.编码指令DMPX(77)/DMPX(77),(2)工作,DMPX指令的典型使用方法,控制数据C为#0013表示对从HR00开始的两个源数据通道进行编码,编码结果从DM0000的数字3开始存放。因HR00通道中为1的bit的最高位号为11,转换为十六进制为B,故DM0000的数字3被存入B。HR01通道中为1的最高位号为7
21、,故DM0000的数字0被存入7。,3.4.6 转换指令,4.编码指令DMPX(77)/DMPX(77),(2)工作,不同控制数据下的编码情况,3.4.6 转换指令,4.编码指令DMPX(77)/DMPX(77),(2)工作,注意:,在指定源数据区S时,应注意不要超出数据区范围。在指定控制数据时,应保证控制数据的数字0和数字1不大于3。,3.4.6 转换指令,4.编码指令DMPX(77)/DMPX(77),(3)数据区与标志位,1)数据区:S为IR、SR、HR、AR、LR、TC、DM、*DM;D为IR、SR、HR、AR、LR、DM、*DM;C为IR、SR、HR、AR、LR、TC、DM、*DM、
22、#2)出错标志位25503:当源数据通道S+3超出数据区范围,或间接寻址DM单元不存在时,该位为ON,此时该指令不执行,3.4.6 转换指令,5.ASCII码转换指令ASC(86)/ASC(86),(1)梯形图符号,ASCII码转换指令的梯形图符号如图3-182所示。其中,S是源数据,C是控制数据,D是目的通道的第一个通道。最多使用三个目的通道D、D+1、D+2。,3.4.6 转换指令,5.ASCII码转换指令ASC(86)/ASC(86),(2)工作,当ASC前面的状态为ON时,在控制数据C的控制下,对源数据中的数字进行ASCII码转换,转换后的数据存放于DD+2通道中。,如果源数据中的一位
23、数字转换成ASCII码后存放于目的通道中的低8位,则该目的通道的bit00bit03用于存放ASCII码的低位数字,bit04bit06用于存放ASCII码的高位数字,bit07用于存放校验位。,如果源数据中的一位数字转换成ASCII码后存放于目的通道的高8位,则该目的通道的bit08bit11用于存放ASCII码的低位数字,bit12bit14用于存放ASCII 码的高位数字,bit15用于存放校验位。,若控制数据中指定为无校验方式,则校验位为0。若控制数据中指定为偶校验方式,则ASCII码中1的个数为奇数时,校验位为1;ASCII码中1的个数为偶数时,校验位为0。若控制数据中指定为奇校验方
24、式,则ASCII码中1的个数为奇数时,校验值为0;ASCII码中1的个数为偶数时,校验位为1。,3.4.6 转换指令,5.ASCII码转换指令ASC(86)/ASC(86),(2)工作,不同控制数据下的ASCII码译码情况,3.4.6 转换指令,5.ASCII码转换指令ASC(86)/ASC(86),(3)数据区与标志位,1)数据区:S为IR、SR、HR、AR、LR、TC、DM、*DM;C为IR、SR、HR、AR、LR、TC、DM、*DM、#;D为IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:有下列情况之一时,该位为ON,此时该指令不执行 控制数据错误 目的通道超出数据区
25、范围 间接寻址DM单元不存在,3.4.6 转换指令,6.七段译码指令SDEC(78)/SDEC(78),(1)梯形图符号,七段译码指令的梯形图符号如图3-184所示。其中,S是源数据,C是控制数据,D是目的通道的第一个通道。,3.4.6 转换指令,6.七段译码指令SDEC(78)/SDEC(78),(2)工作,当SDEC前面的状态为ON时,在控制数据C的控制下,对源数据中的数字进行七段译码,译码结果存放在从D开始的目的通道中。,目的通道中,每8个bit存放一位数字的译码结果,bit00bit06对应于七段数码管的a、b、c、d、e、f、g段,bit07不用,bit08bit10也对应于七段数码
26、管的a、b、c、d、e、f、g段,bit15不用。,6.七段译码指令SDEC(78)/SDEC(78),(2)工作,不同控制数据下的译码情况,6.七段译码指令SDEC(78)/SDEC(78),(2)工作,不同控制数据下的译码情况,3.4.6 转换指令,6.七段译码指令SDEC(78)/SDEC(78),(3)数据区与标志位,1)数据区:S为IR、SR、HR、AR、LR、TC、DM、*DM;C为IR、SR、HR、AR、LR、TC、DM、*DM、#;D为IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:有下列情况之一时,该位为ON,此时该指令不执行 控制数据C错误。 目的通道超
27、出数据区范围。 间接寻址DM单元不存在。,3.4.7 十进制运算指令,CPM1A提供10种BCD运算指令:加1、减1指令,BCD加法、减法、乘法、除法指令等。这些指令均为无符号数BCD运算指令。,3.4.7 十进制运算指令,1.置进位位STC(40)/STC(40)、清进位位CLC(41)/CLC 41,(1)梯形图符号,置进位位、清进位位指令的梯形图符号如图所示:,3.4.7 十进制运算指令,1.置进位位STC(40)/STC(40)、清进位位CLC(41)/CLC 41,(2)工作,当STC前面的状态为ON时,进位标志位25504被置为ON。当CLC前面的状态为ON时,进位标志位25504
28、被清为OFF。STC、CLC在其前面状态为ON时,每个扫描周期执行一次。STC、CLC只有在其前面的状态由OFF变为ON时执行一次。,许多BCD运算指令影响进位标志位,加法、减法为带进位位运算,经常需要在进行BCD运算之前先对进位位进行处理。,3.4.7 十进制运算指令,2.加1指令INC(38)/INC(38)、减1指令DEC(39)/DEC(39),(1)梯形图符号,加1、减1指令的梯形图符号如图所示。其中ch为加1或减1指令的数据通道。,3.4.7 十进制运算指令,2.加1指令INC(38)/INC(38)、减1指令DEC(39)/DEC(39),(2)工作,当INC前面的状态为ON时,
29、每执行次INC指令,ch内容按十进制加1。当DEC前面的状态为ON时,每执行一次DEC指令,ch内容按十进制减1。在进行加1和减1操作时,不影响进位位(CY)。,3.4.7 十进制运算指令,2.加1指令INC(38)/INC(38)、减1指令DEC(39)/DEC(39),(3)数据区与标志位,1)数据区:IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:当ch内容不是BCD数,或间接寻址DM单元不存在时,该位为ON,此时该指令不执行3)相等标志位25506:当ch内容为0000时为ON,3.4.7 十进制运算指令,3.加法指令ADD(30)/ADD(30),(1)梯形图符号
30、,加法指令的梯形图符号如图3-188所示。其中,A1为被加数,A2为加数,A3为和。A1和A2必须是BCD数据。,3.4.7 十进制运算指令,3.加法指令ADD(30)/ADD(30),(2)工作,当ADD前面的状态为ON时,每个扫描周期执行一次加法指令,A1加A2加进位位结果送到A3通道中。ADD进行的是4位BCD数加法,当和超过4位BCD数时进位标志位置为ON,和的后4位BCD数存放在A3中。 ADD只在其前面的状态由OFF变为ON时执行一次,3.4.7 十进制运算指令,3.加法指令ADD(30)/ADD(30),(3)数据区与标志位,1)数据区:A1、A2为IR、SR、HR、AR、LR、
31、TC、DM、*DM、# ;A3为IR、HR、AR、LR、DM、*DM2)出错标志位25503:当加数或被加数中有非BCD数时,或间接寻址DM单元不存在时,该位为ON,此时该指令不执行3)进位标志位25504:和超出4位BCD数时该位为ON4)相等标志位25506:当和为0000时为ON,3.4.7 十进制运算指令,3.加法指令ADD(30)/ADD(30),3.4.7 十进制运算指令,4.减法指令SUB(31)SUB(31),(1)梯形图符号,减法指令的梯形图符号如图3-189所示。其中,S1为被减数,S2为减数,S3为差。S1和S2必须是BCD数据。,3.4.7 十进制运算指令,4.减法指令
32、SUB(31)SUB(31),(2)工作,当SUB前面的状态为ON时,每个扫描周期执行一次减法指令,被减数S1减去减数S2,再减去进位位,结果送到S3通道中。SUB进行的是4位BCD数减法,当被减数小于减数时,自动借位相减,结果存放在S3中,同时把进位位置为ON。 SUB只在其前面的状态由OFF变为ON时执行一次,3.4.7 十进制运算指令,4.减法指令SUB(31)SUB(31),(3)数据区与标志位,1)数据区:S1、S2为IR、SR、HR、AR、LR、TC、DM、*DM、# ;S3为IR、SR、HR、AR、LR、DM、*DM2)出错标志位25503:当减数或被减数中有非BCD数时,或间接
33、寻址DM单元不存在时,该位为ON,此时该指令不执行3)进位标志位25504:当被减数小于减数有借位时,该位为ON4)相等标志位25506:当差为0000时该位为ON,4.减法指令举例,HR00通道内容减HR01通道内容,结果存放在HR03通道,符号位存放在HR02通道。当符号位为0时表示结果为正,为1时表示结果为负。,在进行第一次减法时,若HR00内容大于HR01内容,则进位标志位25504为OFF,HR02内容为0,即结果为正数;,若HR00内容小于HR01内容,则进位标志位为ON,HR03中的内容为差的补码,所以进行第二次减法,求得差的原码,同时把HR02通道内容送1,表示结果为负数。,下
34、面是HR00内容小于HR01内容时的操作过程: 通道 HR00 HR01 HR03 25504 HR02 第1次:1234-23451234+(10000-2345)=8889 1 1 第2次:0000-88890000+(10000-8889)=1111 1 1S1 S2 S3,春节后,3.4.7 十进制运算指令,5.倍长加法指令ADDL(54)/ADDL(54),(1)梯形图符号,倍长加法指令的梯形图符号如图3-191所示。其中,A1为被加数的第一个通道,A2为加数的第一个通道,A3为和的第一个通道。,3.4.7 十进制运算指令,5.倍长加法指令ADDL(54)/ADDL(54),(2)工
35、作,被加数为A1和A11通道的内容,A1为低位数据;加数为A2和A21通道的内容,A2为低位数据。被加数加上加数,再加上进位位,结果的低4位BCD数送到A3通道,高4位BCD数送到A31通道。 相加后的结果超出8位BCD数时,进位标志位为ON,和的后8位BCD数存放于A3和A31通道中,当ADDL前面的状态为ON时,每执行一次该指令,进行一次带进位位的十进制加法操作。,3.4.7 十进制运算指令,5.倍长加法指令ADDL(54)/ADDL(54),(3)数据区与标志位,1)数据区:A1、A2为IR、SR、HR、AR、LR、TC、DM、*DM ;A3为IR、HR、AR 、LR、DM、*DM2)出
36、错标志位25503:当加数或被加数中有非BCD数时,或间接寻址DM单元不存在时,该位为ON,此时该指令不执行3)进位标志位25504:相加后结果通道有溢出时该位为ON4)相等标志位25506:当结果通道内容均为0000时为ON,3.4.7 十进制运算指令,6.倍长减法指令SUBL(55)/SUBL(55),(1)梯形图符号,倍长减法指令的梯形图符号如图3-193所示。其中,S1为被减数的第一个通道,S2为减数的第一个通道,S3为差的第一个通道。,3.4.7 十进制运算指令,6.倍长减法指令,(2)工作,当SUBL前面的状态为ON时,每执行一次该指令,进行一次带进位位的十进制减法操作。,被减数减
37、去减数,再减去进位位,结果的低4位BCD数送到S3通道,高4位BCD数送到S31通道。当被减数大于等于减数时,结果为被减数与减数之差,进位位CY为0。当被减数小于减数时,自动借位相减,结果为差的十进制补码,进位位CY为1。这时,要得到差的绝对值,可用0减去这一补码。,被减数为S1和S11通道的内容,S1为低位数据;减数为S2和S21通道的内容,S2 为低位数据。,3.4.7 十进制运算指令,6.倍长减法指令,(3)数据区与标志位,1)数据区:S1、S2为IR、SR、HR、AR、LR、TC、DM、*DM;S3为IR、HR、AR 、LR、DM、*DM2)出错标志位25503:当减数或被减数中有非B
38、CD数时,或间接寻址DM单元不存在时,该位为ON,此时该指令不执行3)进位标志位25504:当被减数小于减数有借位时,该位为ON4)相等标志位25506:当结果通道内容均为0000时为ON,3.4.7 十进制运算指令,7.乘法指令MUL(32)/MUL(32),(1)梯形图符号,乘法指令的梯形图符号如图3-195所示。其中,M1为被乘数,M2为乘数,M3为积的第一个通道。,3.4.7 十进制运算指令,7.乘法指令MUL(32)/MUL(32),(2)工作,当MUL前面的状态为ON时,每执行一次该指令,进行一次十进制乘法操作。,M1乘以M2后的积的低4位BCD数送入M3通道中,积的高4位BCD数
39、送入M31通道中。,在使用乘法指令时应注意,乘法运算的结果占用两个通道。,3.4.7 十进制运算指令,7.乘法指令MUL(32)/MUL(32),(3)数据区与标志位,1)数据区:M1、M2为IR、SR、HR、AR、LR、TC、DM、*DM、# ;M3为IR、HR、AR 、LR、DM、*DM2)出错标志位25503:当乘数或被乘数中有非BCD数时,或间接寻址DM单元不存在时,该位为ON,此时该指令不执行3)进位标志位25504:和超出4位BCD数时该位为ON4)相等标志位25506:当结果通道内容均为0000时为ON,3.4.7 十进制运算指令,7.乘法指令MUL(32)/MUL(32),3.
40、4.7 十进制运算指令,8.除法指令DIV(33)/DIV(33),(1)梯形图符号,除法指令的梯形图符号如图3-196所示。其中,D1为被除数,D2为除数,D3为商。,3.4.7 十进制运算指令,8.除法指令DIV(33)/DIV(33),(2)工作,当DIV前面的状态为ON时,每执行一次该指令,进行一次十进制除法操作。DIV为十进制整数除法,被除数D1除以除数D2后,商存放于D3通道中,余数存放于D31通道中。,3.4.7 十进制运算指令,8.除法指令DIV(33)/DIV(33),(3)数据区与标志位,1)数据区:D1、D2为IR、SR、HR、AR、LR、TC、DM、*DM、# ;D3为
41、IR、HR、AR 、LR、DM、*DM2)出错标志位25503:当除数或被除数中有非BCD数时,或间接寻址DM单元不存在时,该位为ON,此时该指令不执行3)相等标志位25506:当结果通道内容均为0000时为ON,3.4.7 十进制运算指令,9.倍长乘法指令MULL(56)/MULL(56),(1)梯形图符号,倍长乘法指令的梯形图符号如图3-197所示。其中,M1为被乘数的第一个通道,M2为乘数的第一个通道,M3为积的第一个通道。,3.4.7 十进制运算指令,9.倍长乘法指令MULL(56)/MULL(56),(2)工作,当MULL前面的状态为ON时,每执行一次该指令,进行一次十进制乘法操作。
42、M1和M11通道的内容为被乘数,M1为低位数据;M2和M21通道的内容为乘数,M2为低位数据。积占用4个通道,即M3M33,M3为低位数据。,3.4.7 十进制运算指令,9.倍长乘法指令MULL(56)/MULL(56),(3)数据区与标志位,1)数据区:M1、M2为IR、SR、HR、AR、LR、TC、DM、*DM;M3为IR、HR、AR 、LR、DM、*DM2)出错标志位25503:当乘数或被乘数中有非BCD数时,或间接寻址DM单元不存在时,该位为ON,此时该指令不执行3)相等标志位25506:当结果通道内容均为0000时为ON,3.4.7 十进制运算指令,10.倍长除法指令DIVL(57)
43、/DIVL(57),(1)梯形图符号,倍长除法指令的梯形图符号如图3-198所示。其中,D1为被除数的第一个通道,D2为除数的第一个通道,D3为商的第一个通道。,3.4.7 十进制运算指令,10.倍长除法指令DIVL(57)/DIVL(57),(2)工作,当DIVL前面的状态为ON时,每执行一次该指令,进行一次十进制除法操作。,D1和D11通道的内容为被除数,D1为低位数据;D2和D21通道的内容为除数,D2为低位数据。,DIVL整数除法,商存放于D3和D31通道中,D3为低位数据;余数存放于D32和D33通道中,D32为低位数据。,3.4.7 十进制运算指令,10.倍长除法指令DIVL(57)/DIVL(57),(3)数据区与标志位,1)数据区:D1、D2为IR、SR、HR、AR、LR、TC、DM、*DM ;D3为IR、HR、AR 、LR、DM、*DM2)出错标志位25503:当除数或被除数中有非BCD数时,或间接寻址DM单元不存在时,该位为ON,此时该指令不执行3)相等标志位25506:当结果通道内容均为0000时为ON,