Automatismes : le code 61131-3 est généré automatiquement

Le 27/07/2010 à 14:31  

The Mathworks lance Simulink PLC Coder, un générateur automatique de code conçu pour les automaticiens. Il délivre un code au format “texte structuré” à partir de projets Simulink, Stateflow ou Embedded Matlab.
Dans le domaine de l’électronique embarquée, les outils de génération automatique de code sont de plus en plus couramment utilisés. Dans le secteur des automatismes, les besoins sont relativement similaires, avec des fonctions toujours plus complexes et des architectures de plus en plus distribuées. Les automaticiens étaient donc demandeurs d’une solution de génération automatique adaptée à leurs contraintes.
Après avoir lancé des outils pour la génération de code C pour microcontrôleurs (avec Real-Time Workshop Embedded Coder) et de code VHDL pour processeurs FPGA (avec Simulink HDL Coder), The Mathworks répond aujourd’hui à leurs attentes. Il propose Simulink PLC Coder, un outil de génération de code automate, qui délivre du code de type “texte structuré” l’un des six langages standard de la norme CEI 61131-3.
Les programmes générés sont ensuite importés dans l’environnement de développement fourni par le constructeur de l’automate. « D’ordinaire, les automaticiens doivent connaître les spécificités de chacun de ces environnements  car chaque constructeur impose ses propres règles, notamment pour le typage et le nommage des variables, explique Daniel Martins, responsable des ingénieurs d’application chez The Mathworks. Pour leur faciliter la tâche, nous avons établi des contrats de partenariat avec des éditeurs et des constructeurs d’automates afin que Simulink PLC Coder supporte les restrictions des principaux environnements de développement du marché. Ainsi, toutes les spécificités propres au constructeur sont prises en compte avant la génération du programme, ce qui réduit les temps de débogage. » La compatibilité est assurée avec les ateliers logiciels CoDeSys (de 3S-Smart Software Solutions), Automation Studio (de B&R Automation), TwinCAT (de Beckhoff), et RSLogix 5000 (de Rockwell Automation), ainsi que tous les logiciels compatibles PLCopen XML et ASCII.
Dans un processus de développement “classique”, l’ingénieur qui conçoit un algorithme ou une fonction de régulation sous Simulink n’est pas le même que celui qui programme l’automate. Ce dernier doit le plus souvent “interpréter” la fonction pour que l’automate fournisse les mêmes résultats que le modèle Simulink. Mais avec un générateur automatique de code, on évite d’introduire d’éventuelles d’erreurs d’interprétation.
De plus, les développeurs profitent de toutes les autres fonctions  de Simulink, parmi lesquelles le suivi des exigences, la simulation ou la création de vecteurs de test. Les vecteurs de tests qui ont été créés pour valider le modèle Simulink pourront être réutilisés pour tester le programme dans l’atelier logiciel du constructeur, mais aussi sur le système réel. On peut donc vérifier à chaque étape du développement que le comportement du programme est bien conforme aux attentes. En entrée, Simulink PLC Coder accepte des modèles Simulink, bien sûr, mais aussi des machines d’états réalisées sous Stateflow et des algorithmes programmés avec Embedded Matlab. « Nous nous adressons à tous les automaticiens qui développent des algorithmes avancés, des tables de vérité, des boucles “for”, des opérations booléennes, etc. qui étaient difficiles à réaliser uniquement avec les ateliers logiciels des constructeurs », conclut Daniel Martins.