PLC中的BCD码

您所在的位置:网站首页 三菱plc时间怎么读取指令数据 PLC中的BCD码

PLC中的BCD码

2024-07-09 15:26| 来源: 网络整理| 查看: 265

一、二进码十进数

 

二进码十进数(英语:Binary-Coded Decimal,简称BCD)是一种十进制数编码的形式。

 

每个十进制数用一串二进制来表示。常见的有以4位表示1个十进制数字,称为压缩的BCD码(compressed or packed);或者以8位表示1个十进制数字,称为未压缩的BCD码(uncompressed or zoned)。

 

BCD码的主要优点:在机器格式与人可读的格式之间容易转换,以及十进制数值的高精度表示,经常用于会计系统中。

 

许多PLC将时钟的日期和时间以BCD码编码存储。对应IEC 61131-3标准中DATE_AND_TIME(DT)数据类型。

 

下面是一个简单易实现的使用LED来表示二进制值的二进制时钟。在此时钟中,LED的每一列显示时间的二进制编码十进制数。

 

 

BCD码格式很容易转换为ASCII来显示。ASCII字符0~9的数据字节的高四位为0011,低四位正好和0~9的BCD编码相同。

 

如十进制数1234的BCD码转换为ASCII

 

二、常用BCD编码方式

 

对应不同需求有不同的编码方法,大致可以分成有权码和无权码两种:

 

有权码,如:8421、2421、5421

无权码,如:余3码(Excess-3)、格雷码

 

8421码

 

8421码是最常用的一种BCD编码方式,又称为BCD码。

 

在这种编码方式中,每个十进制数字都由对应的四位二进制值表示,二进制值每一位的“1”都代表一个固定数值。将每位“1”所代表的十进制数加起来就可以得到它所代表的十进制数字。因为代码中从左至右看每一位“1”分别代表数字“8”“4”“2”“1”,故得名8421码。

 

每一位“1”代表的十进制数称为这一位的权。因为每位的权都是固定不变的,所以8421码是恒权码。

 

如十进制数1234的BCD码为0001 0010  0011 0100

 

 

三、不同PLC中BCD码

 

在西门子S7-300/400/1200/1500中,BCD16表示的十进制数范围为-999 到 +999。位 15为“0”,则符号为正,为“1”,则符号为负。位 12 至位 14不使用。

 

BCD32表示的十进制数范围为-9999999 到 +9999999。位 31为“0”,则符号为正,为“1”,则符号为负。位 28 至位 30不使用。

 

 

如下面把整数1000转换为BCD,不会得到正确结果

 

 

在西门子S7-200/200 SMART中,BCD表示的十进制数范围为0 到 9999。进行转换是要注意。

 

 

施耐德PLC中,如Unity Pro XL平台,BCD16表示的十进制数范围为0 到 9999。BCD32表示的十进制数范围为0 到 99999999。

 

三菱PLC中,如GX Works2平台,BCD16表示的十进制数范围为0 到 9999。BCD32表示的十进制数范围为0 到 99999999。

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3