Discussions au sujet de NI LabVIEW

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

java labview

Résolu !
Accéder à la solution

Bonjour,

 

Je suis actuellement en stage, et je dois développer une application ludique pour mesurer la force de contraction musculaire.

On me demande de choisir entre programmer en Labview ou en Java.

J'aimerais donc connaitre les avantages et les inconvénients de ces derniers et savoir lequel des deux seraient plus adaptés pour insérer une interface graphique ludique (voiture ou hélicoptère par exemple allant plus à droite ou plus à gauche en fonction de quelle main force le plus.)

 

Merci beaucoup d'avance.

0 Compliments
Message 1 sur 11
4 500 Visites

Bonjour,

 

Comme tu es sur le forum LabVIEW je pense que tout le monde va répondre LabVIEW Smiley très heureux

 

Sinon je choisirais LabVIEW pour sa facilité d'intégration avec la partie matérielle l'application serait très facile à faire. Mais je ne peux pas dire pour JAVA.

 

Cordialement,

 

Rodéric L
Certified LabVIEW Architect
0 Compliments
Message 2 sur 11
4 493 Visites

Ahah; )

 

Mais est ce réellement facile d'introduire sur labview une interface graphique type jeu, donc en animation? Par exemple une voiture qui se déplace à droite ou à gauche?

Si oui comment?

 

Merci beaucoup pour cette réponse si rapide.

 

0 Compliments
Message 3 sur 11
4 491 Visites

On peut mettre une image dans un picture ring par exemple et en jouant avec ses propriétés le déplacer sur l'interface ou pas mal d'autres solutions

 

Pour faire ce que tu souhaites c'est relativement facile en LabVIEW et je ne pense pas que l'interface soit compliqué il suffit juste de choisir de jolies images! 

Rodéric L
Certified LabVIEW Architect
Message 4 sur 11
4 479 Visites
Solution
Accepté par l'auteur du sujet ggermm

Bonjour ggerm,

 

Je connais assez peu java mais ce que j'en sais est que c'est très semblable au C#, donc je vais me baser sur mes competences rudimentaires dans ce langage pour tenter d'apporter une réponse un peu plus nuancée.

 

LabVIEW est un langage très orienté pour des applications industrielles. Les VI s'appelles VI pour Virtual instruments. On est ici vraiment dans le monde de l'instrumentation virtuelle et les interfaces utilisateurs sont très faciles à développer... tant qu'il s'agit d'intégrer des éléments "simples" avec un type de donnée clairement défini. L'interface n'est clairement pas pensée ni optimisée pour des applications type jeu. S'il s'agit de faire bouger une image fixe sur un axe donné avec un fond tout aussi fixe, pas de probleme. Il suffit de mettre une image en fond et un element de type slider avec une icone de voiture dessus. Avec ceci, il suffit de recuperer la valeur du capteur, de la mettre à l'échelle et de l'afficher. Ci joint, une capture d'un programme réalisé à l'instant avec comme "valeurs de capteur", un sinus simulé et deux images récuprérées sur Google (temps de dévelopement inférieur a 10 minutes).

 

http://screencast.com/t/t13y6DJI 

 

Pour ce genre d'application, pas de soucis, LabVIEW est le plus adapté.

 

Si le but que vouhaitez atteindre est plus proche d'un jeu, LabVIEW va vite montré ses limites. Il n'y a pas de moteur intégré pour gérer les sprites animés, les couches de sprites...etc On peut toujours faire come roderic, se délarer une sort de Gif (appelé picture ring) et faire bouger en modifiant sa position, mais si vous devez gérer des collisions, des bonus, des animation, du public... etc alors Java pourrait être plus adapté de par sa structure orienté objet et sa gestion qui me semble plus flexible des interfaces utilisateurs (et aussi beaucoup plus lourde). 

 

Je ne connais pas assez Java, mais si l'analogie avec le C# (ou plutôt la plateforme de developement Visual Studio) se poursuit, il y a pas mal de middleware qui sont déjá publié pour la gestion de pas mal de choses... Notemment d'interfaces type "de jeu" (sprites pour la 2D, meshes pour la 3D, textures, association texture-objet-hierarchie de classe-position-fonctionement...etc).

 

Même en étant plus adapté, vous risquez d'y passer du temps selon votre ambition. Quand à se prononcer sur la partie mesure et traitement de signal, elle dépend du hardware utilisá. D'une manière générale, avec du hardware NI ou des cartes qui communiques par un bus de donnée série, ce sera plus facile sous LabVIEW (d'autant que des fonctions de traitement de signal y sont déja intégrées).

 

J'espére que ce dévelopement vous aide un peu. Pour els curieux, le VI de la démo est attaché.

 

Cordialement

 

EDIT: Le lag sur la vidéo est du au logiciel de capture d'image. L'application en elle même est parfaitement fluide.

______________
Florian Abry
Inside Sales Engineer, NI Germany
Message 5 sur 11
4 476 Visites

Merci beaucoup!

 

J'y vois maintenant un peu plus clair. Je vais en discuter avec mes responsables.

 

Mais 'est ce que l'exportabilité ne jouerait pas en fonction de Java?

0 Compliments
Message 6 sur 11
4 450 Visites

L'exportabilite? Qu'est-ce que tu entends par la?

 

Si tu parles de "contraintes" liees a la plateforme (comme en C, prendre en compte le padding des structures en fonction du systeme d'exploitation et autres joyeusete qui font qu'il faut réecrire une partie du code en fonction de la cible), alors non. Java ne s'en sort de mon point de vue pas mieux. LabVIEW et Java ont tous els deux une sorte de "Run-Time Engine" qui contient les bibliotheques standard compilées pour le déploiement sur différentes plateformes sans que le programmeur ait à changer son code.

 

Avec le compiler adapté, il est possible de compiler son code pour Windows, Linux (Red Hat et dérivés. Il semblerait que des utilisateurs utilisent aussi des distributions Debian mais nous ne supportons pas ces solutions de manière officielle) et MacOS X. 

 

Windows à cependant plus de bibliothèques á disposition.

 

Conclusion:

* LabVIEW me semble plus adapté pour un projet dont le centre est la mesure et le traitement de signal, le tout soutenu par une interface graphique simple.

* Java me semble plus adapté pour un project dont le centre est la réalisation d'un jeu (ou d'un moteur de jeu) dont l'acquisition et le traitement de signal ne serait qu'une composante d'importance moindre.

 

Cordialement

______________
Florian Abry
Inside Sales Engineer, NI Germany
0 Compliments
Message 7 sur 11
4 448 Visites

Si tu parles de "portabilité" il me semble que JAVA est nativement multiplateforme LabVIEW beaucoup mois. Par exemple dans ma boite on fait des softs ludiques pour l'enseignement en LabVIEW mais si on doit assurer la portabilité sur plusieurs OS (non windows) sa va se compliquer! Après il faut aussi choisir celui que tu maitrises le mieux. 

Rodéric L
Certified LabVIEW Architect
0 Compliments
Message 8 sur 11
4 440 Visites

Oui je voulais parler de portabilité.

 

Merci encore pour ces précieux renseignements!

 

Bonne journée à tous les deux!

0 Compliments
Message 9 sur 11
4 434 Visites

Mais s'il on crée un executable, sera règle-t-il le problème de la portabilité?

0 Compliments
Message 10 sur 11
4 418 Visites