quote:以下是引用emil128在2012-10-15 09:19:00的发言:
楼主的理解有误
二进制数是数制,而BCD是一种二进制的数字编码形式。
西门子定时器使用的8421BCD码,其实就是以4位二进制数表示一个十进制数。
换句话说4位的BCD码最多只能表示0-9十个数,而非0-F的16个数。
举个例子吧
十进制数5的二进制表示是0101(16#05),用BCD码表示也是0101,看起来就是二进制数嘛?!
但是
十进制数11的二进制表示是1011(16#0B),用BCD码怎么表示呢? 0001 0001 看出区别了吗?
S5T的格式里的后12位就是用BCD码表示的3个十进制数,最大999
原来是这么得到的最大数值是999,如果按西门子300的时基。二进制算法的话第十二位2的11次方2048,已经超过999.我一直搞不明白这999数值怎么来的原来是8421码得来的。今天算是明白了。