Voici un article publié sur le logiciel PLC Checker d'Itris Automation Square, dans la revue Mesures : "La qualité des programmes vérifiée par leurs concepteurs".
Bonne lecture !
Retrouvez-nous sur http://www.itris-automation.com/fr/
Contactez-nous sur commercial@itris-automation.com pour plus d'informations.
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
[FR] Article dans Mesures "La qualité des programmes vérifiée par leurs concepteurs"
1. Reportage
Solutions Vu chez PSA
Peugeot
Citroën
AUTOMATIS M E S
La qualité des
programmes vérifiée
par leurs concepteurs
Dans un souci d’uniformisation et d’optimisation de ses chaînes de production, temps d’arrêts coûtent très cher. Et ce n’est pas une
PSA Peugeot Citroën a lancé un projet ambitieux : intégrer à ses processus de dé- fois la panne survenue que l’on peut commencer à
veloppement une méthode d’analyse des programmes automates. Cette techni- étudier un programme que l’on ne connaît pas. D’où
que innovante a été mise au point par la société grenobloise Itris Automation l’importance d’avoir des programmes bien cons-
Square, qui l’a insérée à son logiciel PLC Checker. Aujourd’hui, l’utilisation de PLC truits, bien écrits, et qui soient uniformes d’une
Checker est imposée à tous les sous-traitants du constructeur. Les principaux bé- chaîne de fabrication à une autre ».
néficiaires sont les agents de maintenance, qui disposent de programmes plus Afin de faciliter ses opérations de mainte-
homogènes, plus lisibles et débarrassés de la majeure partie de leurs bugs. nance, PSA Peugeot Citroën devait donc trouver
un moyen pour que les programmes sous-
traités s’inspirent tous du même modèle et
P
qu’ils utilisent tous les mêmes règles de co-
rès de cent cinquante automates d’un programme est primordiale pour le dage. La solution, les responsables du groupe
neufs sont installés chaque année constructeur. En effet, les automates ont une l’ont identifiée auprès d’Itris Automation
dans les usines de production de durée de vie qui peut dépasser une dizai- Square. Cette société grenobloise a mis au
PSA Peugeot Citroën. Dans le même ne d’années. L’intervention d’un technicien point un logiciel d’“analyse statique de code
temps, ce sont un peu moins d’une centaine de maintenance sera donc indispensable du- automate”. De quoi s’agit-il ? Eric Pierrel,
d’automates qui sont modifiés ou remis à rant cette période. Pour débugger un pro- directeur marketing de l’entreprise, en ex-
niveau. Ce qui représente, on l’imagine, une gramme, le technicien doit évidemment le plique le principe : « L’analyse statique consiste
grande quantité de programmes dont la plu- comprendre. Ce qui dépendra fortement de à vérifier qu’un pro-
part sont conçus par des sous-traitants inté- la manière dont le programme a été réalisé. gramme répond à un cer- L’essentiel
grateurs. Bien entendu, les responsables « Les agents de maintenance sont soumis à une pres- tain nombre de règles, et
automatismes de PSA vérifient à la réception sion énorme, commente Laurent Mauguy, res- ceci sans l’exécuter, c’est- Itris Automation Square a mis
d’un programme que ce dernier répond ponsable des activités transverses automatis- à-dire uniquement en étu- au point une technologie
innovante pour l’analyse
bien à leurs attentes. Mais en dehors des as- mes chez PSA Peugeot Citroën. Sur une chaîne de diant la façon dont il a été
de code automate.
pects fonctionnels, la facilité de maintenance production qui sort une voiture par minute, les écrit. L’analyse statique est
déjà couramment utilisée PSA souhaitait avoir
un référentiel commun
dans le domaine de l’infor-
pour tous ses programmes
matique embarquée, mais
d’automatismes afin d’en
Face à une production notre logiciel PLC Checker faciliter la maintenance.
de plus en plus est le premier à mettre
externalisée, Désormais, tous les intégra-
les dirigeants de PSA cette technique au service teurs qui développent
Peugeot Citroën des automaticiens. » A des programmes pour
devaient trouver l’origine du logiciel
une solution pour PSA doivent effectuer
uniformiser la qualité PLC Checker, on trouve une vérification de leur code
des programmes le langage GLIPS. Ce avec l’outil PLC Checker.
d’automatismes. langage “pivot”, mis PLC Checker met en évidence
au point par les fonda- les défauts dans le code et
teurs d’Itris Automation vérifie la conformité vis-à-vis
Square, traduit les pro- des règles de codage de PSA.
grammes Siemens ➜
MESURES 826 - JUIN 2010 - www.mesures.com
57
2. Reportage
Vu chez PSA
Solutions Solutions Reportage
Vu chez PSA
Peugeot Peugeot
Citroën Citroën
Afin d’éviter tout malentendu, les analyses sont toutes faites à distance sur les serveurs d’Itris Automation Square. Grâce à la démarche ACTIF, les règles de codage de PSA vont au-delà des programmes automates. Chaque automate est identifié grâce à une fiche signalétique qui est transmise à Itris Automation Square
Les dirigeants de PSA s’y rendent pour vérifier l’état d’avancement d’un projet. Ils s’appliquent également aux schémas électriques ainsi qu’aux pupitres et terminaux opérateurs. et accessible par les sous-traitants.
Un exemple
de tableau de bord Un fichier de règles
d’analyse fourni par est édité pour chaque
PLC Checker. Il indique projet. Il indique tous
une répartition les aspects du code
des erreurs par types qui seront vérifiés
de règle de codage. par PLC Checker.
➜ (Step 7), Schneider Electric (Unity-Pro et Surtout, PLC Checker vérifie la compatibi- constructeur a mis au point ses propres d’entrer. Pour chaque partie du pro- le code C embarqué dans l’automobile règles établies et exploitables rapidement.
PL7 Pro) et Rockwell Automation (RSLogix5000), lité du programme au regard d’un certain règles en ce qui concerne les noms et les gramme, PLC Checker vérifie que toutes compte 170 règles de codage. L’objectif à Le logiciel PLC Checker s’exécute entière-
et c’est sur ce code GLIPS que PLC Checker nombre de règles de codage. Il y a des rè- types de variables, ainsi que le niveau de les entrées sont lues (et sont utiles à la terme est donc d’arriver au même niveau ment à distance. Les développeurs envoient
réalise l’analyse statique proprement dite. gles génériques (éviter les divisions par commentaires à insérer dans les program- fonction en question), et que toutes les de vérification pour les automates qui pi- leur programme via Internet sur les serveurs
Une fois l’analyse effectuée, le logiciel in- zéro ou encore d’avoir trop de boucles im- mes. sorties sont bien écrites. Enfin, il peut dé- lotent les lignes de production que pour informatiques d’Itris Automation Square.
dique un taux de conformité vis-à-vis de briquées les unes dans les autres) mais L’outil effectue aussi des tests de fiabilité, tecter du code qui a été mis en commen- les programmes embarqués dans les calcu- L’analyse est lancée, et les résultats sont im-
l’automate cible (chaque constructeur aussi des règles spécifiques. Dans le cas de notamment afin d’éliminer tout le “code taire par erreur. Tous les développeurs pla- lateurs des véhicules. médiatement publiés. « Chaque automate de
ayant ses spécificités), une indication im- PSA Peugeot Citroën, ces dernières sont issues mort”. Il peut s’agir, par exemple, de fonc- cent en effet à un moment ou à un autre Encore faut-il veiller à ce que ces règles PSA est identifié grâce à une fiche signalétique. Afin
portante lorsque l’on cherche à réduire les des bonnes pratiques identifiées par les res- tions qui ne sont jamais appelées, ou de des lignes de code en commentaires pour soient respectées. Il suffit qu’un des sous- d’être sûr de vérifier chaque programme avec les
temps de déploiement d’un programme. ponsables automatismes du groupe. Le boucles dans lesquelles il est impossible les tests, et lors de la compilation il peut traitants n’utilise pas PLC Checker pour que bonnes règles de codage, les développeurs travaillent
arriver que ces lignes soient laissées en tous les efforts déployés se révèlent inutiles. sur un espace du site réservé à un automate en par-
commentaires par mégarde. « En effet, ajoute Laurent Mauguy (PSA Peugeot ticulier, commente Eric Pierrel (Itris Automation
Citroën), même si cette technologie innovante amé- Square). Une fois l’analyse effectuée, le responsable
Vérification de code automate : des bénéfices partagés par tous La vérification imposée liore la qualité du code automate, l’analyse a un coût du projet de PSA récupère les rapports de contrôle
à tous les sous-traitants (quelques centaines d’euros) que les sous-traitants afin de valider un programme ou d’accorder des
L’utilisation systématique de PLC Checker sur tous les nouveaux - Le donneur d’ordres peut vérifier la conformité d’un programme
Par défaut, PLC Checker contient une ving- ne sont pas forcément prêts à payer. C’est la raison dérogations si nécessaires (lorsqu’une règle n’a pas
programmes automates a bénéficié aux ingénieurs de PSA, dès réception et se l’approprier plus rapidement ;
comme à ses sous-traitants. Voici ce que chacune des équipes - L’analyse étant effectuée à distance via Internet, il n’y a pas
taine de règles de codage. Mais pour ce pro- pour laquelle nous avons décidé d’en imposer l’uti- été suivie mais que cela était justifié par le contexte
a pu retirer de l’analyse statique des programmes : de logiciel à installer ni à maintenir. jet, les ingénieurs de PSA ont collaboré avec lisation, pour tous nos programmes et pour toutes du projet). Clients finaux et développeurs accèdent
les ingénieurs d’Itris Automation Square afin de nos usines ». aux données de manière sécurisée. Toutes les infor-
Pour les ingénieurs “qualité et méthodes” : Pour les ingénieurs chargés des audits des programmes : définir des règles de codage spécifiques. Ils mations sont centralisées et conservées sur nos ser-
- Les règles de codage sont plus clairement définies et formalisées ; - Les tests d’acceptation peuvent désormais être faits sur la base ont créé un ensemble de 70 règles. Celles- Une plate-forme collaborative veurs pour en assurer la traçabilité. PLC Checker
- Les cahiers des charges sont plus simples à réaliser, car les règles de critères objectifs ; ci se déclinent en différents fichiers, car des Un projet d’envergure, donc, qui est aussi constitue ainsi une véritable plate-forme collabora-
de codage sont livrées séparément des aspects fonctionnels. - La vérification de la qualité du code devient simple, rapide et règles peuvent être ajoutées ou supprimées une aubaine pour Itris Automation Square dont tive. »
efficace. en fonction des projets. Mais ce n’est qu’un la solution était jusqu’à présent essentielle- Outre les problématiques liées à la mainte-
Pour les concepteurs de programmes d’automatismes : début : si les ingénieurs ont commencé par ment employée en France. Elle est désormais nance, l’utilisation de cette plate-forme ré-
- La vérification de la conformité aux règles de codage est Pour les agents de maintenance :
les règles les plus importantes (ainsi que adoptée par des intégrateurs de toute l’Eu- pond à plusieurs besoins de PSA Peugeot
devenue automatique ; - Plus lisibles, les programmes sont aussi plus faciles à dépanner
celles qui étaient simples à programmer en rope. Effectivement, selon la procédure mise Citroën.Tout d’abord, celui d’accélérer le dé-
- Les phases de test sont sensiblement réduites, ce qui permet et à faire évoluer ;
aux développeurs de se concentrer sur le fonctionnel ; - En cas de bug, les interruptions durent moins longtemps qu’avant.
GLIPS), il est prévu de poursuivre les tra- en place, les sous-traitants ont affaire direc- marrage des nouvelles chaînes de produc-
vaux pour porter leur nombre à 100. A titre tement à Itris Automation Square afin de four- tion. Une grande partie du travail de mise au
de comparaison, le standard MISRA pour nir à PSA des programmes respectant les point, qui est effectuée à réception du ➜
MESURES 826 - JUIN 2010 - www.mesures.com MESURES 826 - JUIN 2010 - www.mesures.com
58 59
3. Reportage
Vu chez PSA
Solutions Solutions Reportage
Vu chez PSA
Peugeot Peugeot
Citroën Citroën
➜ programme, est ici réduite grâce à un ces bugs qui étaient détectés trop tard, c’était à l’in- vérification se sont considérablement raccourcis : nos
code débarrassé des bugs les plus courants. tégrateur d’intervenir pour faire les modifications ingénieurs n’effectuent plus d’allers-retours avec le
Par ailleurs, PLC Checker résout le problème nécessaires. Aujourd’hui, avec cet outil, PSA ne peut sous-traitant jusqu’à ce que les programmes soient Une démarche pour plus de cohérence
du partage des responsabilités en cas de dys- plus nous dire : “votre programme n’est pas con- conformes. » Déployée il y a deux ans (c’est-à-dire quelques mois avant l’utilisation Dans un contexte où de plus en plus de fonctions sont réalisées
fonctionnement. En effet, d’ordinaire les forme”. PLC Checker est en quelque sorte notre juge Pour assurer la conformité des programmes, de PLC Checker), la méthode ACTIF est une norme mise au point par par des tiers, l’objectif de la démarche ACTIF est d’apporter plus
programmes passaient sous la responsabilité de paix. Grâce à lui les relations clients-fournisseurs les développeurs doivent bien sûr se fami- le groupe PSA. Elle définit une structure globale pour tous les aspects liés de cohérence entre les différents livrables. Il s’agit d’offrir
de PSA dès lors qu’il les acceptait. « Jusqu’à sont moins ambiguës. » Tous les programmes liariser avec les règles PSA. Mais surtout, ils aux automatismes, au sein du groupe comme chez ses sous-traitants. un cadre de travail commun à tous les sous-traitants afin de faciliter
présent, les services de PSA effectuaient une vérifi- pour automates neufs livrés par les sous-trai- doivent effectuer des analyses au fur et à me- Elle comprend sept normes fondamentales relatives à la sécurité, le démarrage des nouvelles installations et de réduire le nombre
cation visuelle avant d’accepter les programmes. Des tants sont désormais accompagnés d’un “cer- sure de l’avancement d’un programme. Au aux métiers transversaux, à l’analyse fonctionnelle des programmes, d’arrêts de production. La mise en place d’ACTIF a donc un impact sur
tests étaient réalisés par sondage, mais certains bugs tificat” attestant la qualité de leur programme moment où l’utilisation de PLC Checker a aux dossiers électriques, à la programmation, aux terminaux opérateurs les métiers de la maintenance, mais aussi sur les opérateurs qui peuvent
pouvaient passer au travers de ce premier contrôle, au regard des règles PSA. Le sous-traitant est été imposée, les sous-traitants avaient le et aux réalisations électriques. L’utilisation systématique de PLC Checker passer d’une chaîne de production à une autre sans être dépaysés,
commente Marcel Tedesco, directeur techni- dans l’obligation pour être payé de fournir le choix entre une vérification unique (avant fait désormais l’objet d’un des paragraphes de la norme relative et dans certains cas réaliser eux-mêmes le redémarrage d’une chaîne
aux métiers transversaux. sans faire appel à l’agent de maintenance.
que d’INEO agence de Terville. De plus, il peut rapport d’analyse de PLC Checker. Et une fois livraison) ou un forfait avec analyses illimi-
arriver qu’un programme soit fonctionnel lors des qu’un programme est déclaré conforme, il tées. Mais les responsables d’Itris Automation
premiers tests mais qu’il se révèle défectueux une passe sous la responsabilité de PSA. Square et de PSA ont estimé d’un commun
fois que la production monte en cadence. Pour tous accord que la première formule ne donnait Plus d’une trentaine de sous-traitants ont codage au plus tôt dans leurs processus de 1998 pour favoriser l’utilisation de la simulation
Du changement pas d’assez bons résultats. Ils favorisent dé- utilisé PLC Checker depuis le début du pro- développement. pour la conception des systèmes de contrôle com-
pour les sous-traitants sormais la seconde, la seule qui permette aux jet. Les statistiques conservées par Itris mande. Elle n’avait jamais été réellement exploitée
Les premières utilisations de PLC Checker sous-traitants de véritablement comprendre Automation Square indiquent qu’en moyenne PSA impliqué dans l’adoption jusqu’à ce que nous l’imposions à tous nos sous-
L’intégrateur devenu n’ont pas manqué de susciter des réactions les règles de codage et de s’impliquer dans douze analyses sont nécessaires pour satis- de nouvelles technologies traitants, rappelle Laurent Mauguy (PSA Peugeot
éditeur de la part des sous-traitants. Les responsables la qualité de leurs programmes. faire aux critères qualité de PSA Peugeot Ce que l’on retiendra de ce projet, c’est avant Citroën). Aujourd’hui, l’emploi de la simulation est
des équipes de développement, notamment, Citroën. Il reste donc du chemin à parcourir tout le rôle moteur du constructeur français systématique, et pas uniquement pour l’automobile.
Itris a démarré en 1995 une activité d’intégrateur : s’inquiétaient du fait que le logiciel donnait PLC Checker est intégré avant de développer des programmes con- dans l’utilisation de cette nouvelle technolo- Nous aimerions connaître le même succès avec PLC
la société grenobloise s’est fait connaître
des résultats différents selon la personne en à une démarche qualité globale formes du premier coup, mais cela va aller gie qu’est l’analyse statique de code auto- Checker, pour encore améliorer la qualité dans les pro-
en développant des programmes d’automatismes
pour différents industriels. Les membres
charge de la programmation. « Mais ceci est PLC Checker est utilisé chez PSA Peugeot en s’améliorant au fur et à mesure que les mate. « Nous appliquons la même stratégie que grammes d’automatismes, tous secteurs confondus ».
fondateurs de la société se sont vite rendu compte tout à fait normal, assure Eric Pierrel, car il n’y Citroën depuis un an et demi. Les responsa- sous-traitants intégreront les principes de nous avions mis en place dans les années 1996 à Frédéric Parisot
du temps perdu lors de la vérification des pro- a pas deux ingénieurs qui codent exactement de la bles du groupe estiment qu’ils pourront
grammes. De même, ils regrettaient qu’il soit même manière. Auparavant c’était invisible, car on établir des statistiques des prestations de
si difficile de déployer un même programme mesurait parfois les performances d’une équipe de leurs fournisseurs dès la fin 2010. Comme
sur des automates de constructeurs différents. programmeurs, mais jamais on ne les comparait souvent avec ce type de logiciels visant à
C’est la raison pour laquelle ils mirent au point entre eux. » Cette remise en cause des proces- améliorer la qualité, le gain financier est
le langage GLIPS, un langage suffisamment sus de développement a donc un impact fort relativement difficile à évaluer. Toujours
abstrait pour s’affranchir du type de l’automate chez les sous-traitants et les intégrateurs. est-il que, pour le constructeur comme
cible, et suffisamment complet pour pouvoir « Aujourd’hui, PLC Checker a été intégré au réfé- pour ses sous-traitants, le bilan est positif
étudier séparément les parties synchrones
rentiel de notre entreprise, déclare Marcel à tous points de vue. D’une part, parce que
et asynchrones d’un programme et y appliquer
des méthodes de tests issues du monde
Tedesco (INEO agence de Terville). Pour le fait d’effectuer ces contrôles exhaustifs
de l’informatique (analyse statique, méthodes chaque projet PSA, nous conservons une trace de tous et automatiques ne peut que réduire le ris-
formelles, etc.). les résultats d’analyses. Certes, le fait de mesurer la que de panne en cours de production (et
Dans un premier temps, le langage fut réservé qualité d’un programme en fonction du program- même en cas de panne, les agents de main-
à un usage interne à l’entreprise. Mais Itris meur était nouveau pour nous, et il a fallu s’y ha- tenance peuvent intervenir plus vite puis-
a ensuite décidé d’exploiter commercialement bituer au début. Mais aujourd’hui tous les déve- que tous les programmes ont une structure
ce savoir-faire. En 2008, la société change de nom loppeurs se sentent davantage impliqués, et la qualité commune). D’autre part, car les déve-
pour Itris Automation Square et change d’activité : de leur travail s’en trouve améliorée. » loppeurs sont davantage impliqués dans la
de prestataire de services, elle devient éditeur Rappelons également que le rôle de PLC qualité du code qu’ils produisent. Leur res-
de logiciels. Checker se limite à mettre en évidence tou- ponsabilité est accrue, car la livraison d’un
Le caractère innovant de cette technologie
tes les “zones à risque” dans les program- programme s’accompagne d’une obliga-
a permis à la société de se développer rapidement
et de compter parmi ses clients de grands groupes
mes. Il est certain qu’un développeur qui tion de résultat.
industriels dans l’automobile, comme PSA Peugeot lance l’analyse pour la première fois pourra Aujourd’hui chez PSA, l’utilisation systéma-
Citroën, mais aussi dans les domaines être surpris par la quantité d’alertes géné- tique de PLC Checker fait partie d’une dé-
de l’énergie (avec Schneider Electric ou GDF Suez) rées par le logiciel (parfois plus d’un mil- marche plus globale visant à améliorer la
et de la Défense (avec Snecma ou encore la DCNS). lier). Il faut dire que les règles définies par qualité et la maintenabilité des systèmes
Outre PLC Checker, son catalogue de produits PSA sont volontairement strictes, car on pré- automatisés. Ce vaste projet appelé ACTIF
comprend PLC Metrics (édition de statistiques fère que PLC Checker produise trop d’aler- regroupe un certain nombre de normes
pour les programmes automates), PLC Converter tes plutôt que pas assez. « Nous ne réception- communes à tout le groupe et qui concer-
(traduction d’un programme d’un automate nons aucun programme avec zéro alerte, indique nent la sécurité, la réalisation des interfaces
à un autre), PLC DocGen (traduction d’un program- Laurent Mauguy (PSA Peugeot Citroën). Avec homme-machine, les câblages électriques,
me sous forme de logigrammes, pour faciliter
le référentiel que nous avons mis en place, on consi- les méthodes d’analyse fonctionnelle des
la maintenance) ainsi que PLC Virtualizer
(émulation de programmes automates sur PC).
dère qu’en dessous d’une vingtaine d’alertes il s’agit programmes ainsi que d’autres aspects trans-
d’un bon programme. Et même si le fait d’étudier verses. C’est dans cette dernière partie qu’a
chaque alerte peut prendre du temps, les délais de été intégré PLC Checker.
MESURES 826 - JUIN 2010 - www.mesures.com MESURES 826 - JUIN 2010 - www.mesures.com
60 61