您现在的位置是:首页 > 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-74为SUB(31)指令梯形图。当执行条件为OFF时,SUB( 31)不执行;当执行条件为ON时,SUB(30)把Su和CY的内容从Mi中减去并把结果输出到R。如果结果为负数,CY被置位且将实际结果的十进制补码存入R中。为了将十进制的补码转换为真值结果,用0减去R的内容。
图8-74 SUB(31)指令梯形图
对标志位的影响:
·ER:Mi和/或Su非BCD码。
·间接寻址字DM不存在。
·CY:当结果为负数时置ON,也就是说,Mi小于Su与CY之和。
·EQ:当结果为0时置ON。
如果以前的进位标志状态不需要的话,在执行SUB(31)前一定要用CLC( 41)来清除,并在用SUB( 31)做减法后检查CY的状态。如果执行SUB(31)的结果为CY置ON(也就是说,如果结果是负数),结果是真实答案的十进制补码的输出。为把输出结果转换为真值,用0减去R中的值即可。
【例8-21】 当00002为ON,图8-75中的梯形程序清CY,从201的内容减去DM 0100和CY的内容并把结果放到HR 10中。如果执行SUB( 31)后CY置位,用0减去HR 10中的结果(注意再次用CLC( 41)以获得精确结果),再把结果放回HR 10中,并且把HR 1100置ON以表示这是一个负的结果。如果执行SUB (31)指令后CY未置位,结果就为正数,第二个减法不执行,HR 1100也不置ON。HR 1100以自保位方式编程,这样当程序再次扫描时,不会因为CY状态的改变而使它变为OFF。
图8-75 BCD减法指令的使用
在此例中,SUB(31)以微分形式使用,从而减法操作在每次00002置ON时执行一次。当再执行减法操作时,00002至少在一个周期内置OFF,然后重新置ON。
【例8-22】 用201和DM 0100示例数据在第一次和第二次减的过程如图8-76所示。
图8-76 数据在第一次和第二次减的过程
实际的SUB(31)操作包含从10000加Mi减去Su和CY。对于正数的结果,最左边的数字删除。对于负数的结果,由十进制补码来得到。
上例中,程序用HR 1100置ON来表示保存在HR 10中的值是负的。
点击排行
