快使用Ctrl+D收藏本站!本站早已不再维护,择期将关闭本站!!本站资源已全部失效,请勿打赏!!PLC培训创业官网 苏州实操派科技-点击访问-

汇川小型PLC梯形图编程系列教程(八):其他进制简介(八进制,十六进制,BCD码)

H123U π³朱子文 9163℃ 0评论

进制简介

上一篇博文,我们为大家详细的介绍了二进制数据 汇川小型PLC梯形图编程系列教程(七):数值存储与二进制数据知识详解 ,本篇博文将为大家详细介绍一下其他的数据进制,其中我们在PLC编程中用的比较多的是十进制和十六进制数据,BCD码一般用在数码管显示的用途中。

十进制

十进制数据就是我们人类使用的12345678910 11 12这样的数据,逢十进一。咱们上小学就开始学的数学,都是基于10进制的。十进制数据在编程中用的比较多。

十六进制

十六进制,逢十六进一。

十六进制(Hexadecimal)是计算机中数据的一种表示方法。同日常生活中的表示法不一样,它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;十六进制用hex表示

对于16位的数据,用十进制表示出来是500,用十六进制HEX:01F4,用二进制表示:1 1111 0100。每个十六进制位相当于4个二进制位。

十进制 十六进制 二进制
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
16 10 0001 0000
17 11 0001 0001
18 12 0001 0010
19 13 0001 0011
20 14 0001 0100

每一个十六进制位对应的4个二进制位,FF对应的二进制位就是1111 1111.

八进制

八进制数据用的稍微少一点,逢八进一。具体不详细说,和上面差不多,用的并不多

BCD码

最符合人们阅读习惯的数字格式是十进制,在人们监控或设置工作参数时,往往需要采用十进制格式进行数据显示,而计算机内部使用的是HEX格式,故需采用一种底层为每4个二进制位组成一个数字位,而每个数字位只能为十进制数的09,由此组成的数值,这种格式数字在存储器中的编码称为BCD(Binary-Coded Decimal)

PLC内部,原理上用4位二进制数代表1位十进制数,在每一位BCD码中,不存在HEX格式中的A~F。对于一个8bit宽度的寄存器单元,能存储的最大BCD数只能是99,因此将HEX格式转换为BCD码后,会占用更大的存储空间。

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

H1U/H2U系列PLC内部提供了HEXBCD两种格式相互转换的命令,在需要进行显示输出,或设置开关读取的时候,执行该格
式转换指令。

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

进制转换

一般都不要自己手动算,但是还是应该知道手动怎么算的。我们实际应用中都是使用转换工具的,微软自带的计算器,就带这个功能。下面给大家介绍一下微软自带的计算器如何进行数据类型转换:

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

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

二进制转十进制

二进制转十进制,使用上面的计算器很容易。下面简单说一下如何手动计算:

要将二进制数10110101换算为十进制数,则计算要复杂很多,最通用的方法可采用权重累加法,从最右边一位开始计算:
1位( bit0)为1时,权重为1 ,(即2^0),否则为0
2位( bit1)为1时,权重为2 ,(即2^1),否则为0
3位( bit2)为1时,权重为4 ,(即2^2),否则为0
4位( bit3)为1时,权重为8 ,(即2^3),否则为0
5位( bit4)为1时,权重为16,(即2^4),否则为0
6位( bit5)为1时,权重为32 ,(即2^5),否则为0
7位( bit6)为1时,权重为64 ,(即2^6),否则为0
8位( bit7)为1时,权重为128 ,(即2^7),否则为0; ……
对于本例子中,将“
10110101”转换为十进制数即为( 128+0+32+16+0+4+0+1=181

二进制转换十六进制

 二进制 十六进制
0000 0
0001 1
0010 2
0011 3
1011 B
1100 C
1101 D
1111 F

一般用多了,就记得表格中的数据了,都不用计算,口算就出来了。一般二进制转16进制,需要先将二进制转成10进制,十进制转成16进制,反正都很麻烦,我习惯用计算器等工具解决了。

十六进制转十进制

对于16bit转换为十进制,如本例中的“ B5”,也采用十六进制的权重累加法,从最右边一位开始计算:
1HEX数的权重为1 ,(即160),即该位的实际值×1
2HEX数的权重为16 ,(即161),即该位的实际值×16
3HEX数的权重为256 ,(即162),即该位的实际值×256
4HEX数的权重为4096 ,(即163),即该位的实际值×4096;…..
对于本例子中,将“ B5”转换为十进制数即为( B×165×1=11×165)=181

关注本站微信公众号,可以更方便的获得更多资源资料

燕骏工控博客[环宇工控博客]–www.yanjuntech.cn 专注于工业自动化领域,分享工控相关经验与教程,分享收集的百度云盘工控资料资源,记录个人生活读书感悟。期待与您相遇~~

 

 

 

 

转载请注明:燕骏博客 » 汇川小型PLC梯形图编程系列教程(八):其他进制简介(八进制,十六进制,BCD码)

赞赏作者

微信赞赏支付宝赞赏

喜欢 (1)or分享 (0)

如果您喜欢本站文章,感觉本站的资源对您有帮助,请狠狠点击下面

每累计赞助40元,即可让本站按最低配置运行一个月,感谢您的支持!

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址