当前位置: 主页 > PLC控制

关于BCD码

S7-200手册上BCD码写最大十进制数是9999最大十六进制数也是9999,为什么呢,看不懂十六进制出现在这里是什么意思

问题补充:
bcd的9999换算成十六进制不是270F吗

图片说明:

关于BCD码49fb64c5805552dcf9743aDA31b1b1e1

最佳答案

BCD码的最大值是9999,因为一个字16个位,每四个为代表一个十进制的数;
1001100110011001:对应的就是9999,最大值
以上的二进制数,在十六进制里的表示也是16#9999,但是它十进制值不是9999,而是39321
一个字节的十六进制数最大值是:FFFF
补充问题里:
9999十进制转换为十六进制数是270F没有错,这里9999不是BCD码,而是十进制的一个数值;数据PLC都是以二进制的形式存储的,格式上的不同,它的所表示的数也不同,比如某个数据时以BCD码的格式存储的,那么你要显示成十进制,就要进行转换,否者数值是不对的。以系统时钟为例,读取后的时间值是以BCD码存储的,假如取今年的年份,那么这个字节对应的BCD码就是,00010101对应BCD码的值为15,但是系统显示的是十进制数,是21;所以要经过转化;
///我的理解是,BCD是一种数据的存储格式,这数据可以被用到别的数据场合,那么它表示的意思就不同了。

提问者对于答案的评价:
谢谢大家

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号