Discussions au sujet de NI LabVIEW

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

Vi extremetn lent

Résolu !
Accéder à la solution

Bonjour,

J'ai un problème que je n'arrive pas à regler. Je dois regler un debitmètre brooks ou il est fournit des VIs pour le commander.

J'arrive à regler la consigne de la pression puis lire la pression et le choix de l'unité ... 

Mais c'est  extrement lent. Les menus déroulants prends 3secondes pour s'afficher comme si mon PC ramé mais il ne rame pas.

je suis seulement à 3%de mon UC. Si on lance un seul Vi de la librairie par exemple pour ouvrir le débitmetre c'est aussi extrement lent

Je n'ai pas de soucis avec des Vi autre que celui du débitmetre.

Mais quand je rentre dans le diagramme y a une  boite ( voir l'imae) il me propose d'éxecuter dans n'importe quel thread.

J'ai essayé  le VI fonctione correctement mais aprés j'ai un problème si je fait un VI principal avec les différents VI du débitdébit mètre 

ca fonctione plus, la face avant se ferme je relance il indique une erreure ( de la MER**)

 

Une personne peut m'aider s'il vous plait ??

 

Je suis sous LabView2012 32bits avec un PC 64 bits

 

Merci

0 Compliments
Message 1 sur 10
4 115 Visites
0 Compliments
Message 2 sur 10
4 110 Visites

Bonjour

 

Il est délicat de répondre sans avoir le code sous les yeux.

Pourriez-vous nous joindre le projet ou le VI svp.

 

 

Salutation

EricC

Ingénieur d'Application / Développeur LabVIEW Certifié (CLD)
Application Engineer / LabVIEW Certified Developer (CLD)
0 Compliments
Message 3 sur 10
4 079 Visites

Voici la librairie du contrusteur des débitmetres mais le programme est extrement lent quand il y a les débitmétres

de connectés.

0 Compliments
Message 4 sur 10
4 050 Visites

Bonjour

 

Pourriez vous nous envoyer votre vi de test.

Nous fournis la librairie du constructeur ... C'est bien, mais n'ayant pas d'appareil cela ne nous sert pas à grand chose.

 

Noté qu'il peut arriver que l'appareil mettent du temps à répondre.

Le plus simple est d'isoler le VI qui met du temps à répondre. Pour cela, un moyen simple et de mettre des mesure de délais dans le code

L'exemple ci dessous est une des techniques.

 

mesure temps.png

 

Cela peut sembler un peu laborieux, mais hélas, c'est incontournable.

 

Salutation

EricC

Ingénieur d'Application / Développeur LabVIEW Certifié (CLD)
Application Engineer / LabVIEW Certified Developer (CLD)
0 Compliments
Message 5 sur 10
4 043 Visites

Le probleme c'est presque tous les VI son lent.

Voici le VI

0 Compliments
Message 6 sur 10
4 041 Visites
Solution
Accepté par nono49

Bonjour

 

Voici quelques observation

Votre VI :

Vous utilisez directement les fonctions. Par contre, mettez les commandes en série. Une exécution en parallèle ne pose pas de problème avec LV, mais comme la dll vient du fabriquant, on ne sait pas comment ils ont gérer cela en interne.

 

vi v2.png

 

 

 

 

Ensuite utiliser une boucle While pour faire un essai sur plusieurs itérations. Peut-être que lors du 1er appel li y a un délais de connexion qui n'existe pas sur les autres.

Ne relancer pas le Vi avec la flèche (exécution) ou avec exécution en continue.

Chaque relancement correspond à un relancement complet de votre application et pas à une exécution continue.

 

 

Les VI fabriquant

Appel DLL

Les appels DLL ont été écrit tel que. Or par défaut l'appel est traité par le thread IHM

Testé en changeant le thread par defaut.

dll call, v1.png

 

 

Version VI

En les ouvrant, on peut constater qu'ils ont été écrit à l'époque de LV6. Peut être que le code est un peu ancien.

Renseigner-vous dans la doc fabriquant.

Si l'appareil se commande via les ports séries ou tcp/ip, il peut s'avérer plus intéressant d'écrire des vi de commande direct, sans passer par une dll.

(surtout s'il ne vous faut qu'une ou deux fonctions)

 

 

Salutations

EricC

 

 

 

Ingénieur d'Application / Développeur LabVIEW Certifié (CLD)
Application Engineer / LabVIEW Certified Developer (CLD)
Message 7 sur 10
4 034 Visites

Merci

Avant j'avais déjà fait le changement de thread mais comme c'était en parallèle les fonctions me disaient communication impossible  déjà utilisé.

Mais avec le sequencement plus de problème de conflit  et il n'y a plus d'erreur de conflit .

Merci beaucoup 🙂

0 Compliments
Message 8 sur 10
4 028 Visites

A votre service !

 

Salutation

EricC

Ingénieur d'Application / Développeur LabVIEW Certifié (CLD)
Application Engineer / LabVIEW Certified Developer (CLD)
0 Compliments
Message 9 sur 10
4 025 Visites

bonjour, juste pour écrire "très bon post" à Eric

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 10 sur 10
4 008 Visites