
首先,将输入的十进制数分解为个、十、百等位数。
每个数字都被转换成4位的二进制码,其中前3位表示该数字的值,第4位表示该数字是否有权重。例如,对于数字7,其表示为0111,而对于数字0,其表示为0000。
然后将每个二进制数字按照从高位到低位的顺序排列,形成一个整体的二进制数。
IBCD编码的优点是可以直接进行加减运算,而不需要进行二进制转换,因此可以提高PLC的运算速度和精确度。同时,它也比BCD(Binary Coded Decimal)编码更加节省存储空间,因为每个数字只需要4位二进制码即可表示。
西门子PLC300十六进制转换为实数的方法是使用指令BCD_I、I_DI、DI_R将十六进制逐级转换成实数。而十六进制转换为整数的方法是只需要输入BCD_I转换指令即可在输入阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应的单元内。输入结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。
回答这个问题前,您先要了解下BCD码的概念BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。
是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。
最常用的BCD编码,就是使用"0"至"9"这十个数值的二进码来表示。这种编码方式,在称之为“8421码”(日常所说的BCD码大都是指8421BCD码形式)。
除此以外,对应不同需求,各人亦开发了不同的编码方法,以适应不同的需求。这些编码,大致可以分成有权码和无权码两种:BCD码可分为有权码和无权码两类;有权BCD码有8421码、2421码、5421码,其中8421码是最常用的;无权BCD码有余3码、格雷码等。
现就最常用的‘8421 BCD码’说明8421 BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。
如下: 二进制编码 十进制数值
0000 ->0
0001 ->1
0010 ->2
0011 ->3
0100 ->4
0101 ->5
0110 ->6
0111 ->7
1000 ->8
1001 ->9
那好,BCD-I 转换的作用就是把左侧的二进制编码(也就是“二进制编码的十进制”)换成右侧的十进制数值:)
不知道这么说,您能看明白不?
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)