le 02-26-2015 08:09 AM
Bonjour,
Je viens vous demander quelques conseils pour l'utilisation des variables : Faut-il préférer des noeuds de propriétés par rapport aux variables locales ? pourtant il me semblerait que la première nécéssite une référence + un noeud de propriété alors que la second il n'y a seulement une seule variable. D'après qq infos la première solution est préconisée, et vous que pensez-vous ?
Résolu ! Accéder à la solution.
02-26-2015 08:36 AM - modifié 02-26-2015 08:40 AM
GSXR100045 a écrit :
Bonjour,
...pourtant il me semblerait que la première nécéssite une référence + un noeud de propriété
Salut,
Tu parles d'un noeud de propriété par référence?
Edit:
02-26-2015 08:47 AM - modifié 02-26-2015 08:48 AM
Oui de ce genre implicite ou explicite cela dépend des cas en tout cas ce sont des Noeuds de propriétés alors qu'avec la variable locale c'est beaucoup plus simple, au niveau des situations de compétitions l'un ne vaut pas mieux que l'autre, la mémoire l'un utilise deux variables par rapport à la variable locale alors pourquoi préférer les noeuds de propriétés par rapport au variable locale ? C'est plus compliqué à faire peut-être, + c'est compliqué et obscur + c'est cher et complimenté sans doute ?
le 02-26-2015 09:00 AM
Excuse moi,
Je n'avais pas vu que c'était R3g, Salut
le 02-26-2015 03:31 PM
salut si tu cherches des infos sur locale VS noeuds de propriétés VS terminal, je te conseille la lecture de
blog : Techniques Programmation avancée LabVIEW : Gestion des données FGV – AE - vers DVR
ou Technique de programmation avancée : gestion des données sous LabVIEW de la locale vers la DVR
ou LabVIEW noeud bloquant - Thread User Interface - Root Loop - priorité - interruption
GSXR100045 a écrit :
Faut-il préférer des noeuds de propriétés par rapport aux variables locales ?
Pour modifier juste la donnée dans un même diagramme (dans l’ordre) : terminal / variable locale / nœud de propriété.
Le nœud de propriété va engendrer des lenteurs car dans thread UI (le ratio est de l'ordre de 100 à 300 x plus lent en écriture). Par contre le nœud de propriété peut permettre de faire un value signaling + chainage erreur.
Quand vous mettez à jour une commande avec la même valeur plusieurs fois de suite, une variable locale ou un terminal de commande ne redessine pas la commande sur la face-avant à chaque fois (ce qui est le cas avec le noeud de propriété).
Il y a des duplications des données avec locale ou noeuds de propriétés.
Bonne lecture
A+
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
le 02-26-2015 03:39 PM
De plus dans ton exemple, le close référence n'est pas utile (ne pas faire de close sur une constante de référence)
Quand faut-il fermer une référence sous LabVIEW?
The use of a close operator on a control reference (generated from a control reference constant) is a NULL operation in LabVIEW. When the VI that calls the control reference constant becomes idle, LabVIEW automatically cleans up and disposes the reference. Calling the close does not generate an error
A+
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
le 02-26-2015 06:46 PM
Perso, j'étais totalement anti-locale (même poubelle, avec la structure séquence )
Je n'ai pas changé d'avis à propos de la sructure séquence,
mais en ce qui concerne la variable locale .... j'ai un peu élargi mon champs de vision.
Cela reste malgré tout quelque chose que j'utilise toujours après large réflexion (attention au flux, et aux conditions de compétition)
mais, parfois, je suis surpris d'en trouver une (ou deux) dans certains de mes codes.
Utilisées de façon "intelligente" (et certainement pas en les semant à tous vents) ...
elles sont efficaces, et surtout rapide. (à part le terminal lui-même, difficile de faire plus rapide)
et quand on a besoin de modifier par programmation la valeur d'un d'un Controle (pas un Indicateur) ... la locale, c'est pas mal.
petit avis perso ... en passant par ici.
le 02-27-2015 02:04 AM
Bonjour,
Cela me fait plaisir de votre intervention, mais désolé de vous décevoir le code ce n'est pas de moi c'est la correction d'un CLD 16 (en copie ci-joint), il me semblerait qu'avec "VI Analyzer ou Desktop Execution Trace", il ne nous tolère que quelques variables locales (2 ou 3), il me semblerait aussi que la DVR n'est pas au programme (je n'ai pas vu au CORE 3). C'est pour cette raison ils ont supprimé toutes les variables locales, je me trompe ou c'est une correction qui n'est pas encore optimisée ? Avez-vous le regret de critiquer une correction qui est censée de nous préparé au mieux les certifs ?
le 02-27-2015 02:20 AM
Meci Desruelle_luc pour la qualité de la documentation et les explications très claire. je n'ai pas tout lu, mais le chapitre qui traite le sujet de la discussion est top 🙂 (apartir de la page 22):
http://www.mesulog.fr/download/JournTech2013_MESULOG_ProgAvanceeLabVIEW_GestionDonnees_VNI.pdf
le 02-27-2015 03:32 AM
Bonjour GSXR, la question est pour moi?
GSXR100045 a écrit :
Avez-vous le regret de critiquer une correction qui est censée de nous préparé au mieux les certifs ?
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