ABS、SQRT、三角函数、取整……这一课把 ST 常用数学函数过一遍,并拿一个实例串起来。
ST 里可以直接调用数学函数。已知方形工件面积 19881 平方毫米,`side := SQRT(area);` 一行反算出边长 141。同样的事梯形图要画三条:先把整数转成浮点,再开方,最后转回整数。
对数在传感器量程切换里最常用。LOG 是以 10 为底:1000 得 3,100 得 2,每上一个十倍就加 1。`v := LOG(x);` 一行搞定,梯形图里同样是转浮点、取对数、转回来三步。
EXP 是指数函数,算 e 的几次方。EXP(2) 约等于 7.389,取整得 7。它和 LN 互为反函数:LN 算过再 EXP 回去,就回到原数。倍增衰减、复利计算都用它。
三角函数是重灾区:信捷的 SIN、COS、TAN 只认弧度,不认角度。2 弧度约 114.6 度,TAN(2) 约等于 -2.19,取整得 -2,负数也能正常转回来。你要是把 2 当成 2 度,算出来完全不是回事。
反过来求角度用 ATAN:输入两条边的比值,输出弧度。ATAN(1) 是 0.785 弧度,正好 45 度。注意输出还是弧度,想读角度得自己再乘 180 除圆周率。课程子集先取整,读数显示 1,小数在 D 对浮点里。
收尾来道经典题:已知直角三角形两条直角边 3 和 4,求斜边。`c := SQRT(a * a + b * b);` 一行,编译器排出乘、乘、加、转浮点、开方、转回来六连。ST 写算式,梯形图跑数据,各干各的活。