Discussions au sujet de NI LabVIEW

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

Type Def Enum Constante

Résolu !
Accéder à la solution

Voilà,

 

Au premier appel tu fais "ReadFile" pour initialiser ton registre à décalage, et ensuite "GetValue" te donnera les valeurs de tes constantes sans avoir besoin de recharger ton fichier.

 


Quelques remarques sur ton code au passage par ordre de priorité :

1 --> Transforme ton cluster en définition de type si ce n'est pas déjà fait, afin de gérer plus facilement les évolutions de variables

2 --> Il est dommage que tu n'exploites pas complètement la structure du fichier INI. Pourquoi tout placer dans une clé "SECTION1" alors que tu as clairement des groupes (Pression/Temperature/...) qui te permettrait de calsser de manière plus agréable tes constantes.

---> Je chipote cela est principalement visuel, mais ainsi ton fichier INI aurait des sections explicites pour chaque groupement.


Cdt,
Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 11 sur 17
2 192 Visites

Désolé...  mais j'ai pas très bien compris ce que tu as fait Smiley triste

J'ai l'impression que tu a creé une sorte de machine à état, ou init ne fais "rien" et get_value fais exactement ce que mon vi faisais avant !

Ah moins que getValue "zap" tout les accès à une key sauf celui demandé lors de mon appel ...
Moi je pensais que "ne pas multiplier les accès fichier" c'était avoir une sorte de boucle autour de "read key" et de n'en avoir plus qu'un ! Bref je n'ai pas trop compris ce que tu as fait...  j'ai pas du saisir la subtilité Smiley très heureux 

 


Michael.C a écrit :

 

Au premier appel tu fais "ReadFile" pour initialiser ton registre à décalage, et ensuite "GetValue" te donnera les valeurs de tes constantes sans avoir besoin de recharger ton fichier.

 


Du coup, qu'entends tu par "sans avoir besoin de recharger ton fichier." ?

 


Michael.C a écrit :

 

 
Quelques remarques sur ton code au passage par ordre de priorité :

1 --> Transforme ton cluster en définition de type si ce n'est pas déjà fait, afin de gérer plus facilement les évolutions de variables

2 --> Il est dommage que tu n'exploites pas complètement la structure du fichier INI. Pourquoi tout placer dans une clé "SECTION1" alors que tu as clairement des groupes (Pression/Temperature/...) qui te permettrait de calsser de manière plus agréable tes constantes.

---> Je chipote cela est principalement visuel, mais ainsi ton fichier INI aurait des sections explicites pour chaque groupement.

 


1) Ah oui j'ai oubliais ! Merci beaucoup ! 

2) C'est vrai que je pourrais le faire, mais je n'ai pas pris le "temps" de le faire parce que de toute façon je vais toutes les lire ... Mais comme tu dit, je pourrais les trier pour que ce soit plus agreable dans le fichier INI.

 

PS: Tu travail avec un écran gigantesque ? Nan parce que la taille du vi est devenu ... imposante Smiley très heureux

0 Compliments
Message 12 sur 17
2 189 Visites
Solution
Accepté par ErwanHut

Normal que tu comprennes pas. Dans la précipitation, j'ai pas vérifier le "case" ......

 

Alors remis d'aplomb ca donne :

1-ReadFile : On vient lire ton fichier, puis on mémorise tes valeurs dans le registre à décalage de la boucle (c est le seul intérêt ici de la boucle while, et c'est pour cela qu'une constante true est cablé à son terminal d'arrêt).

2-GetValue : On vient lire la valeur contenue dans le registre à décalage, comme celle ci correspond à ton fichier (sauf s'il est modifié entre temps), on prend pas la pein de le réouvrir, et on renvoit la valeur mémorisée.


En espérant que ca t'aide à comprendre, j'ai recabler correctemnet mon case en pièce jointe 😉

 

Sinon non juste 2 écran  un 21 pouces et un 19 pour travailler .

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Message 13 sur 17
2 177 Visites

Du coup, si j'ai bien compris, à chaque fois que j'ai besoin d'une constante, je vais appeler mon sous-vi et désassembler le cluster, mais il ne va pas re-parcourir tout le fichier vu qu'il aura déja tout mémoriser, il ira directement piocher dans le registre à décalage ? Donc gain de temps et gain de ressource pour le programme ?
C'est bien ça ou je suis à coté de la plaque ?

0 Compliments
Message 14 sur 17
2 174 Visites

Non c'est tout à fait ça :).


Puis très bas niveau, j'ai tendance à penser que ca évite d'aller toucher au DD en permanence, et de jouer avec la RAM 😄

 

Pour les performances, pour te faire une idée, tu place place la boucle whil dans une structure séquence, et tu met une récupération d'horloge en ms avant après.

 

Le delta te donnera le temps d'exécution, et en jouant les deux cas tu verra la différence.

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 15 sur 17
2 172 Visites

Ah oui c'est donc plutot interressant ! Je ne savait pas que c'était possible !

Du coup il faurait que dans ma phase d'initialisation du vi principal, j'appel ce sous vi en "mode ReadFile" et à chaque recherche de constante en mode "getValue", c'est bien ça ?

Un jour ou tu as la force, l'envie et le courage, je te montrerai bien la totalité de mon projet pour que tu jette un oeil et me dise tout ce qui ne va pas de ce point de vue Smiley très heureux Smiley très heureux

En tout cas merci, j'intégère ça à mon projet du coup ! Hop !

0 Compliments
Message 16 sur 17
2 168 Visites

Oui c'est bien ça pour l"initialisation.

 

Pour le reste, pourquoi pas à l'occasion si le projet est pas trop gros 😄


Pense à passer le sujet en résolu.


Bonne soirée.

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 17 sur 17
2 164 Visites