Discussions au sujet de NI LabVIEW

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

script GnuPlot

Résolu !
Accéder à la solution

Bonjour à tous,

 

Je souhaite faire appel à un script GnuPlot à partir de LabVIEW.

 

Ce script fonctionne dans un terminal à l'aide de la commande gnuplot <nom_du_script.gnuplot> nom_du _fichier_de_sortie.png

Je précise que pour lancer cette commande je suis dans le répertoire ou se situe l'exécutable gnuplot.

J'obtiens bien une courbe gnuplot dans un fichier png.

 

J'essaie d'intégrer cette commande dans LabVIEW à l'aide de la "commande systeme" sans succès.

Si je passe en entrée "ligne de commande" : C:\Program Files\gnuplot\bin\gnuplot C:\nom_du_script.gnuplot , j'obtiens sur la sortie standard une sortie qui semble correspondre au contenyu d'un fichier png. Si je copie cette sortie dans un fichier png le fichier n'est pas reconnu.

 

Toute tentative de passer la commande : C:\Program Files\gnuplot\bin\gnuplot C:\nom_du_script.gnuplot nom_du_fichier_de_sortie.png se solde par une erreur sur la sortie du fichier png. J'ai par contre toujours sur la sortie standard le texte correspondant au fichier png

idem avec d'autres syntaxes comme C:\Program Files\gnuplot\bin\gnuplot <C:\nom_du_script.gnuplot> nom_du_fichier_de_sortie.png sauf aucune sortie standard

En sortie d'erreur : "essai.png", line 0: cannot open script file 'essai.png'

 

Si je pouvais au moins récupérer la sortie standard et créer le fichier png ce serait bien mais je dois avoir dans ce cas soit une mise en forme ou encodage incorrect.

 

Merci pour toute aide.

 

Alain

0 Compliments
Message 1 sur 11
6 419 Visites

Bonjour,

Essaye avec cette ligne de commande :

 

cmd /c "C:\Program Files\gnuplot\bin\gnuplot <C:\nom_du_script.gnuplot> nom_du_fichier_de_sortie.png"

 

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 2 sur 11
6 401 Visites

Bonjour Michae,

 

J'ai essayé ta ligne de commande. Voici sa sortie d'erreur "standard error" de la commande système :

 

'C:\Program ' n'est pas reconnu en tant que commande interne ou externe, un programme ex,cutable ou un fichier de commandes.

 

par contre si je copie l'exécutable gnuplot.exe et que je saisiscmd /c "C:\gnuplot c:\nom_du_script.gnuplot C:\nom_du_fichier_de_sortie.png" gnuplot se lance mais j'ai obligatoirement des erreur gnuplot liées à l'absence de dlls.

 

Je continue d'approfondir le pourquoi le chemin Program Files ne passe pas, k'espace sans doute.

 

Alain

0 Compliments
Message 3 sur 11
6 389 Visites

Le souci c'est le gestion des espaces qui sont difficiles à gérer avec cette fonction.

 

En pièce jointe un vi avec la méthode que j'ai utilisé pour contrer cela.


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 4 sur 11
6 385 Visites

Salut Michael,

 

Avec ton exemple la commande système plante.

 

Le plus loin que je suis allé c'est en passant cette commande :

C:\Program Files\gnuplot\bin\gnuplot C:\essai.gnuplot essai2.png

 

La sortie standard génère bien un code qui semble correspondre à un fichier PNG par contre la sortie d'erreur donne : "essai2.png", line 0: Cannot open script file 'essai2.png'

 

Or le deuxième argument est une sortie.

 

Je mets en PJ deux images PNG une générée par la commande gnuplot dans un terminal (essai.png), une en enregistrant la sortie standard dans un fichier texte (essai2.png). La deuxième est illisible, il doit y avoir un encodage spcifique. Je vais y jeter un oeil.

 

Mais je préfèrerais faire fonctionner la ligne de commande complète dans LabVIEW plutôt que de devoir reconstruire un fichier PNG propre à partir de la sortie standard.

 

Si quelqu'un à une idée.

 

Alain

Tout télécharger
0 Compliments
Message 5 sur 11
6 368 Visites
Solution
Accepté par l'auteur du sujet lannick

J'apporte une partie de la solution à mon problème.

 

J'ai rajouté dans la variable d'environnement PATH le chemin vers l'exécutable de gnuplot.

J'ai passé la commande suivante à la commande système LabVIEW : cmd /c gnuplot <C:\nom_du_script.gnuplot> C:\nom_du_fichier.png

Du coup j'ai une belle courbe. Mais cela oblige à modifier la variable d'environnement. Peut être une autre solution existe. Je chercherai.

 

Je peux donc avancer dans mon intégration de gnuplot dans LabVIEW.

 

Alain

0 Compliments
Message 6 sur 11
6 361 Visites

Merci pour ton retour.
Si le point est clos, ou du moins contourner, passe le thread en résolu, en pointant vers ta solution.


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 7 sur 11
6 352 Visites

Ma solution fonctionne. Elle ne me satisfait pas pleinement car je dois modifier la variable d'environnement.

 

Je vais mettre comme résolu et je continue à chercher pourquoi sur un terminal la commande gnuplot ne pose pas de problèmes et pourquoi sous LabVIEV elle ne passe pas.

Je vous tiendrai au courant si je trouve une meilleure solution.

 

Si des personnes sont intéressées je pourrai également partager mes travaux sur l'intégration de gnuplot dans LabVIEW.

 

Alain

0 Compliments
Message 8 sur 11
6 346 Visites

salut, je viens de regarder l'utilité de "GnuPlot"

Gnuplot est un logiciel qui sert à produire des représentations graphiques en deux ou trois dimensions de fonctions numériques ou de données. Le programme fonctionne sur de nombreux ordinateurs et systèmes d'exploitation et peut envoyer les graphiques à l'écran ou dans des fichiers dans de nombreux formats.

 

Ma question va sembler "étrange", mais LabVIEW permet de faire des graphs en 2D ou 3D, et d'exporter l'image en png. Alors pourquoi passer par un autre logiciel? Merci A+

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW |
LabVIEW Architect (CLA) & TestStand Developper (CTD) | LabVIEW Champion
MESULOG | NERYS

0 Compliments
Message 9 sur 11
6 333 Visites

Bonjour Luc,

 

Je vous l'accorde intégrer Gnuplot dans LabVIEW présente très peu d'intérêt vu que l'on peut comme vous le dite exporter un graphe au format image ou utiliser Diadem pour la présentation de données.

Alors pourquoi me lancer dans cette intégration me direz-vous ? Pour deux raisons.

La première tout simplement pour 'm'amuser' à créer une librairie et par cette occasion apprendre de nouvelles fonctionnalités.

La deuxième est que si vous regardez les démos de Gnuplot (http://gnuplot.info/demo/) vous verrez que les possibilités de présentation sont infiniment plus grandes que les quelques options de graphes de LabVIEW. Travaillant dans un laboratoire de recherche en tant que soutien aux essais, les doctorants ou chercheurs ont l'habitude d'utiliser des plotteurs (matlab, scilab, ...) pour sortir des graphes très personnalisés et de haute qualité typo pour intégration dans Latex puis publication. Je voulais donc leur offrir la possibilité d'avoir directement en sortie d'acquisition un graphe personnalisable et directement intégrable dans leur publi.

 

Mais je suis d'accord avec vous cette librairie ne présente que très peu d'intérêt pour la quasi totalité des utilisateurs.

 

Alain

Message 10 sur 11
6 320 Visites