le 03-28-2018 10:27 AM
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).
Résolu ! Accéder à la solution.
le 03-28-2018 10:54 AM
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.
le 03-28-2018 11:02 AM
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!
le 03-28-2018 11:58 AM
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
le 03-30-2018 03:36 AM
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 ?
le 03-30-2018 06:12 AM
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 ?
le 04-06-2018 03:37 AM
Ç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..
le 04-06-2018 07:48 AM
Salut Azraael,
Tu peux tout à fait modifier les valeurs par défaut dans ton code grâce un un nœud de méthode.
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.
Ce répond-il à ta question ?
le 04-06-2018 10:35 AM
@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.
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.
Ben64
le 04-06-2018 10:55 AM
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 🙂