Discussions au sujet de NI LabVIEW

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

Reprendre la main dans un programme C (CAPL CANoe) après la fin d'execution d'un labview.exe

Résolu !
Accéder à la solution

Bonjour,

 

- je lance un executable Labview depuis un programme codé en C générant automatiquement la ligne de commande utile

(Info:  cette ligne de commande se génère en prenant pour argument des paramètres issus d'un script XML, script qui lance également le programme C)

 

- le script Labview enregistre des données dans des dossiers spécifiques que je dois récupérer et traiter dans le programme C

 

Je voudrais savoir si il est possible, une fois que l'executable Labview a fini de s'executer, de fermer Labview et de redonner la main au programme C afin de réaliser l'étape de traitement des données. A la base je pensais que ça se ferait automatiquement mais apparemment pas..

 

Pouvez-vous me renseigner?

 

Cdt,

 

Florian

0 Compliments
Message 1 sur 4
4 362 Visites

Bonjour,

 

Vous pouvez essayer de mettre un noeud de propriété ordonnant la fermeture de la fenêtre: ci joint photo

 

La fenêtre se fermera alors automatique à moins que vous appuyez sur le stop de la barre d'outil.

 

Pour redémarrer le main du programme en C, vous pouvez éventuellement mettre un compteur si le temps de prise de mesures est constant ou bien encore renvoyer une dernière valeur défaut à votre prise de mesure sous Labview qui ré-enclenchera le processus de votre main.

 

Très cordialement.

 

Pierre Denis

National Instruments

0 Compliments
Message 2 sur 4
4 360 Visites
Solution
Accepté par l'auteur du sujet flouo

Bonjour Florian,

 

Est-ce que l'exécutable LabVIEW se termine correctement, notamment via le bout de code suivant ?

Quit_LV_App.png

Si non, l'exécutable lancé par ligne de commande ne rend pas la main car l'exe n'a pas terminé (on appelle ça un appel synchrone dans le jargon :-)).

Alternativement, il faut se débrouiller pour que l'appel du .exe soit asynchrone. A voir si cela est possible dans un noeud CAPL... Il reste toujours possible de faire exécuter un shell (cmd.exe) -> http://stackoverflow.com/questions/1449188/running-windows-batch-file-commands-asynchronously

 

Cdt,

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

Message 3 sur 4
4 350 Visites

Bonjour, merci pour vos réponses.

 

Eric je n'avais pas pensé à mettre le bout de code de fermeture de Labview..tout fonctionne comme prévu maintenant.

 

Cdt,

 

Florian

0 Compliments
Message 4 sur 4
4 337 Visites