您现在的位置是:首页 > PLC技术 > PLC技术

PLC的BCD加法/减法指令

来源:艾特贸易2017-06-05

简介指令格式及功能见表 3-41 ,对标志位的影响见表 3-42 。 表 3-41 BCD 加法 / 减法指令 表 3-42 BCD 加法指令对标志位的影响 【例 3-34 】 ADD (30) 指令使用举例。 【解】 若 00002 为 ON , CLC (41

    指令格式及功能见表3-41,对标志位的影响见表3-42    3-41    BCD加法/减法指令
BCD加法/减法指令
BCD加法/减法指令
    3-42    BCD加法指令对标志位的影响
BCD加法指令对标志位的影响
    【例3-34 ADD (30)指令使用举例。    【解】  00002ONCLC (41)将清除CY,将IR030的内容与一个常数6103相加,结果存放到DM0100中,然后根据CY (25504)的状态将01送入DM0101。这就保证了来自最后一个数字的任何进位可出现在R+1,以便整个结果在以后的处理中可以作为一个8位的数据处理,如图3-46所示。    【例3-35 12BCD数相加。    【解】  设两个12BCD数分别存放于LR20LR22DM00100012中,当00000ON时,程序将这两个数相加,结果存放于HR10HR13中。    其中,两个数的低8位用ADDL (54)相加,即LR20LR21的内容加DM0010DM0011,并将结果置于HR10HR11;高4位及低8位运算产生的进位由ADD (30)执行加法运算;最后,通过两个0相加,将第二部分加法得到的进位置于HR13中。执行该运算的程序见图3-47
ADD (30)指令使用举例
    3-46    ADD (30)指令使用举例
12位BCD加法
    3-47    12BCD加法    【例3-36  单字长BCD数相减。    【解】  00002ON时,图3-48所示程序首先清CY,然后从IR010中减去DM0100的内容和CY,并将结果送到HR20。若CY由于执行SUB (31)而置位,则HR20中的结果被从0减去(先清CY)以得到真正的结果,并送回HR20。同时将HR2100ON以表示结果为负;若CY由于执行SUB (31)没被置位,则结果为正数,第二步相减不执行,且HR2100不置ONHR 2100的自锁可保证在程序重新扫描CY时不会将其置OFF
SUB (31)指令使用举例
    3-48    SUB (31)指令使用举例    对于负数结果,得到正确答案的过程如下:    第一次相减:IR(010)-DM0100-CY=1029-3452-0    =1029+(10000-3452)    =7577=HR20 CY=1(有借位)    第一次相减:#0000-HR20-CY=0-7577-0    =0+(10000-7577)-0    =2423 CY=1(结果为负).    【例3-37  双字长BCD数相减。    【解】  在本例中,用BSET (71)来清除DM0000DM0001的内容,以使得到的负数结果能从0中减去(不能直接输入一个8位常数)。程序的执行过程与例3-35相似,梯形图见图3-49
双字长BCD数相减举例
    3-49    双字长BCD数相减举例