# Un générateur Web de canevas CODESYS et SCHNEIDER Electric depuis un fichier FACTORY I/O pour l'aide à l'hybridation des TP d'Automates Programmables Industriels (API)

Bernard Riera, David Annebicque, Dimitri Renard, Bryan Pettinelli

► To cite this version:

Bernard Riera, David Annebicque, Dimitri Renard, Bryan Pettinelli. Un générateur Web de canevas CODESYS et SCHNEIDER Electric depuis un fichier FACTORY I/O pour l'aide à l'hybridation des TP d'Automates Programmables Industriels (API). 6èmes journées des Démonstrateurs en Automaticque, Jun 2022, Angers, France. hal-04432415

HAL Id: hal-04432415

https://hal.science/hal-04432415v1

Submitted on 1 Feb 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Un générateur Web de canevas CODESYS et SCHNEIDER Electric depuis un fichier FACTORY I/O pour l'aide à l'hybridation des TP d'Automates Programmables Industriels (API)

Bernard Riera¹, David Annebicque¹, Dimitri Renard¹, Bryan Pettinelli¹

¹CReSTIC EA3804, Université de Reims Champagne Ardenne, UFR Sciences Exactes et Naturelles Moulin de la Housse, BP 1039, 51097 Reims Cedex, France

bernard.riera@univ-reims.fr

david.annebicque@univ-reims.fr

dimitri.renard@etudiant.univ-reims.fr

bryan.pettinelli@etudiant.univ-reims.fr

Dans le cadre du projet PIA3 ET-LIOS visant à développer des plateformes et ressources adaptées pour une hybridation des enseignements de l'Industrie du Futur, l'Université de Reims Champagne-Ardenne, par l'intermédiaire du CReSTIC EA3804, est impliquée dans le sous-projet « Structuration, développement et déploiement des contenus pédagogique ». Les logiciels développés dans ce cadre, sont des applications web qui permettent de générer à partir d'un fichier scène du logiciel Factory I/O (l'usine virtuelle), un canevas d'application pour plusieurs ateliers logiciels de programmation API configuré pour communiquer en un clic. Ces applications permettent de gagner en efficacité évitant les erreurs. Le temps gagné par les étudiants peut ainsi être mis à profit pour se consacrer à des tâches pédagogiques (ou de recherche) à forte valeur ajoutée comme l'analyse fonctionnelle ou la programmation en langage IEC 61131-3.

Mots clés : PIA3 ET-LIOS, Automatique, API, Simulation, Hybridation, Enseignement
# 1. Introduction

## 1.1. PIA3 ET-LIOS

Dans le cadre de l'appel à projet PIA 3 Hybridation des formations d'enseignement supérieur, le projet ET-LIOS « Enseignements Technologiques de niveau Licence Ouverts pour une industrie du futur compétitive et Soutenable », porté par un consortium issu du groupement d'intérêt scientifique GIS S.mart (ex-réseau AIP-PRIMECA), a été lauréat et a démarré le 1er novembre 2020. Durant 24 mois, le projet ET-LIOS est en train de développer et mettre en réseau une infrastructure numérique de virtualisation de solutions logicielles. Ce projet bénéficie d'une aide de l'État gérée par l'Agence Nationale de la Recherche au titre du programme d'Investissements d'avenir portant la référence ANR-20-NCUN-009.

Dans le cadre de ce projet, l'ambition est de mutualiser les expériences acquises dans les différents établissements membres du GIS S.mart durant la période du Covid19 en matière de pédagogie à distance et de continuité des formations dans les domaines technologique et scientifique, en particulier pour les sujets de l'Industrie du Futur comme notamment : Conception-simulation-prototypage 3D, Fabrication avancée et métrologie, E-Maintenance des systèmes cyber-physiques de production, Jumeau numérique et virtual commissioning des systèmes de production automatisée, Systèmes intelligents et modélisation multiphysique, et Ingénierie soutenable et responsable. L'objectif principal du projet est de fournir des plateformes et ressources adaptées pour une hybridation des enseignements scientifiques et technologiques voire, si l'évolution de la situation sanitaire le justifiait à nouveau, un basculement complet à distance. La spécificité des enseignements technologiques et le besoin d'accéder aux machines et équipements à caractère industriel rendent cet enjeu encore plus crucial et impactant pour conserver un temps pédagogique que nous jugeons indispensable sur les ressources technologiques tout en assurant les temps d'initiation, préparation et restitution en distanciel.

L'Université de Reims Champagne-Ardenne, par l'intermédiaire du CReSTIC, est impliquée dans le Module D « Jumeau Numérique et Virtual Commissioning pour la Production Automatisée » du sous-projet 2 « Structuration, développement et déploiement des contenus pédagogiques », à travers l'utilisation et le déploiement [1] des logiciels Home I/O (la maison virtuelle [2][3]) et Factory I/O (l'usine virtuelle [4][5]).
## 1.2. Factory I/O : l'Usine Virtuelle

