水电电工知识
电工技术|BCD码写的最大十进制数是9999最大十六进制数也是9999
2016-02-15  浏览:29
水电之家讯:BCD码的最大值是9999,因为一个字16个位,每四个为代表一个十进制的数;

1001100110011001:对应的就是9999,最大值

以上的二进制数,在十六进制里的表示也是16#9999,但是它十进制值不是9999,而是39321

一个字节的十六进制数最大值是:FFFF

9999十进制转换为十六进制数是270F没有错,这里9999不是BCD码,而是十进制的一个数值;数据在plc都是以二进制的形式存储的,格式上的不同,它的所表示的数也不同,比如某个数据时以BCD码的格式存储的,那么你要显示成十进制,就要进行转换,否者数值是不对的。以系统时钟为例,读取后的时间值是以BCD码存储的,假如取今年的年份,那么这个字节对应的BCD码就是,00010101对应BCD码的值为15,但是系统显示的是十进制数,是21;所以要经过转化;

///我的理解是,BCD是一种数据的存储格式,这数据可以被用到别的数据场合,那么它表示的意思就不同了。 BCD码(Binary-Coded Decimal‎)是二进制编码的十进制数的缩写,BCD码用4位二进制数表示一位十进制数。BCD码各位的数值范围为2#0000~2#1001,对应于十进制数0~9。BCD码不能使用十六进制的A~F(2#1010~2#1111)这6个数字。BCD码本质上是十进制数,因此相邻两位逢十进一。

BCD码的最高位二进制数是符号位,负数的符号位为1,正数为0。16位BCD码的范围为–999~+999。

下图的拨码开关将显示的数字转换为4位二进制数。PLC用12个数字量输入点读取的是3位BCD码,它的值为2#1000 0010 1001,即十六进制数16#829。



BCD码没有单独的表示方法,而是借用了十六进制的表示方法,因此二者很容易混淆。

下图是S7-300/400的BCD码和整数的相互转换指令,可以看到在指令中BCD码均用十六进制的形式表示。



在程序中,怎么知道一个数字是BCD码还是十六进制数呢?

1)看数据的来源和用途。BCD码一般用于输入和输出,例如来自拨码开关的数据是BCD码,送给显示电梯楼层的译码器芯片的是BCD码。

2)看手册的规定,例如数据类型DATE_AND_TIME中的日期和时间值是BCD码,计数器的预设值PV和当前计数值CV_BCD为BCD码。

怎样监视BCD码?

在变量表和程序状态监控中,用十六进制格式监视BCD码。

怎样输入BCD码?

从上图可以看出,BCD码用十六进制格式输入,其最高位(符号位)为16#F(2#1111)。BCD码的低3位各位只能是0~9,如果是16#A~16#F则会出错。

计数器的预设值PV是0~999的BCD码,可以用格式为C#的常数(C#1~C#999)作为计数器的预设值。

下图用MW42提供计数器的预设值PV,如果用MOVE指令将十进制数348(对应的十六进制数为16#15C)传送给MW42,进入RUN模式时,操作系统将它转换为BCD码时出错(16#15C不是BCD码),不能切换到RUN模式。

输入预设值348时,应改为将C#348传送给MW42,它会自动地变为W#16#348,当然也可以直接输入16#348。没有必要用I_BCD指令将348转换为BCD码W#16#348后,再传送给MW42。

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 管材 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 BYBC.CN SYSTEM All Rights Reserved