54 双字BCD码加法指令 ADDL a ADDL ○a ADDL(54) ADDL/○将S1+1、S1通道内容与S2+1、S2通道的内容和CY相加,结果存入D+1、D通道中。 S1、S2; 000~018、200~251 被加数开始通道S1 加数开始通道S2 目的开始通道D AR00~14 、 (S1+1·S1)+(S2+1·S2)+CY D+1·D、CY HR00~18、若结果大于99999999,CY25504被置为ON;LR00~14 当结果为00000000时,相等标志位25506为ON;T/C000~126 当加数或被加数中有非BCD码时,或间接寻址DMDM0000~1022*DM0000~1023 6144~6655 D:000~018、200~251 HR00~18、AR00~14 、LR00~14 、通道不存在时,出错标志25503为ON。见P91页 6144~6654 55 双字BCD码减法指令 SUBL aSUBL ○aSUBL(55) SUBL/○S1+1、S通道数据与S2+1、S2通道数据及CY进行BCD减算,减算结果送入D+1、D通道。 S1+1·S1—S2+1·S2—CY D+1·D、CY 当结果为负时,将置位CY,而D+1、D通道的内容为实际结果的十进制补码,要将其转换为实际S1 减数数据开始通道S2 目的开始通道D 被减数数据开始通道结果,应先清CY,再用0减D+1、D通道的内容。DM0000~1022* 当结果为00000000时,相等标志位25506ON,当减数或被减数中有非BCDF码或间接寻址DM通道见P92页 32 BCD码乘法指令 MUL a MUL ○a MUL(32) MUL/○DM0000~10236144~6655 、不存在时,出错标志位25503ON,该指令不执行。 将S1通道的BCD码与S2通道的BCD码相乘,结果存入D+1、D通道 S1XS2 D+1 D 上位 下位 当乘数或被乘数中有非BCD码或间接寻址DM不存在时,出错标志25503ON,当运算结果内容为00000000时,相等标志位25506ON S1、S2: 000~019、200~255 HR00~19、AR00~15 、LR00~15 T/C000~127 DM0000~10236144~6655 *DM0000~10236144~6655 #0000~9999 D:000~019、200~255 HR00~19、AR00~15 、LR00~15 DM0000~1023 *DM0000~10236144~6655 、、、S1 乘数或乘数通道S2 目的开始通道D 被乘数或被乘数通道33 BCD码除法指令 DIV aDIV ○aDIV(33) DIV/○将S1的内容除以S2中的内容,结果送入D+1、D通道(其中:D+1通道存余数,D通道存商) 余数 商 S1÷S2 D+1 D 当S1或S2通道中有非BCD数或间接寻址DM不存在时,出错标志25503ON,当运算结果为00000000时,相等标志位25506ON S1 除数或除数通道S2 目的开始通道D 被除数或被除数通道56 双字BCD码乘法指令 MULL aMULL ○aMULL(56) MULL/○被乘数开始通道S1 乘数开始通道S2 目的开始通道D S1+1、SXS2+1、S2 D+3、D+2、D+1、D 上位 下位 S1+1、S通道的8位BCD码与S2+1、S2通道内S1、S2: 000~018、020~254 HR00~18、AR00~18 LR00~18 T/C000~127 、、的8位BCD码进行BCD乘算,结果送入D+3、D+2、DM0000~1022D+1、D通道。当S1+1、S、S2+1、S2通道中有非BCD数或间接寻址DM通道不存在时,出错标志位25503ON,该指令不执行;当运算结果为00000000相等标志位25506ON 6144~6654 *DM0000~10246144~6655 D:000~016、020~249 36
57 双字BCD码除法指令 DIVL aDIVL ○aDIVL(57) DIVL/○S1+1、S通道的8位BCD码除以S2+1、S2通道内的8位BCD码,结果存入D+3~D中,其中D+3、D+2存余数,D+1、D中存商 S1+1、S÷S2+1、S2 D+3、D+2、D+1、D 余数 商 当除数、被除数中有非BCD码或间接寻址DM不存在时,出错标志25503ON,当运算结果为0000时,相等标志位25506为ON HR00~16、AR00~12 LR00~12 DM0000~1020 *DM0000~10246144~6655 、38 递增指令 INC aINC ○aINC(38) INC/○递增通道D 作一次递增通道数据(BCD码)增1操作 当递增通道中为非BCD码或间接寻址DM不存在时,出错标志25503ON,当运算结果为0000时,相等标志位25506为ON D:000~019、200~252 HR00~19、AR00~15 、LR00~15 DM0000~1023 *DM0000~10236144~6655 、39 递减指令 DEC aDEC ○aDEC(39) DEC/○ 递减通道D 作一次递减通道数据(BCD码)减1操作 当递减通道中为非BCD码或间接寻址DM不存在时,出错标志25503ON,当运算结果为0000时,相等标志位25506为ON 1、 减法指令的数据内容和运算结果 数据 S1>S2 运算结果 D=S1-S2 25504 25506 使用减法指令时,没有根据S1、S2数据的大小一定要运算结果输出为真数的限制,故在紧接减 法指令后面,对25504(CY)的ON、OFF进行判别,如果为ON,则请编制把补数变为真数的程序(#0000
0(进位) 0(相等) 0 1 0 S1=S2 D=0 S1 例: 00002 TR0 CLC(41) CY清0 1 @SUB(31) ○ 010 DM0100 HR20 25504(CY) @CLC(41) CY清0 2 @SUB(31) ○ #0000 HR20 HR20 1的减法运算: ○ 37 010CH 1 0 2 9 2 DM0100 3 4 5 — 进位 0 1022+(10000-3452)=7577 HR20CH 7 5 7 此时 25504(CY) 1 7 2的减法运算·○··因为进位CY为ON,所以应把补数改为真数 #0000 0 0 0 0 HR20CH 7 5 7 7 — 进位 0 0000+(10000-7577)=2423 HR20CH 2 4 2 进位 1 最终的运算结果 010CH — DM0100 3 1 3 0 4 2 5 9 2 HR20CH 2 4 2 3 进位标志位CY为ON,所以实际的数据为—2423 十一、二进制运算指令 FUN NO 50 二进制加法指令 ADB aADB ○aADB(50) ADB/○指令 符号 助记符 操作数 功 能/相关标志 操作数 进行两个通道S1、S2内的BIN16bit数据及S1、S1:000~019、200~255 HR00~19、AR00~15 、LR00~15 T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 #0000~FFFF D:000~019、200~252 被加数或被加数通道S1 CY的加法运算,并向指定的目的通道D输加数或加数通道S2 出 目的通道D S1+S2+CY D、CY 若运算结果大于FFFF,则CY25504ON; 若间接寻址DM不存在时,出错标志位25503ON 当运算结果为0000时,相等标志位25506ON HR00~19、AR00~15 、 38 51 二进减法SBB a SBB(51) SBB/○进行两个通道S1、S2内的BIN16bit数据及LR00~15、 DM0000~1023 *DM0000~1023、6144~6655 被减数或被减数通道S1 CY的减法运算,并向指定的目的通道D输指令 a○减数或减数通道S2 出 目的通道D S1-S2-CY D、CY 若结果为负(有借位时),将置位CY(25503ON),而D中的内容为实际结果的二进制补码;若间接寻址DM不存在时,出错标志位25503ON;当运算结果为0000时,相等标志位25506ON SBB 52 二进制乘法指令 MLB a○a MLB(52) MLB/○进行两个通道S1、S2内的BIN16bit数据的S1、S1:000~019、200~255 HR00~19、AR00~15 、LR00~15 T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 #0000~FFFF D:000~018、200~251 HR00~18、AR00~14 、LR00~14 DM0000~1022 *DM0000~1023、6144~6655 被乘数或被乘数通道S1 乘法运算,并向指定的目的通道D输出 乘数或乘数通道S2 S1XS2 D+1 D 目的开始通道D 上位 下位 若间接寻址DM不存在时,出错标志位25503ON;当运算结果为0000时,相等标志位25506ON MLB 53 二进制除法指令 DVB aDVB ○aDVB(53) DVB/○进行两个通道S1、S2内的BIN16bit数据的被除数或被除数通道S1 除法运算,并向指定的目的通道D输出 余数 商 若间接寻址DM不存在时,出错标志位25503ON;当运算结果为0000时,相等标志位25506ON 除数或除数通道S2 S1÷S2 D+1 D 目的开始通道D ``十二、逻辑运算指令 FUN 指符号 助记符 操作数 功 能/相关标志 NO 令 29 求反指令 COM aCOM ○aCOM(29) COM/○操作数 D:000~019、200~252 HR00~19、AR00~15 、LR00~15 DM0000~1023 *DM0000~10236144~6655 、将D通道的内容求反 若间接寻址DM不存在时,出错标志位25503ON;当运算结果为0000时,相等标志位25506ON 通道号D 34 逻辑与指令 ANDW aANDW ○aANDW(34) ANDW/○以通道数据为单位,S1通道数据、常数与S2通道数据、常数进行逻辑与 S1·S2 D 若间接寻址DM不存在时,出错标志位25503ON;当运算结果为0000时,相等标志位25506ON S1、S2: 000~019、200~255 HR00~19、AR00~15 、LR00~15 T/C000~127 DM0000~1023、6144~6655 *DM0000~10236144~6655 #0000~FFFF D: 000~019、200~255 HR00~19、AR00~15 、LR00~15 、第一数据或通道S1 第二数据或通道S2 目的通道D 35 逻辑或指令 ORW aORW ○aORW(35) ORW/○以通道数据为单位,S1通道数据、常数与S2通道数据、常数进行逻辑或 +S2 D S1○第一数据或通道S1 第二数据或通道S2 目的通道D 若间接寻址DM不存在时,出错标志位25503ON;当运算结果为0000时,相等标志位25506ON 39 36 异或指令 XORW a ○aXORW(36) XORW/○以通道数据为单位,S1通道数据、常数与S2通道数据、常数进行逻辑异或(相同为0,不同为1),结果送入D通道 若间接寻址DM不存在时,出错标志位25503ON;当运算结果为0000时,相等标志位25506ON DM0000~1023 *DM0000~10236144~6655 、第一数据或通道S1 第二数据或通道S2 目的通道D XORW 37 同或指令 XNRW a○a XNRW(37) XNRW/○以通道数据为单位,S1通道数据、常数与S2通道数据、常数进行逻辑同或(相同为1,不同为0),结果送入D通道 若间接寻址DM不存在时,出错标志位25503ON;当运算结果为0000时,相等标志位25506ON 第一数据或通道S1 第二数据或通道S2 目的通道D XNRW 十三、特殊指令 1、 故障诊断指令 FUN 指令 NO 06 运继的障断 故诊障断FAL00 FAL/@FAL(06) 解除含有FAL指令的运行继续的故障报警显示内容,用一个扫描周期解除一个报警内容,即清除上一个故障代码,把下一个故障代码存入FAL输出区(25300~25307)中 FALS FALS(07) NO 显示运行停止故障诊断的动作(ERR/SLM灯常亮)被指定的FAL号在特殊辅助继电器(25300~25307低8位中以BCD码二桁输出),所有输出复位。运行停止的故障解除要在故障原因解除后,用外围设备(编程器)及用程序的方法实现例见P99页3。146 NO: 00~99 NO: 00 行续故诊FAL @FAL 符号 助记符 操作数 FAL/@FAL(06) 运行继续的故障诊断动作时(ERR/ALM灯闪光)被指定的FAL号在特殊辅 NO: 助继电器(25300~25307的8位中以BCD码二桁输出),但程序仍可继续执行 功 能/相关标志 操作数 NO: 00~99 @FAL00 00 复位 07 运停的障断 行止故诊2、 其它特殊指令 FUN NO 46 指令 信息显示指令 符号 MSG @MSG 助记符 操作数 MSG/@MSG(46) 信息开始通道S 功 能/相关标志 从S~S+7这八个通道中读取16个ASCII码,并把对应的字符显示在编程器的屏幕上。有关信息缓冲区及信息显示优先权及例子见P100页。信息显示的清除亦可用FAL(06)00实现 操作数 S:000~012、200~248 HR00~12、AR00~08 LR00~08、T/C000~120 DM0000~1016、6144~6148 *DM0000~1024、6144~6655 97 I/O刷IORF IORF/@IORF(97) 开始通道D1 结束通道D2 刷新D1~D2之间所有输入输出通道 当D1>D2时出错标志25503ON 说明:通常的I/O刷新是一次循环统一执行一次(END刷新),而执行该指令,则可在程序循D1、D2: 000~019 新指令 @IORF 40