Method 1 - Assumes a 1 second cycle
(* init timers to zero at warm start *)
Valve_Open_Timer = 0;
(* Open a Valve with a Pulse *)
Valve := 1;
Valve_Open_Timer = 1;
(* Pulse DO Timer -- if Timer is zero not active *)
IF Valve_Open_Timer <= DO_Time_Delay AND Valve_Open_Timer > 0 THEN
Valve_Open_Timer := Valve_Open_Timer + 1;
IF Valve_Open_Timer = DO_Time_Delay THEN
Valve := 0;
Valve_Open_Timer := 0;
END_IF;
END_IF;
Example 2 - use system DateTime (seconds since 1/1/1970)
(* Datetime is a udint (uin32) that reads the system clock 0.9.0 as an ISaGRAF I/O *)
(* INIT clock at start of cycle *)
StartCycleTime := DateTime;
(* Terminate clock at end of cycle *)
CycleTime := DateTime - StartCycleTime;
No comments:
Post a Comment