Guide pour le Développement des Programmes Automates
Objectifs du Guide
En publiant son guide pour le développement des programmes automates, Itris Automation Square souhaite proposer un document permettant de définir un style de codage pour la programmation des automates industriels.
Ce guide a été élaboré en recherchant un juste équilibre, adaptable au contexte d’un industriel donné, entre la créativité du développeur et la lisibilité, maintenabilité et cohérence des programmes entre eux. Cet équilibre a nécessairement pour conséquence de limiter la liberté du développeur. Cette limitation ne doit cependant pas être vue comme un mal mais plutôt comme le moyen de bénéficier, en maintenance, de gains significatifs et d’une meilleure productivité.
Enfin, l’esprit d’un tel document, est également d’attirer l’attention des développeurs sur un certain nombre de pratiques potentiellement dangereuses ou non-optimales. La dimension potentielle de ce danger a pour conséquence que les règles seront toujours susceptibles d’être interprétées par les développeurs. Il est donc toujours envisageable de justifier des déviations par rapport au standard dans le cadre d’un contexte particulier.
Complexité des Règles
Le guide pour le développement des programmes automates d'Itris Automation Square décrit des règles simples permettant d’obtenir, dès leur première application, des résultats probants sur la qualité du code automate. Cette simplicité a pour but de rendre ce document facilement compréhensible afin qu’il puisse être effectivement et rapidement appliqué.
Un développeur qui doit faire face à de nombreuses règles trop complexes renoncera à appliquer le référentiel, l’appliquera de façon parcellaire, ou, pire, l’appliquera sans le comprendre.
Une trop grande complexité a aussi souvent pour conséquence de rendre les règles interprétables. Dès lors, fournisseur et client final n’ont plus la même compréhension du jeu de règles qui ne joue plus son rôle de facilitateur de la relation client/fournisseur.
Par ailleurs, la simplicité a aussi pour conséquence de permettre une vérification rapide et automatique du bon respect des règles. Un ensemble de règles ne sert à rien s’il n’est pas possible de vérifier que les programmes développés y sont bien conformes.
Ce document a donc été conçu afin que toutes les règles soient vérifiables automatiquement à l’aide de l’outil PLC Checker; Itris Automation Square propose d’ailleurs un fichier de règle pour PLC Checker implémentant toutes ces règles pour les automates programmés avec les ateliers PL7-PRO et Unity PRO de Schneider Electric, STEP7 de Siemens et RSLogix 5000 de Rockwell Automation.
Dès lors, les audits de code ne prennent que quelques secondes de temps de calcul et il est donc possible d’en effectuer tout au long du projet. Enfin, une vérification automatique a l’avantage d’être répétable et neutre. Ses résultats sont donc objectifs et opposables.
Sources
Les sources de ce document sont nombreuses et garantes d’une bonne applicabilité dans un contexte industriel.
Ce document a tout d’abord été rédigé à partir d’une analyse critique de nombreux référentiels déjà utilisés par les clients d’Itris Automation Square dans des domaines d’activité variés et possédant des gammes d’automates diversifiées. Certains de ces industriels réceptionnent plusieurs centaines de programmes automates par an destinés à être installés dans le monde entier et supervisent des dizaines de fournisseurs différents. D’autres sont plus petits et ont des problématiques qualité plus ponctuelles.
Ce document s’inspire également de l’expérience des équipes d’automaticiens d’Itris Automation Square qui, dans le cadre notamment de leur activité de rénovation d’installations existantes, sont confrontés à de nombreux programmes dans des contextes variés.
Enfin, ce document s’inspire de standards largement diffusés dans le domaine de l’informatique embarquée tels que le standard MISRA: Guidelines for the use of the C language in critical systems (www.misra.org.uk) ou encore les règles de codage appliquées par Lockheed Martin pour le développement des programmes C++ (www.jsf.mil).
Pré-requis et Avertissement
Le guide pour le développement des programmes automates d'Itris Automation Square n’a pas pour but de former ses lecteurs à la programmation des automates industriels. Un niveau de connaissance opérationnelle de cette problématique est donc considéré comme acquis par les lecteurs.
Par ailleurs, le respect des règles proposées dans ce document ne garantie en aucune manière l’obtention d’un programme exempt d’erreurs ou de non-conformités fonctionnelles. Il ne se substitue pas non plus à l’application d’éventuelles obligations légales.
Téléchargez dès maintenant le guide pour le développement des programmes automates d'Itris Automation Square.