Factory I/O permet de disposer pour la formation et la recherche d'usines virtuelles en 3D, que l'on peut connecter à des Automates Programmables Industriels (API) réels ou simulés. Factory I/O est développé par la société Real Games avec laquelle le CReSTIC a un partenariat R&D depuis plus de 10 ans. Facile de prise en main, Factory I/O dispose de scènes industrielles typiques, clés en main, pour tous niveaux de difficulté. Factory I/O offre également la possibilité de créer ses propres scènes à partir des composants présents dans sa librairie. Ainsi, Factory I/O est un outil « bac à sable » pour les enseignants pour produire des travaux pratiques en automatique correspondant à leurs attentes.

Utilisant les technologies des jeux vidéo, Factory I/O donne une perception réaliste de l'usine virtuelle. Cette réalité permet lors de l'enseignement de captiver plus facilement les étudiants. La possibilité donnée à chaque élève de pouvoir tester directement son programme sans attendre la libération d'une ressource partagée (i.e. partie opérative réelle) est un autre point fort de l'utilisation de cet outil de simulation. L'enseignement de l'automatique gagne à utiliser ces nouvelles technologies donnant plus d'efficience aux travaux pratiques.

Factory I/O peut être utilisé également dans le cadre de activités de recherche, en particulier dans le domaine de la commande. Factory I/O est un simulateur de partie opérative, qui peut également être utilisé comme un jumeau numérique, si l'on dispose du système réel. L'interfaçage de l'usine virtuelle avec un matériel extérieur est réalisable par de nombreux drivers intégrés (Modbus TCP/IP, Siemens S7-PLCSIM...) mais aussi avec un SDK permettant l'ouverture des possibles en termes de communication. Factory I/O est donc un excellent « bac à sable » pour les expérimentations sur la commande de systèmes industriels.

<figure><img src="image_2.png" /><figcaption>Figure 1 : Scène Factory I/O</figcaption></figure>
## 2. Les Générateurs

Le générateur de canevas CODESYS et SCHNEIDER Electric depuis un fichier scène Factory I/O développé dans le cadre du projet PIA3 ET-LIOS a pour but de faciliter l'enseignement de l'automatique tant en présentiel qu'à distance. Il concentre l'effort des étudiants sur les tâches à forte valeur ajoutée. Le générateur de canevas a besoin comme fichier d'entrée un fichier scène Factory I/O comportant une configuration Modbus TCP/IP Client. Cette tâche étant fastidieuse nous avons développé en parallèle un générateur de configuration Modbus TCP/IP Client. Ainsi, l'étudiant à partir d'une scène Factory I/O quelconque génère avec le premier générateur, sa scène Factory I/O avec une configuration Modbus TCP/IP Client puis avec le second, un canevas pour une solution logicielle de programmation API configuré pour communiquer en un clic. Les générateurs sont disponibles à l'adresse : https://crestic-fiotoplcmdb.univ-reims.fr/.

### 2.1. Configuration Modbus TCP/IP Client

