Page 1 sur 1

Mise à l'heure

Publié : 12 févr. 2016, 11:36
par Francisco
Bonjour à tous.

l'un d'entre vous aurait-il développé un bloc fonction pour TSX37 qui modifierait l'heure système sur une entrée ou autre commande binaire pour passer en heure d'hiver ou d'été?

1 heure d'été = +1h
0 heure d'hiver = -1h

Bon WE

Re: Mise à l'heure

Publié : 12 févr. 2016, 22:42
par itasoft
slts,
ya pas de bloc fonction DFB sur le TSX37

Principe:
-Passage à l'heure d’été c'est le dernier dimanche du mois de Mars à 2H
-Passage à l'heure d’hiver c'est le dernier dimanche du mois de Octobre à 3H

Tu veux écrire un programme qui met automatiquement l'horloge de l'automate:
à l'heure d'été le dernier dimanche du mois de Mars à 2H
et à l'heure d'hiver le dernier dimanche du mois de Octobre à 3H

Sinon si c'est sur un ordre extérieur, il faut juste ajouter ou soustraire 1h à l'heure courante et l'écrire , ou alors j'ai pas compris la question.
EX:
RRTC(%MW0:4);
%MW1:=%MW1+16#0100; ou %MW1:=%MW1-16#0100;
WRTC(%MW0:4);

Re: Mise à l'heure

Publié : 15 févr. 2016, 14:47
par Francisco
Salut Itasoft.

Si on applique ton principe via une entrée TOR, je pense qu'il faut utiliser un front pour ne le faire qu'une seule fois.

Dans ces conditions, la mise sous tension de l'automate ne provoquerait-elle pas un front si l'entrée est à 1?

Re: Mise à l'heure

Publié : 15 févr. 2016, 18:11
par itasoft
slts,
tu reçois l'ordre sur une entrée ?
Entrée à 1 = On est en période d'été
Entrée à 0 = On est en période d'hiver
c'est ça ?

Re: Mise à l'heure

Publié : 15 févr. 2016, 18:30
par Francisco
Oui

Re: Mise à l'heure

Publié : 15 févr. 2016, 18:48
par itasoft
slts,
il faudrait faire un système de verrouillage, et conditionner sur une reprise secteur
par exemple:


(*
Conditions pour autoriser le changement d'heure
Si pas Init, ni retour secteur ni RUN
*)

%M0:=NOT %S0 AND NOT %S1 AND NOT %S13;


(* MISE A L'HEURE D'ETE *)
IF %I1.0 AND %M0 AND NOT %M1 THEN
RRTC(%MW0:4);
%MW1:=%MW1+16#0100;
WRTC(%MW0:4);
(* mémoire heure d'été *)
SET %M1;
(* Raz mémoire heure d'hiver *)
RESET %M2;
END_IF;

(* MISE A L'HEURE D'HIVER *)
IF NOT %I1.0 AND %M0 AND NOT %M2 THEN
RRTC(%MW0:4);
%MW1:=%MW1-16#0100;
WRTC(%MW0:4);
(* mémoire heure d'hiver *)
SET %M2;
(* Raz mémoire heure d'été *)
RESET %M1;
END_IF;

Re: Mise à l'heure

Publié : 15 févr. 2016, 19:07
par Francisco
Je vais faire une condition avec %S13, ça devrait le faire.

Je ne suis pas au taquet avec Schneider, comme tu l'auras remarqué. J'utilise plus Omron, qui fournissent un tas de morceaux de codes sympas pour ce genre de situation. Genre changement d'heure automatique, gestion des communications ... Vaut mieux ne pas ouvrir certains fb, ça fait peur.

Re: Mise à l'heure

Publié : 15 févr. 2016, 19:53
par itasoft
slts,
%S13 c'est quand on fait un RUN sur l'automate,
ça géné pas la coupure secteur et l'int, il faut mettre les 3 comme dans l'exemple

Re: Mise à l'heure

Publié : 16 févr. 2016, 09:45
par Francisco
Ok.

Merci encore.

Tu devrais te faire sponsoriser par Chorus, tu es beaucoup plus efficace.

Re: Mise à l'heure

Publié : 16 févr. 2016, 13:35
par Mantysse
Francisco a écrit : Tu devrais te faire sponsoriser par Chorus, tu es beaucoup plus efficace.
Ah ah ah pas faux XD