发布于 2010-11-17 14:01:25
11楼
我这里编了一个功能,你看一下,希望对你有所帮助
FUNCTION FC10 : VOID
VAR_TEMP
// Temporary Variables
END_VAR
VAR_INPUT
Time_Start: BOOL :=FALSE; //开始计时
Time_Reset: BOOL :=FALSE; // 复位计时
Time_SV: INT :=0; //设置计时的时间 ,单位为秒
END_VAR
VAR_IN_OUT
Time_Temp: INT :=0; // 计时借用的变量
END_VAR
VAR_OUTPUT
Time_OutPut :BOOL :=FALSE; // 计时完成时的输出
END_VAR
M200.7:= M0.7 AND NOT M0.0; // 假定 M0.7 是1秒的脉冲
M0.0:= M0.7 ;
IF Time_Start THEN
IF M200.7 THEN
Time_Temp:=Time_Temp+1;
END_IF;
IF Time_Temp > Time_SV THEN
Time_OutPut:=TRUE ;
ELSE
Time_OutPut:= FALSE;
END_IF;
ELSE
Time_Temp:=0;
END_IF;
IF Time_Reset THEN
Time_Temp:=0;
END_IF;
END_FUNCTION
every day is new day !