Programmation automates
De Wiki Automatisme et Informatique.
Généralités
La programmation d'un automate programmable peut-être réalisée de différentes manières. Historiquement, chaque constructeur avait son propre langage de programmation (qui ressemblait ou non à celui d'un autre constructeur). Depuis quelques années, une norme est en vigueur concernant les langages de programmation. C'est la CEI_61131-3[1].
Cette norme régit la manière dont les constructeurs doivent construire leurs interfaces de programmation afin que les automaticiens puissent programmer. Elle ne régit en rien la manière de programmer.
Les principaux langages de programmation d'un automate sont :
- langage Ladder (schéma à relais)
- Sequential function chart (SFC) proche du langage Grafcet
- Boîtes fonctionnelles (FBD), sous forme de diagramme
- Texte structuré (ST)
- Liste d'instructions (IL), un pseudo-assembleur
On les retrouve chez tous les grands constructeurs tels que Siemens, Rockwell, Schneider, Omron, Mitsubishi ...
Rien ne régit donc la manière dont l'automaticien va construire et architecturer son programme, si ce ne sont des standards en vigueur dans certaines société (telles que l'automobile).
Il existe (en fait, comme en informatique) autant de façon de programmer qu'il existe de programmeurs. Ce qui découle directement de cette constatation, n'est pas un problème de fonctionnement des installations, mais un problème de maintenabilité de ces installations. En effet,si chaque intervenant au niveau programme gère une partie de cette installation à sa manière, il est impossible de retrouver un raisonnement cohérent et un fil conducteur dans le programme global. C'est souvent ce qui arrive lors de modifications, d'améliorations et de reconditionnements de lignes de production. D'où la nécessité de standardiser le plus possible.
StandardisationLa standardisation de la programmation peut intervenir sur différents éléments.
|
Simplification et EcouteLa simplification d'un programme ou l'art d'écrire une fonction en 3 lignes au lieu de 50 ! Cette simplification ne peut être réalisée que si les points précédents ont été mis en place, si une vision globale de l'installation est appréhendée lors de l'initialisation du projet. Cette vision globale peut dépasser le cadre technique, puis qu'elle doit englober :
Une machine qui aura été construite et développée (d'un point de vue mécanique et automatisme) avec les utilisateurs (production, maintenance, ...) fonctionnera toujours mieux que si ces utilisateurs n'ont pas pris part au changement de leur outil de travail. De même, en intégrant ce personnel lors du développement, certaines zones d'ombres tomberont naturellement lors de la mise en service, car un point difficilement automatisable sera réalisé de plein gré par l'utilisateur. Ce point semble souvent oublié de bon nombres de concepteurs qui se contentent de réaliser un programme ou une interface opérateur réalisant les fonctions requises.
|
Exemples
Les exemples de code fournis dans ce paragraphe sont fonctionnels (dans leurs contextes), ils peuvent donc être repris et utilisés après modification de certains paramètres. Ces exemples sont principalement tirés du domaine d'activité actuel, c'est à dire la transitique[6], mais le principe a déjà été utilisé dans d'autres domaines tels que le textile, le traitement d'eau, les process pharma ....

