1。二进制数
s7-200数据类型都是以二进制形式储存,在编程软件中可以使用不同的数制,进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
(1)用1位二进制数表示数字量
进制数的1位(bit)只能取0和1这两个不同的值,可以用一个二进制位来表示开关量(或称数字量)的两种不同的状态,例如触点的断开和接通,线圈的通电和断电等。如果该位为1,梯形图中对应的位编程元件(例如M和Q)的线圈“通电”,其常开触点接通常闭触点断开,以后称该编程元件为1状态,或称该编程元件为ON(接通)。如果该位为0,对应的编程元件的线圈和触点的状态与上述的相反,称该编程元件为0状态,或称该编程元件为OFF(断开)。位数据的数据类型为BOOL(布尔)型(2)多位二进制数
位二进制数用来表示大于1的数字,二进制数遵循逢2进1的运算规则,每一位都有个固定的权值,从右往左的第n位(*低位为第0位)的权值为2,第3位至第0位的权值分别为8、4、2、1,所以二进制数又称为8421码S7-200用2#来表示二进制常数。16位二进制数2#0000010010000110对应的十进制数
(3)有符号数的表示方法
PLC用二进制补码来表示有符号数,其*高位为符号位,*高位为0时为正数,为1时为负数。正数的补码是它本身,*大的16位二进制正数为2#01111111111111l,对应的十制数为32767
将正数的补码逐位取反(0变为1,1变为0)后加1,得到绝对值与它相同的负数的补码。例如将158对应的补码2#0000010010000110逐位取反后,得到2#111110110111
1001,加1后得到-1158的补码111l10l101111010
将负数的补码的各位取反后加1,得到它的绝对值对应的正数。例如将-1158的补码2#11ll10110l111010逐位取反后得到2#000010010000101,加1后得到1158的补码2#0000010010000110。表3-1给出了不同进制的数的表示方法。常数的取值范围见表3-2
十进制 | 十六机制 | 二进制 | BCD码 | 十六进制数 | 二进制数 | 十六机制 | 二进制 |
0 | 0 | 00000 | 0000 0000 | 9 | 9 | 01001 | 0000 1001 |
1 | 1 | 00001 | 0000 0001 | 10 | A | 01010 | 0001 0000 |
2 | 2 | 00010 | 0000 0010 | 11 | B | 01011 | 0001 0001 |
3 | 3 | 00011 | 0000 0011 | 12 | C | 01100 | 0001 0010 |
4 | 4 | 00100 | 0000 0100 | 13 | D | 01101 | 0001 0011 |
5 | 5 | 00101 | 0000 0101 | 14 | E | 01110 | 0001 0100 |
6 | 6 | 00111 | 0000 0110 | 15 | F | 01111 | 0001 0110 |
7 | 7 | 01000 | 0000 1000 | 17 | 11 | 10001 | 0001 0111 |
在PLC中有运用2进制,8进制,10进制,16进制,2-10进制(BCD)等,需要掌握2-8进制的转化,2-8时,将2进制数从后想起,每3个分成一组,每组分别化为8进制,1110111-1110111-167 8-2时,将8进制数每位分开,然后每位化成2进制,组合起来。如157-11011111101111 2-16进制转化,216时,将2进制数从后想起,每4个分成一组,每组分别化为16进制,如1011111-1011111-5F 16-2时,将16进制数每位分开,然后每位化成2进制,组合起来。如47-010001111000111 在FX系列PLC中X,Y采用的是8进制,即X0-X7,X10X17,Y0-Y7.........不存在X8.其他的 在A,Q系列PLC中X,Y采用16进制,即X0XF,X10-X1F,Y0YF,工业发展plc技术将成为主流