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

CPM2A系列PLC的BCD减法(SUB(31))指令

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

简介图 8-74 为 SUB(31) 指令梯形图。当执行条件为 OFF 时, SUB( 31) 不执行;当执行条件为 ON 时, SUB(30) 把 Su 和 CY 的内容从 Mi 中减去并把结果输出到 R 。如果结果为负数, CY 被置位且将实际

    8-74SUB(31)指令梯形图。当执行条件为OFF时,SUB( 31)不执行;当执行条件为ON时,SUB(30)SuCY的内容从Mi中减去并把结果输出到R。如果结果为负数,CY被置位且将实际结果的十进制补码存入R中。为了将十进制的补码转换为真值结果,用0减去R的内容。

SUB(31)指令梯形图

    8-74    SUB(31)指令梯形图

    对标志位的影响:

    ·ERMi/SuBCD码。

    ·间接寻址字DM不存在。

    ·CY:当结果为负数时置ON,也就是说,Mi小于SuCY之和。

    ·EQ:当结果为0时置ON

    如果以前的进位标志状态不需要的话,在执行SUB(31)前一定要用CLC( 41)来清除,并在用SUB( 31)做减法后检查CY的状态。如果执行SUB(31)的结果为CYON(也就是说,如果结果是负数),结果是真实答案的十进制补码的输出。为把输出结果转换为真值,用0减去R中的值即可。

    【例8-21  00002ON,图8-75中的梯形程序清CY,从201的内容减去DM 0100CY的内容并把结果放到HR 10中。如果执行SUB( 31)CY置位,用0减去HR 10中的结果(注意再次用CLC( 41)以获得精确结果),再把结果放回HR 10中,并且把HR 1100ON以表示这是一个负的结果。如果执行SUB (31)指令后CY未置位,结果就为正数,第二个减法不执行,HR 1100也不置ONHR 1100以自保位方式编程,这样当程序再次扫描时,不会因为CY状态的改变而使它变为OFF

BCD减法指令的使用

    8-75    BCD减法指令的使用

    在此例中,SUB(31)以微分形式使用,从而减法操作在每次00002ON时执行一次。当再执行减法操作时,00002至少在一个周期内置OFF,然后重新置ON

    【例8-22  201DM 0100示例数据在第一次和第二次减的过程如图8-76所示。

数据在第一次和第二次减的过程

    8-76    数据在第一次和第二次减的过程

    实际的SUB(31)操作包含从10000Mi减去SuCY。对于正数的结果,最左边的数字删除。对于负数的结果,由十进制补码来得到。

    上例中,程序用HR 1100ON来表示保存在HR 10中的值是负的。