• Aucun résultat trouvé

performances, étude comparative et exploitation industrielle du RRFR

SURVEILLANCE DYNAMIQUE PAR RRFR

5.4.3 DESCRIPTION DE LA SOLUTION PROPOSEE

a) INTRODUCTION

L’architecture globale de la solution proposée est illustrée par la Figure 94. Une fois chargée dans la CPU de l’automate, la structure du programme neuronal est capable d’évoluer en étant supervisée par un expert distant. Toute la phase d’apprentissage est gérée via le coupleur WEB par la connexion TCP/IP. Le programme JAVA chargé dans le coupleur permet de faire la liaison entre l’automate et l’expert. Pour ce faire, deux fonctions de base sont nécessaires : une fonction de lecture et une fonction d’écriture. Ces

deux fonctions sont fournies par le constructeur49 et permettent donc de communiquer avec

l’automate soit par réseau interne à l’entreprise (Intranet) soit par réseau externe (Internet). Les conditions imposées par notre partenaire industriel à la structure du programme neuronal en step7 sont les suivantes :

Chapitre 5 – Evaluation des Performances et Exploitation Industrielle des RRFR page 149

• Aspect évolutif :

La structure doit être entièrement évolutive via le coupleur WEB. L’utilisateur n’aura pas à reprogrammer et recharger le réseau de neurones dans la CPU de l’automate. Cette facilité d’utilisation est un critère très important et très apprécié par les industriels qui ne possèdent pas forcément de connaissances sur l’outil neuronal. Le paramétrage du réseau de neurones doit être entièrement transparent à l’utilisateur. Cette solution ouvre des perspectives vers une externalisation de la maintenance via le web. En effet, l’expert distant pourra suivre les différentes évolutions des variables de surveillances ainsi que les réponses du réseau de neurones chargé de la surveillance de l’équipement. Il pourra également le paramétrer par connexion TCP/IP.

• Flexibilité :

La structure du programme neuronal doit être standard pour un équipement quelconque. Le programme doit être capable de s’adapter à un nombre quelconque de variables de surveillance (nombre de sortie capteur) et à plusieurs types de variables de surveillance (entier, double entier, booléen, etc.). Cette contrainte a pour exigence une plus grande ouverture au maximum de clients potentiels. Le développement d’un produit générique coûtera moins cher qu’un produit fait sur mesure à un client précis.

Profibus

Programme neuronal dans la CPU de l’automate Connexion TCP/IP Fonction lecture Fonction écriture Navigateur WEB + Console JAVA Base de Données et historique de panne Coupleur WEB de l’Automate Step7 JAVA

Figure 94. Différentes interactions entre chaque composant de l’application de surveillance.

b) STRUCTURE DU PROGRAMME NEURONAL EN LANGAGE AUTOMATE

L’implémentation du réseau RRFR dans un Automate Programmable Industriel, est

basée essentiellement sur deux composants50 de programmation :

- Un composant (FC en step7) qui permet de définir des fonctions de calcul type comme

le calcul de la sortie du neurone bouclé ou gaussien en fonction de ses entrées.

- Un composant (DB en step7) qui permet de stocker tous les paramètres du réseau

RRFR. Ces paramètres sont exploités par les composants FC pour les différents calculs. La Figure 95 présente la structure globale du programme neuronal en step7. Chaque couche du réseau de neurones est représentée par une FC et une DB. La communication avec le programme step7 via le coupleur web ne peut se faire que sur des variables se trouvant dans un composant DB. Un numéro est associé à chaque DB et chaque variable possède une adresse absolue fixe dans une DB. En localisant ainsi l’emplacement de

50 Nous ne nous attarderons pas sur le détail de ces deux composants. Pour plus d’explication, se référer à la

page 150

chaque variable du programme, on peut soit afficher cette variable sur un poste distant, soit changer sa valeur par un expert distant grâce aux fonctions de lecture écriture.

FC N°1 FC N°2 FC N°3 DB N°1 DB N°2 DB N°3 Données capteurs Couche de neurones bouclés Couche de neurones gaussiens Couche de sortie Fonction de lecture Fonction d’écriture JAVA Apprentissage à distance Coupleur WEB

Figure 95. Organigramme du réseau RRFR chargé dans la CPU de l’automate. La

