Horloge système Passage en heure ETE/HIVER

Vous pouvez télécharger divers logiciels de programmation, demos, logiciels de supervision industrielle
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Horloge système Passage en heure ETE/HIVER

Message 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;
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
MATT
Code sa première boucle
Code sa première boucle
Messages : 12
Inscription : 18 avr. 2016, 21:24
Localisation : Charente

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

Message par MATT »

J'ai essayer ca fonctionne parfaitement!
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!
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

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

Message par itasoft »

slts,
yes
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
MATT
Code sa première boucle
Code sa première boucle
Messages : 12
Inscription : 18 avr. 2016, 21:24
Localisation : Charente

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

Message par MATT »

C'est un bon algorithme
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!
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

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

Message par itasoft »

slts,
disons que je suis surtout ancien, LOL
BTS+25 ans anciennetté
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
Mantysse
Créateur de langage
Créateur de langage
Messages : 749
Inscription : 20 oct. 2015, 08:17
Localisation : MiP

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

Message par Mantysse »

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!
Répondre