le 11-20-2014 08:44 AM
Dans plusieur endroit de ton Vi tu utilise la fonction Remplacer une portion d'un tableau comme suivant:
tu peux utiliser la même fonction pour remplacer plusieurs éléments d'un coup:
11-20-2014 08:44 AM - modifié 11-20-2014 08:46 AM
Parfait c'est ce que je cherchais.
Voilà où j'en suis.C'est assez différent de la première version mais il y aurait encore beaucoup de 'ménage' à faire. J'ai encore des variables locales mais sinon j'aurais des shift registers partout et je voulais me simplifier la vie..
le 11-20-2014 08:45 AM
Ha merci pour la fonction remplacer je vais regarder ca.
le 11-20-2014 03:14 PM
un tas de choses à dire, juste une ou deux ...
ça, ce n'est pas "bon". (write to file.vi)
deux écritures sur une locale ... sans aucun flux entre les deux actions.
Tu n'as aucune façon de savoir laquelle des deux écritures se fera en premier lieux.
pourquoi fais-tu un "read-locale" sur "variable increment acq" ...
alors que tu as le Controle lui-même à ta disposition. (un rien plus haut dans ton code)
Prélève directement sur le Controle.
dans PID_projet. vi (c'est un sous-vi et un "action-engine") ... tu dois "sortir" tes entrées/sorties de la boucle.
D'une manière générale, dans un sous-vi, on doit toujours sortir les entrées/sorties des boucles.
Globalement (main et sous-vi compris) ... tu n'as aucune gestion du flux d'erreur.
La ligne d'erreur doit être la "colonne vertébrale" de tout code labview.
Je serais bien "rentré" d'avantage dans ton code ... (il y a encore du boulot.)
Mias ... pas assez propre ... il faut d'abord passer un temps fou pour y voir "clair" ....
tu vois, ce genre de "chose" ... ça donne pas envie d'aller plus loin. désolé.
(je t'avais pourtant montré la bonne directtion)
bon code.
11-20-2014 03:21 PM - modifié 11-20-2014 03:49 PM
Merci je vais regarder tout ca.
Oui je sais pour le visuel je vais repasser. À moment donné le fonctionnel prime pour tester, ca prend un 'temps un fou' comme tu dis juste pour arranger un bout comme du monde juste visuellement. Je te reposterai une version plus propre plus tard.
'Moreover, most diagrams are characterized by tradeoffs between good style and shortcuts deemed necessary to get the job done. The overall outcome is a comprise among ttractive appearance, personel preferences and functional performance' 😜
-Pour le flux dans ce cas chaque variable est écrite dans une case structure activée par le même booléan, mais avec un 'not' devant dans un cas donc pas de problème de flux.
-Okay merci pour les entrées/sorties hors des boucles je ne savais pas, en faite souvent c'est une while loop que j'avais mis au début quand je testait les subVi seuls, je crois que je pourrais tout simplement les enlever.
-
11-20-2014 04:00 PM - modifié 11-20-2014 04:23 PM
donc pas de problème de flux.
ton flux est assuré jusqu'à l'entrée commune de tes 2 structures case. (via le terminal de sélection commun)
ensuite ... tu ne sais plus rien sur la chronologie du code.
Quelle structure case va s'ouvrir la première ?
Dans quel ordre vont s'exécuter les deux "write" ?
tu n'en sais rien, et rien ne te permet d'être certain de quoi que ce soit à ce sujet.
compromis entre "propreté" et "temps pour terminer le travail" .... ok.
edit :
idem pour ta variable locale flottante "confirm fichier cree".
Quand cette écriture aura-t-elle lieux ? en debut de code ... ou à la fin ?
on n'en sait rien.
11-20-2014 04:48 PM - modifié 11-20-2014 04:53 PM
j'ai fait une petite modif au niveau de la boucle For d'entrée.
Il n'y a pas besoin de vérifier sur tous les caractères ... puisque tu utilises un "ou" sur le tableau de sortie.
La première "présence" suffit ... et on stoppe la boucle.
Petites modifs aussi au niveau des portes (simple simplification graphique)
J'ai placé ta locale d'entrée dans le flux ... et j'ai cablé le flux d'erreur.
le 11-21-2014 09:33 AM
Merci pour le Vi, c'est intégré.
11-21-2014 10:07 AM - modifié 11-21-2014 10:25 AM
EDIT : J'ai trouvé la réponse.
Il y un petit truc qui ne marche pas dans mon programme. Quand je demande une consigne de 10 par exemple. Si je suis a 0 pile au départ je vais bel et bien me rendre a 10 à la fin de ma rampe. Par contre si je commence a 0,2 par exemple, j'arriverai a 9,2 à la fin. Dans un cas où j'aurai demandé une rampe par 'step' de 1.