Discussions au sujet de NI LabVIEW

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

FGV (utilsation)

Une question du même ordre que l'autre à propos de la variable locale ...

mais j'ai préféré créer 2 post différents ... c'est du même ordre ... mais sans plus.

 

Dans une boucle j'ai un sous-VI.

 

Je dois passer une donnée à ce sous-VI ... qui se trouve en arrière de là ou je suis ...

c'est à dire que ce sous-VI doit avoir cette donnée pour la prochaine itération.

 

Je peux :

 

utiliser un Shift-Registre ... et je cable une entrée du sous-VI sur ce SR

 

ou

 

J'utilise une FGV ...( un Set là où je suis ... un Get dans le sous-VI)

 

c'est une question de "densité"

Le connecteur d'entrée du sous-VI est déjà bien rempli ... et le diagramme aussi.

Au niveau clarté du code, une variable globale fonctionnelle m'apporte un plus.

Mais est-ce de bonnes pratiques ?

 

merci à tous.

0 Compliments
Message 1 sur 6
3 636 Visites

re,

 

"Je dois passer une donnée à ce sous-VI ... qui se trouve en arrière de là ou je suis ...

c'est à dire que ce sous-VI doit avoir cette donnée pour la prochaine itération."

 

je vois pas .

 

les deux ont leurs avantages/inconvenients:

 

1) le cablage directe permet de bien identifier les commandes necessaires à l'execution du sous vi  / augmente le nb de fils

n'ya t'il pas des entrées qui pourraient etre gouper dans un cluster et passer ce cluster ?

 

2) FGV , on perd la notion de flux , mais les données modifiées sont accessibles par d'autre process sans sortir du vi

qui applique les modifs , on profite aussi des specificite de la FGV,  fonctions dediées à la structure, pas de conflit d'acces lecture/ecriture

 

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 6
3 631 Visites

merci tinnitus

 

oui, ici aussi ... le flux visuel disparait.

 

Le Cluster ..

oui ... mais je ne sais pas trop pourquoi, je n'aime pas "bundle/unbundle" ... j'ai l'impression que ce sont des opérations

qui "bouffe" du code et dans lesquelles on perd (inutilement) du temps machine.

Fausse idée, à priori ?  ton avis ?

(et accessoirement ces fonctions prennent vite de l'espace écran)

 

Pour le reste, je n'ai pas besoin (ici) des spécificités d'une FGV (accessibilités, pas de conflit ...)

 

On y revient toujours, quand cela est possible ... rien ne vaut un SR.

Ce que je vais faire (avec éventuellement ton "option" Cluster)

 

 

 

 

 

 

0 Compliments
Message 3 sur 6
3 629 Visites

oui cela peut sembler inutile tant que le projet reste bien circonscrit

tout est question de contexte,

 

Le cluster est l'equivalent d'une sructure en C ou autre

 

En terme de maintenance c'est toujours pratique de savoir rapidement sur quelle donnée on travaille 

 

en terme de temps d'acces au données , j'ai pas fait de test mais je pense que la question a du etre etudiée et

j'ai jamais rencontré de cas ou cela soit devenu critique, il ya aussi la structure element en place afin d'optimiser ces accès.

 

dans le cas de vi qui travaille sur  plus de 5 proprietés (parfois une vingtaine) , je preferer cabler un cluster Smiley clignant de l'œil

 

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 4 sur 6
3 627 Visites

dans le cas de vi qui travaille sur  plus de 5 proprietés (parfois une vingtaine) , je preferer cabler un cluster

 

ah oui ... là ... Smiley clignant de l'œil ...le luxe du choix n'existe même plus.

 

merci à toi.

0 Compliments
Message 5 sur 6
3 626 Visites

Bonjour,

 

Au niveau mémoire, la FGV permet de cibler un espace mémoire, on travaille ainsi "en place" lorsqu'on lit la valeur, la modifie, puis l'écrit au sein de la FGV. L'utilisation des Globals va majoritairement induire des copies en mémoire.

 

Lorsqu'il s'agit de lire/écrire une donnée, on peut être tenter d'utiliser les globales plutôt que des FGV, pourtant, il ne s'agit pas en règle générale de ne faire que lire ou écrire, il s'agit aussi de traiter, d'enregistrer, de comparer des données. Dans ce cas là, la FGV est un vrai plus (on parle alors aussi d'AE: Action Engine). En effet, derrière la FGV, il y a aussi l'idée d'encapsuler la donnée (oops, on aborde l'orienté-objet...), c'est-à-dire masquer la donnée, définir le lieux où elle est accessible et donc traitable (uniquement dans la FGV donc). Ma donnée n'a alors pas (ou peu) d'existence au niveau du diagramme principal, seul la FGV peut la manipuler.

 

Ceci permet alors de:

 

- simplifier grandement le développement à plusieurs

- alléger les diagrammes de plus hauts niveaux

- améliorer la lecture du code

- focaliser sur l'architecture plus que sur le traitement des données en premier lieu

 

Bonne journée

A+

 

Flo

Message 6 sur 6
3 570 Visites