Le générateur de configuration Modbus TCP/IP Client se présente sous la forme d'une application web qui avec un fichier Factory I/O en entrée génère une configuration Modbus TCP/IP Client. La configuration Modbus TCP/IP Client générée comprend toutes les variables de la scène. Pour cela, lors de la génération, la configuration Modbus TCP/IP est dans un premier temps effacé (si existante) puis elle est générée avec l'ensemble des variables présentes dans la scène Factory I/O.

En sortie, l'étudiant pourra télécharger le fichier Factory I/O configuré. Cette application permet ainsi de gagner un temps considérable et d'éviter les erreurs de configuration. La génération de la configuration Modbus TCP/IP Client est dissociée du générateur de canevas pour plus de flexibilité. Cette dissociation permet aussi le téléchargement d'un unique fichier à la fois. La génération automatique de la configuration Modbus TCP/IP Client fait gagner du temps à l'apprenant qui peut ainsi se consacrer entièrement à la spécification et l'implémentation de son contrôleur.

<figure><img src="image_3.png" /><figcaption>Figure 2 : Génération de la Configuration Modbus TCP/IP Client</figcaption></figure>
## 2.2. Canevas pour logiciels API

Le générateur de canevas récupère en entrée un fichier scène Factory I/O comprenant une configuration Modbus TCP/IP Client. La génération se fait vers plusieurs solutions logicielles de programmation API qui à ce jour sont CODESYS versions 3.5.14 et 3.5.17, EcoStruxure Machine Expert-Basic et Unity Pro XL/EcoStruxure Control Expert. Le choix se fait sur le site en cochant l'extension souhaitée. Le canevas généré comporte d'une part la déclaration et le mappage des variables d'entrée/sortie qu'elles soient booléennes ou entières, et d'autre part la configuration de la communication Modbus TCP/IP permettant une connexion entre Factory I/O et un API réel ou un simulateur d'API fourni par la solution logicielle. Pour simuler au mieux le comportement d'un API réel lors de l'utilisation d'un API simulé, des variables assimilées aux E/S réelles de l'API sont ajoutées au programme.

<figure><img src="image_4.png" /><figcaption>Figure 3 : Processus de fonctionnement du générateur de canevas</figcaption></figure>

### 2.2.1.CODESYS via PLCOpenXML

CODESYS [7] est un atelier de programmation API ouvert et libre de droits permettant de programmer avec les langages de la norme IEC 61131-3 [6]. Certains grands constructeurs utilisent CODESYS pour la programmation de leurs automates comme Schneider Electric avec leurs API M238 et M258. Au total, environ 1000 contrôleurs utilisent CODESYS comme interface de programmation.

Le générateur de canevas permet l'export vers deux versions de CODESYS : versions 3.5.14 et 3.5.17. La possibilité de choisir entre ces deux extensions est due à une rupture dans la librairie du composant ModbusTCP Slave Device. Les modifications importantes effectuées sur la librairie ne permettent pas la compatibilité descendante. Ainsi la librairie 4.1.0.0 (dernière version de la librairie à ce jour) ne peut lire les informations exportées pour la librairie 3.5.14. Le choix de la version 3.5.14 reste possible pour les personnes ne souhaitant pas mettre à jour leur logiciel CODESYS.

La génération vers CODESYS se fait via le format PLCOpenXML IEC 61131-10 (.xml) [8]. Il est donc possible de l'ouvrir avec tous les logiciels de programmation API compatibles avec ce format, cependant le composant ModbusTCP Slave Device ne pourra être importé dû au manque de la librairie CODESYS correspondante.
Le canevas comprend (voir *Figure 4*) :

* Une liste de variables globales :

* L'ensemble des variables E/S assimilées aux entrées/sorties réelles de l'API. Ceci permet de simuler au mieux le comportement d'un API lors de l'utilisation d'un API simulé.

* Un programme comportant :

* Une liste de variables locales :

* L'ensemble des variables E/S en mémoire interne avec lesquelles les étudiants vont programmer.

* L'affectation entre les variables globales assimilées aux entrées sortie réelles et les variables E/S en mémoire interne avec lesquelles les étudiants vont programmer.

