You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

63 lines
1.2 KiB

FUNCTION_BLOCK BS_RunTime
VAR_EXTERNAL
END_VAR
VAR_INPUT
Run :BOOL;
RunTimeSet :REAL;
RunTimeRST :BOOL;
RunTimeRec_In :REAL;
END_VAR
VAR_OUTPUT
RunTime :REAL;
END_VAR
VAR
Time_m :TON;
Time_RST :TON;
Cycle :BOOL;
Minute :REAL;
ini :BOOL;
Runtime_ini :REAL;
END_VAR
(*
20190907
1.0
20220210
1.1
使
*)
(**)
if ini=0 then
Runtime_ini:=RunTimeRec_In;
ini:=1;
end_if;
(**)
if RunTimeRST=0 then
time_m(in:=Cycle,pt:=t#60s);
Cycle:= not Time_m.q;
if Run then
if Time_m.q then
Minute:=Minute+1.0;
end_if;
end_if;
Runtime:=Minute/60.0+Runtime_ini;
end_if;
(*MinuteRunTimeSet*)
if RunTimeRST=1 then
Minute:=RunTimeSet*60.0;
end_if;
END_FUNCTION_BLOCK