Journal Ada for Automation

Posté par (page perso) . Licence CC by-sa
Tags :
24
16
mar.
2013

Bonjour,

Je souhaite vous présenter ma danseuse, un projet personnel pour le moment donc, Ada for Automation.

C'est un projet qui s'adresse à une catégorie sans doute restreinte d'utilisateurs potentiels, les automaticiens, avérés ou en herbe, qui souhaiteraient tenter l'aventure du développement d'applications d'automatisme sur base PC en langage Ada.

"Ada for Automation" (A4A en version courte) est donc un cadre applicatif, ou framework, pour la conception d’applications d’automatisme industriel dans le langage Ada.

Objectifs

J’ai identifié quelques objectifs pour ce projet.

  • Disposer d’un langage adéquat pour des applications d’automatisme exigeantes, mais qui convienne aussi pour des applications basiques, multiplateforme.
  • Permettre au programmeur en automatisme de se former sur les paradigmes (sous-)utilisés dans les ateliers actuels, ce qui le rendra plus productif sur ces mêmes ateliers.
  • Permettre à Ada de sortir du ghetto élitiste où ses origines et son histoire l’ont enfermé, les applications sensibles dans les domaines militaire, nucléaire, aérospatial, de la finance, médical, ferroviaire…

Bien sûr, je ne prétends pas révolutionner le domaine. Je suis loin d’être un expert en Ada.

Documentation

Il y a une documentation disponible, avec des exemples applicatifs :
http://slo-ist.fr/ada4autom/documentation

Projet pilote

Si vous avez dans vos cartons un projet non critique pour tester "Ada for Automation" sur un projet réel, c'est avec plaisir que je vous prêterai main forte et assistance.

C'est Samedi soir, je ne vous embête pas plus longtemps.

