le 06-14-2016 04:17 AM
Bonjour,
Je développe actuellement une application Labview qui, entre autres, communique avec un compteur d'énergie Yokogawa.
Le développement du code sous Labview se fait sur mon PC portable, ainsi que la génération de l'exécutable. J'ai les licences LV et app builder à jour 🙂
L'exécutable est lancé sur la baie avec le compteur d'énergie (cette baie n'a pas de licence Labview mais juste le moteur d'exécution).
Pour info, l'appli récupère aussi des infos de température, humidité, tension d'alimentation via un chassis SCXI.
A la construction, j'obtiens un message d'erreur relatif à la communication avec le compteur d'énergie.
L'erreur 1 s'est produite à : BeginUpdateResourceA.vi
Raisons possibles :
LabVIEW: Un paramètre d'entrée n'est pas valide.
Par exemple, si l'entrée est un chemin, celui-ci contient
peut-être un caractère qui n'est pas autorisé par le système
d'exploitation, comme ? ou @.
=========================
NI-488: La commande requiert un contrôleur GPIB comme contrôleur en charge.
Chaîne d'appel complète :
BeginUpdateResourceA.vi
Write Icons to Application.vi
AB_Engine_EXE_Call_Write_Icons.vi
AB_EXE.lvclass:Build.vi
AB_Engine_Build.vi
AB_Build_Invoke.vi
AB_Build_Invoke.vi.ProxyCaller
Je pense que le problème vient du fait que j'ai tapé à la main "COM1" dans le terminal de commande du port du Yokogawa et que mon PC portable ne connait pas d'instrument GPIB. Je précise également que j'ai déjà réussi à construire mon application, avant de "figer" certains éléments.
Est-ce que quelqu'un a déjà rencontré ce problème ? Est-ce qu'il existe une astuce pour passer au travers ou de désactiver la vérification ?
Meric de vos avis,
Pierre
le 06-14-2016 04:27 AM
Bonjour,
Modifie ton code, pour que ton exécutable découvre de lui même sur quel port COM se trouve ta sonde.
Regarde cet article, cela devrait pouvoir t'aider.
https://zone.ni.com/reference/en-XX/help/371361H-01/lvinstio/visa_find_resource/
le 06-14-2016 10:16 AM
Bonjour pieur,
Pourrais-tu s'il-te-plaît poster le VI incriminé?
le 06-14-2016 02:39 PM
Salut, je ne suis pas sûr de ton analyse. Je m’explique : si je comprends bien, l’erreur intervient lors de la génération de l’exécutable ? si j’ai bien compris le problème, je ne crois pas que le problème soit le port COM1 dans un vi.
pieur a écrit :
A la construction, j'obtiens un message d'erreur relatif à la communication avec le compteur d'énergie.
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 06-14-2016 02:49 PM
pourquoi penses-tu que le message d'erreur soit causé par le compteur d'énergie.
Si je comprends le vi en erreur est BeginUpdateResourceA.Vi
pieur a écrit : un message d'erreur relatif à la communication avec le compteur d'énergie.
L'erreur 1 s'est produite à : BeginUpdateResourceA.vi
Raisons possibles :
LabVIEW: Un paramètre d'entrée n'est pas valide.
Par exemple, si l'entrée est un chemin, celui-ci contient
peut-être un caractère qui n'est pas autorisé par le système
d'exploitation, comme ? ou @.
=========================
NI-488: La commande requiert un contrôleur GPIB comme contrôleur en charge.
Chaîne d'appel complète :
BeginUpdateResourceA.vi
Write Icons to Application.vi
AB_Engine_EXE_Call_Write_Icons.vi
AB_EXE.lvclass:Build.vi
AB_Engine_Build.vi
AB_Build_Invoke.vi
AB_Build_Invoke.vi.ProxyCaller
Je pense que le problème vient du fait que j'ai tapé à la main "COM1" dans le terminal de commande du port du Yokogawa et que mon PC portable ne connait pas d'instrument GPIB. Je précise également que j'ai déjà réussi à construire mon application, avant de "figer" certains éléments.
Est-ce que quelqu'un a déjà rencontré ce problème ? Est-ce qu'il existe une astuce pour passer au travers ou de désactiver la vérification ?
Meric de vos avis,
Pierre
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 06-14-2016 02:55 PM
je viens de creuser : BeginUpdateResourceA.vi est un vi utilisé pour générer l'exe
il est utilisé par : Write Icons to Application.vi > AB_Engine_EXE_Call_Write_Icons.vi > AB_EXE.lvclass:Build.vi > AB_Engine_Build.vi > AB_Build_Invoke.vi > AB_Build_Invoke.vi.ProxyCaller
il est localisé dans vi.lib/Platform/icon.llb/Write Icons to Application.vi. et voici le code
la cause de l'erreur est multiple.
dans l'odre il est conseillé de faire un mass compile du dossier de l'application.
sinon
http://forums.ni.com/t5/LabVIEW/Build-application-still-fails-with-error-1-in-LV12/td-p/2279948
while i do concur that error messages from the application builder could be better, there are many sources for fails.
I just list some of the most promiment, maybe you can figure out that one of those happened in your system:
- Tried to build the application in protected folders
- Tried to copy support files which where already in the correct folder and locked by the OS (e.g. DLL in use)
- Source files are incomplete
- Memory issues (the build process requires quite some memory)
- VIs being in a wrong LV version
- VIs are not executable because of missing dependencies
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 06-15-2016 03:56 AM
Bonjour,
Je pense que le problème est lié "au compteur d'énergie" car c'est le seul instrument utilisant du GPIB dans mon application et que le log d'erreur parle de GPIB.
J'arrivais à générer des exécutables jusqu'à ce que je veuille figer le port com utilisé pour la communication avec le compteur d'énergie. Sur mon PC portable je n'ai pas de COM1 qui apparait dans la liste, j'ai donc tapé "COM1" et les problèmes ont commencé.
Lors de la génération, je vois qu'à la fin il y a bien 3 fichiers générés dans mon dossier cible (.exe ; .ini et .aliases) puis l'erreur s'affiche et les fichiers disparaissent.
Je vous joins le code utilisé. Je vais suivre vos conseils dans l'ordre et vous tiens au courant si j'ai du nouveau.
Merci,
Pierre
le 06-15-2016 04:39 AM
Bonjour Pieur,
Je pense que ça n'a rien à voir. L'erreur 1 est une erreur générique. En voici la preuve.
En regardant la chaîne d'appel du VI ou se produit l'erreur on voit bien que l'erreur provient de l'application builder.
Tu devrais suivre les recommandations de Desruelle_luc.
Bon courage.
le 06-15-2016 07:23 AM
Bonjour Pierre, oui je comprends que le message n'est pas très évident, il laisse 2 choix, comme beaucoup de messages. L'erreur générique est trop générique.
Pour info, COM1 est pour un alias de port série, mais tu peux très bien faire un exe qui utilise du VISA avec des ALIAS VISA faux, tu auras une erreur lors de l'utilisation du code (ressource qui n'existe pas) mais pas de "plantage" lors de la génération de l'exe.
Si tu ne veux pas me suivre, fait une recherche sur le site de NI. Tu devrais trouver les liens que j'ai noté dans mes réponses.
A suivre...
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 07-28-2016 07:01 AM
Bonjour,
J'ai regardé du côté des solutions proposées, et en commençant par les trucs les plus simples, j'ai fini par résoudre le problème en cochant l'option "activer la mise au point" dans l'application builder. Plus aucune erreur n'est renvoyée, la construction du VI se fait normalement. C'est assez déroutant car je n'ai aps compris pourquoi mais au moins cela permet de continuer le développement de mon application.
Si le problème revient en réalisant d'autres modification je posterai une mise à jour.
Merci pour vos contributions,
Pierre