* Une carte Ethernet configurée sur l'adresse IP locale 127.0.0.1

* Un composant ModbusTCP Slave Device configuré avec :

* Nombre de variables E/S booléenne/non booléenne

* Mappage des variables selon leur type E/S et booléenne/non booléenne

<figure><img src="image_5.png" /><figcaption>Figure 4 : Canevas généré pour CODESYS</figcaption></figure>
### 2.2.2. Unity Pro XL/EcoStruxure Control Expert

Unity Pro XL renommé Ecostruxure Control Expert à partir de la version V14 est un logiciel de programmation IEC 61131-3 de Schneider Electric dédié à sa gamme de produits Modicon M340, M580, M580S, Premium, Momentum et Quantum [9].

La génération de canevas vers Unity Pro XL/EcoStruxure Contrôle Expert se fait via le format .xef natif de ces logiciels. Le fichier généré s'ouvre directement avec Unity Pro XL/EcoStruxure Contrôle Expert.

Le canevas comprend (voir *Figure 5*) :

* La déclaration des variables :

* Variables actionneurs et capteurs suivant la configuration Modbus TCP/IP Client de la scène Factory I/O permettant de simuler au mieux le comportement d'un API lors de l'utilisation d'un API simulé.

* L'ensembles des variables de la scène Factory I/O en mémoire interne

* La création de sections :

* La section Lecture_Entree_FIO comprenant l'affectation des variables d'entrée par les variables capteurs assimilées aux entrées réelles de l'API.

* La section Prog permettant de programmer

* La section Ecriture_Sortie_FIO comprenant l'affectation des variables de sortie par les variables actionneurs assimilées aux sorties réelles de l'API.

<figure><img src="image_6.png" /><figcaption>Figure 5 : Canevas généré pour Unity Pro/EcoStruxure Control Expert</figcaption></figure>
### 2.2.3. EcoStruxure Machine Expert-Basic

EcoStruxure Machine Expert-Basic est une solution logicielle légère et gratuite de Schneider Electric dédiées aux contrôleur Modicon M221. La génération de canevas vers EcoStruxure Machine Expert-Basic se fait via le format .smbp natif de ces logiciels. Le fichier généré s'ouvre directement avec EcoStruxure Machine Expert-Basic.

La programmation avec seulement deux des langages IEC61131-3 : Ladder Diagram (LD) et Instruction List (IL), est possible. Cet environnement de développement permet l'automatisation de machines simples [10].

Le canevas comprend (voir *Figure 6*) :

* La déclaration des variables :

* Variables actuators et sensors suivant la configuration Modbus TCP/IP Client de la scène Factory I/O permettant de simuler au mieux le comportement d'un API lors de l'utilisation d'un API simulé.

* L'ensembles des variables de la scène Factory I/O en mémoire interne

* La création de sections :

* La section Input_FIO_Reader comprenant l'affectation des variables d'entrée par les variables sensors assimilées aux entrées réelles de l'API.

* La section Programme permettant de programmer

* La section Output_FIO_Reader comprenant l'affectation des variables de sortie par les variables actuators assimilées aux sorties réelles de l'API.

<figure><img src="image_7.png" /><figcaption>Figure 6 : Canevas généré pour EcoStruxure Machine Expert-Basic</figcaption></figure>
### 3. Hybridation des enseignements

Les convertisseurs en se présentant sous la forme d'un site internet, sont donc aussi bien accessibles depuis les salles de TP que de son domicile personnel. Il peut donc être utilisé aussi bien en présentiel qu'à distance. Son utilisation évitant toute erreur lors de la déclaration des variables ainsi que leur mappage, il devient ainsi très simple pour les étudiants de simuler et de tester leur programme API, en ayant les logiciels (FACTORY I/O et atelier de programmation) sur leur PC. Cette simplicité octroie dans le même temps plus d'importance à l'enseignant. En effet, les gains énoncés précédemment permettent aux étudiants de travailler uniquement sur l'apprentissage de compétences à forte valeur ajoutée comme l'analyse fonctionnelle ou la programmation en langage IEC61131-3. Le savoir des enseignants est par conséquent utilisé à son plein potentiel pour développer les compétences des étudiants.

