le 05-06-2020 09:28 AM
Bonjour,
J'ai un petit soucis avec des clusters contenant des refnums. j'ai beaucoup de cluster contenant beaucoup de refnums, qui sont affichés sur une page cachée de ma face avant. Lorsque mon Vi n'a pas d'erreurs, aucune erreur n'est signalée. Cependant, lorsque j'ai une seule erreur, tous ces refnums génèrent une erreur: 'Hidden front panel control has undefined type'. Le problème c'est que Labview se limite à m'afficher les 100 premieres erreurs et elles sont remplies par ces 'fausses' erreurs, et de ce fait, je ne vois pas quelle est la vraie erreur qui déclenche tout... J'ai trouvé un topic sur le forum anglais, mais je ne comprends pas sa réponse....https://forums.ni.com/t5/LabVIEW/hidden-front-panel-has-undefined-type/td-p/1688802/page/2
Quelqu'un peut il me dire ce qu'il veut dire dans sa solution?
To solve, drag and drop a control/constant/etc of the array type into the RefNum in the cluster on the FP.
faire un drag&drop d'un controle/d'une constante/etc du type de matrice dans le refnum dans le cluster de la face avant? je ne comprends pas ce que ça veut dire concretement 😕
Sinon, savez vous comment supprimer/modifier le nombre de messages d'erreurs max de labview?
Merci d'avance à tous!
Résolu ! Accéder à la solution.
le 05-06-2020 10:56 AM
Bonjour,
Je vais essayer d'interpréter ce que dit Chris_Cox dans le lien que tu fournis.
As-tu un RefNum de tableau dans le cluster ? Selon lui ce tableau n'est pas initialisé avec le bon type. Pour résoudre il faudrait glisser un contrôle (avec le bon type) sur le RefNum sur la face avant. Autrement dit, fais une copie du tableau et glisse la sur le RefNum de ce tableau.
On dirait que le type d'un contrôle ne correspond plus au type du RefNum. Peux-tu répéter l'erreur à volonté ? As-tu essayé de recréer les refnums pour être sûr du type?
Il est possible d'effacer les erreurs qui ne sont pas intéressantes avec "Clear errors.vi"
Je ne comprends pas comment le programme génère 100 erreurs et veut les afficher toutes d'un coup. Le programme n'affiche pas un message dès la première erreur et continue de tourner?
Aussi, la première erreur devrait être la première à s'afficher, sauf si les erreurs sont générées en parallèle...
Yddet
le 05-06-2020 11:21 AM
Excuse moi, je me suis mal exprimé, les erreurs affichées ne sont pas affichées à l'éxécution mais avant. Lorsque qu'on demande à afficher les erreurs qui empêchent l'éxécution du VI (petite icône lecture qui devient barrée). Si je n'ai aucune erreur sur de câblage sur mon VI ces erreurs refnums n'apparaissent pas et le programme peut s'exécuter si il y'a juste (par exemple une entrée de cluster non câblée dans un coin) une erreur, toutes ces erreurs apparaissent. ca le fait à tous les coups!. en fait j'ai 12 clusters contenant 9 refnum chacun (dont le type fait l'objet d'un typedef, ce sont des booléens modifiés, ou d'autres clusters).
Pour le moment j'ai toujours repéré mes erreurs de câblage mais il m'est arrivé de les chercher 5/10 minutes au lieu de les trouver instantanément...
le 05-06-2020 11:22 AM
je n'ai pas de refnum de tableau, ce sont des refnums vers des objets.
le 05-06-2020 05:16 PM
le 05-07-2020 02:49 AM
désolé pour le manque de clarté 😕 ce sont bien tous des typedef, j'ai d'ailleurs essayé en strict ou non, ça ne change rien.
Tant pis, merci pour vos réponses 😞
le 05-07-2020 02:56 AM
le 05-07-2020 06:17 AM
Bonjour,
Je vais tâcher de mettre un petit VI qui montre ça facilement.
cette question m'en fait me poser une autre. Je fais des typedef pour tous mes clusters, et aussi pour leur refnum, du coup pour un type d'objet je me retrouve avec deux typdef. un pour l'objet un autre pour le refnum, est ce qu'il y'a moyen de faire autrement (peut-être que mon erreur vient de là ). Si je modifie le typedef du cluster, il faut que je mette à jour manuellement le typedef de son refnum, y'a t'il moyen de faire en sorte que ce soit automatique ?
le 05-07-2020 06:22 AM
le 05-07-2020 06:25 AM
Effectivement, je n'utilise jamais cette commande 😕
Le fait de sauvegarder ne le fait pas automatiquement?
Dans ce cas je vais tous les vérifier!
Je m'y mets de suite.