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 : 

Problème d'exécution de sous-vis en parallèle

Résolu !
Accéder à la solution

Bonjour,

 

Je rencontre un petit soucis pour l'exécution de vi en parallèle. En effet avec mon code actuel, ça fonctionne très bien sous forme de vi non compilé, mais en tant qu'exécutable, les vis ne s'ouvre plus, ou alors s'ouvre mais ne sont pas en exécution.

 

Pour le code ci-dessous, cela fonctionne :

D-MGR Lancement Authentification.png

ps : aucune idée du pourquoi les erreurs se mettent aussi loin Smiley surpris

 

Pour le code ci-dessous, cela ne fonctionne pas :

D-MGR Lancement Journaux.png

J'ai essayer de mettre une ouverture si erreur 1000 (le vi n'est pas dans un état compatible) mais ça a pas l'air de fonctionner correctement.

 

Je peux changer ce bout de code sans soucis, mais voilà comment ça doit fonctionner :

- Les exécutions des vis sont faites dans une boucle de gestion de message d'une file d'attente, qui ne traite pas que les lancements de vis.

- Je dois pouvoir exécuter mes vis en parallèle de celui qui le lance pour ne pas bloquer la boucle de gestion de messages.

- Les vis que je lance ont des faces avants qui doivent d'ouvrir au lancement (pour le moment je gére ça depuis les vis lancés).

 

Ce qui m'étonne c'est que sur labview ça fonctionne très bien mais pas en exécutable Smiley indifférent

 

Une idée, une autre technique à me proposer ?

0 Compliments
Message 1 sur 13
4 956 Visites

 

Les VIs qui sont appelés par référence (ici D-MGR Journaux.vi) doivent être ajouté manuellement dans le Builder. Pour faire ça, dans "Sources Files" de ton Build, tu dois les mettre dans la liste "Allways included"

 

Le build c'est donc le "exe" si tu utilises une version française.

0 Compliments
Message 2 sur 13
4 948 Visites

 

... Et juste un truc, le chemin change entre le mode développement et le mode exécutable. C'est peut-être ça le problème.

 

Essaie d'appeler les VIs avec récupération du chemin dynamique comme dans l'image annexe.

 

Unbenannt.jpg

 

0 Compliments
Message 3 sur 13
4 945 Visites

aucune idée du pourquoi les erreurs se mettent aussi loin

 

peut-être as-tu utilisé la commande "create sub-vi"

Dans ce cas, les terminaux se placent à "la distance" qu'ils avaient lors de la sélection.

Avec "create sub-vi" ... point de vue code, aucun soucis ... mais le résultat graphique n'est pas toujours parfait (il faut le re-travailler)

 

petite idée : Pourquoi ne pas les rapprocher ?   Smiley clignant de l'œil

 

 

 

 

0 Compliments
Message 4 sur 13
4 940 Visites

Tout d'abords, merci pour vos réponses, ça fait plaisir 😉

 

Les VIs qui sont appelés par référence (ici D-MGR Journaux.vi) doivent être ajouté manuellement dans le Builder. Pour faire ça, dans "Sources Files" de ton Build, tu dois les mettre dans la liste "Allways included"

 

C'était déjà fait !

NI-Forums-Problème-d-exécution-de-sous-vis-en-parallèle-1.png

 

... Et juste un truc, le chemin change entre le mode développement et le mode exécutable. C'est peut-être ça le problème.

Essaie d'appeler les VIs avec récupération du chemin dynamique comme dans l'image annexe.

 

