From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Boucle trop lente : pourquoi ?

Résolu !
Accéder à la solution

Bonjour,

 

J'ai un probléme avec la boucle ci jointe, sa fonction étant d'acquérir puis d'enregistrer des données via modbus.

 

La boucle est trop lente son temp d'exécution est d'environ 40ms d'aprés les temp visible dans le fichier enregistré.

 

Vous avez une idée de ce qui ralentit l'exécution ?

 

Note : Si je place une fonction attendre, le temp d'attente n'est jamis respecté : pour 30ms dans attendre, j'au rai 40ms quand même. Pour 50 ms dans attendre, le temp d'exécution alternera entre 40 et 60 ms !

 

Merci

0 Compliments
Message 1 sur 4
3 129 Visites
Solution
Accepté par l'auteur du sujet Doriann

il y a plusieurs choses possibles

 

je vois un @ avec etoile puis avec une croix

ce la semble etre une initialisation de connection et fermeture et ceci a chaque iteration

si c'est cela tu peux deja commencer ces deux fonctions en dehors de la boucle

l'initialisation  avant et le une fois sortie

 

il y a peut etre aussi un ralentissement du à l'enreristrement dans le fichiers

mais commence déja par cette premiere modification pour voir si amelioration il y a

 

Cdt

 

Tinnitus

 

 

 

 

CLAD / Labview 2011, Win Xp
------------------------------------------------------
Mission d'une semaine- à plusieurs mois laissez moi un MP...
RP et Midi-pyrénées .Km+++ si possibilité de télétravail

Kudos always accepted / Les petits clicks jaunes sont toujours appréciés
Don't forget to valid a good answer / pensez à valider une réponse correcte
Message 2 sur 4
3 114 Visites

Bonjour Doriann,

 

Effectivement, l'enregistrement sur fichier pourrait poser problème car c'est ici une fonction assez haut niveau, qui va ouvrir le fichier, écrire dedans, puis le fermer, alors que seule l'écriture est nécessaire dans la boucle.

 

Plus l'initialisation/fermeture des sessions Modbus 😉

 

Cdt,

Eric

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

0 Compliments
Message 3 sur 4
3 111 Visites

Pour résoudre le probléme j'ai été forcé d'adopter les deux solutions. J'ai déplacer hors de la boucle l'nit et la fermeture de la session modbus.

 

L'enregistrement se fait également aprés  la fin de l'acqui, les données sont enregistrées dans un tableau en attendant.

 

Merci

0 Compliments
Message 4 sur 4
3 095 Visites