Horloge système Passage en heure ETE/HIVER

Vous pouvez télécharger divers logiciels de programmation, demos, logiciels de supervision industrielle
Répondre
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7086
Enregistré le : 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 du membre
MATT
Code sa première boucle
Code sa première boucle
Messages : 12
Enregistré le : 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 du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7086
Enregistré le : 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 du membre
MATT
Code sa première boucle
Code sa première boucle
Messages : 12
Enregistré le : 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 du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7086
Enregistré le : 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 du membre
Mantysse
Dieu du process
Dieu du process
Messages : 752
Enregistré le : 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