Cordialement,
Stéphane

  • # Automatismes et matériel libre

    Posté par . Évalué à -10.

    Merci Stéphane !

    Tes travaux vont certainement en inspirer plus d'un pour orienter de l'énergie sur la conception/réalisation d'automatismes logiciels pour la production à court/moyen terme de processeurs libres (et d'ordinateurs libres), à l'échelle régionale.

    Re-localisation, respect des lois d'Azimov - fabrication sous surveillance (1), optimisation et réduction des processus industriels avec automatisation partielle (semi-artisanat) voire complète, voilà une feuille de route qui va très bien s'accommoder d'Ada et de tes travaux :)

    En joignant les efforts et la créativité, reprenons le contrôle citoyen.

    (1) je pense notamment à un processus de contrôle automatisé de la production par comparaison de vidéos très haute résolution du processus en cours avec les spécifications - vidéos produites par des caméra capable de signer numériquement les images (avec contrôle d'intrusion en continu dans le boitier de la caméra pour effacement irrémédiable des clés privées, garantissant ainsi l'authenticité des images). J'en reparlerai bientôt.

  • # Matériel

    Posté par . Évalué à 8. Dernière modification le 18/03/13 à 00:11.

    Merci (beaucoup) pour ta documentation en français. Elle permet d'acquérir un peu de vocabulaire et de culture de base permettant probablement quelques échanges. C'est bien écrit, les exemples sont simples, bref j'ai l'impression d'avoir compris, du moins ça donne envie. Une petite question :

    • Est il possible d'utiliser des Arduinos pour commencer ? Lors du FOSDEM 2012 une conférence «ada for arduino» a été donnée, et on trouve AVR-Ada réalisé par l'association «Ada In Danemark». Est-ce que cela te semble réalisable de commencer Ada avec un arduino et quelques extensions : est-il nécessaire d'acquérir une vraie carte de type Hilscher cifX (dont il semble difficile de trouver un prix sur exemplaire unique) ou bien peut-on commencer et/ou s'amuser avec de simples Atmel / Arduino ? Bref, la question du matériel pour démarrer simplement, à peu de frais, tout en acquérant de bonnes habitudes (modbus tcp est bien attrayant pour bricoler, mais au risque de prendre de "mauvaises habitudes" ?)

    aparté : j'en profite pour signaler un noyau entièrement écrit en Ada, je ne savais pas trop où caser cette information jusquà présent :p. Pour plateforme x86, implémentant un sous-ensemble de posix 13, et venant avec un bon petit paquet de pilote (carte ethernet intel, can bus, p2os (!)…). Il s'agit de MarteOS

    • [^] # Re: Matériel

      Posté par . Évalué à 0.

      Ton dernier lien est erroné. Voici : MarteOS

    • [^] # Re: Matériel

      Posté par (page perso) . Évalué à 4.

      Bonjour tankey,

      Merci pour ton retour.

      Tu peux utiliser n'importe quel matériel pour lequel un compilateur Ada est disponible.

      J'ai intégré libmodbus comme tu as pu le lire dans la documentation. Cela permet de disposer d'un client et d'un serveur Modbus TCP pour faire des essais et comprendre de quoi il retourne sans avoir à acquérir quoi que ce soit. L'idée est que cela puisse être utile à tous, pour apprendre Ada, l'automatisme, la communication industrielle… sans se lancer dans des frais. Le PC depuis lequel tu as écrit ce message peut très bien convenir, tant sous Linux que sous Windows. Je ne connais rien à Arduino et j'ignore le niveau de support Ada disponible. libmodbus doit pouvoir compiler cependant, c'est du C, et ça peut fournir un serveur Modbus TCP très convenable. Pour ce qui est de "Ada for Automation", j'attends ton retour sur Arduino.

      Si tu peux disposer d'un module d'entrées / sorties serveur Modbus TCP, c'est plus drôle. Cependant, tu peux également utiliser "test_libmodbus_server_many_package.ads" qui implémente un serveur Modbus TCP. Ou lancer une instance de l'application exemple, qui implémente le client et le serveur et qui se connecte à elle-même… tel le maquereau dans la poêle.

      Je ne comprends pas ta crainte de prendre de mauvaises habitudes avec Modbus TCP. Ce protocole est utilisé dans quantité d'applications de tous types et est le protocole standard de notre champion national en automates industriels, bien qu'il en supporte aujourd'hui bien d'autres, comme Ethernet/IP (membre de l'ODVA), CANopen sur le bas niveau, ou Sercos III pour le contrôle d'axe. Modbus TCP est certes un protocole ancien mais il convient à bien des usages et est simple à mettre en oeuvre, et à implémenter.

      Tel qu'il est utilisé dans "Ada for Automation", de toute façon il ne se voit qu'à la marge. Comme dans un automate traditionnel…

      Pour ce qui est des cartes Hilscher cifX, si tu ne disposes pas des équipements esclaves sur le bus de ton choix, cela ne te servira pas à grand chose.
      Certes, les tarifs ne sont pas publics mais tu peux obtenir une offre en en faisant la demande à Hilscher France. Je me ferais un plaisir de te supporter !

      Quant à MarteOS que j'ai essayé à une époque, j'ai bien pensé développer un pilote pour les cartes cifX mais j'ai été pris sur autre chose et j'ai abandonné l'idée.
      Si quelqu'un est intéressé, qu'il se manifeste !

      Cordialement,
      Stéphane

  • # Merci LinuxFr ! :-)

    Posté par (page perso) . Évalué à 3.

    Bonsoir,

    J'ai explosé mon record de fréquentation !

    Il y a donc de l'intérêt à poursuivre. Poursuivons donc.

    Même si je suis convaincu de la pertinence de Ada pour ce genre d'application, je suis agréablement surpris du nombre de visites reçues.
    Bon, il faut dire que le temps était maussade…

    Personne pour un projet pilote ?

    Je ne sais pas moi… Une brasserie ? J'ai une préférence pour les soupes belges…

    Cordialement,
    Stéphane

    • [^] # Re: Merci LinuxFr ! :-)

      Posté par . Évalué à -8.

      Tu veux automatiser la production de soupe belge pour une brasserie ? Mince, c'est pas mon sujet, alors, hein. M'enfin on pourra toujours échanger une bière autour d'une barquette de fritte, quelque part, une fois.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.