欧姆龙CP1H型PLC编程与应用
上QQ阅读APP看书,第一时间看更新

1.1 BIN数、十六进制数和BCD数

1.1.1 BIN数

BIN数即为二进制数,它是一种由1、0组成的数据,PLC的指令只能处理二进制数。

1.二进制数的特点

二进制数有以下两个特点:

1)有两个数码:0和1。任何一个二进制数都可以由这两个数码组成。

2)遵循“逢二进一”的计数原则。

2.二进制数转十进制数

二进制数转换成十进制数可采用以下表达式:

二进制数=an-1×2n-1+an-2×2n-2+…+a0×20+a-1×2-1+…+a-m×16-m=十进制数式中,mn为正整数。

例1 将二进制数11101.01转换成十进制数。

11011.01B=1×24+1×23+1×22+0×21+1×20+0×2-1+1×2-2=29.75

3.十进制数转二进制数

十进制数转换成二进制数的方法是:采用除2取余数,十进制数依次除2,并依次记下余数,一直除到商数为0,最后把全部余数按相反次序排列就能得到二进制数。

例2 将十进制数27转换成二进制数。

即十进制数27转换成二进制数11011B,其中B表示当前数据为二进制数。

1.1.2 十六进制数

1.十六进制数的特点

十六进制数有以下两个特点:

1)有16个数码:0、1、2、3、4、5、7、8、9、A、B、C、D、E、F,这里A、B、C、D、E、F分别代表十进制的10、11、12、13、14、15。

2)遵循“逢十六进一”的计数原则。

2.十六进制数转十进制数

十六进制数转换成十进制数可采用以下表达式:

十六进制数=an-1×16n-1+an-2×16n-2+…+a0×160+a-1×16-1+…+a-m×16-m=十进制数式中,mn为正整数。

例3 将十六进制数3A4.8转换成十进制数。

3A4.8H=3×162+10×161+4×160+8×16-1=768+160+4+0.5=932.5

3.二进制数转十六进制数

二进制数转换成十六进制数的方法是:从二进制数小数点开始,分别向左、右按四位分组,最后不满四位的需要补零,将每组按权展开求和即为对应的一位十六进制数。

例4 将二进制数1011000110.111101转换成十六进制数。

注意:十六进制的16个数码为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,它们分别与二进制数0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、1111相对应。

4.十六进制数转二进制数

反过来逆进行,十六进制数转换成二进制数的方法是:从左到右将需要转换的十六进制数中的每个数依次用四位二进制数表示。

例5 将十六进制数13AB.6D转换成二进制数。

1.1.3 BCD数

BCD(Binary-Coded Decimal)是二进制编码的十进制数的缩写,是采用四位二进制数表示一位十进制数(0~9)而得到的数,BCD数0000、0001、0010、0011、0100、0101、0110、0111、1000、1001分别表示十进制数0、1、2、3、4、5、6、7、8、9。BCD数中1、0的个数必须是4的整数倍,且不允许1010、1011、1100、1101、1110、1111六个数字。

1.十进制数转换成BCD数

十进制数转换成BCD数的方法是:从左到右将待转十进制数中的每个数依次用四位二进制数表示。

例6 将十进制数12.7转换成BCD数。

2.BCD数转换成十进制数

BCD数转换成十进制数的方法是:从小数点起向左、右按四位分组,不足补零,每组以其对应的十进制数代替即可。

例7 将BCD数00110101.0100转换为十进制数。

可用最高位二进制数表示BCD数的符号位,负数的符号位为1,正数为0。16位BCD码的范围为-999~+999。