BCD码是二进制编码的十进制数的英语单词缩写,用4位二进制数表示一位十进制数。4位二进制数共有16种组合,有6种(1010~1111)没有在BCD码中使用。BCD码每位的数值范围为2#0000~2#1001,对应于十进制数0~9。
BCD码的最高4位二进制数用来表示符号,负数的最高位为1,正数为0,其余3位可以取0或1,一般取1。BCD码字(16位二进制数)的范围为-999~+999。BCD码双字(32位二进制数)的范围为-9 999 999~+9 999 999。BCD码各位之间的关系是逢十进一,图1中的BCD码为-862,图2是7位BCD码的格式。
图1 3位BCD码的格式
图2 7位BCD码的格式
拨码开关(见图3)的圆盘圆周面上有0~9这10个数字,用按钮来增、减各位要输入的数字。它用内部的硬件将10个数字转换为4位二进制数。plc用数字量输入点读取的多位拨码开关输出的值就是BCD码,需要用数据转换指令将它转换为整数或双整数。
用PLC的4个输出点给一片译码驱动芯片4547提供输入信号,可以用LED七段显示器显示一位十进制数。需要用数据转换指令,将PLC中的整数转换为BCD码,然后分别送给各个译码驱动芯片。
图3拨码开关
BCD码的表示方式与十六进制数相同,例如用数字量输入模块读取的图3中的拨码开关的数值为16#829。到底是BCD码还是十六进制数,取决于数据的来源或用途。BCD码主要用于PLC的输入和输出。