le 06-03-2009 03:02 AM
Bonjour.
J'ai créé un programme qui envoie une trame sur un port com pour intérroger une étuve pour qu'elle me renvoie la température actuelle. Le programme fonctionne mais quand je l'utilise en tant que sous-VI, la température n'apparait pas ou reste figée mais n'est jamais la bonne. Pour les " connecteurs " du sous-Vi j'ai choisit le module pour choisir les ports COM en entrée et en sortie l'afficheur. Rien de bien compliqué car tout le paramétrage du port COM est figé avec des constantes.
Si quelqu'un pourait m'éclairer, ça serait sympas.
PS : j'ai déja essayé de mettre des afficheurs sur les entrées et sorties d'erreurs pour voir une quelconque trace pour y remèdier.
Ci-joint mon programme en LV8.5
Résolu ! Accéder à la solution.
le 06-03-2009 08:47 AM
Hello!
Essaye de flusher ton buffer de reception avant de lire/écrire tes données (avant l'entrée dans la boucle while).
Ensuite, une boucle While qui tourne en continu, c'est jamais bon (False constnt reliée à la condition d'arrêt)... Car si tu arrêtes l'exécution de LV avec le bouton "Abort Execution", la fonction "Close port" ne sera jamais lancée et la ressource ne sera pas tuée... Dans ce cas, tu n'arriveras peut-être plus à te reconnecter au port COM tant que ta session ne sera pas close....
Essaye de ne mettre dans le sous-VI que les fonction de lecture/écriture et non pas la boucle While entière...
le 06-04-2009 02:58 AM
Bonjour.
Merci de la réponse surtout pour l'info sur la boucle While et le port COM qui serait pas fermé correctement en arrêtant le programme. Pour ce qui est du sous-VI j'ai contourné mon problème en supprimant la partie " initialisation " du port com. Donc mon sous-VI me permet d'écrir sur le port com et en sortie je récupère la réponse ce qui m'allège un peu pour mon programme finale.
Merci bien.
JohannB