打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【极课工控】小型PLC教程之2.3其他进制简介(8进,16进制,BCD码)
上一篇教程,我们为大家介绍了二进制数据 【极课工控】小型PLC系列教程之2.2数值存储与二进制.. 。
位数少的CPU,并非不能处理大的数值,只不过需要多次运算,有时还需要编程人员熟悉算法。就像大车一次可以搬运的货物,用小车就需要往返多次才能搬完,车越小,需要的次数越多,耗时也越多。
H1U/H2U系列PLC元件中,常用的数据宽度是1Word(即16bit);部分计数器为2Word(32bit)。对于16bit的无符号数据,用2进制表示的最大值为1111,1111,1111,1111,换算为十进制就是65,535。
本篇博文将为大家详细介绍一下其他的数据进制,其中我们在PLC编程中用的比较多的是十进制和十六进制数据,BCD码一般用在数码管显示的用途中。
十进制
十进制数据就是我们人类使用的12345678910 11 12这样的数据,逢十进一。咱们上小学就开始学的数学,都是基于10进制的。十进制数据在编程中用的比较多。
小型PLC中十进制数据用K开头标识,如:
MOV K20 D200 将20这个十进制数据赋值给D200数据寄存器
十六进制
十六进制,逢十六进一。
十六进制(Hexadecimal)是计算机中数据的一种表示方法。同日常生活中的表示法不一样,它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;十六进制用hex表示。
在小型PLC中十六进制前缀是 H,如下梯形图程序:
MOV HA D100 将十六进制数据 A(也就是十进制的10)赋值给D100寄存器
对于十进制500而言,用十进制表示出来是500,用十六进制表示是HEX: 01F4,用二进制表示:1 1111 0100。
每个十六进制位相当于4个二进制位:
十进制十六进制二进制
000000
110001
220010
330011
440100
550101
660110
770111
881000
991001
10A1010
11B1011
12C1100
13D1101
14E1110
15F1111
16100001 0000
17110001 0001
18120001 0010
19130001 0011
20140001 0100
每一个十六进制位对应的4个二进制位,FF对应的二进制位就是1111 1111.
八进制:
八进制数据用的稍微少一点,逢八进一。具体不详细说,和上面差不多,用的并不多
BCD码(数码管显示-摘自手册P20)
最符合人们阅读习惯的数字格式是十进制,在人们监控或设置工作参数时,往往需要采用十进制格式进行数据显示,而计算机内部使用的是HEX格式,故需采用一种底层为每4个二进制位组成一个数字位,而每个数字位只能为十进制数的0~9,由此组成的数值,这种格式数字在存储器中的编码称为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内部提供了HEX与BCD两种格式相互转换的命令,在需要进行显示输出,或设置开关读取的时候,执行该格
式转换指令。
人们在电脑显示器上看到的十进制读数,都是经过了计算机自动作BCD转换后才显示的;监控时修改的参数,则是电脑软件作了HEX转换后写入的,无需人为干预而已。
进制转换
一般都不要自己手动算,但是还是应该知道手动怎么算的。我们实际应用中都是使用转换工具的,微软自带的计算器,就带这个功能。下面给大家介绍一下微软自带的计算器如何进行数据类型转换:
Windows键+R,然后输入“calc”回车,就能打开系统自带的计算器。
点击左上角的查看,然后选择程序员模式,就能进行各个数进制之间的转换了。
可以自行选择各种数据进制进行尝试:
要将(无符号)二进制数10110101换算为十进制数,则计算要复杂很多,一般这么算:
bit7bit6bit5bit4bit3bit2bit1bit0
10110101
2^72^62^52^42^32^22^12^0
1乘2^7 + 0乘2^6 + 1乘2^5 + 1乘2^4 + 0乘2^3+1乘2^2+0乘2^1 + 1乘2^0 = 181(无符号类型的算法)
如果有符号类型,最高位表示的是符号位,算法和这个不一样,还要考虑补码,反码特别麻烦。。。
数据转换手算方法在手册P21上有详细讲解
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
BCD码、十六进制与十进制互转
S7-200系统中的数据及其格式
PLC中的数据形式归纳
单片机入门之三种进制的转换 – 瑞生网
PLC中常用数制及如何转换
PLC编程基础——进制介绍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服