le 06-03-2015 03:07 AM
Je vous explique le problème, sur mon projet Labview quelques calculs s'imposent. Je sais qu'il est possible d'utiliser une boite de calcul, mais une chose à savoir sur ma mèthode de codage je deteste coder en dure. J'aimerais qu'il y ai une possibilité d'apporter des modifications sur les equations. Le meilleur choix serait d'utiliser un script et pouvoir y faire appel sur Labview. Encore une fois je sais que je pourrais utilser des scripts Matlab, mais le point négatif dans cette methode est que il y aura necessité d'avoir matlab d'installé sur tout PC ou le programme est installé.
Résolu ! Accéder à la solution.
06-03-2015 04:16 AM - modifié 06-03-2015 04:19 AM
Bonjour sklod,
Si les calculs sont ammenés à évoluer une manière flexible de faire ça avec LabVIEW c'est d'utiliser les VI d'évaluation 1D ou 2D dans la palette Mathématiques > Scripts et formules > Analyse de forumule.
Par exemple on peut évaluer une formule, c'est moins performant (temps d'exécution) que de coder "en dur" dans LabVIEW mais c'est flexible.
Cordialement,
EDIT : j'ai relu la question et je me rend compte que j'ai répondu à côté. Si le script est externe on peut l'appeler avec le VI de commande système.
06-03-2015 07:21 AM - modifié 06-03-2015 07:24 AM
Je n'ai jamais travaillé avec le VI de commande système, mais je pense qu'il n'a pas d'entrée. Les variables utilisées dans mes calculs me viennent de capteur et il faudrait que je les transmette au script qu'il fasse les calculs et me donne le résultat en sortie comme une boite de calcul.
Edit: ca serait possible si j'ecris les valeurs des capteurs dans un fichier txt et que mon script va lire, fait ses calculs et enregistre les valeurs calculés dans un autre fichier txt que labview va lire. Mais c'est tellement tordu que je ne suis pas trop chaud pour faire ça.
06-04-2015 03:04 AM - modifié 06-04-2015 03:05 AM
Écrire/lire à chaque fois sur le disque risque de prendre un temps important.
On peut passer des arguments à la commande système, donc des paramètres peuvent passer par là.
Si le script de calcul est en Python alors il existe une bibliothèque de VI spécifique appelée LabPython (jamais utilisé mais ça peut être utile dans certains cas, en tout cas le projet à l'air plutôt inactif et peu mis à jour...).
Je donne des idées, mais pour être plus pertinent ça serait intéressant de savoir quels sont les types de calculs réalisés (fonctions mathématiques simples ou très complexes, grandes quantités de données...), quels sont les arguments qui font opter pour un script externe à LabVIEW et surtout quel est le type de script.
Cordialement,
06-05-2015 04:11 AM - modifié 06-05-2015 04:37 AM
Tout d'abbord merci pour ton aide.
En fait, ce n'est que des calculs mathèmatiques simple, au pire il y a une racine carré et oui il y a une assez grande quantité de donnée. Je n'ai pas écris le script donc je peux l'ecrire en n'importe quoi tant que je peux le changer quand je veux. En fait je n'ai pas vraiment besoin d'un script extérieur, tant que je peux changer les equations de calculs quand je veux sans entrer dans le diagramme de programation. J'éspere que cela réponds à tes questions.
Edit: Du coup si il est possible d'entrée un texte dans la boite de calcul automatiquement ca me serait très utile.
le 06-05-2015 07:26 AM
Avec le VI Eval Boîte de calcul on peut fournir les formules sous forme de chaîne de caractère, chaîne qu'on peut elle même entrer sur la face avant. J'ai écrit un mini-exemple pour preuve du concept.
le 06-05-2015 07:35 AM
bonjour,
dans mathématique scripts tu as des fonctions analyse de formules
si tu enchaines analyser la chaine de formule et evaluer la chaine de formule
dans formula en entrée tu tapes ta fonction de type x^2 +3*y-a
dans le vi evaluer tu cables les values de x y et a et dans varaibles tu declares x y et a
en sortie y value tu as ton résultats.
tu peux utiliser pas mal de fonctions (trigo et autres mathématiques)
le 06-05-2015 07:37 AM
ec01 a écrit son message en meme temps que moi!
mais c'est la même approche
le 06-05-2015 08:25 AM
Wooow!
Vous savez pas à quel point je vous adore.
Merci!!!