\ Outputs ^HouseLight = 7 \ A() = Control Variable with Assigned Aliases as Defined Var_Alias HouseLight On Hour = A(0) \ Default = 7 (07:00 Hours or 7AM) Var_Alias HouseLight On Min = A(1) \ Default = 0 (07:00 Hours or 7AM) Var_Alias HouseLight Off Hour = A(2) \ Default = 19 (19:00 Hours or 7PM) Var_Alias HouseLight Off Min = A(3) \ Default = 0 (19:00 Hours or 7PM) \ List Working Variables Here \ H = Hour (DOS Time) \ M = Minutes (DOS Time) \ S = Seconds (DOS Time) DIM A = 3 \****************************************************** \ S1 - Set Default Values \ HouseLight On Hour (7 or 07:00 Hours or 7AM) \ HouseLight On Min (0 or 07:00 Hours or 7AM) \ HouseLight Off Hour (19 or 19:00 Hours or 7PM) \ HouseLight Off Min (0 or 19:00 Hours or 7PM) \****************************************************** S.S.1, S1, 0.001": SET A(0) = 7, A(1) = 0, A(2) = 19, A(3) = 0 ---> S2 \*********************************************** \ HOUSE LIGHT CONTROL \*********************************************** S.S.4, S1, \ Check if HouseLight Should be Turned On #START: TIME H, M, S; IF A(2) >= A(0) [@CheckSeq1, @CheckSeq2] @Seq1: IF (H > A(0)) AND (H < A(2)) [@LightOn, @CheckMin] @LightOn: ON ^HouseLight ---> S2 @CheckMin: IF H = A(0) [@StartHr, @EndHr] @StartHr: IF M >= A(1) [@LightOn, @Wait] @LightOn: ON ^HouseLight ---> S2 @Wait: ---> S3 @EndHr: IF M < A(3) [@LightOn, @Wait] @LightOn: ON ^HouseLight ---> S2 @Wait: ---> S3 @Seq2: IF (H > A(0)) OR (H < A(2)) [@LightOn, @Wait] @LightOn: ON ^HouseLight ---> S2 @CheckMin: IF H = A(0) [@StartHr, @EndHr] @StartHr: IF M >= A(1) [@LightOn, @Wait] @LightOn: ON ^HouseLight ---> S2 @Wait: ---> S3 @EndHr: IF M < A(3) [@LightOn, @Wait] @LightOn: ON ^HouseLight ---> S2 @Wait: ---> S3 S2, \ Check if HouseLight Should be Turned Off 1": TIME H, M, S; IF S = 0 [@CheckHr, @Wait] @CheckHr: IF H = A(2) [@CheckMin, @Wait] @CheckMin: IF M = A(3) [@LightOff, @Wait] @LightOff: OFF ^HouseLight ---> S3 @Wait: ---> S2 @Wait: ---> S2 @Wait: ---> S2 S3, \ Check if HouseLight Should be Turned On 1": TIME H, M, S; IF S = 0 [@CheckHr, @Wait] @CheckHr: IF H = A(0) [@CheckMin, @Wait] @CheckMin: IF M = A(1) [@LightOn, @Wait] @LightOn: ON ^HouseLight ---> S2 @Wait: ---> S3 @Wait: ---> S3 @Wait: ---> S3