le 08-24-2012 09:49 AM
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...
le 08-25-2012 04:21 AM
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
le 08-25-2012 06:57 AM
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.
le 08-25-2012 07:39 AM
des clusters!
le 08-27-2012 06:01 AM
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 ?
le 08-27-2012 06:46 AM
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?
le 08-27-2012 07:00 AM
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
le 08-27-2012 07:12 AM
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
le 08-28-2012 08:05 AM
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,
le 08-29-2012 04:06 AM
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.