可编程序控制系统设计技术(FX系列)
上QQ阅读APP看书,第一时间看更新

1.2 数制与数制转换

1.2.1 数制

1.十进制数(Decimal number,D)

十进制系统是以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就相当于9乘10的1次方。

在FX系列PLC中,用十制数表示的有下列地方:

1)定时器、计数器的设定值;

2)辅助继电器M、状态寄存器S、数据寄存器(T、C、D)的编号;

3)指定应用指令的操作数与指定动作;

4)特殊功能模块的编号和缓冲寄存器(BFM)的编号。

2.二进制数(Binary number,B)

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

978-7-111-38174-7-Chapter01-3.jpg

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

978-7-111-38174-7-Chapter01-4.jpg

图1-3 二进制数据结构

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

3.十六进制数(Hexadecimal number,H)

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

978-7-111-38174-7-Chapter01-5.jpg

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

4.八进制数(Octal number,O)

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

978-7-111-38174-7-Chapter01-6.jpg

一般PLC的输入和输出模块地址都是按八进制编址的。

5.二、八、十与十六进制数对照

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

表1-1 数制系统对照表

978-7-111-38174-7-Chapter01-7.jpg

6.浮点数

浮点数是属于有理数中某特定子集的数的数字表示方法,在计算机中,用以近似表示任意某个实数。具体地说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。

浮点计算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。

1.2.2 各种进制间的转换

在PLC运算时,经常用到各种数制进行转换,监控程序运行工况等。为此,以下讲述各种进制转换的方法。

1.二进制数与十六进制数

(1)二进制数→十六进制数 整数部分:将二进制数从最低位(小数点左边第1位)开始,向左数,每4位二进制数转换为一位十六进制数。例:978-7-111-38174-7-Chapter01-8.jpg(最高位不够4位的前面补零凑够4位)。

例:(01110001101.1100001)=38D.C2H(小数部分向右数,每4位一组转换为1位十六进制数,最低位不够4位的后面补零凑够4位)。

(2)十六进制数→二进制数 将每1位十六进制数转换为4位二进制数。

978-7-111-38174-7-Chapter01-9.jpg

由于二进制数与十六进制数之间的转换方法很简单,所以经常用十六进制数去表示二进制数。一个二进制数与它的十六进制数是一一对应的,这些十六进制数,进入计算机内后,统统都会变成二进制数(实际是变成晶体管集电极电平的“高低”不同状态)。

(3)二进制数、十六进制数→十进制数

例:978-7-111-38174-7-Chapter01-10.jpg978-7-111-38174-7-Chapter01-11.jpg。这些数据很有用,最好能记住。

(4)十进制数→二进制数

方法一:整数部分用除2取余法:79=1001111

978-7-111-38174-7-Chapter01-12.jpg

方法二:按某十进制数包含哪些2的幂指数,心算可一步将该十进制数直接写成二进制数:从高位到低位,含有2的幂指数的位写1,没有的位写0。

978-7-111-38174-7-Chapter01-13.jpg

978-7-111-38174-7-Chapter01-14.jpg

(5)十进制数→十六进制数

方法一:按十→二→十六进行

978-7-111-38174-7-Chapter01-15.jpg

方法二:除16取余法。

例:2012=7DCH

978-7-111-38174-7-Chapter01-16.jpg