首页 理论教育 数制与码制变换的基本知识详解

数制与码制变换的基本知识详解

时间:2023-06-27 理论教育 版权反馈
【摘要】:二进制通常,PLC是对二进制数进行操作的,用二进制来表示变量或变化的码值。图5-7 二进制数据结构在FX系列PLC中,以十制数对定时器、计数器、数据寄存器的设定值进行指定,但是在PLC内部都是以二进制数进行处理的,而在外围设备进行监控时,则自动变换成十进制数。BCD码是利用4位二制数来表示十进制数0~9的表示方法。

数制与码制变换的基本知识详解

1.数制

(1)十进制

十进制以10为基数,具有10个独特的数字——数字0~9。有时为了与二进制数和十六进制数相区别,十进制数可以用一个括号加下脚标10注明,或在后边用大写的D表示。根据数学上计数的理论,N位计数制的数,可以按N(又称基数)的幂指数展开求和的方法求出其值。十进制数可按10的幂指数展开求和的方法表示。例如:

(98.36)10或98.36D或98.36=9×101+8×100+3×10-1+6×10-2

其中,某一位数乘10的几次方,要看这一位后面的整数部分有几位。如上面的数字9后面整数部分有1位,则这个9应乘10的1次方。

(2)二进制

通常,PLC是对二进制数进行操作的,用二进制来表示变量或变化的码值。二进制以数字2为基数,二进制数只有两个数码0和1,加法时逢二进一位。二进制数后可加一大写的B表示。例如:

(1011.011)2=1011.011B=1×23+0×22+1×21+1×20+0×2-1+1×2-2+1×2-3

=1×8+0×4+1×2+1×1+0×1/2+1×1/4+1×1/8

=11.375

二进制数的每个数字都称为一个位,在PLC中每个字能够以二进制数或位的形式存储数据。一个字所包括的位数取决于PLC系统的类型,16位和32位最常用。图5-7表示由2个字节组成的16位字,最低位(LSB)为代表最小值的数字,最高位(MSB)为代表最大值的数字,实际为符号位,为1时数为负,为0时数为正。

978-7-111-59091-0-Chapter05-7.jpg

图5-7 二进制数据结构

在FX系列PLC中,以十制数对定时器、计数器、数据寄存器的设定值进行指定,但是在PLC内部都是以二进制数进行处理的,而在外围设备进行监控时,则自动变换成十进制数。

(3)十六进制

由于一个数据的字由16个数据位或两个8位数据位组成,十六进制数有十六个数码:0~9和A、B、C、D、E、F,基数是16,加法时逢十六进一位。十六进制数后可加一个大写的H表示。例如:

(6E)16=6EH=6×161+14×160=110

在FX系列PLC中,十六进制数同十进制数一样,可用于指定应用指令的操作数与指定动作。

(4)八进制

八进制是以基数为8的数制,一个八进制数能够用三个二进制数表示。它通常用于微处理器、计算机和可编程系统,PLC用户或程序员可以利用其组成一个信息字节中的8个数据位并进行编址。PLC的输入和输出模块地址一般都是按八进制编址的。例如:

(596)8=5×82+9×81+6×80=398

(5)二、八、十、十六进制数对照

为了方便读者,现将二、八、十、十六进制数对照,见表5-1。

5-1 数制对照表

978-7-111-59091-0-Chapter05-8.jpg

2.码制

在PLC数据处理过程中还经常会用到各种代码系统,比如BCD码、ASCII码、格雷码等。(www.xing528.com)

(1)BCD码(Binary Code Decimal)

BCD码提供了一种处理需要从PLC输入或输出大数字的便利方法。BCD码是利用4位二制数来表示十进制数0~9的表示方法。在BCD码系统中,能够通过4位数显示的最大十进制数为9,表示方法如图5-8所示。

为了区分BCD码和二进制数,要加括号并用下脚标“BCD”表示它是一个BCD码,而不是原来意义上的“二进制数”了。

例如,86=(10000110)BCD,可以把这个代表十进制数86的BCD码(10000110)BCD记成十六进制形式“86H”,此时的86H已不是原来意义上的十六进制“数”了,而是十进制数86的BCD码,代表了十进制数86。

978-7-111-59091-0-Chapter05-9.jpg

图5-8 十进制数BCD码的表示形式

在PLC控制中,PLC的指轮开关和LED显示就是PLC设备利用BCD码的应用实例。

(2)ASCII码(American Standard Code For Information Interchange)

ASCII码是美国标准信息交换码。用7位二进制表示数字(阿拉伯数字0~9)、字母(26个大写字母和26个小写字母)、特殊字符(@、#、$、%等)、控制字符(NUL、STX等)、运算符号(+、-、×、/等)等128个字符的一种方法。ASCII码见表5-2,表5-2中特殊控制功能字符的解释见表5-3。

5-2 ASCII码表

978-7-111-59091-0-Chapter05-10.jpg

由表5-2我们可以算出各个字符的ASCII码,计算方法如图5-9所示。如0的ASCII码是“0”=30H,9的ASCII码是“9”=39H,还有“A”=41H、“ENQ”=05H等。

978-7-111-59091-0-Chapter05-11.jpg

图5-9 ASCII码计算方法

a)“9”的ASCII码计算方法 b)“A”的ASCII码计算方法

FX系列PLC产品通信时的数据交换是以ASCII码形式进行的,ASCII码还可用于PLC的CPU与字母数字键盘及打印机的连接。

5-35-2中特殊控制功能字符的解释

978-7-111-59091-0-Chapter05-12.jpg

(3)格雷码

格雷码是一种特殊的二进制码,它没有使用位加权,就是说每一位都没有一个确定的权值。通过格雷码可以只改变一个位,就从一个数变为下一个数。这在计数器电路中容易混乱,但在编码器电路中是非常合适的。例如,用绝对编码器作为位置变送器,可以用格雷码来确定角位置。格雷码和相应的二进制数比较见表5-4。

5-4 格雷码和相应的二进制数比较

978-7-111-59091-0-Chapter05-13.jpg

从表5-4中可看出,二进制数制中,改变单一的“数”最多需要改变4位数字,而格雷码只要改变一个位。例如,将二进制数0111改变成1000(十进制数7改变成8)需要改变所有4个数字,这种变化增加了在数字电路中出错的可能性。因此,格雷码是一种效率较高的编码。由于格雷码每次变换只需改变一个位,所以格雷码的转换速度比其他码制的速度要快,比如BCD码。

格雷码是一种适用于机器人运动、机床和伺服传动系统精确控制的位置编码。图5-10所示为利用4位格雷码的光学编码器来检测角位置的变化,图中,附在转轴上的编码器盘可确定转轴的位置,编码器盘输出一个数字格雷码信号。一组固定的光电二极管用于检测从编码器的径向一列单元的反射光,每个单元将输出一个对应于二进制数1或0的电压,这取决于光的反射量。因此,码盘上的每一列单元将产生一个不同的4位二进制数字。

978-7-111-59091-0-Chapter05-14.jpg

图5-10 格雷码在光学编码器上的应用

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