Discussions au sujet de NI LabVIEW

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

Producteur-Consommateur

Bonjour,

 

Le programme en pièce jointe me permet de faire l'acquisition de tension issues de deux cartes NI PXI6363, de les visualiser et les enregistrer. Je suis actuellement stagiaire et on me demande pas mal de choses. Je dois pouvoir visualiser les courbes sur plusieurs graphs en continue, mettre un offset et un gain sur chaque courbe et je dois pouvoir choisir les courbes que je veux sélectionner. Jusque là aucun soucis, le programme fonctionne. Sauf que l'architecture du VI est pas terrible. Du coup, la visualisation sur les graphs est sacadée. Je souhaiterais que les visualisation soient fluides et que lors de l'enregistrement il n'y ai pas de perte. Pour cela je voudrais utiliser une structure du type producteur-consommateur (avec des files d'attentes). Le problème est que le programme réalise beaucoup de chose : acquisition, traitement offset et gain, visualisation sur plusieurs graphs et enregistrement sous condition. Du coup je dois créer une boucle pour chaque action, mais certaines de ces boucles vont se retrouver en tant que producteur et consommateur. Est-ce dérangeant?? N'y aura t-il pas trop de boucle en parallèle?? Y a t-il une autre solution ou le producteur-consommateur est la meilleur solution?

 

En pièce jointe se trouve mon projet. Le code pour ouvrir le VI est "nationalinstrument".

 

Merci de vos réponses...

0 Compliments
Message 1 sur 25
5 090 Visites

my god...

 

Je pense avoir pas mal de bonne volonté pour aider mais j'ai quand même des limites et là tu es allé bcp trop loin pour moi, ou plutôt pour mon écran!

Ca ne sert à rien de faire l'effort de mettre en place une architecture adaptée à ton application si tu la rends illisible en l'étalant sur 1280 écran au lieu de 1280 pixels.

Désolé je ne peux pas commenter ton architecture car je ne la vois pas, si tu arrives à tout faire tenir dans un écran de 1280*1024 alors on pourra discuter.

 

ps: merci d'abandonner les mots de passe, ça ne protège rien.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Message 2 sur 25
5 081 Visites

Bonjour,

 

Je sais l'architecture de mon programme est une horreur. Ceci est causé par le nombre de commande qui sont présente (environ 100). J'ai déjà essayé d'améliorer le visuel du diagramme, mais toute ces commande me gênent. Y a t'il une solution pour éviter que ces commande ne prennent trop de place?? Si c'est le cas, mon programme sera déjà bien plus lisible!

 

Merci de ta réponse. Cordialement.

0 Compliments
Message 3 sur 25
5 079 Visites

des clusters!

Rodéric L
Certified LabVIEW Architect
Message 4 sur 25
5 077 Visites

Bonjour,

Je rejoins les remarques sur la taille du diagramme, par contre vu la structure des données, je mettrais plutôt des tableaux au lieu de clusters.

Pour la structure du code, le modèle producteur consommateur est effectivement une bonne piste, mais je l'utiliserais dans une machine à états. Ce que tu appeles "Boucles pour chaque action" serait alors un état pour chaque action.

Sinon, pour le coup des mots de passe, je pensais qu'ils étaient efficaces depuis LV8 grâce à une tempo. Tu pourrais nous en dire plus ?

Cordialement,


Micaël DA SILVA
0 Compliments
Message 5 sur 25
5 052 Visites

Bonjour, tout d'abord merci de ta réponse.

 

Je ne vois pas bien comment lier mon architecture producteur-consaommateur avec un diagramme d'état. En fait, je ne sais pas vraiment ce qu'est un diagramme d'état. Est-ce tout simplement une structure condition?

0 Compliments
Message 6 sur 25
5 047 Visites

Bonjour Lequeux,

 

Tout d'abord, je confirme ce que dit Rodéric, utilisez des clusters. Ce sera beaucoup plus léger pour votre diagramme.

 

Ensuite concernant votre question sur les boucles producteur-consommateur, ça peut être dérangeant d'avoir les deux comportement au niveau de la réactivité.

Mais je vous conseillerai avant tout de vous pencher sur l'architecture des clusters. Ensuite vous pourriez songer à utiliser des filles d'attentes pour communiquer entre vos boucles ce qui serait mieux que des variables à priori.

 

Cordialement,

Mathieu P. | Certified LabVIEW Associate Developer
National Instruments France


Journées techniques : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...

0 Compliments
Message 7 sur 25
5 044 Visites

La machine à état est un modèle de conception très utilisé sous LabVIEW. Vous retrouverez des informations dans cette présentation sur les patterns.

 

Cordialement,

Mathieu P. | Certified LabVIEW Associate Developer
National Instruments France


Journées techniques : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...

0 Compliments
Message 8 sur 25
5 037 Visites

Salut,

 

Tu peux déjà dans un premier plan faire Editions/Netoyer le diagramme. Cela te permettra déjà de bien aligner les différents éléments.

Il est vrai que ton programme est horrible.

 

Cdlt,

0 Compliments
Message 9 sur 25
5 007 Visites

Bonjour,

 

Je viens de refaire l'architecture de mon programme. J'ai choisi une machine à états. Le programme semble fonctionner pour tous mes états sauf celui de l'acquisition. J'ai l'erreur 200279 qui apparaît. Je crois savoir d'où vient le problème mais je ne sais pas comment le régler. Je lis mes acquisitions en continue dans cinq graphs et l'acquisition ne se lance pas. L'erreur me stipule que la taille du buffer est trop petite ou que je devrais lire les acquisitions plus souvent, j'ai essayé les deux solutions mais aucun résultat positif. Pouvez vous m'aider?? Est-il possible d'utiliser une structure producteur consommateur dans l'état "acquisition" de ma machine à états??

Pourtant avec ces même sous VIs, dans mon programme dégeulasse, l'acquisition fonctionnait très bien!

 

Cordialement.

0 Compliments
Message 10 sur 25
4 988 Visites