嵌入式
返回首页

BCD码在PLC中的应用与含义

2025-01-18 来源:elecfans

数字电路采用的基本数制是二进制,而人们熟悉和习惯使用的数制是十进制,因此有必要在二进制与十进制之间建立一种转换机制,以方便数字电路的解读和分析。


BCD码就是一种用二进制数表示十进制数的码制。

BCD是英文'Binary-Coded Decimal'的缩写,直译的意思是“二进制编码的十进制数”,这种编码的数制本质上是十进制。BCD码用4个二进制数表示一个十进制数,每一位允许的范围是2#0000~2#1001(注1),也就是十进制的0~9,采用“逢十进一”的规则。

fbf47db0-e687-11ee-a297-92fbcf53809c.jpg

fc03a63c-e687-11ee-a297-92fbcf53809c.png

BCD码是有符号的,用最高位来表示符号,“0”表示正数,“1”表示负数。对于一个四位的BCD码而言(16个二进制位),能表示的范围是 “-999~+999”。为什么呢?其实比较好理解,你想,最高位是符号位,那么就剩下了三位,由于每一位BCD码,其本质是十进制数,所以每一位最大的数都是9,所以三位数最大就是999,加上符号,所以四位BCD码能表示的十进制数的范围是 “-999~+999”。同样的道理,八位BCD码(32个二进制位)能表示的十进制数的范围是“-9999999~+9999999”。

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

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

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

fc078694-e687-11ee-a297-92fbcf53809c.png

PLC内部总是按HEX格式(十六进制)进行数据计算的,在驱动非智能的显示设备(如数码管)显示数据之前,往往需要将PLC内部的HEX格式数据先转换为BCD码,然后进行显示输出;将用户以十进制方式设置的参数存入PLC内存之前,则往往需要将该BCD码转换为十六进制(HEX)格式。

人们在电脑显示器上看到的十进制读数,都是经过了计算机自动作BCD转换后才显示的;监控时修改的参数,则是电脑软件作了HEX转换后写入的,无需人为干预而已。

fc0fb904-e687-11ee-a297-92fbcf53809c.jpg

BCD码可以有多种编码方式,例如8421码、5421码、2421码、余3码、格雷码等。

fc1c5038-e687-11ee-a297-92fbcf53809c.png

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

fc293712-e687-11ee-a297-92fbcf53809c.png

fc3797f8-e687-11ee-a297-92fbcf53809c.png

fc447a40-e687-11ee-a297-92fbcf53809c.png

以上是进制转换的手动计算方法,在我们实际应用中,一般都是使用转换工具的,微软自带的计算器,就带这个功能。下面给大家介绍一下微软自带的计算器如何进行数据类型转换:

Windows键+R,然后输入“calc”回车,就能打开系统自带的计算器。

fc4f9a1a-e687-11ee-a297-92fbcf53809c.png

点击左上角的查看,然后选择程序员模式,就能进行各个数进制之间的转换了。

fc5a1fa8-e687-11ee-a297-92fbcf53809c.png

*注释1:在PLC中,二进制数据通常以”2#”作为前缀,十六进制数据通常以”16#”作为前缀,十进制数据只需正常书写即可。


进入嵌入式查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • FollowMe 第二季:3 - EK_RA6M5 开发板入门

  • FollowMe 第二季: 1 Adafruit Circuit Playground Express及任务讲解

  • Azure RTOS step by step workshop

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • 从0到1:树莓派与物联网教程(英文)

精选电路图
  • 1瓦线性调频增强器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外遥控音量控制

  • LM317过压保护

  • 12V转110V/220V 500W逆变器

  • DS1669数字电位器

    相关电子头条文章