04-24-2012 02:10 AM
Bonjour,
Je construit un automate embarquant une caméra et des platines motorisées.
Actuellement, les deux types d'outils fonctionnent dans une seule et même boucle.
Malheureusement le rafraîchissement image est ralentit par le temps de réponse des moteurs.
Je voudrais savoir si il est absurde d'avoir des boucles "while" qui s'exécutent parallèlement et comment passer les données entre elles? ( Variable locales? Globales?)
Merci par avance.
Solved! Go to Solution.
04-24-2012 02:53 AM
Bonjour,
Oui c'est mieux d'utiliser deux boucles while.
Pour passer des données, sa dépend du flux de données, et si la comm doit être déterministe ou juste occasionelle... Les locales et globales fonctionnent, mais en général c'est plus propre d'utiliser des files d'attentes (ou des notifications pour des évenements ponctuels)
Cordialement,
04-24-2012 04:09 AM
Il me reste quand même une question...
Comment va réagir LABVIEW avec deux boucles whiles cotes à cotes ?
Comment décide-t-il laquelle exécuté en premier ?
Vont elles s'exécuter en parallèle?
Si non, Y'a t-il moyen d'avoir une exécution parallèle?
Cdt,
04-24-2012 04:10 AM
Oui elles vont s'executer en parallèle
04-24-2012 04:15 AM
Pourriez vous etre un peu plus précis SVP ??
04-25-2012 11:25 AM
Bonjour,
Chaque boucle de votre VI sera un thread dans votre application.
Le ou les processeurs travaille(nt) sur chaque thread à tour de rôle de manière très rapide. Dans le cas où votre système a plus d'un coeur (ce qui est très problable), le code est exécuté de manière intelligente à savoir que chaque boucle sera exécutée sur un coeur différent.
Cordialement,
Jérémy C.
NI France
05-14-2012 01:51 AM
Merci, c'est tout ce qu'il me fallait....