le 05-10-2016 06:05 AM
Bonjour
j ai un sous VI dans mon programme et je veux que ca reviens dans mon programme des éléments normales pas un sous vi .
S il vous plait aidez mou
cordialement
le 05-19-2016 12:51 PM
Tu as dans ton code principal un sous-VI ... et tu aimerais que ce sous-VI ne soit plus un sous-VI. (mais du code)
1) tu ouvres le sous-VI et tu fais un "copier" de la totalité de son code
2) tu retournes dans le code principal, tu supprimes le sous-VI
3) à la place du sous-VI ... tu fais "de la place" ... à définir suivant la taille graphique du code qui était contenu dans le sous-VI
4) là ou se trouvait le sous-VI tu fais "coller" du code (étape 1)
5) tu reconnectes le code au code du VI principal ... comme était connecté le sous-VI
6) éventuellement tu supprimes les Contrôles-Indicateurs qui étaient à l'origine les entrées-sorties du sous-VI
7) tu fais un petit nettoyage-propreté de l'ensemble
😎 en principe, c'est ok
s'il existe "une autre méthode" ... je suis preneur, mais perso, je ne la connais pas.
En espérant que tu n'as pas une centaine d'instances à remplacer.
Je suis certain qu'il y aurait possibilité de faire ça par scripting ... mais là ... ce serait d'une "certaine complexité". (en réalité ce serait un code plutôt "chaud")
Je viens d'y réfléchir quelques instants ... ce serait un beau projet à réaliser ... mais quelle en serait l'utilité ???
Personnellement, j'ai déjà eu le cas ... mais c'est excessivement rare.
Je suis allé voir sur LabVIEW Idea Exchange, et apparemment c'est une idée (demande de fonctionnalité) qui n'a jamais été proposée.
le
05-19-2016
03:03 PM
- dernière modification le
04-18-2025
01:20 PM
par
Content Cleaner
bonjour à vous, j'aimerai comprendre le "pourquoi?".
Si le sous-vi existe, c'est surement pour faire un code modulaire, c'est une fonctionalité. Je comprends le but de faire une sous fonction, donc un sous-vi. Mais pourquoi ne plus le vouloir?
Il y a plusieurs "bonnes" raisons, souvent dans un objectif de performance extrême : par exemple dans le paragraphe de l'aide >> SubVI Overhead
https://www.ni.com/docs/en-US/bundle/labview/page/vi-execution-speed.html
Mais avant de répondre "inline subVIs", j'aimerai être sûr de comprendre.
en effet, cf l'aide de LabVIEW Certaines des astuces suivantes vont à l'encontre des bonnes pratiques de conception de LabVIEW ; vous ne devriez les utiliser que pour réduire l'utilisation de la mémoire lorsque vous travaillez avec des ensembles de données de taille particulièrement importante.
https://www.ni.com/docs/en-US/bundle/labview/page/memory-management-for-large-data-sets.html
A+
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 05-19-2016 04:15 PM
@ Luc : " il y a la solution proposée par ouadji "
Personnellement, je n'ai pas le sentiment d'avoir proposé une solution.
Je me suis simplement borné à répondre à la question de départ, soit : "comment "détricoter"un sous-VI ?"
Mais effectivement, si Maroua nous explique "le pourquoi" .... peut-être pourrons-nous lui proposer d'autres alternatives.
Et en effet, ce "pourquoi" est intéressant. Je serais également curieux d'en connaître la réponse.
le 05-20-2016 02:34 AM
salut ouadji, dans l'aide de LabVIEW il y a 3 réponses à ce type de question. La première de l'aide est "la réponse que tu as formulé" (pour moi répondre à une question ou proposé une solution = c'est idem). je suis en phase avec toi. bonne journée A+ Luc
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 05-20-2016 05:10 AM
bonjour Luc,
oui ... ok ... terminologie et ergotage de ma part.
réponse, solution ...ok, je suis d'accord avec toi.
Bonne journée également.
le 05-20-2016 05:58 AM
en fait ... Je m'explique,
Je pense que nous avons, toi et moi, perçu la question de façon différente.
La question étant : comment remplacer un souVI par son propre code.
Tu sembles avoir vu dans cette question un but de recherche de "vitesse" (oui, pourquoi pas) ... d'où tes solutions en direction de "inline" ou " priorité subroutine".
En ce qui me concerne, pas du tout ! Le fait de vouloir remplacer un sousVI par son propre code ... n'est pas obligatoirement une recherche de vitesse.
Mais quel autre but alors ? .... ça, peu importe, la réelle finalité de cette manip appartient à celui qui a posé la question.
(ceci dit, ta question "mais pourquoi faire cela ? ... était très intéressante (je l'ai mentionné) ... mais ce n'est pas l'objet premier)
J'ai donc répondu à "l'objet premier" de la question ... sans extrapoler sur la finalité ... d'où ma réponse
voila, respect à toi Luc, et encore une fois, une belle journée pour toi.
le 05-20-2016 07:30 AM
Salut ouadji ! Nous sommes en phase 🙂
En fait, Je ne suis pas sûr d'avoir compris la question de maoura : j ai un sous VI dans mon programme et je veux que ca reviens dans mon programme des éléments normales pas un sous vi .
Des éléments normales..., c'est avec ta réponse que j'ai interprété la question et ta réponse me va très bien.
Maoura a peut-être une bonne raison de vouloir faire cela, mais j'aimerai savoir laquelle. Avant de répondre à "comment" j'aime savoir "pourquoi", car il va influencer ma réponse première. Surtout lorsque la réponse ne va pas dans le sens "des règles habituelles".
A+ luc
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 05-20-2016 07:43 AM
Bonjour,
CEla peut être du à un abus des sous vi, rendant difficile la compréhension du programme et /ou augmentant de manière non négligeable son débugage.
Je sais qu' à mon pasage du CLD, j'avais eu une remarque en ce sens, ou une fonctionnalité n'avait pas en soit d'intérêt à être dans un sous vi ( à noter que je l'avais mis dasn un sous vi pour faire une belle icone plustot que 4/5 fonctions qui se suivent ^^)
Bonne journée à vous.
05-20-2016 08:32 AM - modifié 05-20-2016 08:33 AM
et moi ça m'est déjà arrivé de faire un sousVI ... uniquement pour que la code tienne sur "un écran".
Un sousVi dont le but est uniquement graphique (c'est assez rare, mais cela m'est déjà arrivé)
Quant au "pourquoi" de la question de Maroura ...
C'est peut-être uniquement pour "savoir" comment on fait.
simulation :
- tiens ... je me demande si on sait faire ça ? et si oui, comment ?
+ bein oui, on sait ... on fait comme ça ! ... pourquoi veux-tu faire ça ?
- Je ne veux pas le faire, je veux juste savoir comment on fait !