Discussions au sujet des autres produits NI

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

Création de classe sous Labview NXG

Résolu !
Accéder à la solution

Bonjour,

 

Je cherche a créer des variables partagées sous labview nxg et si j'ai bien compris, je dois utiliser des classes. Mon problème est que je ne comprend pas comment les créer ni les utiliser.

J'ai compris que sur la variable que je souhaite partager, je dois lui ouvrir son type G puis lui ajouté des membres. C'est à partir de ce moment que je suis perdu. Je ne comprend pas la différence entre un modèle dyspatch dynamique et un modèle dyspatch statique.

Le but de ces classes serait de pouvoir modifier des variables d'une boucle while dans un autre VI. Je vous mets un exemple de ce que je souhaiterai

 

Je vous remercie par avance de votre aide

0 Compliments
Message 1 sur 5
2 673 Visites

bonjour je ne suis pas sûr d'être en accord avec toi.

Tu veux créer des variables partagée : donc utiliser le serveur de variables partagées (publish-subscribe Protocol dit psp) ou moteur de variables partagées cf Les variables partagées publiées sur réseau publient des données sur un réseau par le biais d'un com...

 

donc tu veux publier des variables sur le réseau. J'ai bien compris?

cela ne correspond pas aux classes, qui repose sur la programmation objet ou OOP, et qui permet de définir des méthodes et des données privées qui interagissent avec un objet (instance particulière de la classe). Pour faire simple, une classe va définir des fonctions logicielles qui vont réaliser des actions. Une instance particulière est appelé un objet, elle a des données que seulement elle peut manipuler. On parle de données privée.

Le dynamic dispatch est la capacité d'une classe enfant à modifier "dynamiquement" une méthode de la classe parent. J'ai fait un exemple : Exemple de code OOP avec LabVIEW

Par exemple une classe "Rapport" peut avoir deux sous-classes enfants (on parle d'héritage) par exemple Excel et Word. Sur l'action (méthode) sauvegarde, la classe Excel et la classe Word ne vont pas réaliser le même code, mais un code spécifique.

 

Mais à aucun moment une classe ne va créer un mécanisme de publication de données.

 

Pour bien comprendre le problème :

  • Tu veux publier des données sur le réseau ?
  • Tu veux publier des données dans un même exécutable?
  • Tu veux manipuler la programmation objet par classe?
banniere Luc Livre NXG Champion.png

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

0 Compliments
Message 2 sur 5
2 656 Visites
Solution
Accepté par l'auteur du sujet snioper

si tu veux : utiliser les variables partagées, il faut LabVIEW NXG 2.1 (je crois pas avant) Nœuds de variable partagée

il s'agit bien du serveur variables paratagées (NI-PSP, Shared variable Engine) Gérer les variables partagées publiées sur réseau. 

 

dans un même exécutable il y a le  Nœuds de tag Lire le tag et écrire des données dans un tag, qui est le tout dernier point de données auquel vous pouvez accéder à partir de plusieurs VI d'un projet.

 

A suivre en fonction de tes besoins

banniere Luc Livre NXG Champion.png

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

Message 3 sur 5
2 655 Visites

C'est bien les variables partagée que je cherche. Je pensais que les classes correspondait aux variables partagé sous labview 2017 (et oui il n'y a pas avant car je travaille sous Labview NXG 2.0). Je vais donc passer à la 2.1

 

Je te remercie beaucoup pour ton aide et ta rapidité

Message 4 sur 5
2 648 Visites

merci! je te conseille vivement la version 2.1 (plus stable) et la traduction française est bien meilleure.

bonne chance pour la suite.

Pour info, tu as le droit de mettre un compliment (étoile jaune) si tu as apprécié la réponse 🙂 A+

banniere Luc Livre NXG Champion.png

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

0 Compliments
Message 5 sur 5
2 644 Visites