Discussions au sujet de NI LabVIEW

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

enregistrer fichier

Bonjour,

Je suis débutantsur labview mais je ne suis pas débutant en programmation. J'utilise un programme Labview que je n'ai pas conçu. En tout cas sur la face avant, j'ai un petit afficheur qui m'affiche en temps réél la puissance optique d'un composant. Ce que j'aimerai faire est simple. Récupérer les valeurs affichés dans un fichié texte. Est ce qu'on peut le faire directement via la face avant ?

Et si c'est faisable, est ce qu'il y a une méthode pour qu'il récupére ces  valeurs à un interval de temps donnée ?

 

Désolé si ça semble simple. Ci dessous une partie de la face avant

face.png

 

Je peux vous envoyer une photo de la face arrière à l'endroit où il envoit les données dans ce qu'il semble être un bloc afficheur (en orange).


Cordialement

 

Therradan

0 Compliments
Message 1 sur 8
4 317 Visites

Bonjour,

 

il est possible de transférer des données sur un fichier excel uniquement si les données apparaissent sur un graph si qui n'est pas votre cas. Vous devez soit recopier les valeurs, soit les écrire à la main ou méthode moins belle un copie écran. une deuxième solution c'est de coder dans labview un transfert vers un fichier excel.

Cordialement
L.MICOU
0 Compliments
Message 2 sur 8
4 301 Visites

Excel c'est pas grave, mais il existe un moyen de pouvoir enregistrer une suite de valeur sur un fichier texte ?

0 Compliments
Message 3 sur 8
4 297 Visites

Pas sans codage dans labview.

Cordialement
L.MICOU
Message 4 sur 8
4 293 Visites

Il faudrait que je mette un bloc tableau, dans une boucle avec un bloc horloge pour regler l'itération tout les secondes non ?

0 Compliments
Message 5 sur 8
4 280 Visites

Bonjour Therradan,

 

Pourquoi ne pas fournir votre diagramme (un autre mot pour dire "face arrière") ?

L'enregistrement dans un fichier texte n'est pas compliqué à réaliser (il y a une partie native dédiée à cela, en cliquant droit et en allant sur "E/S sur fichier") ! On pourrait effectivement penser à une boucle for (ou while) cadencée (c'est-à-dire avec ce que tu appelles un "bloc horloge" à l'intérieur) qui écrirait dans un fichier .txt. C'est surement ce qu'il ya de plus simple.

L'allocation "dynamique" d'un tableau, je ne sais pas trop. Je ne suis pas un spécialiste, mais je me pose la question de savoir si on ne risque pas de faire un overflow et de planter le programme. Autant écrire la valeur lue à un instant t puis ne pas la retenir.

Bilsix.
0 Compliments
Message 6 sur 8
4 267 Visites

Bonjour,

excusez moi du temps de réponse mais je suis en alternance, et j'ai eu une semaine d'école très chargé !

Je vous mets la face arrière du programme ci dessous avec en encadré rouge, les données que je veux récuperer :

labv1.png

 Ce que vous me conseillez est de mettre un bloc E/S et de connecter le lien orange (type donnée dynamique c'est ça ?) à l'entrée du bloc E/S ?

avec une boucle cadencé avec un bloc horloge ?

Je vais voir si j'y arrive mais je sais pas si je vais bien m'y prendre.
Je peux aussi mettre le fichier ci joint si vous voulez.


Cordialement

0 Compliments
Message 7 sur 8
4 185 Visites

Bonjour, il serait plus simple de fournir directement le fichier plutôt qu'une capture d'écran.

 

A partir de la capture d'écran, voici les points qui me gènent :

-1 : Les erreurs sont effacés quasiment entre chaque fonction, sans aucune gestion d'erreur.... Hormis pour gérer le flux de données, dans ces cas là, aucun intérêt de connecter le fil.

Quel est l'intérêt de cet excès de "ClearError" ? Instabilité du programme ? Mauvaise gestion du sous-vi ????

 

-2 : Afin d'améliorer la lisibilité de ton diagramme, je t'encouragerais bien à utiliser des clusters dans la mesure du possible, exemple pour grouper tes différents booléens dans un seul conteneur.

 

-3 : Pour récupérer les 3 valeurs de ton booléens dans un fichier, il te suffit de les concaténer dans un tableau, et d'utilsier la fonction " écrire dans un fichier tableur".

Pour la période de 1 seconde, cela va dépendre de ce que tu veux exactement (que la valeur soit raffraichit toutes les 1 secondes,  et donc récupéré de ton équipement toutes les 1 secondes, ou que ta valeur soit sauvegarder toutes les 1 secondes).

Dans le 1er cas, il faut travailler sur ta boucle "while" pour avoir une itération toutes les 1 secondes, dans l'autre tu mets la fonction "écrire dans un fichier tableur" dans un case qui l'exécutera toutes les 1 secondes.


Cdt,


Michael

 

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Message 8 sur 8
4 172 Visites