communication avec le coupleur Web se fait à travers des variables situées dans le composant DB. Les deux critères de flexibilité et d’évolutivité sont obtenus grâce à l’utilisation de variables de type « structure » pour chaque DB des différentes couches du réseau de neurones. Chaque variable de type structure contient une entête où figurent certaines informations exploitées par des pointeurs et qui servent à identifier l’adresse de chaque paramètre du réseau de neurones.

c) APPRENTISSAGE ET VISUALISATION DES DONNEES

La phase de mise à jour du réseau de neurones (phase d’apprentissage) consiste à re-paramétrer le réseau de neurones en fonction de l’évolution de l’équipement. Cette étape est entièrement gérée par le langage de programmation JAVA localisé dans le coupleur Web de l’automate. Un expert distant responsable de cette mise à jour peut donc modifier les paramètres du réseau à travers une interface de visualisation. La version renforcée de l’algorithme des k-moyennes est alors facilement programmable en langage JAVA. Une fois les paramètres du réseau RRFR extraits, ils sont chargés dans le programme automate par les fonctions d’écriture.

Comme le montre la figure suivante, une base de données est créée par le programme JAVA. Cette base de données contient des informations qui seront exploitées pour la phase d’apprentissage. Ces informations sont les valeurs des différentes variables de surveillance horodatées (se trouvant dans la DB N°1) ainsi que les différentes réponses du réseau de neurones (dans la DB N°3). Un expert distant peut alors consulter cet historique, analyser les différentes données de cette base et exécuter l’algorithme d’apprentissage. Les paramètres du nouveau réseau de neurones sont alors obtenus. L’expert peut ainsi recharger ces nouveaux paramètres dans la CPU de l’automate par la fonction d’écriture. Les DB concernées par cette phase d’écriture sont les DB N°1 et N°2 où figurent respectivement les paramètres des neurones bouclés et des neurones gaussiens. L’ajout de nouveaux neurones gaussiens devient alors aisé. Il suffit de mettre le nouveau nombre de neurones gaussiens au niveau du nombre de sous structures contenues dans la structure

Chapitre 5 – Evaluation des Performances et Exploitation Industrielle des RRFR page 151

principale de la DB N°2 ainsi que les valeurs de leurs paramètres (prototypes et rayons d’influence) aux adresses correspondantes. Le programme neuronal chargé dans l’automate est ainsi entièrement évolutif par connexion TCP/IP via le coupleur web.

DB N°1 DB N°2 DB N°3

Lecture des variables de surveillance

Apprentissage

Lecture des réponses du réseau de neurones

Requête pour exécuter

l’apprentissage Requête pour charger les paramètres du réseau de neurones

Ecriture des paramètres d’apprentissage

JAVA

Coupleur WEB

Figure 96. Organigramme du processus d’apprentissage du réseau de neurones. Le

programme JAVA chargé dans le coupleur peut être exécuté à distance (TCP/IP). Une base de données est également disponible au niveau du coupleur et consultable à distance.

La Figure 97 montre l’interface de visualisation pour un utilisateur passif c'est-à-dire sans pouvoir d’écriture dans l’automate.

Affichage de l’historique Affichage du mode de fonctionnement Affichage des

entrées capteurs

Affichage des sorties de la couche d’entrée

Figure 97. Interface (IHM) pour un utilisateur passif - visualisation des valeurs des

paramètres de surveillance, du mode de fonctionnement et de l’historique de l’équipement.

Affichage du mode à apprendre Affichage des valeurs à apprendre Choix du mode d’apprentissage Paramètres du réseau Paramètres d’apprentissage Paramètres de la couche d’entrée

Figure 98. Interface (IHM) pour un utilisateur avec pouvoir (expert actif) - seule personne à

page 152

Cette interface ne sert qu’à lire les données de surveillance. Un tel degré de sécurité est nécessaire si l’on veut ouvrir l’accès au programme de surveillance à des personnes qui ne sont pas forcément qualifiées pour la phase de paramétrage du programme neuronal (phase d’apprentissage). Cette phase d’apprentissage est gérée par une interface dédiée à un expert responsable de la mise à jour du programme de surveillance (Figure 98). Cet expert est donc autorisé à écrire dans le programme neuronal de l’automate et ainsi paramétrer le réseau RRFR à distance.