Discussions au sujet de NI LabVIEW

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

Curiosité : La gestion d'erreur

Résolu !
Accéder à la solution

Bonjour à tous !

 

Petite question de curiosité, que se passe t'il si je ne gère pas les erreurs ? C'est a dire que je laisse vide entrée/sortie d'erreur, que mes sousVI ne possède pas d'entrée et sortie d'erreur ?
Parce qu'actuellement quand je lance mon programme, si il y a un soucis de cablage j'ai l'erreur, et si il y a un soucis sur un VI-express comme DAQassist ... et bien labview me le montre.

 

Pourquoi cette question ?

Et bien par exemple, et c'est plus pour un soucis de présentation, mais j'ai beaucoup de VI de ce style, cela ne convient pas à tout le monde, mais pour moi c'est clair, et tout mettre en ligne avec une gestion d'erreur (parce que quitte à la faire, autant que ce soit propre) et bien je trouve ça moins compréhensible !

 Capture.JPG

 

(alors après oui, ici je peux peut etre creer un tableau et  faire une boucle for, j'y pense en écrivant la, vous pensez que ce serait mieux ? Au moins ça diminuerait le nombre de VI comparaison)

 

Parce que mon programme final n'aura pas d'executable (la boite ou j'effectue mon stage ne veux pas dépenser dans le module) donc est-ce necessaire ?

Merci

 

Erwan

 

0 Compliments
Message 1 sur 6
4 332 Visites
Solution
Accepté par l'auteur du sujet ErwanHut

Bonjour Erwan,

 

Si vous ne câblez pas les terminaux d'erreurs quand ceux-ci sont disponibles vous risquez tout simplement d'interrompre l'exécution de votre VI. En effet, sans câble d'erreur celle-ci est remontée dès qu'on la rencontre, au niveau de vos VI Express par exemple. Ceci peut s'avérer critique dans certaines applications.

 

L'intérêt est donc de gérer vos erreurs afin de spécifier ce que votre code doit faire ou non lorsqu'il rencontre une erreur. Cela ne sert par exemple à rien de faire tourner un moteur si on n'a pas réussi à le mettre sous tension 😉 Nous recommandons par ailleurs d'utiliser le gestionnaire d'erreur en fin de VI pour remonter l'erreur à l'utilisateur.

 

Enfin, les câbles d'erreurs servent aussi à forcer le flux de données, évitant ainsi l'utilisation abusive de structures séquences.

 

Vous trouverez plus d'informations sur la gestion d'erreur ici : http://www.ni.com/getting-started/labview-basics/f/handling-errors

 

J'espère avoir répondu à votre question. N'hésitez pas à m'indiquer si cela n'est pas clair.

Maxime L
Certified LabVIEW Architect
National Instruments
Message 2 sur 6
4 303 Visites

J'aime beaucoup l'explication de Maxime_L , à la fois succincte et complète.

 

et notamment cette phrase : " ...  ce que votre code doit faire ou non lorsqu'il rencontre une erreur ". (c'est une grande vérité !)

 

Pour l'utilisateur, de façon "externe", un programme ne doit jamais "être en défaut".

Du point de vue de l'utilisateur, une boîte de dialogue avec un message d'erreur ... est une horreur absolue.

Un code doit être robuste, fluide et doit pouvoir s'adapter à tous les cas de figure possibles.

Si maintenant, de façon interne il en génère une ... il doit pouvoir adapter son algorithme de manière à "répondre" à cette erreur.

Une erreur traitée, c'est un programme bien fait ... une erreur non traitée, c'est un bug.

Maintenant, pour pouvoir la traiter ... le minimum est de l'intercepter ... d'où le flux d'erreur.

 

Je me demande même si la qualité d'un programme ne pourrait pas être définie (entre autres) par la qualité de sa gestions des erreurs ?

 

(juste mon avis)

Message 3 sur 6
4 280 Visites

Merci à vous deux pour vos réponses ! J'ai saisi le truc !

 

J'ai du pain sur la planche alors ..... parce que la ... Smiley très heureux

0 Compliments
Message 4 sur 6
4 275 Visites

@ Erwan : " J'ai du pain sur la planche alors "

 

L'essentiel n'est pas de faire une gestion de l'erreur de façon parfaite et absolue.  (tous les codes ne sont pas destinés à la NASA)

 

Quand un code devient complexe (voir très complexe) ... qui peut se targuer d'avoir prévu TOUS les cas d'errreurs possibles ?

 

C'est là le fondement même de la problématique de la fiabilité d'un code. (vaste domaine)

 

Une gestion de l'erreur peut-être plus ou moins simple ... ou plus ou moins complexe ... (suivant le degré de robustesse que l'on désire)

 

Mais alors où est l'essentiel ?

 

Que la gestion de l'erreur soit "ultra simple" ou "très élaborée", l'essentiel est qu'elle existe ... et de ne pas complètement l'éliminer.

 

L'essentiel est de bien comprendre à quoi elle sert, et surtout ce à quoi on s'expose si on en tient pas compte.

 

Après cela ... en toute connaissance de cause, on adapte cette gestion de l'erreur au contexte ... complexité du code, degré de robustesse souhaité, etc.

 

 

0 Compliments
Message 5 sur 6
4 262 Visites

Je comprends tout à fait ce que tu dis, et moi je l'ai un peu "completement éliminé" !

D'autant que je n'ai pas vraiment l'impression de gérer ce que doit faire le code quand il rencontre une erreur, j'ai juste l'impression de tirer un cable d'erreur de vi en vi ^^

 

Mais il serait en effet bon de creer par exemple un état erreur dans ma fsm, lorsque je rencontre une erreur, je passe par cet état qui affiche un  message à l'utilisateur, lui signalant une erreur dans le programme !

0 Compliments
Message 6 sur 6
4 233 Visites