有个位移传感器装在气缸一侧用来检测气缸下压后的位移值。
功能是气缸下压后终位磁开亮后读取位移值判断下压有没有到位。
现在有个问题终位磁开亮后位移值是漂移的,自己的想法是磁开到位后取三个随机漂移值做个平均数
自己试过用“FOR BY DO”循环写但是写进去的值都是一模一样的并不是随机值,有没有大神指点一下。
FUNCTION_BLOCK FB200
VAR_TEMP
cycle:INT; // Temporary Variables
B:BOOL;
END_VAR
VAR
A:ARRAY [1..3]OF REAL; // Static Variables
END_VAR// Block Parameters
VAR_INPUT
IN:BOOL;
parameter:REAL; // Input Parameters
END_VAR
VAR_IN_OUT
// I/O Parameters
END_VAR
VAR_OUTPUT
OUT:BOOL;// Output Parameters
status:REAL;
END_VAR
begin
IF NOT IN THEN
FOR cycle:= 1 TO 3 BY 1 DO
A[cycle]:=parameter; // Statement Section
END_FOR;
ELSE
// Statement Section_ELSE
;
END_IF;
status:=(A[1]+A[2]+A[3])/3;
// Statement Section
;
END_FUNCTION_BLOCK