logo Solti        Quels langages pour vos applications ?  


Introduction


La dernière machine Vaucanson, conservée au CNAM à Paris
Depuis le métier à tisser du Grenoblois Vaucanson qui déclencha des émeutes à Lyon en 1750, l’automatisation de la production n’a cessé de susciter passions et polémiques.
Pour ne citer que les dernières, nous avons assisté en 1990 à des débats passionnants sur les réseaux industriels : Modbus, FIP, Profibus, CanBus... Plus récemment, les automates propriétaires ont été remis en cause par les calculateurs industriels…

Aujourd’hui, alors que la limite entre automate et calculateur s'estompe, avec le langage C dans la CPU et des réseaux de terrain ouverts, il reste encore des questions en suspend.


Langages de programmation

Dans le monde automate, les adeptes du Grafcet se confrontent aux inconditionnels du schéma relais. Mais cette problématique est faussée par toutes les différentes variantes d’implémentation du Grafcet, dont peu son conformes aux 5 règles.
La norme IEC1131 essaie de mettre un peu d’ordre dans les langages et incite les programmeurs à utiliser le meilleur langage au meilleur moment: le grafcet décrit parfaitement l'aspect temporel, tandis que le "Structured Text" précise très bien le traitement des données. Les langages à base de "blocs fonctionnels" sont par contre aussi ambigus qu'esthétiques..

Les langages IEC 1131

Dans le monde de l’informatique, la division totale règne depuis longtemps, l’incompréhension est totale alors que les technologies sous jacentes sont similaires, que l’approche objet se généralise au niveau du langage et du système d’exploitation :
- Java et C# (# se prononce sharp) sont très proches mêmes si le business modèle est très différent
- Linux s’équipe de QT4 pour ressembler à Windows
- Les environnements de développement (IDE) copient Visual…


Visual studio


A la frontière de l’informatique et de l’automatique, se situent les applications de mesure qui tournent sur PC, pour la R&D, le contrôle qualité, le suivi de production : ces applications ont besoin de système d'E/S...

National Instrument


Une IHM réalisée avec LabView
En tant que fournisseur de l’industrie et de l’armée Américaine, National Instrument est leader dans ce domaine. Le chiffre d’affaire ramené par les cartes permet à NI de financer une R&D logicielle puissante et de qualité. Ainsi les produits Labview et CVI se sont ils imposés auprès des laboratoires dont la première préoccupation est l’aspect matériel.

A l’autre bout de la chaîne qui mène de l’IHM (interface homme machine) aux entrées et sorties, se situent les outils informatiques, tels que Visual Basic, C++ et C#. Ces outils sont des standards du monde informatique, qui bénéficient d’une diffusion inégalable.

Peut-on comparer les 2 solutions ? On peut essayer.


Labview versus C sharp

+ Labview fait partie d'une offre globale matériel + logiciel homogène et pérenne.
+ C# est un language qui permet toutes les architecture matérielles à base de PC Windows ou Windows CE

- Labview est un système propriétaire, avec des prix de développement et des prix de licence.
+ C# est un système propriétaire, mais sans prix de développement ni prix de licence.

- Labview est supporté est maintenu par NI, mais il faut souvent passer par une structure nationale un peu lourde.
+ C# est remarquablement documenté par Microsoft et la communauté de développeurs est immense.

+ Labview propose des librairies de contrôle très riches pour les IHM.
- C# necessite une véritable conception et une recherche des contrôles les plus appropriés.

+ Labview permet de construire des IHM vraiment sympathiques et efficaces
- C# permet de réaliser des IHM magnifiques, mais nécessite un travail de préparation

+ Labview est un système de programmation graphique qui permet de visualiser facilement le codage
+ C# est un langage textuel structuré qui demande un apprentissage, mais qui est très précis.


Comparaison des codages d'après le www.ni.com (remplissage aléatoire d'un tableau).


code csharp
Version C#
code labview
Version Labview


De manière évidente, la programmation graphique permet de comprendre rapidement les flux de donnée. Par contre sans une grande expérience des outils, l'interprétation exacte des symboles est très délicate, tandis que le codage CSharp est très précis, non ambigu, et constitue un modèle de structure et organisation objet qui garantit l'avenir de votre application.
Labview est le favori des labos, alors que les technologies Microsoft sont la référence de l'industrie...
csharp pour le medical
Portage Labview C# par Solti






Conclusions ?

En 2010, le critère déterminant est la maintenabilité de l'application:
- il faut des logiciels qui évoluent vite pour s’adapter au marché
- il faut maintenir en ordre de marche des applications sur plus de dix ans.
- il faut que l'équipe technique en charge du logiciel puisse évoluer sans risque

  • Comment former les développeurs ?
  • Transmettre le savoir-faire ?
  • Gérer les versions ?
  • Localiser un bug ?
L’expérience du terrain montre que ces questions amènent souvent à l’abandon de Labview au profit d’un langage à base de simples fichiers textes, tel que C, C++ ou C# pour les produits logiciels.

Pour le labo ou le prototype, la facilité de mise en oeuvre de Labview vous fera gagner du temps...
Pour une application industrielle qui doit évoluer et durer, le langage C# est plus sûr.
Alors pourquoi ne pas utiliser les 2 ?

Réagissez à cet article:  info@solti.fr et visitez notre site

logo Solti


Les autres news Solti