LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Comment stocker des valeurs pour un utilisateur donné, en utilisant une interface LabView et TestStand ?

Bonjour,

Mon problème est le suivant : j'utilise LabView 8 et TestStand 3.5.

J'ai créé une interface opérateur à partir de l'exemple fournit avec TestStand 3.5 et maintenant je possède des compteurs sur cette interface. Ce que je souhaite faire c'est sauvegarder les valeurs de ces compteurs lorsque l'utilisateur se déconnecte. Je souhaite en faite, créer des variables ou quelque chose dans ce genre pour chaque utilisateur et sauvegarder les valeurs des compteurs dans ces variables. Ce qui permettra de retrouver les valeurs des compteurs lorsque l'utilisateur ce reconnectera plus tard.

Je vous remercie de toute l'aide que vous pouvez m'apporter.

Will W
0 Kudos
Message 1 of 2
(2,714 Views)

Bonjour,

 

Je pense que pour la sauvegarde des valeurs vous en êtes venus par vous même à la conclusion que le plus simple est d'enregistrer la valeur des contrôles dans un fichier texte.

 

La difficulté consiste à sauvegarder la valeur de ces contrôles lorsqu'un utilisateur se déconnecte et à rapatrier les valeurs lorsqu'un utilisateur se connecte. Pour ceci vous devez utiliser des UIMessages. Les UIMessages (pour User Interface Messages) sont utilisés par TestStand pour envoyer des informations à une interface opérateur sur un évènement particulier. Plus concrètement, sur certains évènements (par exemple la rencontre d'un point d'arrêt), TestStand poste un message (avec éventuellement des données associées), ce message est ensuite relevée par l'interface utilisateur et traité.

 

Sur le tutorial dont le lien est donné ci-dessus, vous verrez une capture d'écran du VI où les VI callbacks sont enregistrés. Les VI Callbacks sont des VIs appelés sur un évènement. Dans le VI "xxx - Configure Event Callback.vi", une méthode du contrôle ActiveX "Application Manager" permet d'associer un évènement (notamment un UIMessage) à un VI Callback. Dans ce VI, vous devrez donc rajouter deux méthodes : un pour le message correspondant à la connexion d'un utilisateur, l'autre pour le message correspondant à la déconnexion de l'utilisateur. Il se trouve qu'il existe un évènement "UserChanged" associé à l'Application Manager, vous pourrez utiliser cet évènement pour enregistrer les paramètres dans un fichier. Par contre pour la déconnexion d'un utilisateur, il n'existe pas d'évènement ou de UIMessage prédéfini. Il va vous falloir poster par vous même un message utilisateur par vous même.

 

Lors de la connexion ou de la déconnexion d'un utilisateur, la séquence "LoginLogout" du fichier séquence "...\National Instruments\TestStand 3.5\Components\NI\Callbacks\FrontEnd\FontEndCallbacks.seq" est appelée. Il vous suffit de poster un message à partir de cette séquence pour notifier l'interface opérateur d'une déconnexion. Dans le tutorial, vous verrez comment poster un message personnalisé à partir d'une séquence en utilisant un pas ActiveX. Il vous suffit ensuite de paramétrer les préconditions de ce pas avec le paramètre 'logout' de la séquence de façon à ne poster le message que sur une déconnexion.

 

Vous trouverez ici un exemple montrant comment gérer des messages utilisateurs dans votre interface opérateur.

 
Cordialement,
Message 2 of 2
(2,689 Views)