Discussions au sujet de NI LabVIEW

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

Enregistrement de données dans un tableau 2D "Table Express"

Résolu !
Accéder à la solution

Bonjour,

 

Je souhaite créer un programme me permettant de rentrer et de modifier des données sous forme de chaîne de caractère dans un tableau 2D sur LabVIEW, puis d'ouvrir et créer ce tableau sur Excel (avec possibilité d'enregistrer le fichier excel). Mon programme fonctionne correctement : je rentre des valeurs, j’exécute le programme, j'enregistre ou non le fichier excel. Seulement lorsque je ferme complétement mon VI et que je le réouvre ensuite, les données que j'ai entré dans mon tableau sur LabVIEW disparaissent et je suis obligée de tout retaper. Comment faire pour que les données que je rentre dans le tableau soit sauvegardé lorsque je ferme le VI et qu'elles apparaissent lorsque je réouvre mon VI ?

 

Je précise que j'utilise un tableau de l'onglet "express -> indicateur texte -> Table express" sur LabVIEW 2015. J'ai joint mon programme en pièce jointe (le tableau apparaitra en tout logique, vierge).

0 Compliments
Message 1 sur 15
6 524 Visites
Solution
Accepté par l'auteur du sujet Azraael

Salut Azraael,

 

Pour sauver tes valeurs, une fois ton tableau rempli, clique-droit dessus et sélectionne "Opérations sur les données" > "Définir les valeurs actuelles comme défaut". Ou quelque chose approchant, je n'ai pas LV en Français sous la main 🙂

 

N'hésite pas si ça bloque toujours.

CLAMaxime -- Kudos are a great way to say thank you
Message 2 sur 15
6 513 Visites

Merci beaucoup, c'est exactement cela que je cherchais! Ça fonctionne très bien (et c'est exactement le bon chemin à suivre sur le LabVIEW français ^^) encore merci!

0 Compliments
Message 3 sur 15
6 500 Visites

Habituellement on utilise un fichier de configuration .ini pour conserver les valeurs de contrôles en mémoire. Dans ce cas, comme on a déjà une une base de données comprenant toutes les valeurs on n'a qu'à lire ce fichier pour mettre à jour le tableau du vi.

 

Le fichier de base de donnés devrait avoir un nom et une location fixe. Dans un premier temps on vérifie si le fichier existe, si oui on lit son data et met à jour le tableau du vi, sinon on le crée. J'utiliserais un "user event" d'initialisation pour faire ça. On peut utiliser le Excel Get Data.vi pour lire le data du fichier.

 

Ben64

Message 4 sur 15
6 483 Visites

Si j'ai bien compris, cela nécessite de créer le fichier (Excel dans mon cas) dans un premier temps pour pouvoir ensuite le lire et le modifier sur LabVIEW ?

 

Votre solution m’intéresse car j'ai encore un soucis à l’exécution. Je souhaite créer mon tableau directement sur LabVIEW (le programme a pour but d'être trimballé d'un PC à un autre et j'aimerais éviter de rentrer le chemin d'accès à chaque fois), enregistrer les données et laisser le choix à l'utilisateur de sauvegarder le fichier sur Excel. Ceci marche très bien. Si l’utilisateur modifie le tableau sur LabVIEW au cours de l’exécution et l'enregistre ensuite sur Excel, les données ont bien été modifiées.

Seulement si l'utilisateur modifie le tableau au cours de l'exécution puis quitte le programme, les données modifiées non pas été enregistrées sur le tableau de LabVIEW (ce qui est logique puisque je ne peux pas établir les données par défaut au cours de l'exécution, je peux seulement rétablir les anciennes). Comment est-il possible d'établir les nouvelles valeurs rentrées par l'utilisateur au cours de l'exécution par défaut, afin de les sauvegarder lors de la future exécution du programme ?

0 Compliments
Message 5 sur 15
6 197 Visites

C'est exactement ça, créer un fichier tableur (je préfère les CSV au XLS), puis venir le lire pour initialiser ton tableau. Une solution possible : http://zone.ni.com/reference/fr-XX/help/371361P-0114/glang/read_delimited_spreadsheet/

 

Il suffit de donner le nom de ton fichier et tu récupères ton tableau en sortie. De mémoire, tu peux changer le type de données que tu récupères en jouant avec l'entrée "format".

 

Pour la sauvegarde, c'est l'opération inverse : tu envoies ton tableau au VI qui enregistre le fichier.

 

Cela répond-il à tes questions ?

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 6 sur 15
6 177 Visites

Ça ne réponds pas exactement à ma question. Je souhaitais directement construire mon tableau sur LabVIEW pour pouvoir ensuite l'ouvrir sur Excel. Mon soucis survient lors de l’exécution du programme, à savoir si je souhaite modifier une valeur dans mon tableau sur LabVIEW au cours de l’exécution du programme, je peux le faire et lorsque je sauvegarde mon fichier sur Excel la valeur à belle et bien été modifié. Le soucis c'est lorsque je ferme mon programme, puisque je ne peux pas  remplacer les valeurs modifiées en valeur par défaut au cours de l’exécution, je perds les données que j'ai modifié sur mon tableau LabVIEW. Je ne sais pas si c'est très clair ce que je raconte ^^ Savez-vous s'il est possible de remédier à ce problème ?

 

Sinon j'avais fait un programme de ce style au début, en allant chercher mon tableau sauvegardé sous format CVS dans mes fichiers avec LabVIEW. Le soucis c'est que je ne suis pas parvenue à le modifier sur LabVIEW et à l'enregistrer sur Excel ensuite (c'est d'ailleurs pour ça que j'ai opté pour la solution ci-dessus). Est-il possible de me pister ? J'ai joint mon début de programme..

 

0 Compliments
Message 7 sur 15
6 115 Visites

Salut Azraael,

 

Tu peux tout à fait modifier les valeurs par défaut dans ton code grâce un un nœud de méthode.

 

Azraael.png

 

Cependant, de mémoire cette méthode ne fonctionne pas dans un exécutable (puisque le code est compilé) ! C'est pour ça qu'on préfère passer par un fichier de configuration comme te l'expliquait Ben. Dans ton cas il s'agira juste de lire ton fichier tableur pour récupérer ton tableau de valeur, en faire ce que tu veux, puis de réécrire ton fichier tableur à la fin de ton programme.

 

Azraael2.png

 

Ce répond-il à ta question ?

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 8 sur 15
6 109 Visites

@ML927 a écrit :

Salut Azraael,

 

Tu peux tout à fait modifier les valeurs par défaut dans ton code grâce un un nœud de méthode.

 

Azraael.png

 


Pas tout à fait, lorqu'on regarde l'aide contextuelle on s'aperçoit que cette méthode ne peut être utilisée lorsque le vi s'exécute.

ScreenShot085.png

Ben64

0 Compliments
Message 9 sur 15
6 100 Visites

My bad then. J'ai fait un petit test vite fait ce matin et cela me semblait fonctionner. J'ai dû louper un truc... Désolé.

 

La meilleure méthode reste de toutes façons d'utiliser un fichier de config 🙂

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 10 sur 15
6 095 Visites