在之前的文章中我们用梯形图实现的数据化整处理,详细请查看100例PLC程序----数据的化整处理,本文中我们使用ST语言进行实现。
本篇介绍数据的化整处理三部曲:进位、舍弃、四舍五入。
一、整数的化整处理
1、化整处理之进位:个位数据大于1即进位(例如1-10进位处理后为10,11-19进位处理后为20以此类推)。要求:将D100的个位进行化整进位处理,并将处理后的数值放入D120中。
D120 := (D100 + 9) / 10 * 10 ;(*当D100 = 11时,(D100 + 9 ) / 10 * 10 = 20 / 10 * 10 = 2*10=20.当D100 = 9时,(D100 + 9 ) / 10 * 10 = 18 / 10 * 10 = 1*10=10.*)
2、化整处理之舍去:各位数据小于9即舍去(例如0-9舍去处理后为0,10-19舍去处理后为10以此类推)。要求:将D100的个位进行化整舍去处理,并将处理后的数值放入D120中。示例程序如下:
D120 := D100 / 10 * 10;(*当D100 = 11时,D100 / 10 * 10 = 11 / 10 * 10 = 1*10=10.当D100 = 9时,D100 / 10 * 10 = 9 / 10 * 10 = 0*10=10.*)
3、化整处理至四舍五入。要求:将D100的个位进行化整四舍五入处理,并将处理后的数值放入D120中。示例程序如下:
D120 := (D100 + 5) / 10 * 10;(*当D100 = 11时,(D100 + 5) / 10 * 10 = 16 / 10 * 10 = 1*10=10.*当D100 = 15时,(D100 + 5) / 10 * 10 = 20 / 10 * 10 = 2*10=10.*)
二、带小数点数字的的化整处理
1、化整处理之进位。要求:将D100的十分位进行化整进位处理,并将处理后的数值放入D120中。
FLT2INT(D100:E + 0.9,D120);(*当D100 = 1.4时,FLT2INT(D100:E + 0.9,D120) = FLT2INT(2.3) =2.当D100 = 3.1时,FLT2INT(D100:E + 0.9,D120) = FLT2INT(4.0) =4.*)
//等价于下述写法D120:=REAL_TO_INT(D100:E + 0.9)
2、化整处理之舍去.要求:将D100的十分位进行化整舍去处理,并将处理后的数值放入D120中。示例程序如下:
FLT2INT(D100:E,D120);(*当D100 = 1.2时,FLT2INT(D100:E + 0.5,D120) = FLT2INT(1.2) =1.当D100 = 2.6时,FLT2INT(D100:E + 0.5,D120) = FLT2INT(2.6) =2.*)
//等价于下述写法D120:=REAL_TO_INT(D100:E)
3、化整处理至四舍五入。要求:将D100的个位进行化整四舍五入处理,并将处理后的数值放入D120中。示例程序如下:
FLT2INT(D100:E + 0.5,D120);(*当D100 = 1.2时,FLT2INT(D100:E + 0.5,D120) = FLT2INT(1.7) =1.当D100 = 1.6时,FLT2INT(D100:E + 0.5,D120) = FLT2INT(2.1) =2.*)
//等价于下述写法D120:=REAL_TO_INT(D100:E + 0.5)
469
