冗余的指令
这是冗余的F指令。它被替换为: FP_ASCII_TO_BCD
如果触发器EN处于ON状态,将表示十进制字符以s1指定的16位区域开头的ASCII代码转换为BCD。s2指定源数据字节数和转换代码源数据的方向。
输入
用于存储ASCII代码的起始16位区域(源)
指定要转换的源数据字节数,以及排列方式
输出
用于存储转换结果的起始16位区域(目标)
建议使用相应的FP7指令,来代替使用此F型指令:FP_ASCII_TO_BCD ASCII->BCD转换
指定s2_Number(方向和数量)
四个字符作为一段数据进行转换:
转换结果以字节为单位存储在以d指定的16位区域开头的区域中。ASCII代码需要8位(1个字节)来表示1个BCD字符。当转换为BCD数时,数据长度将是ASCII代码源数据长度的一半。
当正在转换奇数个字符时,如果数据以通常方向排序,将对转换结果的最终数据(字节)的位位置0至3输入"0",如果数据以反方向排序,将对位位置4至7输入"0":
表示BCD字符的ASCII十六进制代码:
BCD字符 |
ASCII十六进制代码 |
---|---|
0 1 2 3 4 5 6 7 8 9 |
H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 |
如果指定不符合十进制数(0至9)的ASCII代码。
如果由s2_Number指定的字节数超过由s1_Start指定的区域。
如果转换结果超过由d_Start指定的区域。
如果由s2_Number指定的数据被识别为"0"。
如果s2_Number中的ASCII字符的字节数大于16#8。
如果指定不符合十进制数(0至9)的ASCII代码。
如果由s2_Number指定的字节数超过由s1_Start指定的区域。
如果转换结果超过由d_Start指定的区域。
如果由s2_Number指定的数据被识别为"0"。
如果s2_Number中的ASCII字符的字节数大于16#8。