Page 1 sur 1

Horloge système Passage en heure ETE/HIVER

Posté : 14 févr. 2016, 15:27
par itasoft
Slts,
Met l’horloge du système à l’heure d’été le dernier Dimanche du mois de Mars
Met l’horloge du système à l’heure d’hiver le dernier Dimanche du mois de Octobre
Ci dessous les éléments pour faire un type FB dérivé sur Unity

cliquer dessus pour agrandir la photo
hiver0.JPG
(* FB THIVER Section Master *)

(* Heure d'été le dernier dimanche du mois de mars à 2h >> +1h *)
(* Heure d'hiver le dernier dimanche du mois de Octobre à 3h >> -1h *)

IF NOT Valid THEN
RETURN;
END_IF;

(* Passage à l'heure d'été de l'horloge automate *)
W0:=%SW50;
W1:=%SW51;
W2:=%SW52;
W3:=%SW53;
(* formule *)
W4:=31;
W6:=3;
W7:=BCD_TO_INT(W3);
W8:=(14-W6)/12;
W9:=W7-W8;
W10:=W6+12*W8-2;
(* Cherche le jour du dernier dimanche du mois de Mars *)
WHILE MOD(W4+W9+W9/4-W9/100+W9/400+31*W10/12,7)>0 DO
W4:=W4-1;
END_WHILE;
(* Le W4 Mars à 2h *)
W11:=16#0200;
W12:=16#0300+INT_TO_BCD(W4);
(* TOP passage à l'heure d'été *)
M1:=(W1=W11) AND (W2=W12) AND W4>0 AND NOT M1m;
(* MISE API A L'HEURE D'ETE +1h *)
IF M1 THEN
W1:=W1+16#0100;
DateAndTime[0]:=W0;
DateAndTime[1]:=W1;
DateAndTime[2]:=W2;
DateAndTime[3]:=W3;
DATE_TIME:=ARINT_TO_DT(DateAndTime);
WRTC_DT(DATE_TIME);
END_IF;

(* Passage à l'heure d'hiver de l'horloge automate *)
W0:=%SW50;
W1:=%SW51;
W2:=%SW52;
W3:=%SW53;
(* formule *)
W5:=31;
W6:=10;
W7:=BCD_TO_INT(W3);
W8:=(14-W6)/12;
W9:=W7-W8;
W10:=W6+12*W8-2;
(* Cherche le jour du dernier dimanche du mois de Octobre *)
WHILE MOD(W5+W9+W9/4-W9/100+W9/400+31*W10/12,7)>0 DO
W5:=W5-1;
END_WHILE;
(* Le W5 Octobre à 3h *)
W11:=16#0300;
W12:=16#1000+INT_TO_BCD(W5);
(* TOP passage à l'heure d'été *)
M2:=(W1=W11) AND (W2=W12) AND W5>0 AND NOT M2m;
(* MISE API A L'HEURE D'ETE +1h *)
IF M2 THEN
W1:=W1-16#0100;
DateAndTime[0]:=W0;
DateAndTime[1]:=W1;
DateAndTime[2]:=W2;
DateAndTime[3]:=W3;
DATE_TIME:=ARINT_TO_DT(DateAndTime);
WRTC_DT(DATE_TIME);
END_IF;

M1m:=M1;
M2m:=M2;

Re: Horloge système Passage en heure ETE/HIVER

Posté : 19 avr. 2016, 20:41
par MATT
J'ai essayer ca fonctionne parfaitement!
C'est toi qui la créer?

Re: Horloge système Passage en heure ETE/HIVER

Posté : 20 avr. 2016, 11:34
par itasoft
slts,
yes

Re: Horloge système Passage en heure ETE/HIVER

Posté : 20 avr. 2016, 22:03
par MATT
C'est un bon algorithme
Félicitation, tu as quoi comme niveau diplôme et ancienneté?

Re: Horloge système Passage en heure ETE/HIVER

Posté : 21 avr. 2016, 01:20
par itasoft
slts,
disons que je suis surtout ancien, LOL
BTS+25 ans anciennetté

Re: Horloge système Passage en heure ETE/HIVER

Posté : 21 avr. 2016, 13:06
par Mantysse
Ita' c'est notre support Chorus a nous ;)