下图可见PGNO_TYPE为1,所以上级控制系统是以二进制形式发送程序号,1 0 0 0 1 1 0,转化十进制为70
PGNO 程序号,十进制
PGNO_TYPE,程序号类型,值为1时,plc以二进制形式发送程序号 ,值为2时,Plc以bcd码形式发送程序号
PGNO_LENGTH,程序号宽度,它的值决定plc发送程序号的位数 1-16
PGNO_FBIT,程序号起始位 1-4096
程序号宽度为1个byte,8个Bit,out1-out8
数据的高位与低位区分,例如十进制 123456 当中1为高位,6为低位,也可以说123为高位,456为低位,即左高右低,二进制一样,也是右边为低位
车型 | 二进制 | 十进制 |
---|---|---|
B19S单排 | 1 1 1 1 0 1 | 61 |
B19S排半 | 1 1 1 1 1 0 | 62 |
B19L单排 | 1 1 1 1 1 1 | 63 |
B19L单排E | 1 0 0 0 0 0 0 | 64 |
B19L排半 | 1 0 0 0 0 0 1 | 65 |
由于西门子plc的数据存储方式,是高位低存,即高八位存在低字节内,低八位存在高字节内,所以机器人输入输出里,二进制程序号应从out7往out1读取,下图二进制值为 1 0 0 0 1 1 0 (十进制为70)
以程序号,1 0 0 0 1 1 0,为例,该二进制数左边为高位,右边为低位,转换十进制之前,要知道每一位的位权,位越高权越重,右边***位的位权是2的0次方,第二位2的1次方,依次2的平方,2的3次方,到2的8次方
转换时,用二进制数的每一位,乘以的它的位权,然后相加,得到的值即十进制数 1000110=64+4+2=70