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

S7 300/400整数转换为BCD码

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

简介执行 ITB 或 DTB 指令时,如果被转换的数超出 BCD 码的允许范围,得不到有效的转换结果,同时状态字的溢出位 (OV) 和溢出保持位 (OS) 将被置 1 。 在程序中,应根据状态位 OV 或 OS 判断转

    执行ITBDTB指令时,如果被转换的数超出BCD码的允许范围,得不到有效的转换结果,同时状态字的溢出位(OV)和溢出保持位(OS)将被置1

    在程序中,应根据状态位OVOS判断转换结果是否有效,以免造成进一步的运算错误。在执行DTB指令时,也有类似问题需要注意。

    下面是双整数转换为BCD码的例子:

   A    I    0.2  //如果I0.21

   L    MD  10    //MD10中的双整数装入累加器1

   DTB    //将累加器1的双整数转换为BCD码,结果仍在累加器1

   JO    OVER    //如果运算结果超出允许范围(0V=1)则跳转到标号OVER

   T    MD    20   //将转换结果传送到MD20

   A    M    4.0

   R    M    4.0  //复位溢出标志

   JU    NEXT    //无条件跳转到标号NEXT

OVER:   AN    M    4.0

   S    M    4.0  //置位溢出标志

NEXT:   NOP    0

    输入语句表的标号时不能使用中文的冒号。