07-06-2011 02:28 AM
Bonjour,
Je rencontre une application ou un certain nombre d'acquisition sont réalisées toutes en même temps sur des ports com.
Les vis d'acquisition sont tous mis en parallèle les uns à coté des autres.
Les propriétés de ce vi sont définis en "éxécution réentrante" "préallouer une copie pour chaque instance".
Excepté le fait que les variables internes au vi ne seront pas effacées, y a t il un interet à ne pas partager les instances d'application?
"Partager les instances d'application" permet il réduire la vitesse d'éxécution? Le fait de "préallouer une copie pour chaque instance" donne t il aux sous vis une certaine priorité pour la lecture des ports com (qui doit être effectué à 7Hz environ).
Je pense que cette propriété a été utilisée car le code est uniquement écrit avec des boucles while en parallèle et il me semblerait plus judicieux pour avoir une maitrise sur le système de pouvoir séquencer au maximum l'éxécution du code.
Merci pour vos réponses.
🙂
07-22-2011 03:28 AM
Hi,
I've facing a software where around 10 acquisitions are made in the same time on different COM ports, Database access are also made in thoses Vis.
Vis are parametered with "reentrant execution" and "preallocate a copy for each instance".
They are running all in parallel one beside each others.
Except the fact that intern variables are not reinitialised to each call what could be the interest not to share instances?
Is "preallocate a copy" give a kind of priority to read on COM ports?
There are while loop in thoses vis, that are always running. Vis are not launched in vi servers.
Is using "reentrant execution", "preallocate a copy for each instance" and using always true while loops inside make Vis are they are launched in vi servers?
Personnally, i would prefer to share instances and to take away the while loops from those vis.
I hope my explanations are understandable.
Thank you