le 01-22-2009 09:33 AM
Bonjour,
ma question va surement paraître très bête. J'ai un vi (ci-joint) dont j'aimerai me servir en tant que sous vi dans mon application principale pour alleger mon diagramme. Est-ce que cela est possible avec la structure à événement ou bien faut-il modifier mon vi ? Car j'ai déjà essayé de placer mon sous vi dans mon appli, mais rien ne fonctionne. Je ne sais pas comment m'y prendre pour adapter mon sous vi à mon appli. Est-ce du à ma structure?
Je vous remercie par avance pour votre aide.
Cordialement
Marylou
le 01-22-2009 09:44 AM
Hello,
Ca te fait une question par jour à peu près, et moi qui pensais que LV c'était un truc d'autodidacte.... 😉
Normalement tu devrais pas avoir de problème avec ce VI,
même en sous vi il devrait bien marché, bien sûr il va bloquer ton application principal dans la mesure où il a une entrée et une sortie.
Précises le "rien ne fonctionne" c'est pas clair.
Bonne chance,
Marc
le 01-22-2009 09:53 AM
Bonjour marylou,
le probleme vient du fait que tu n'as pas mis de valeur au sablier de ta boucle evenement, et donc celle ci attend indefiniment qu'un evenement arrive.
Je te conseille donc de mettre une valeur (en ms) d'attente de la boucle evement. et dans ta boucle while de mettre une temporisation qui te 'donnera le temps' de changer les valeurs et qu'il allegera la charge de ta cpu.
En esperant que ca t'aide
le 01-22-2009 10:37 AM
MarcC lorsque je lance mon vi principal il plante complètement je ne peux plus rien faire ni l'arrêter d'ailleur, c'est pour cela que je ne comprends pas. En effet je pose régulièrement des questions sur ce que je ne sais pas faire (et il y en a beaucoup hélas!
). Enfin je préfère paraître bête sur le moment pour ne pas le rester indéfiniment ![]()
MiouMiou je te remercie je vais essayer ce que tu viens de me dire.
Mercie encore tous les deux.
01-22-2009 10:47 AM - modifié 01-22-2009 10:49 AM
Je te taquine, tu penses bien.
C'est bien de poser des question pour s'instruire.
Toutefois il me faut plus de détail sur ton VI principal.
Mets un print screen du bloc diagram.
Autrement regarde avec le mode débug avec la petite ampoule, dans ce genre de cas ca peut aider, ou les breakpoint évidemment.
Surtout ne prends pas mal mon commentaire du premier "reply", je voulais pas être méchant.
Marc
PS : MiouMiou, c'est pas ca le prob, par défaut la valeur du timeout est -1, donc aucun timeout, donc consomation de ressource=0.
le 01-23-2009 02:39 AM
MarcC je te remercie pour ton aide bien précieuse, ne t'inquiètes surtout pas ton commentaire m'a fait sourire (je me suis dit à quand même autant que ça
), mais je sais que sur ce forum je peux obtenir de l'aide la preuve que tu n'ai pas méchant tu me réponds tous les jours
et je t'en remercie. Je suis obligée de faire le plein d'information car après je ne peux plus venir sur le forum pendant un bon bout de temps, je vais l'avoir dur![]()
Redevenons sérieux quelques instants. Je ne sais pas si mon diagramme va t'aider car en fait c'est une maquette dans laquelle je veux faire fonctionner quelques fonctions pour montrer au futur utilisateur donc il ne faut pas avoir peur en regardant le diagramme il n'a pas du tout d'architecture. Je t'ai également mis un bout de la face avant où tu retrouves le paramétrage que je veux faire fonctionner. Mais je me demande si je ne fais pas erreur en placant mon sous vi dans la structure à évènement. Peux tu m'éclairer ?
Je te remercie pour ton aide.
Marylou
le 01-23-2009 03:51 AM
Bonjour,
Que veux tu dire quand tu dis que ton programme plante ? bloquage sur la fenêtre du prog pricipal ? bloquage sur la fenêtre du sous -VI ? Tes images montrent le diagramme de ton VI principal mais la face avant est celle de ton sous-VI ? alors une petite question bête me vient à l'esprit : attention la structure évènement de ton sous-VI ne gére les événements utilsateurs de la Face Avant de ton sous VI et non de ton VI principal. (bon c'est juste comme cela au cas où vu les informations données sur le 'plantage').
Cordialement
Greg
le 01-23-2009 04:09 AM
Gregrory merci pour ta réponse. je place ci-joint la face avant avant complète. Oui c'est mon vi principal qui plante.
Je pense avoir trouvé le problème. je pensais que je pouvais placer mon sous vi dans mon vi principal dans une structure à événement (selon l'événement créee) apparemment je me suis trompée.
Merci pour ta réponse.
Marylou
le 01-23-2009 04:15 AM
Il n'y a aucun problème à placer un sous-VI comme tu l'as fait. Tu ne dis toujours pas ce qu'il se passe réellement quand tu lance ton programme.
Mets les en pièces jointes en n'oubliant pas le .ctl , que l'on puisse regardé un epu plus en profondeur.
le 01-23-2009 09:21 AM
Bonjour,
Gregory a raison de dire que ton sous vi ne prend pas les évènements de ton vi. En plus si je comprend bien, la structure evenement de ton sous vi a le même evenment que ton vi principal. (vi p -> lance le sous vi quand données d'étalon change, et fourni celui ci au sous-vi sous la forme Data// sous vi -> utilisation de la boite de calcul quand données de Data changent// on a les même evenement aussi pour le chargement et sauvegarde)
Donc soit tu veux utiliser la structure évènement pour lancer le vi principal, et dans ce cas t'as 2 solutions, soit tu créer un sous vi qui contient pas de structures évènement, mais une boucle condition, et en entrée tu met un numéro (qui correspond au traitement, par exemple 1 -> enregistrer [tu met ton code pour le XML] 2-> changement des données de Etalon TC...) je t'ai mis en jpg comment serait alors ton diagramme du vi principal, soit tu créer un sous vi pour chaque 'traitement', que tu insères dans ta structure evenement de ton vi principal, et chaque sous vi créé ne contiendrait pas de structure évènement.
Ou soit tu veux la structure évènement dans le sous vi, et dans ce cas, tu vérifie que ton vi principal, n'attend pas la fin de ton sous vi pour continuer son code.et tu créer une variable globale pour communiquer entre les 2 vi pour modifier le Data de ton sous vi.
J'espere que ca reste clair, car j'ai la mauvaise habitude de m'embrouiller dans mes explications..![]()