Discussions au sujet de NI LabVIEW

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

Sous-vi de monitoring de l'ensemble des Control?

Bonjour à tous,

 

Premier post dans ce forum pour moi, qui m'a l'air bien sympathique!

Je débute en Labview et j'ai quelques questions sur des applications bien particulières.

 

Est-il possible de créer un sous-vi (pour afficher dans une autre fenêtre que le VI principal) qui affiche les valeurs des Control du VI principal.

J'aimerai éviter de passer par des variables partagées, globales ou des liaisons.

 

Le but étant de pouvoir avoir une fenetre qui affiche toutes les valeurs tout en continuant le fonctionnement normal (visualiser les E/S RIO par exemple).

 

Petite question supplémentaire : est-il possible de modifier une variable appartenant au VI principal dans un sous-vi?

 

Merci à tous

 

Paul

 

 

0 Compliments
Message 1 sur 36
5 447 Visites

ici aussi, il y a plusieurs façons de faire "ça".

 

juste "une" ... (plutôt simple) .... considère ça comme une première piste.

 

j'utilise un Notifier (aucune liaison entre le "Main" et le "sous-VI d'affichage"

 

fichier joint en LV2013

 

je sors.png

Message 2 sur 36
5 427 Visites

Merci pour cette réponse rapide.

Je vais regardé cela 🙂

 

J'ai une petite question supplémentaire, pour ne pas poster un nouveau sujet car la réponse devrait être simple pour les connaisseurs :

est-il possible de pointer un indicateur sur un control (à la façon des pointeurs en C)?

 

Thanks!

0 Compliments
Message 3 sur 36
5 416 Visites

Pointer un Indicateur sur un Control ???

 

voila ... Smiley tirant la langue .... mais ce n'est certainement pas cela que tu as en tête.

 

je sors.png

 

alors ?

 

que veux-tu dire exactement par "pointer un Indicateur sur un Control" ???

 

(explique ... avec LV on peut tout faire  Smiley clignant de l'œil  )

0 Compliments
Message 4 sur 36
5 401 Visites

J'y ai bien pensé à cette solution!

Mais la valeur de l'Indicateur n'est pas modifiée quand le Control est modifié!

 

Je veux dire par pointer : qu'ils représentent la même donnée (un en écriture, l'autre en lecture) (la même partie mémoire en gros). 

Du coup la valuer de l'Indicateur est toujours identique à celle du Control, pas besoin de faire de mise à jour, d'utiliser un Notifier ou autre.

0 Compliments
Message 5 sur 36
5 399 Visites

Mais la valeur de l'Indicateur n'est pas modifiée quand le Control est modifié!

 

si ils sont reliés entre eux .... si !!!

donne moi un exemple de code ou le Control ne modifie pas la valeur de l'indicateur.

 

qu'ils représentent la même donnée (un en écriture, l'autre en lecture) (la même partie mémoire en gros). 

Du coup la valuer de l'Indicateur est toujours identique à celle du Control, pas besoin de faire de mise à jour, d'utiliser un Notifier ou autre.

 

si ... différentes façons ...

Je ne dirai pas qu'un seul emplacement mémoire représentera l"un et l'autre, mais le résultat est identique.

tu prends un Control et tu l'utilises (aussi) comme un Indicateur via ... une variable locale ou un noeud de propriété.

 

je sors.png

Message 6 sur 36
5 393 Visites

Merci de passer du temps à me répondre Smiley heureux

Pour la première solution (relier directement par un fil), si dans un autre endroit du code je modifie un des deux éléments, l'autre ne sera pas mis à jour, n'est-ce pas?

 

La variable locale ou le noeud j'y ai pensé. Ce que je souhaite c'est éviter de devoir coder à chaque fois l'écriture dans une variable locale (ou un noeud de propriété).

Si on pouvait indiquer une bonne fois pour toute que deux éléments sont liés (changer la référence mais conserver le label) ça serait idéal.

 

0 Compliments
Message 7 sur 36
5 386 Visites

Pour la première solution (relier directement par un fil), si dans un autre endroit du code je modifie un des deux éléments,

l'autre ne sera pas mis à jour, n'est-ce pas?

 

correct

 

La variable locale ou le noeud j'y ai pensé. Ce que je souhaite c'est éviter de devoir coder à chaque fois l'écriture dans une variable locale (ou un noeud de propriété).

Si on pouvait indiquer une bonne fois pour toute que deux éléments sont liés (changer la référence mais conserver le label) ça serait idéal.

 

tu parles d'un emplacement mémoire unique dont l'accès (référence) serait multiple.

 

non, ce n'est pas possible.

 

ET ...

 

le plus "dangereux" .... est que l'ensemble de ton idée va totalement à l'encontre du principe de base (et fondateur) de Labview

à savoir que Labview est basé sur un flux de données ... (et non un flux d'instructions comme les autres langages textuels)

 

Cette phrase de ta part :

 

si dans un autre endroit du code je modifie un des deux éléments, l'autre ne sera pas mis à jour, n'est-ce pas?

 

est flagrante à ce sujet ... tu n'as pas compris le principe de base de Labview. (le flux de données)

 

Si tu abordes LV avec un mode de pensée "C" ... tu vas droit dans le mur.

 

Rassure toi, il m'a fallu plus d'un an pour comprendre réellement ce que cela signifiait.

Au début, on dit : "wéé, facile, j'ai compris" ... mais en comprendre toutes les subtilités est un rien plus complexe.

 

 

 

Message 8 sur 36
5 383 Visites

Salut,

Comme d'habitude les réponses de  sont pertinentes :).

Voici un lien qui explique avec des exemples la notion du  flux des données dans le diagramme.

 

Reg
0 Compliments
Message 9 sur 36
5 370 Visites

Je pose ces questions pour savoir s'il existe quelque chose de plus propre que de câbler des variables locales plusieurs fois.

Pour avoir une programme principal qui tourne et un deuxième VI qui m'affiche l'ensemble des variables du VI principal, je suis donc obligé, à chaque endroit où des valeurs sont modifiées, d'utiliser une variable local en écriture, ou un notifier.

Ca surchage beaucoup au final! Voilà le pourquoi de ce sujet.

 

Le flot de donnée je comprends (je pense) mais ça oblige à utiliser des liaisons! J'ai un diagramme qui est déjà bien plein et j'aimerai éviter de surcharger quand cela est possible (7Mo le VI principal et ça rame bien...)

(programme codé par quelq'un d'autre que je récupère).

 

0 Compliments
Message 10 sur 36
5 365 Visites