|
二进制编码的十进制数(BCD码),是一种二进制编码(通常用4或8位来表示)。对我们人类来讲,需要在我们的“寄存器”中累加每位,将它们转换为十进制数,这是上帝赋予人类的编程思考方式。
早在使用触摸屏之前,7段显示器和指轮开关就被用作人和plc之间的数字接口。甚至更早,在使用PLC之前,这些设备也是与电路之间实现数字接口的唯一图形化设备。用户可以像在ENIAC(第一电子通用计算机)一样,移动短接片,但利用这些设备,更容易查看和调整十进制数。问题是,它们是输入/输出(I/O)密集型的。每个指轮段需要4个输入(+电源),而每个7段显示器则需要4个输出(+2个电源连接)。然而,与使用按钮和指示灯相比,它更容易与十进制数中带符号或无符号整数连接。
最常见的抱怨来自于数学方面;每个数据类型都必须显式声明,如果数据类型不匹配,则必须对其进行转换。不仅如此,标准计时器和计数器类型还需将BCD纳入到它们的数据结构。这是因为这些数据结构,可以追溯到人们需要处理诸如指轮和7段显示器的时代。事实上,计时器设定值,仍然需要输入“S5T # 3S”来完成3秒钟的设定。定时器使用3位BCD来表征数字(12位),还需要2位BCD来表征时基。对计数器也是如此,这意味着它们的计数范围只能从-999到+999。
每一个4位区段可以代表0000到1001的数值;下一个值,不是从1010(有符号或无符号十进制的“10”或十六进制中的“A”)开始,而是直接跳到下一区段的位。这意味着最后6个位组合(A-F)实际上被浪费了——这在BCD结构中是不可能的。
在许多较新的触摸屏中,仍然使用BCD结构或基础,但大多数程序员更倾向于选择整数基来表示十进制数。BCD有点像DOS;工程学校仍然在利用它,但是人们真的不知道它是从哪里来的。参考旧指轮和7段显示,可能有助于澄清某些神秘事项和选择BCD的原因。
|
|