From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

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

Aide organisation block diagram

Résolu !
Accéder à la solution

Dans plusieur endroit de ton Vi tu utilise la fonction Remplacer une portion d'un tableau comme suivant:

Exp1.png

tu peux utiliser la même fonction pour remplacer plusieurs éléments d'un coup:

Exp2.png

Reg
Message 31 sur 39
2 659 Visites

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..

0 Compliments
Message 32 sur 39
2 659 Visites

Ha merci pour la fonction remplacer je vais regarder ca.

0 Compliments
Message 33 sur 39
2 656 Visites

 

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.

 

SR1.png

 

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" ....

 

SR2.png

 

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.

 

 

0 Compliments
Message 34 sur 39
2 636 Visites

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. 

-Filename.PNG

0 Compliments
Message 35 sur 39
2 632 Visites

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.

 

 

 

0 Compliments
Message 36 sur 39
2 621 Visites

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.

 

Message 37 sur 39
2 616 Visites

Merci pour le Vi, c'est intégré.

0 Compliments
Message 38 sur 39
2 594 Visites

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. 

0 Compliments
Message 39 sur 39
2 592 Visites