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
(* 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;
Horloge système Passage en heure ETE/HIVER
- itasoft
- Mi homme - Mi automate
- Messages : 7035
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Horloge système Passage en heure ETE/HIVER
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- MATT
- Code sa première boucle
- Messages : 12
- Inscription : 18 avr. 2016, 21:24
- Localisation : Charente
Re: Horloge système Passage en heure ETE/HIVER
J'ai essayer ca fonctionne parfaitement!
C'est toi qui la créer?
C'est toi qui la créer?
L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
- itasoft
- Mi homme - Mi automate
- Messages : 7035
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Horloge système Passage en heure ETE/HIVER
slts,
yes
yes
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- MATT
- Code sa première boucle
- Messages : 12
- Inscription : 18 avr. 2016, 21:24
- Localisation : Charente
Re: Horloge système Passage en heure ETE/HIVER
C'est un bon algorithme
Félicitation, tu as quoi comme niveau diplôme et ancienneté?
Félicitation, tu as quoi comme niveau diplôme et ancienneté?
L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
- itasoft
- Mi homme - Mi automate
- Messages : 7035
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Horloge système Passage en heure ETE/HIVER
slts,
disons que je suis surtout ancien, LOL
BTS+25 ans anciennetté
disons que je suis surtout ancien, LOL
BTS+25 ans anciennetté
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Horloge système Passage en heure ETE/HIVER
Ita' c'est notre support Chorus a nous
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément." Nicolas Boileau
L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!