From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

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

erreur (exemples)

Résolu !
Accéder à la solution

Bonjour à tous,

 

Petite question de débutant (que je suis)

J'aborde la question de la gestion des erreurs

Je me rends compte qu'il s'agit d'une chose importante.

Je ne me rends pas bien compte de ce qu'est une "erreur" et quand elle peut se produire.

J'ai pas mal de doc ... mais il me manque une chose ... des exemples de VI générant une erreur.

Rien de tel qu'un exemple que l'on peut analyser, modifier, retourner dans tous les sens.

Et sans quelques exemples, l'idée reste abstraite.

 

Un de vous pourrait-il, s'il vous plaît, me passer 1 ou 2 exemples de code simple générant une erreur.

 

par exemple, un boucle while ou For, avec un code minimum générant une erreur.

Que je puisse "voir" et "toucher" la chose ! Smiley clignant de l'œil

 

Merci à tous,

0 Compliments
Message 1 sur 7
3 707 Visites
Solution
Accepté par l'auteur du sujet ouadji

Bonjour Ouadji,

 

Sous labview une erreur est représentée par un cluster de 3 éléments :

un booléen : il indique si une erreur est générée (true) ou non (false)

un entier numérique : il indique un code d'erreur si on est en présence d'une erreur

une chaine de caractères : elle propose une déscription de l'erreur générée

 

Vous pouvez donc générer votre propre erreur si vous le souhaitez.

Il est en effet possible de créer une constante "cluster d'erreur", à vous de manipuler cette constante comme bon vous semble pour générer votre erreur.

 

Voici un petit vi générant une erreur. Ne sachant pas exactement quel type d'erreur vous souhaitez obtenir pour vous analyses j'ai fait un programme d'E/S sur fichier très simple, avec une boucle While.

l'erreur est due au fait que le fichier désigné "fail.ex" est introuvable.

En cablant un indiquateur "cluster d'erreur" au flux d'erreur vous aurez plus de détails sur les valeurs des différents éléments du cluster.

 

 

generer_erreur.png

 

En éspérant vous avoir aidé ! Smiley heureux

 

Cordialement,

Message 2 sur 7
3 686 Visites

Merci Vincent.O

 

Bien sur que cela m'aide.

 

petite question:

 

Je peux choisir un cluster d'erreur (in ou out) dand la palette "array/matrix/cluster"

Mais ... si je crée moi même un cluster reprenant les mêmes éléments (1 booléen, 1 entier, 1 chaine)

cela fonctionne-t-il également ? (je pense que oui)

(ou suis-je obligé de prendre le cluster dédié à cette fonction dans la dite palette)

 

et si "cela" ne fonctionne pas ... pourquoi ?

 

Merci

 

0 Compliments
Message 3 sur 7
3 677 Visites

après avoir testé tout ça, je réponds moi même.

 

oui, évidemment que l'on peut.

La question me semble idiote maintenant.

Le cluster d'erreur proposé dans la palette est un cluster comme un autre.

Il doit simplement posséder les indicateurs nécessaires (et rien que ceux là)

pour que LV puisse y placer ses infos si nécessaire.

C'est juste une boîte aux lettres pour le compilo.

 

La question est idiote pour un CLD, pas pour un débutant Smiley clignant de l'œil

 

0 Compliments
Message 4 sur 7
3 670 Visites

Bonjour Ouadji,

 

En effet, le cluster d'erreur est un cluster "comme un autre". C'est cela qui vous permet de générer vos propres codes d'erreur et de les reliers de sous-fonctions en sous- fonctions.

 

Vous pouvez également manipuler le cluster dans son intégralité ou bien extraire chacun de ses élément pour en faire... ce que vous voulez !Smiley heureux

 

Une chose est sure concernant la gestion des erreurs : il n'y a pas de questions idiotes puisque tout le monde en rencontre ou en a rencontré en programmant.

 

Cordialement,

0 Compliments
Message 5 sur 7
3 658 Visites

Merci Vincent.

 

pas de questions idiotes ...

parfois je viens avec des choses assez grosses quand même Smiley clignant de l'œil

Mais sur le moment, c'est une énigme à part entière pour moi.

En fait, je viens de l'assembleur (20 ans de push, pop et mov)

Alors ici, je dois recabler mon cerveau, pas complètement, mais en grande partie.

"l'approche" est totalement différente ... mais quel plaisir !

0 Compliments
Message 6 sur 7
3 648 Visites

Ouadji,

 

C'est vrai qu'ayant fait un peu d'assembleur (mais pas 20 ans !) Il est facile de constater une grande différence entre ce type de programmation et la programmation LabVIEW !

 

J'apprecie votre enthousiasme !

 

Petite correction sur mon premier message dans ce topic :

 

La chaine de caracère du cluster d'erreur renvoie en fait le nom du vi qui a généré l'erreur

 

Cordialement,

Message 7 sur 7
3 639 Visites