Root » Serveurs » Chauffage » Technique » API: Automate Programmable Industriel
API
Automate programmable industriel
Technique

Un automate programmable de Allen-Bradley se compose de modules: un processeur, un module de communication, différents modules numériques (binaires) et analogiques et une alimentation. Tous les automates sont construits de la même manière.

Choisir un automate ou un ordinateur


Il est possible de réaliser des commandes simples
avec le système Logo.
Mais la commande d'un système de chauffage central
est trop complexe pour Logo.


Un API qui ne peut pas être étendu.
Il ne dispose que d'entrées et sorties binaires.

Un automate programmable industriel est un ordinateur spécialisé. On retrouve souvent la dénomination PLC: programmable Logic controller.

API: Automate Programmable Industriel
PLC: Programmable Logic Controller

Un premier choix à faire quand on réalise son installation de commande du chauffage, c'est de décider si on va travailler avec un API ou un ordinateur classique. Un API est à première vue une alternative interessante: un tel ordinateur consomme très peu car il effectue une seule tache bien spécifique et n'a pas besoin de processeur graphique.

UN API peut travailler aisément au niveau des bits, tandis qu'un ordinateur classique travaille avec des mots de 64 bits. Il est possible d'accéder aux bits individuels sur un ordinateur commercial, mais cela ralentit l'exécution du programme et rend la programmation plus complexe.

Un des plus grands fournisseurs d'APIs est Siemens et sa gamme est très étendue. Elle commence avec les blocs Logo qui sont utilisés par les électriciens pour programmer des fonctions qui ne sont pas directement disponibles avec les contacteurs industriels. Un débouché important est le secteur des hobbyistes: c'est ainsi que de nombreuses personnes ont fait connaissance avec la programmation d'un API. Un bloc Logo permet de coder des fonctions relativement simples: temporisations, compteurs, fonctions AND/OR, etc. Il est également possible de commander des processus industriels simples.

Commander et réguler

On utilise des API pour entre autre commander des chaines de montages et réguler des processus chimiques. Un API est en fait un micro-ordinateur extrèmement spécialisé. Si une commande est en général relativement simple (l'API effectue les tâches d'une série de relais et de temporisateurs), il n'en va pas de même quand il faut réguler.


Un API de Siemens: voyez la construction pratiquement identique

Comment fonctionne un API?

Tout comme un ordinateur classique, l'API effectue un programme. Le programme est ici cyclique et se compose de trois parties répétitives.
  • Lecture de toutes les entrées Les valeurs sont stockées dans des variables accessibles par le programme. Il est possible d'accéder à une valeur binaire (état d'une seule ligne binaire). Quand la valeur d'une ligne change, la modification n'est reprise que lors de la boucle suivante. Comme les valeurs d'entrées sont stockées dans des variables, il est possible de les modifier en cours du programme: cela se fait parfois pour forcer une entrée (capteur défectueux).

  • Exécution du programme Le programme se compose d'instructions spécifiques au monde des APIs: fonctions logiques, comparaisons de valeurs, calculs, etc. Le programme peut contenir des instructions de saut et des boucles. le programme analyse les valeurs en entrée, effectue les opérations nécessaires et écrit les valeurs en sortie dans des adresses de mémoire spécifiques. Les valeurs stockées en mémoires peuven être lues lors du cycle suivant.

  • Mise à jour des sorties Toutes les sorties sont mise à jour pendant cette phase, pas au moment où le logiciel modifie la valeur en mémoire. En regroupant toutes les opérations d'entrée/sortie, on peut construire un automate qui répond plus rapidement. De plus, les valeurs d'entrée ne sont pas modifiées pendant un cycle d'exécution (ce qui peut produire des erreurs qui sont trsè difficiles à localiser).
Le programme est effectué dès que l'automate est mis sous tension. Cela ne veut pas nécessairement dire que les machines démarrent automatiquement (au contraire!). Il faut appuyer sur un bouton de démarrage pour mettre la machine en fonctionnement.

L'API est controlé par un programme de monitoring qui va par exemple controler que la boucle de programme ne met pas plus de temps que ce qui est autorisé. Ce temps maximal est programmé et peut être modifié. Qiand le temps d'exécution est dépassé, le programme de monitoring va lancer une routine de protection (par exemple pour stopper les moteurs de façon ordonnée). Une boucle dure quelques millisecondes, cela dépend de la quantité d'instructions qui doivent être exécutées (cette quantité peur varier d'une boucle à l'autre).

Programmation de l'API

La programmation s'effectue généralement à partir d'un ordinateur qui dispose du logiciel de programmation et d'un interface vers l'API. La communication s'effectue au format RS-232 ou un format propriétaire. La communication est bidirectionelle, c.à.d. que l'état des ports est visible sur l'ordinateur.

Il existe plusieurs languages de programmation, qui sont disponibles ou non:

  • Le ladder diagram ressemble aux schémas de l'électricien et utilise des contacts, des bobines de relais, des temporisateurs, etc. Ce language a du succès car il correspond a la représentation utilisée dans l'industrie. Certains API ont des fonctionalités qui ne peuvent pas être codées en ladder.

  • Les boites fonctionnelles correspond aux schémas des électroniciens avec des éléments logiques AND/OR, des bascules, etc. Ce language graphique est souvent utilisé.


    Trois représentations d'instructions identiques en ladder diagram, en boites fonctionelles et en instruction list

  • L'instruction list est en fait du language machine: il reprend les instructions comme l'ordinateur les effectue. Ce language est propre au type d'API utilisé et ne correspond pas à un language utilisé sur les ordinateurs domestiques. C'est un language complexe, difficile à comprendre et qui manque de structure.

  • Le structured text est un language de haut niveau (correspondant à pascal ou C++), mais qui n'est pas disponible sous toutes les plateformes. Ce language a l'avantage d'être standardisé. Le language doit être compilé (transformé en IL) avant de pouvoir être envoyé à l'API.

Human Machine Interface

Les écrans modernes utilisent une version de windows adaptée (embedded) et autorisent de ce fait pratiquement toutes les commandes graphiques windows: dessiner des fenètres et des cadres, programmer des boutons, etc.

Le logiciel répond au toucher et il y a une communication bidirectionnelle vers l'API. Une variable a le même nom dans l'écran tactile et dans l'API et il est possible d'en modifier la valeur dans l'APi et dans l'écran (Totally Automated Integration).

Le language de programmation de l'écran tactile ressemble à une version C++/java avec des actions qui sont effectués à la suite d'un toucher d'écran.

L'écran tactile est particulièrement onéreux pour un utilisateur qui veut simplement commander son chauffage central (de plus il n'a pas droit à une ristourne de la part des revendeurs). Un écran n'est pas vraiment nécessaire, mais alors vous manquez un afficheur des températures. Même les thermostats d'ambiance ont actuellement une indication des températures.

Il faut pouvoir modifier tellement de paramètres de l'installation de chauffage (programmation du jour et de la semaine avec override) qu'un interface plus ou moins complexe est nécessaire. Cela rend l'utilisation d'un automate fort cher.

Le choix PLC ou ordinateur est détaillé ici.

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's