丽江S7-1200PLC西门子代理商原装现货 丽江S7-1200PLC,西门子S7-1200plc,西门子PLC代理
S7-200转换指令中的BCD_I、I_BCD、B_I、I_B、I DI、DI_I、DI_R、ROUND、TRUNC只是数据形式间的转换,梯形图编程相似,如将BCD 数据(十进制数据)3456转换为整数(十六进制数据)的程序格式如图3-76所示。
指令编程时需要注意以下几点。
a.数据范围。当数据形式进行转换时,无论是被转换数据还是转换结果,都不能超过指令格式规定的范围,具体如下:
字节数据的字长为二进制8位,数据范围为0~255;
整数数据的字长为二进制16位(带符号),数据范围为-32768~32767;BCD数据的字长为二进制16位(带符号),数据范围为0000~9999;双整数的字长为二进制32位,数据范围为-2147483648~2147483647。例如:整数转换为字节的I B指令,整数取值范围不能超过255等。
b.符号位。当整数转换为双整数时,整数的*高位(bit15)符号位转换为双整数后被移到双整数的*高位(bit32),反之亦然。而字节数据、BCD数据均无符号位,不能使用带符号的数据。
c.小数的处理。整数、双整数为无小数点的数据,而浮点数可以带小数点。因此,当浮点数转换为整数或双整数时,必须对小数后的数据进行必要的处理。使用指令 ROUND,可以对小数位进行四舍五人处理;使用指令TRUNC,可以直接舍去小数位。
例如:执行ROUND指令后,数据123456.789将成为123457;执行ROUND指令后,数据123456.785讲成为123456。
相对来说,S7-300/400移位指令的功能没有S7-200强,它的特点如下。
a.S7-300/400只能进行整数I、双字长整数DI的右移,字或双字的左、右移动,双字的循环移动等共8种移位操作。
b.S7-300/400的移位只能通过累加器1进行,当存储器需要移位时,应首先将存储器的内容移动到累加器1中。
c.S7-300/400的移位操作只能对字、双字长的数据进行,不能用于字节。
d.对于整数1、双字长整数DI,只能进行右移操作,数据被移出后的"空位"自动连续补入符号位的状态(正数为“0”、负数为“1”)。
e.被移出的*后一位状态被保存在状态字的CC1位中。f.移位位数N可以采用如下两种方式指定。
(a)在指令中直接指定位数;
(b)如果在指令中未指定位数,以累加器2的低字节存储值作为移动位数。S7-300/400移位指令的梯形图编程格式如图3-75所示。