Comme ceci, ça marche en local très bien, mais pas en exécutable (dans le sens ou la face-avant de s'ouvre pas...)

D-MGR Lancement Journaux_2.png

Donc le problème ne vient pas du "lancement" mais plutôt de l'affichage. Parce que je pense que le vi tourne mais sans la face-avant affiché.

Dans le vi appelé (D-MGR-Journaux.vi) voici par quoi commence le code, pour forcer l'affichage de la face avant. (Sur les autres vis ça semble fonctionner).

D-MGR Journaux code départ.png

 

J'ai même tenté le simple noeud de propriété "État" de la face avant que le met à Standard. Mais même en éxecutant ça ne fonctionne pas, face avant toujours fermée.

 

peut-être as-tu utilisé la commande "create sub-vi"

Dans ce cas, les terminaux se placent à "la distance" qu'ils avaient lors de la sélection.

Avec "create sub-vi" ... point de vue code, aucun soucis ... mais le résultat graphique n'est pas toujours parfait (il faut le re-travailler)

 

Je passe par le menu "Edition > Créer un extrait de VI à partir de la sélection". Même sans sélectionner les fils d'erreur en entrée et sortie, il les reprends et les places là ou y'a une autre fonction ou un tunnel si c'est dans une structure (boucle ou condition). ça serait bien qu'il fasse un "nettoyage" du code sélectionner et des commandes/indicateurs ajouter, avec un prévisualisation. Car des fois, c'est un peu n'importe quoi ^^.

0 Compliments
Message 5 sur 13
4 901 Visites

Tu n'es pas particulièrement "visé" Kaleck (certainement pas)

 

c'est un "soucis" assez général et réccurent, tu es très loin d'être "le seul".

 

Mais en ce qui me concerne ..... j'abandonne ..... je ne "regarde" plus les Diagrammes "pas propre".

 

J'entends par là ... les codes ... où il faut commencer systématiquement par nettoyer et réorganiser pour y voir "clair"

 

amicalement et bon code.

 

 

SR1.png

 

 

0 Compliments
Message 6 sur 13
4 896 Visites

J'ai pas vraiment compris ce que tu abandonnais ouadji, ne m'en veut pas ^^
Ma sélection est un morceau de code, donc je ne sélectionne pas les terminaux car ils n'existent tout simplement pas.
C'est labview qui les crées tout seul comme un grand quand j'utilise l'option, mais ils les places "mal" et sous forme d’icône en plus...
C'est pour ça que je disais que ce serait bien s'il nettoyait le code qu'il fabrique avant qu'il l'enregistre tout seul en image.

L'image que tu montres est impossible à faire avec l'option "créer un extrait de vi".

0 Compliments
Message 7 sur 13
4 887 Visites

L'image que je montre ... c'est ton code que j'ai rendu "propre" ...

 

mais ... j'ai peut-être mal compris ...

 

tu voulais peut-être "montrer" que "create subvi from sélection" ...  ne génère pas toujours du code propre.

 

si c'est le cas, sorry ... au temps pour moi.

 

et oui ... "create subvi from selection" ne génère pas du code "tout propre" .... "clean up diagram" non plus par ailleurs.

 

Dans un cas, comme dans l'autre, c'est juste un "point de départ" ... qu'il faut ensuite re-travailler.

 

0 Compliments
Message 8 sur 13
4 882 Visites

Comment veux-tu le "retravaillé" puisque labview te donne une image ?

Tu peux plus rien faire dessus. A moins que tu veux que je fasse ça avec paint ! ^^

 

Le pire c'est que mon code est "propre" et que cette foutu fonction la rend parfois pas terrible.

 

En tout cas je vois que tu fais la guerre aux codes difficiles à lire sur d'autres sujets ^^

 

Mis à part ça, tu as une idée sur mon problème de l'affichage du VI asynchrone parallèle ?

 

Cordialement !

0 Compliments
Message 9 sur 13
4 871 Visites

Comment veux-tu le "retravailler" puisque labview te donne une image ?

 

Je viens (enfin) de comprendre.

En fait c'est un snippet ... mais sur une "portion" de code.

 

oui, effectivement .... le résultat n'est pas toujours très heureux, et on ne peut en effet rien "modifier".

 

Pour ton soucis de "VI asynchrone parallèle" 

aucun soucis en mode "développement" ... et problème avec l'exécutable.

Non, désolé, je ne vois pas.

Ceci dit, je compile très rarement pour aboutir à un exécutable .... mon expérience dans ce cas de figure est donc limitée.

 

 

 

 

0 Compliments
Message 10 sur 13
4 861 Visites