Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Action en fonction de l'heure indépendamment de la date

Résolu !
Accéder à la solution

Bonjour à tous

J'ai réalisé un code me permettant d'enclencher et d'éteindre un relais à une certaine heure. Je voudrais que ces actions s'effectuent journalièrement indépendamment de la date du jour (c'est à dire tous les jours). Cependant malgré avoir sélectionné "date unused" dans les propriétés de mes time stamps, cela fonctionne que pour une date précise et pas tous les jours. Je vous joins mon code. 

Merci d'avance de vos réponses et de votre aide. 

 

PS : Une autre de mes questions concernant mon code est la fermeture de mes entrés/sorties analogiques et digitales. Je ne sais pas ce qu'il y à de mieux à faire lorsqu'il faut en fermer plusieurs.

 

Steven Viollet

0 Compliments
Message 1 sur 7
2 930 Visites

Le "date unused" signifie seulement que la date n'est pas affiché.

Le controle/indicateur timestamp te donne une visualisation d'une référence temporelle mais sous le tapis il y a en fait un DBL.

Ce DBL exprime le temps écoulé en seconde depuis le 1 janvier 1904 0h0m0s.000

 

Le 0 DBL donne un timestamp au 1 janvier 1904 0h0m0s.000 et ensuite tu incrémentes en seconde

Le 1 en DBL > 1 janvier 1904 0h0m1s.000

Le 3600 en DBL > 1 janvier 1904 1h0m0s.000

 

Dans ton code, tu "n'utilise pas la date" mais les valeurs DBL de tes timestamps (H_on et H_off) sont des valeurs fixes, c'est pour ça que ça ne fonctionne que le jour où tu lances ton code.

 

Pour faire fonctionner ton code comme tu souhaites, il faut que décomposes tes timestamps pour en extraire juste heure:minute:seconde avant de faire ta comparaison (le "in range").

 

Regardes le VI ci-joint


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 2 sur 7
2 907 Visites

Merci beaucoup pour ta réponse super détailée et pour le code ! 

J'avais commencé avec cette méthode mais comment procéder pour enclencher le relais de 22h00 à 8h00 par exemple ? 

0 Compliments
Message 3 sur 7
2 890 Visites

plusieurs méthodes :

- ne faire un changement d'état de ta commande que au passage de 22h et au passage de 8h

- avec la méthode dans le VI que j'ai envoyé, mettre 22h00 et pour 8h00, ajouter 86400 (c'est le nombre de seconde par jour)


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 4 sur 7
2 887 Visites

oups... je viens de me rendre compte que la deuxième proposition n'est pas bonne, ça va pas marcher.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 5 sur 7
2 886 Visites
Solution
Accepté par l'auteur du sujet stevee_purple

voilà un VI qui illustre la méthode 1, les commentaires sont dans le VI

n'hésite pas si tu as des questions


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 6 sur 7
2 884 Visites

Super ! Merci beaucoup pour ta réponse détailler et le Vi. Je vais regarder et tester ca. 

Steven

0 Compliments
Message 7 sur 7
2 864 Visites