La possibilité d'export vers plusieurs solutions logicielles dont certaines sont gratuites, permet une flexibilité du choix de l'outil par l'enseignant. Les solutions gratuites peuvent être téléchargées directement par les étudiants sur leur machine. Au moyen de ces outils de simulation et des générateurs, les étudiants, à distance comme en présentiel, dans un environnement ludique, peuvent réaliser des travaux pratiques de programmation d'API.

### 4. Conclusion

Les outils de programmation et de simulation couplés aux générateurs permettent d'offrir aux enseignants une solution hybride des enseignements de l'automatique ainsi qu'une plus grande valeur ajoutée sur leurs travaux pratiques. Les étudiants ont quant à eux des travaux pratiques focalisés sur les tâches à forte valeur ajoutée. Les possibilités d'export vers plusieurs solutions logicielles donnent de la liberté, tant aux enseignants qu'aux étudiants. Cette liberté est accentuée par le format web des générateurs qui leur permettent d'être accessible partout dans le monde. La génération de canevas communiquant en un clic a aussi un fort intérêt pour les chercheurs, leurs octroyant les mêmes avantages que ceux énoncés pour les étudiants : le gain de temps et l'élimination des erreurs de configuration. Ainsi, les générateurs conçus dans un cadre d'hybridation des enseignements se retrouvent adaptés et profitables au monde de la recherche.

### Remerciement

Ce travail a bénéficié d'une aide de l'Etat gérée par l'Agence Nationale de la Recherche (ANR) au titre du programme Investissements d'Avenir <ET-LIOS> ANR-20-NCUN-0009. Les auteurs remercient vivement cette institution.
## 5. Bibliographie

[1] Bernard Riera, Romain Pichard, Alexandre Philippot, Ramla Saddem, François Gellot, et al. (2017), HOME I/O et FACTORY I/O : 2 logiciels innovants de simulation de PO pour la formation à l'automatique. Colloque consacré à l'Enseignement des Technologies et des Sciences de l'Information et des Systèmes (CETSIS), Le Mans, France. (hal-01882591)

[2] B. Riera, Tom Ranger, R. Saddem, Jean-Paul Chemla, F. Emprin, et al. Experience feedback and innovative pedagogical applications with HOME I/O. IFAC World Congress, pp.17610-17615, 2020, (10.1016/j.ifacol.2020.12.2676). (hal-02968156)

[3] B. Riera, A. Philippot, D Annebicque (2019). *Teaching the first and only logic control course with HOME I/O and Scratch 2.0*. IFAC Advances in Control Education Symposium (ACE), pp.109-114, 2019, (10.1016/j.ifacol.2019.08.133). (hal-02151138)

[4] Bernard Riera, B. Vigário (2017). *HOME I/O and FACTORY I/O: a virtual house and a virtual plant for control education*. IFAC World Congress, pp.9144-9149, 2017, (10.1016/j.ifacol.2017.08.1719). (hal-01735034)

[5] M. Koza, Alexandre Philippot, Pichard M, Ramla Saddem, François Gellot, et al. (2017) *HOME I/O and FACTORY I/O: a house simulator and a plant simulator for automatic control education*. The 27th EAEEIE (European Association for Education in Electrical and Information Engineering) Annual Conference, Grenoble, France. (hal-02969579)

[6] IEC 61131-3, Programmable controllers, Part 3: Programming languages, 2013.

[7] CODESYS, Why Codesys ?, 2022, disponible à l'adresse: https://www codesys com/the- system/why-codesys html

[8] IEC 61131-10, Programmable controllers, Part 10: PLC open XML exchange format, 2019.

[9] SCHNEIDER ELECTRIC, EcoStruxure Control Expert (Unity Pro), 2022, disponible à l'adresse : https://bit.ly/36qGWqJ

[10] SCHNEIDER ELECTRIC, EcoStruxure™ Machine Expert, 2022, disponible à l'adresse : https://cutt.ly/kSr6bbN