Schneider Electric EcoStruxureTM Automation Expert Guide de démarrage rapide
Ajouter à Mes manuels206 Des pages
▼
Scroll to page 2
of
206
EcoStruxureTM Automation Expert Prise en main Traduction de la notice originale EIO0000004748.01 09/2022 www.se.com Mentions légales La marque Schneider Electric et toutes les marques de commerce de Schneider Electric SE et de ses filiales mentionnées dans ce guide sont la propriété de Schneider Electric SE ou de ses filiales. Toutes les autres marques peuvent être des marques de commerce de leurs propriétaires respectifs. Ce guide et son contenu sont protégés par les lois sur la propriété intellectuelle applicables et sont fournis à titre d'information uniquement. Aucune partie de ce guide ne peut être reproduite ou transmise sous quelque forme ou par quelque moyen que ce soit (électronique, mécanique, photocopie, enregistrement ou autre), à quelque fin que ce soit, sans l'autorisation écrite préalable de Schneider Electric. Schneider Electric n'accorde aucun droit ni aucune licence d'utilisation commerciale de ce guide ou de son contenu, sauf dans le cadre d'une licence non exclusive et personnelle, pour le consulter tel quel. Les produits et équipements Schneider Electric doivent être installés, utilisés et entretenus uniquement par le personnel qualifié. Les normes, spécifications et conceptions sont susceptibles d'être modifiées à tout moment. Les informations contenues dans ce guide peuvent faire l'objet de modifications sans préavis. Dans la mesure permise par la loi applicable, Schneider Electric et ses filiales déclinent toute responsabilité en cas d'erreurs ou d'omissions dans le contenu informatif du présent document ou pour toute conséquence résultant de l'utilisation des informations qu'il contient. Table des matières Consignes de sécurité .............................................................................................7 Objet du document ...................................................................................................9 Présentation de EcoStruxure Automation Expert ..............................................10 Le modèle de bloc fonction de la norme IEC 61499................................................... 11 Trois types de blocs fonction ................................................................................... 11 Composite Automation Type (CAT)..........................................................................12 À propos de l’application de tutoriel .....................................................................13 Application de crèmerie ..........................................................................................13 Présentation du processus ................................................................................14 À propos du « Whole Milk Storage » (Stockage de lait entier)...............................16 Développement étape par étape - Présentation ..................................................18 Configuration de la solution.....................................................................................19 Créer une solution ............................................................................................19 EcoStruxure Automation Expert - Buildtime ........................................................23 Référencement des librairies .............................................................................24 Importation de contenu .....................................................................................27 Présentation de l'éditeur système ......................................................................30 Configuration de l’application.............................................................................35 Configuration des instruments ..............................................................................38 Ajout des instruments .............................................................................................38 Ajout d'un bloc fonction .....................................................................................38 Moteur cyclique ................................................................................................43 Vanne ..............................................................................................................44 Entrée analogique ............................................................................................44 Entrée numérique .............................................................................................45 Création de connexion entre instruments .................................................................46 Objet des connexions .......................................................................................47 Ouverture de la 1ère vanne ...............................................................................47 Ouverture de la 2e vanne ..................................................................................52 Ouverture de la 3e vanne ..................................................................................53 Traitement de la valeur de l'entrée analogique ....................................................59 Activation de la sortie numérique .......................................................................65 EIO0000004748.01 3 Développement de canvas......................................................................................68 Création du canvas principal .............................................................................69 Ajout des instances d’instruments ......................................................................71 Création de canvas d’alarmes ...........................................................................77 Configuration du canvas de départ.....................................................................79 Exécution de l’application........................................................................................81 Configuration des équipements logiques ............................................................83 Mappage .........................................................................................................84 Initialisation de l'équipement..............................................................................88 Compilation, déploiement et exécution de l’application ........................................90 Tests de l’application ..............................................................................................94 Démarrage en ligne IHM ...................................................................................94 Test manuel des instruments .............................................................................97 Simulation des connexions.............................................................................. 105 Le CAT de séquence de remplissage ................................................................ 112 Définition de la séquence de remplissage .............................................................. 113 Définition de la librairie SE.AppSequence .............................................................. 114 Bloc fonction SeqHead.................................................................................... 115 Bloc fonction SeqStep..................................................................................... 116 Bloc fonction SeqTerminate............................................................................. 117 Configuration du CAT de séquence de remplissage ................................................ 118 Création du CAT ............................................................................................. 119 Présentation des éditeurs CAT ........................................................................ 120 Présentation des adapters............................................................................... 123 Configuration des ports du CAT ....................................................................... 125 Séquence de démarrage du remplissage ............................................................... 127 Étape de démarrage de la séquence................................................................ 128 Étape d'acquisition de la propriété.................................................................... 137 Étape d'activation de l'agitateur ....................................................................... 143 Étape d'ouverture de la vanne d'entrée ............................................................ 147 Étape d'ouverture de la vanne de réception ...................................................... 149 Étape de fermeture des vannes d'entrée et de réception.................................... 152 Étape de désactivation de l'agitateur .............................................................. 155 Étape de retrait de la propriété......................................................................... 157 Arrêt de la séquence de remplissage ............................................................... 159 4 EIO0000004748.01 Séquence d'arrêt du remplissage .......................................................................... 160 Étape de démarrage de la séquence d'arrêt...................................................... 160 Étapes de la séquence d'arrêt ......................................................................... 162 Finalisation du développement du CAT ............................................................ 164 Test du CAT ......................................................................................................... 167 Mise en ligne du CAT ...................................................................................... 167 Observation, déclenchement d'un événement et forçage d'une valeur ................ 170 Mise en route de la séquence de remplissage................................................... 174 Test de la séquence de remplissage................................................................. 176 La cuve de lait entier ............................................................................................ 180 Finalisation de l'éditeur système ............................................................................ 180 Importation d'un composite de simulation de cuve............................................. 181 Finalisation de tous les blocs fonction .............................................................. 181 Implémentation du bouton de réinitialisation ..................................................... 185 Organisation de la couche............................................................................... 186 Développement du canvas de processus ............................................................... 186 Traçage de la tuyauterie.................................................................................. 187 Inclusion des instruments dans la tuyauterie ..................................................... 192 Ajout d'éléments de séquence ......................................................................... 196 Test de la séquence complète ............................................................................... 199 Déploiement, démarrage en ligne et configuration de la séquence ..................... 200 Exécution de la séquence ............................................................................... 201 EIO0000004748.01 5 Consignes de sécurité Consignes de sécurité Informations importantes Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l'appareil avant de tenter de l'installer, de le faire fonctionner, de le réparer ou d'assurer sa maintenance. Les messages spéciaux suivants que vous trouverez dans cette documentation ou sur l'appareil ont pour but de vous mettre en garde contre des risques potentiels ou d'attirer votre attention sur des informations qui clarifient ou simplifient une procédure. La présence de ce symbole sur une étiquette “Danger” ou “Avertissement” signale un risque d'électrocution qui provoquera des blessures physiques en cas de non-respect des consignes de sécurité. Ce symbole est le symbole d'alerte de sécurité. Il vous avertit d'un risque de blessures corporelles. Respectez scrupuleusement les consignes de sécurité associées à ce symbole pour éviter de vous blesser ou de mettre votre vie en danger. ! DANGER DANGER signale un risque qui, en cas de non-respect des consignes de sécurité, provoque la mort ou des blessures graves. ! AVERTISSEMENT AVERTISSEMENT signale un risque qui, en cas de non-respect des consignes de sécurité, peut provoquer la mort ou des blessures graves. ! ATTENTION ATTENTION signale un risque qui, en cas de non-respect des consignes de sécurité, peut provoquer des blessures légères ou moyennement graves. AVIS AVIS indique des pratiques n'entraînant pas de risques corporels. EIO0000004748.01 7 Consignes de sécurité Remarque Importante L'installation, l'utilisation, la réparation et la maintenance des équipements électriques doivent être assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité quant aux conséquences de l'utilisation de ce matériel. Une personne qualifiée est une personne disposant de compétences et de connaissances dans le domaine de la construction, du fonctionnement et de l'installation des équipements électriques, et ayant suivi une formation en sécurité leur permettant d'identifier et d'éviter les risques encourus. 8 EIO0000004748.01 Objet du document Objet du document Ce document de Démarrage rapide constitue la première introduction du logiciel EcoStruxure Automation Expert. Il offre au débutant les premières clés permettant de comprendre ce logiciel d'ingénierie. Le document pourra aider l’utilisateur à se familiariser suffisamment avec EcoStruxure Automation Expert pour être en mesure de créer ensuite sa propre application. Le document est organisé autour des deux sections suivantes : • Description d'EcoStruxure Automation Expert Cette section présentera les conditions préalables nécessaires pour tirer le meilleur de EcoStruxure Automation Expert. Elle vous permettra de connaître et de comprendre l’objet de ce logiciel, le modèle de norme utilisé et les principaux éléments utilisés dans EcoStruxure Automation Expert. • L’application de tutoriel Cette section détaille étape par étape le développement d'une application réaliste via trois différents chapitres. Vous pourrez ainsi connaître et comprendre le fonctionnement de EcoStruxure Automation Expert. Vous pourrez alors appliquer ces nouvelles connaissances à vos propres applications. REMARQUE : L'application de tutoriel détaillée dans ce document se focalise sur le processus de production d'une crèmerie. Liens utiles pour compléter vos connaissances • Vidéos pratiques EcoStruxure Automation Expert : Liste de lecture de vidéos expliquant et montrant plusieurs aspects de EcoStruxure Automation Expert • EIO0000004748.01 Sessions de formation de EcoStruxure Automation Expert gérées par Schneider Electric 9 Présentation de EcoStruxure Automation Expert Présentation de EcoStruxure Automation Expert EcoStruxure Automation Expert est un écosystème d’automatisation, conforme à la norme IEC61499. Il offre un nouveau paradigme d’automatisation basé sur un modèle orienté objet et des mécanismes basés sur les évènements. Cet écosystème complet comporte principalement : • EcoStruxure Automation Expert – Buildtime, l’outil d'ingénierie permettant de concevoir, mettre en service et maintenir l’application ainsi que les composants matériels et logiciels liés. • Contrôleurs d’automatisation programmables distribués (dPAC) permettant d’héberger l’application en cours d’exécution. • HMI pour permettre les interactions avec l’opérateur pendant que l’application est en cours d’exécution. • Moteur d’archivage pour la gestion de l’historique, des tendances et des alarmes. • Interface vers AVEVA System Platform (ASP) pour superviser l’application. Orienté ressources EcoStruxure Automation Expert est centré sur les ressources. Bien entendu, les équipements réels ainsi que les applications dans leur ensemble (par exemple, les systèmes de climatisation) peuvent être représentés par des objets logiciels : les Composite Automation Types (CATs). Les CAT contiennent en même temps l’intelligence de contrôle et la visualisation. Ils peuvent être réutilisés pour tout projet sans trop d’efforts. Indépendance du matériel EcoStruxure Automation Expert est indépendant du matériel. Étant donné que l'intelligence de contrôle est conçue au niveau de l’application, il est possible d’exécuter la même application en utilisant un ou plusieurs dPAC. Si de nouvelles considérations apparaissent en plus des phases de conception, opération ou maintenance, il est possible de modifier sans effort la structure des dPAC de l’application. Événement piloté EcoStruxure Automation Expert repose sur un mécanisme d’évènements. En effet, il est possible d’exécuter une partie de l’application à la demande, lorsque de nouveaux évènements du système se produisent. REMARQUE : Les éléments les plus sollicités de l’application peuvent être isolés et requièrent un dPAC dédié. Contrôle distribué EcoStruxure Automation Expert élimine la considération d'obtenir une structure de système fixe. Les communications qui se produisent entre dPAC sont gérées de manière transparente. REMARQUE : L’application peut être déployée sur plusieurs dPAC sans trop d’efforts. 10 EIO0000004748.01 Présentation de EcoStruxure Automation Expert Le modèle de bloc fonction de la norme IEC 61499 Chaque bloc fonction a des entrées définies qui sont lues et traitées par un algorithme interne. Le résultat est envoyé aux sorties définies. Une application complète peut être créée à l’aide de différents blocs fonction en connectant leurs entrants et sorties. Visuellement, chaque type de bloc fonction est constitué d'une tête et d'un corps, les entrées et sorties d'événement, ainsi que les entrées et sorties de données. 1 | Tête du bloc fonction Sorties d’évènement : Entrées d’évènement : Toutes les interfaces situées à gauche de la tête du bloc fonction. Un évènement survenu sur cette entrée déclenchera le traitement d'un algorithme dans le bloc fonction. Toutes les interfaces situées à droite de la tête du bloc fonction. Si un algorithme est traité, un évènement de sortie sera déclenché ici. 2 | Corps du bloc fonction Sorties de données : Sorties de données : Toutes les interfaces situées à gauche du corps du bloc fonction. Les données présentes sur cette entrée seront traitées dans l’algorithme. Toutes les interfaces situées à droite du corps du bloc fonction. Les résultats sont fournis ici, après le traitement de l’algorithme. REMARQUE : Pour chaque entrée et sortie, un type de données (BOOL, REAL, SINT, et ainsi de suite) est affecté. Grâce à cela, l’interface d'un bloc fonction est clairement définie. Trois types de blocs fonction La norme IEC 61499 définit plusieurs types de blocs fonction : Bloc fonction Basic Les blocs fonction Basic sont utilisés pour implémenter les fonctionnalités basic des applications. Les blocs fonction Basic incluent des variables internes, un ou plusieurs algorithmes, et un Execution Control Chart (ECC) pour définir le traitement des algorithmes. Blocs fonction Service Les blocs fonction Service représentent les interfaces vers le matériel. Bloc fonction Composite Plusieurs blocs fonction basic, service, ou autre composite peuvent être combinés en un bloc fonction composite. Le bloc fonction composite se présente sous la forme d'un bloc fonction fermé avec une interface clairement définie. EIO0000004748.01 11 Présentation de EcoStruxure Automation Expert Composite Automation Type (CAT) EcoStruxure Automation Expert - Buildtime implémente la logique de l’application (intelligence de contrôle) et inclut la visualisation de l’application au niveau HMI/SCADA. Ces deux perspectives sont unifiées dans le CAT. Du point de vue du contrôle Un objet CAT peut être vu comme un bloc fonction composite contenant lui-même dans blocs fonction basic, service, ou composite. Du point de vue du HMI Un CAT contient divers symboles qui peuvent servir aussi bien dans les images de visualisation (canvas) qu’en tant qu’images détaillées (faceplates). Ces symboles facilitent la conception d'une vue détaillée et permettent le paramétrage de la logique de contrôle. Un CAT contient un bloc fonction service supplémentaire utilisé pour collecter la partie contrôle et HMI. 12 EIO0000004748.01 À propos de l’application de tutoriel À propos de l’application de tutoriel Objet de cette section Présenter comment concevoir une application en développant de A à Z une application complète qui contient des : blocs fonction, CAT et canvas. Rubriques principales • Application de tutoriel effectuée et expliquée étape par étape. Les étapes individuelles permettant de concevoir ce projet sont réparties en section séparées. • Trois solutions archivées et deux composites. REMARQUE : Ces fichiers peuvent être considérés comme des fichiers de sauvegarde. Ils seront utilisés au début de chaque section pour s’assurer que toute personne les démarre sur la même base. Cela permet également à l’utilisateur de vérifier son travail à la fin d'une section effectuant une comparaison avec la solution archivée de la section suivante. Accédez au dossier Windows suivant pour obtenir ces fichiers : EcoStruxure Automation ExpertC:\Program Files (x86)\Schneider Electric\ - Buildtime 22.0\GettingStartedProject\Archive files. La plupart du temps, pour effectuer une application sur EcoStruxure Automation Expert, le processus de conception est réparti en 3 parties : Conception avec des objets prêts à l’emploi Tous les objets nécessaires pour le développement du projet (moteurs, vannes, capteurs et ainsi de suite) sont inclus dans un librairie existante. Dans ce cas, ils peuvent être implémentés facilement et rapidement dans la solution. Conception des objets Si une fonction spécifique est manquante, des objets personnalisés peuvent être conçus pour la solution. Ils peuvent également être réutilisés pour de futures solutions. Cette fonctionnalité fournit une flexibilité maximum. Chargement et démarrage des exécutions Une fois que le processus de conception est terminé, il est nécessaire de charger le projet dans l’unité de contrôle et de démarrer l’exécution de visualisation (IHM). Application de crèmerie L’application de tutoriel décrite ci-après est basée sur une application de crèmerie typique. L’usine de traitement complet sera présentée mais seuls le réservoir de réception numéro 1 (TR1) et sa séquence seront détaillés dans le document « Prise en main ». EIO0000004748.01 13 À propos de l’application de tutoriel REMARQUE : Même si le document "Prise en main" ne couvre pas l’ensemble de l’application, il présente et détaille les fonctionnalités et les bibliothèques utiles pour débuter avec EcoStruxure Automation Expert. L’application tend à être pratique en simulant une crèmerie réaliste et en présentant : • La norme IEC 61499 • Les fonctionnalités de EcoStruxure Automation Expert • Les librairies telles que SE.AppCommonProcess et SE.AppSequence • La création de canvas Présentation du processus Le processus de production de crèmerie comporte plusieurs équipements : • Unité de stockage de lait entier • Unité de pasteurisation • Écrémeuse • Unité de stockage de lait écrémé • Unité de stockage de crème • Machine de conditionnement de ligne • Machine de transport Ci-dessous, le flux des opérations : Unité de stockage de lait entier Unité de pasteurisation Écrémeuse Unité de stockage de lait écrémé Unité de stockage de crème 14 Machine de conditionnement de ligne Machine de transport EIO0000004748.01 À propos de l’application de tutoriel Le processus de production de crème est le suivant : 1. La quantité souhaitée de lait à l’intérieur des réservoirs de stockage de lait entier est fournie à l'unité de pasteurisation en lots. 2. Le lait entier est chauffé à très haute température dans l’unité de pasteurisation afin d’éliminer les bactéries indésirables présentes dans le lait, sans pour autant altérer sa quantité. 3. Le lait pasteurisé est ensuite transféré vers l’écrémeuse où la crème est séparée du lait entier grâce à la force centrifuge. Cette étape permet d'obtenir deux produits : la crème et le lait écrémé. 4. La crème et le lait écrémé sont respectivement entreposés dans deux réservoirs séparés : Le réservoir de stockage de crème et le réservoir de stockage de lait écrémé. 5. La crème est dirigée du réservoir de stockage de crème vers la machine de conditionnement de ligne afin d’embouteiller le produit, et la machine de transport le rend disponible pour la distribution en tant que produit final. EIO0000004748.01 15 À propos de l’application de tutoriel Vous trouverez ci-dessous le schéma de la tuyauterie et d’instrumentation (P&ID) pour le processus de crèmerie : RESERVOIRS DE LAIT ECREME RESERVOIRS DE LAIT ENTIER VERS LA LIGNE DE LAIT ECREME MACHINE DE CONDITIONNEMENT LAIT CRU RECEPTION UNITE DE PASTEURISATION RESERVOIRS DE CREME ECREMEUSE MACHINE DE CONDITIONNEMENT DE LIGNE MACHINE DE TRANSPORT REMARQUE : L’application de Démarrage rapide sera consacrée aux éléments présents dans le rectangle rouge : l’unité TR1, c-a-d le réservoir TR1 et ses instruments dans la zone des réservoirs de lait entier. À propos du « Whole Milk Storage » (Stockage de lait entier) Comme vu précédemment sur le P&ID, l’équipement Whole milk storage (stockage de lait entier) est constitué de deux unités de réservoirs : TR1 et TR2. Les deux unités sont utilisées pour entreposer du lait entier (matière première). 16 EIO0000004748.01 À propos de l’application de tutoriel Le lait entier de la ligne Whole Milk Reception (réception de lait entier) est versé dans les unités TR1 et TR2. En fonction de la taille du lot planifié, la quantité souhaitée de lait entier est transférée des unités TR1 et TR2 vers l’unité de pasteurisation. L’opération du réservoir de lait entier implique trois circuits d’écoulement : Ligne de « Whole Milk Reception » (réception de lait entier) Cette ligne contient l’écoulement de lait entier. Elle permet de remplir les réservoirs durant la réception du lait entier et, durant les lots planifiés, de vider les réservoirs vers l’unité de pasteurisation. Ligne « Cleanin-Place » (CIP) Cette ligne est utilisée pour la séquence de nettoyage. Lorsque le réservoir est vidé, il devient sale. Ainsi, avant de pouvoir ajouter une nouvelle matière première, le réservoir et la ligne doivent être nettoyés. Un produit chimique spécial est employé pour nettoyer l’unité de réservoir. Ligne « Water » (eau) Cette ligne est utilisée pour la séquence de vidage. De l’eau fraîche est injectée dans la ligne afin d’éliminer les éventuels résidus chimiques laissés par la séquence de nettoyage avant le stockage du nouveau lait cru. REMARQUE : Dans cette application de Démarrage rapide, nous nous focaliserons uniquement sur l’aspect de remplissage de la ligne de « Whole Milk Reception » (réception de lait entier) depuis l’unité de réservoir TR1. Les instruments utilisés pour le processus de remplissage sont les suivants : Nom de l’actif Description Emplacement TR1M01 Un agitateur - utilisé pour mélanger et obtenir une composition homogène du lait entier dans le réservoir. Dans TR1 TR1V01 Une vanne - utilisée pour sectionner le réservoir depuis la ligne de réception du lait cru. Sous TR1 TR1V02 Une vanne - utilisée pour sectionner la ligne de réception de lait cru à l’arrivée de la matière première. Dans la ligne de réception de lait cru TR1V03 Une vanne - utilisée pour sectionner la ligne de réception de lait cru vers l’unité de pasteurisation. En amont de l’unité de pasteurisation TR1LSH01 Un capteur numérique - utilisé pour indiquer un niveau élevé de lait dans le réservoir TR1. Dans TR1 TR1LSL01 Un capteur numérique - utilisé pour indiquer un niveau bas de lait dans le réservoir TR1. Dans TR1 TR1LT01 Un capteur analogique - utilisé pour indiquer le niveau de lait dans le réservoir TR1. Dans TR1 EIO0000004748.01 17 À propos de l’application de tutoriel REMARQUE : Les trois capteurs (numériques et analogique) sont vérifiés de manière cyclique, et leurs valeurs actualisées. Le temps de cycle est de 500 ms. Développement étape par étape - Présentation Le développement de l'unité TR1 est axé sur : • Ses instruments (TR1M01, TR1V01, etc.) • Sa séquence de remplissage • Son contrôle en ligne Trois sections : 1. Configuration des instruments, page 38 2. Le CAT de séquence de remplissage, page 112 3. La cuve de lait entier, page 180 Chaque section se concentre sur un aspect d'ingénierie différent d'EcoStruxure Automation Expert, tel que décrit dans À propos de l'application de tutoriel, page 13 : • Configuration des instruments : conception avec des objets prêts à l’emploi • Le CAT de séquence de remplissage : conception des objets • La cuve de lait entier : chargement et démarrage des exécutions Chaque section comprend : • Une solution de sauvegarde ou une exportation composite, pour commencer sur de bonnes bases en ayant ou non exécuté les sections précédentes. • Une section de développement détaillé. • Un test pratique, pour vérifier les résultats de la section de développement détaillé. REMARQUE : Ces sections peuvent être exécutées indépendamment. 18 EIO0000004748.01 À propos de l’application de tutoriel Configuration de la solution Objet de cette section Comment faire pour : • Créer une solution, page 19 • Afficher EcoStruxure Automation Expert - Buildtime, page 23 • Ajouter des librairies, page 24 • Importer du contenu, page 27 • Accéder à l'éditeur système, page 30 • Configurer l'application, page 35 Commençons par le développement de l’application. Créer une solution Afin de développer une application sur EcoStruxure Automation Expert, la première étape consiste à créer une solution qui prenne en charge l'application logicielle et matérielle d'un projet. EIO0000004748.01 19 À propos de l’application de tutoriel Pour créer une solution : 1. Sélectionnez Nouveau dans le menu d'accueil d'EcoStruxure Automation Expert. La boîte de dialogue Nouvelle solution apparaît. Nouvelle solution Modèles : EcoStruxure Automation Expert – Solution complète (IHM Windows) EcoStruxure Automation Expert – Kit de démarrage (IHM Windows) EcoStruxure Automation Expert – Kit de démarrage (IHM multi-OS) Nom : Emplacement : C:\Users\SESA645093\Documents\Schneider Electric\EcoStruxureAuto Nom de la nouvelle solution : ... La solution sera créée dans C:\...\Schneider Electric\EcoStruxureAutomationExpertProjects\ Aide Création Annuler Cette boîte de dialogue vous offre la possibilité de choisir entre trois modèles pour démarrer la solution : 20 Modèle de solution complète Toutes les librairies disponibles dans cette station d'ingénierie seront référencées dans la solution. Par la suite, l’utilisateur a accès aux fonctionnalités de toutes ces librairies, même celles qui pourraient ne pas être utilisées. Cette quantité démesurée de librairies peut être déroutante pour l’utilisateur lorsqu'il cherche un élément spécifique. Modèle de kit de démarrage (IHM Windows) Seules les librairies de base seront référencées dans la solution. L’utilisateur devra référencer lui-même les librairies dont il a besoin. L’IHM de ce modèle est compatible avec les systèmes d’exploitation Windows. Modèle de kit de démarrage (IHM multi-OS) Seules les librairies de base seront référencées dans la solution. L’utilisateur devra référencer lui-même les librairies dont il a besoin. L’IHM de ce modèle est compatible avec plusieurs systèmes d’exploitation. EIO0000004748.01 À propos de l’application de tutoriel REMARQUE : Le modèle Kit de démarrage (IHM Windows) a été choisi pour cette application de Démarrage rapide. 2. Ajoutez ensuite le nom GettingStarted, puis cliquez sur le bouton Créer. Nouvelle solution Modèles : EcoStruxure Automation Expert – Solution complète (IHM Windows) EcoStruxure Automation Expert – Kit de démarrage (IHM Windows) EcoStruxure Automation Expert – Kit de démarrage (IHM multi-OS) 1 Crée une solution par défaut avec un ensemble de librairies de base pour toute IHM EcoStruxure Automation Expert s'exécutant sur le système d'exploitation Windows OS uniquement Nom : GettingStarted 2 ... Emplacement : C:\Users\SESA645093\Documents\Schneider Electric\EcoStruxureAuto Nom de la nouvelle solution : GettingStarted La solution sera créée dans C:\...\Schneider Electric\EcoStruxureAutomationExpertProjects\ Aide Création Annuler 3 Une boîte de dialogue Propriétés apparaît, elle vous permet de créer un compte utilisateur. EIO0000004748.01 21 À propos de l’application de tutoriel Propriétés Etapes Comptes utilisateur Utilisateurs – Un utilisateur au moins doit être créé 1 Comptes utilisateur 2 Adresse de la société admin 1 3 Auteur Entrez un mot de passe pour admin 4 Page Web 5 Résolution Mot de passe : 6 Logo de canvas ••••••••••••••• Confirmation du mot de passe : ••••••••••••••• 2 Contraintes : 8 à 64 caractères dont au moins 1 majuscule, 1 minuscule et 1 symbole 3 Symboles valides : “~!@#$%^-*()_-+={}[]|\:;’.?/ OK Annuler Options IHM Changer de canvas Définir les valeurs Ouvrir la faceplate Niveau :0 4 < Précédent Suivant > Terminer Annuler REMARQUE : Le compte utilisateur définira les droits que l’utilisateur aura sur l’IHM. Les droits peuvent s’étendre de la simple observation à la capacité de modifier les propriétés. Au moins un compte utilisateur doit être créé. Pour créer un compte utilisateur, procédez comme suit : 1. Entrez un nom d’utilisateur, par exemple admin. 2. Puis appuyez sur <Entrée>. La boîte de dialogue Entrer un mot de passe pour admin apparaît. 3. Tapez un mot de passe correspondant aux contraintes (nombre de caractères, majuscule, minuscule et symbole). 4. Validez en cliquant sur OK afin de terminer la création du premier compte utilisateur. Ce nom d'utilisateur et ce mot de passe seront uniquement requis lorsque l’IHM est démarrée en ligne. Le droit du compte peut être configuré dans la section Options IHM de la boîte de dialogue Propriétés. REMARQUE : Les valeurs par défaut ont été conservées pour toutes ces options, car tous les droits sont nécessaires pour ce compte dans la solution de Démarrage rapide. 22 EIO0000004748.01 À propos de l’application de tutoriel EcoStruxure Automation Expert - Buildtime Une fois la solution créée, EcoStruxure Automation Expert – Buildtime apparaît. Ce logiciel permet d'accéder à tous les menus, éditeurs, outils et autres éléments d'EcoStruxure Automation Expert. Lors de la première ouverture, l’affichage est semblable à la capture d’écran ci-après : L'espace de travail d'EcoStruxure Automation Expert est constitué d'une fenêtre contenant les éléments suivants : 1 | Barre de menus 2 | Barre d'outils 3 | Diverses fenêtres d'outils (pavés), ancrées dans les parties latérales de la fenêtre, notamment Explorateur de solution, Vue du journal et Liens symboliques. 4 | Pavé Editeur au milieu de la fenêtre (ici, Déploiement et diagnostic). • Tous les pavés peuvent être masqués/affichés et peuvent être déplacés, repositionnés. • Des fenêtres supplémentaires sont disponibles et peuvent être affichées à l’aide d'un des raccourcis du menu Affichage de la barre d'outils principale. • Vous pouvez y sélectionner une mise en page spécifique (dispositions des fenêtres et boîtes à outils) ou enregistrer la mise en page actuelle. EIO0000004748.01 23 À propos de l’application de tutoriel À propos du pavé Explorateur de solution Affiché par défaut, ce pavé contient tous les composants de la solution : Librairies (externes) Toutes les librairies référencées dans la solution sont indiquées dans ce nœud. Démarrage rapide Il s’agit du nom du projet que gère la solution. REMARQUE : Dans ce projet, l'application Whole Milk Factory est développée. Référencement des librairies Désormais, pour pouvoir développer correctement la solution, des librairies spécifiques doivent être référencées par le projet. Pour référencer une librairie, cliquez dessus et sélectionnez Références. Explorateur de solution Rechercher (* et ? Autorisé) Tout OMI (GettingStarted) Librairies (externes) 1 GettingStarted Références Références Système 2 Modifier la version de référence de la librairie CAT Instances deAjouter CAT une référence externe d'IHM SubApp Supprimer une référence externe d'IHM Composite Vérifier l'intégrité Base Service Importation Adaptateur Documentation Canvas Graphiques Options Type de données Configurations Fonction Solution Propriétés IHM générales Style nommé La boîte de dialogue Références de librairie projet apparaît. 24 EIO0000004748.01 À propos de l’application de tutoriel La fenêtre Références de librairie projet est divisée en 2 zones : 1 | Liste de toutes les librairies installées dans EcoStruxure Automation Expert. 2 | Liste des librairies déjà référencées pour la solution. EIO0000004748.01 25 À propos de l’application de tutoriel Pour référencer une nouvelle librairie dans le projet, procédez comme suit : 1. Sélectionnez la librairie souhaitée dans la liste du haut (la librairie ayant le nom et la version adéquats). 2. Cliquez ensuite sur Ajouter. Cette action ajoutera son référencement, ainsi la librairie sera visible dans la liste du bas. Références de librairie projet Librairies installées Librairies de base installées Librairie SE.AppAsset SE.AppAsset SE.AppAsset SE.AppAsset SE.AppAsset SE.AppBase SE.AppBase SE.AppBase SE.AppBase SE.AppBase SE.AppBase SE.AppBase SE.AppBase SE.AppCommonProcess SE.AppCommonProcess 1 Projets Version 21.2.0.3 21.2.0.8 21.2.0.9 22.0.0.1 22.0.0.2 21.1.0.10 21.1.0.21 21.2.0.3 21.2.0.5 21.2.0.8 21.2.0.9 22.0.0.1 22.0.0.2 21.1.0.11 21.1.0.18 Ajouter 2 Références de librairie projet Nom Runtime.Base SE.AppBase SE.DPAC SE.Standard Version 22.0.0.6 22.0.0.2 22.0.0.13 22.0.0.0 Supprimer Type Installé Installé Installé Installé 3 OK Annuler REMARQUE : Il est également possible de doubler-cliquer sur une librairie pour l’ajouter directement à la liste du bas. 3. De cette manière, ajouter les librairies suivantes : • SE.AppBase • SE.AppCommonProcess • SE.AppSequence REMARQUE : Pour ces trois librairies, ajoutez celle avec la version la plus récente disponible dans la liste, soit la version 22.0 ou ultérieure. Par conséquent, dans le reste du document, ne prêtez pas attention à la version de librairie indiquée sur l'illustration. 4. Après avoir ajouté les trois librairies, cliquez sur OK pour valider. Cela ajoutera le référencement au projet et à la solution (voir la capture d’écran ci-dessous). 26 EIO0000004748.01 À propos de l’application de tutoriel Importation de contenu En plus des librairies, il est aussi possible d'importer du contenu. Alors que la librairie est intéressante pour ajouter un groupe de contenus, potentiellement de différents types (CAT, composite, graphique, etc.), l’importation permet d’ajouter un contenu spécifique. Pour les besoins du Démarrage rapide, le contenu importé est : GettingStarted_Transmission.Composite. Ce contenu est un bloc fonction composite. Comme décrit dans la rubrique Trois types de blocs fonction, page 11, certaines actions seront effectuées une fois que ses évènements sont déclenchés. Ce bloc fonction travaille comme un CAT, composant expliqué dans Type d’automatisation composite (CAT), page 12, à l’exception du fait que les composites n’ont pas de représentation IHM. REMARQUE : Ce composite est utilisé pour transmettre des informations entre les instruments de la cuve TR1. Il est accessible dans le dossier Windows suivant : C:\Program Files (x86)\Schneider Electric \EcoStruxure Automation Expert - Buildtime 22.0\GettingStartedProject\Composites. Téléchargez-le. Le composite sera utilisé dans la section Configuration des instruments, page 38. Ajoutez le contenu importé à la catégorie correcte du projet. EIO0000004748.01 27 À propos de l’application de tutoriel Dans notre cas, étant donné qu’il s’agit d'un composite : 1. Sélectionnez le sous-nœud Composite, puis Importer. Solution (GettingStarted) Librairies (externes) GettingStarted Références Système CAT 1 Instances de CAT SubApp Composite Base Nouvel élément... Service Adaptateur Canvas Graphiques Type de données Fonction OMI Nouveau dossier Renommer Supprimer Coller Exportation Importation 2 Aide Une page Windows s'ouvre, elle contient vos dossiers et vous permet de rechercher le composite téléchargé. 2. Recherchez dans vos dossiers le composite téléchargé précédemment, puis ouvrezle. La fenêtre Résumé d'importation s'ouvre. Cette fenêtre indique le contenu qui sera ajouté. 3. Validez-le en cliquant sur OK. 28 EIO0000004748.01 À propos de l’application de tutoriel Importation Nom Type d'importation Transmission Add Aide OK Annuler Le contenu est à présent ajouté au projet. EIO0000004748.01 29 À propos de l’application de tutoriel Présentation de l'éditeur système Avant de lancer le développement de l’application, commençons par la présentation de l’éditeur système. L'éditeur système est l'emplacement où tous les aspects logiciels et matériels des applications sont configurés et développés. Pour accéder à l’éditeur système : • Doublez-cliquez sur le système de nœud ou • Cliquez sur l'icône de raccourci dans la barre de menus. La fenêtre de l'éditeur système s'ouvre. 30 EIO0000004748.01 À propos de l’application de tutoriel L'éditeur système se compose des éléments suivants : 1 | Liste des éditeurs de l'éditeur système. Ici, l'éditeur Applications et couches est sélectionné. 2 | Espace de travail de l'éditeur actuellement sélectionné dans la liste (ici, Applications et couches). 3 | Boutons de navigation simples. Les éditeurs précédemment ouverts sont stockés dans un historique, qu'il est possible de parcourir à l'aide des boutons Arrière et Avant. L'historique complet peut être ouvert avec la flèche vers le bas située en haut à droite de cette troisième zone. 4 | Bouton permettant d'afficher ou de masquer le nom des éditeurs. En masquant le nom de l'éditeur, vous agrandissez l'espace de travail de l'éditeur sélectionné. Voici la description des éditeurs disponibles dans la liste de l'éditeur système. Applications et couches Affiche les différentes applications disponibles dans le projet et les commentaires les décrivant. REMARQUE : Chaque application est indépendante et ne peut pas dialoguer avec les autres. Chaque application peut avoir plusieurs couches. Toutes les couches peuvent dialoguer entre elles. EIO0000004748.01 31 À propos de l’application de tutoriel Une couche constitue une autre fenêtre au sein d'une application. Son objectif est de séparer les groupes de blocs fonction et faciliter la compréhension de l’application. Equipements physiques Emplacement où tous les équipements physiques gérés par le projet sont définis. Il est possible d'ajouter différents types d’équipements tels que : M251 DPac, M580 DPac, Soft DPac, etc. Une fois les équipements ajoutés, il est possible de : • concevoir leur architecture physique en configurant leur adresse IP, en concevant un réseau de communication, etc. ; • mettre en service les équipements et activer leur sécurité ; • les surveiller une fois qu'ils sont utilisés. Equipements logiques Pour créer et gérer les équipements logiques. Les équipements logiques sont utilisés pour connecter et convertir les informations provenant de l’application (basées sur le logiciel Buildtime) vers les équipements physiques qui leur seront affectés. La plupart du temps, un équipement logique est lié à équipement physique. Exemple d’exception : lorsque l’équipement logique est simulé, comme dans le projet de Prise en main. Les équipements logiques sont exécutés par le logiciel d'exécution, et exécutent logiquement toutes les applications mappées sur l'équipement physique affecté. Le mappage définit les ressources avec lesquelles les applications seront exécutées. Cette fonctionnalité de mappage permet de diviser la solution en différentes ressources. REMARQUE : Le mappage possède son propre éditeur, Mappage de blocs fonction, page 34 et sera expliqué dans la rubrique Mappage, page 84. 32 EIO0000004748.01 À propos de l’application de tutoriel Réseau de blocs fonction Emplacement où l’application est programmée, et où l’espace de travail des applications et les ressources sont modifiés. Il est possible de les gérer intégralement en ajoutant, modifiant ou supprimant des blocs fonction et ressources dans les espaces de travail. REMARQUE : L'éditeur Réseau de blocs fonction fournit une vue graphique de tous les éléments qui y sont ajoutés. Configuration matérielle Emplacement où la connexion avec les équipements physiques est définie. C'est dans cet éditeur qu'il est possible de créer des communications Modbus et de relier les entrées et sorties physiques aux variables du réseau de blocs fonction, page 33. REMARQUE : Comme le projet de Prise en main n'effectue que des simulations, cet aspect ne sera pas détaillé dans ce document. Reportez-vous au Manuel utilisateur pour en savoir plus. Liens symboliques Emplacement où les liens symboliques utilisés dans le projet sont répertoriés. REMARQUE : Les liens symboliques constituent une manière spécifique de relier des blocs fonction. Cette méthode ne sera pas détaillée dans le projet de Prise en main. Reportez-vous au Manuel utilisateur pour en savoir plus. Paramétrage hors ligne Emplacement où la valeur initiale de tous les paramètres est définie. Ainsi, lorsque le projet démarre, tous les paramètres sont définis sur la valeur indiquée dans l'éditeur Paramétrage hors ligne. EIO0000004748.01 33 À propos de l’application de tutoriel REMARQUE : Les paramètres ont déjà une valeur initiale standard qui leur est affectée, seules les valeurs non standard doivent être modifiées. Serveur OPCUA Emplacement où les paramètres du serveur OPC UA sont définis. REMARQUE : Encore une fois, comme le projet de Prise en main n'effectue que des simulations, cet aspect ne sera pas détaillé dans ce document. Reportez-vous au Manuel utilisateur pour en savoir plus. Mappage de blocs fonction Emplacement où tous les blocs fonction programmés dans l'éditeur Réseau de blocs fonction, page 33 sont mappés sur une ressource afin de pouvoir être exécutés par un équipement. REMARQUE : Cet aspect du mappage sera expliqué plus en détail dans la rubrique Mappage, page 84. Documentation L'éditeur Documentation permet d'ajouter des méta-éléments au projet : • Informations sur l'auteur • Résumé • Description Ces informations s'affichent à l'ouverture de la documentation du projet, en appuyant sur <F1> sur le projet. REMARQUE : Pour obtenir une description plus détaillée de ces éditeurs, reportez-vous aux rubriques correspondantes du Manuel utilisateur. Ces rubriques se trouvent dans Manuel utilisateur Solution EcoStruxure Automation Expert > Editeur système. 34 > EIO0000004748.01 À propos de l’application de tutoriel Configuration de l’application Pour configurer l’application, le développement détaillé doit être correctement organisé. EIO0000004748.01 35 À propos de l’application de tutoriel Ainsi, pour configurer l’application : 1. Ouvrez l'éditeur Applications et couches. L’application actuelle est dénommée APP1. Pour que cela soit plus parlant, elle sera renommée Whole_Milk_Tank. 2. Renommez l’application, tout d’abord en choisissant le nom puis en cliquant une nouvelle fois dessus ou en effectuant un clic droit sur le nom et en choisissant Renommer. Le nom devient modifiable. Nom Commentaire APP1 <nouvelle layer> <nouvelle application> REMARQUE : N’effectuez pas de double-clic pour renommer l'application. Si c’est le cas, cela aura pour effet d’ouvrir l’application. L’application est à présent renommée. 3. Développez l'application pour accéder à ses couches. Étant donné que l’usine de traitement de lait entier est divisée en unités, chaque unité aura sa propre couche, comprenant tous ses instruments et séquences. REMARQUE : Étant donné que le projet de Démarrage rapide se focalise uniquement sur les unités TR1, une seule couche sera ajoutée. 4. Ajoutez une couche en cliquant une première fois sur <nouvelle couche> pour sélectionner la couche, puis une seconde fois pour la rendre modifiable (de manière identique à la modification du nom de l'application). Nommez-la TR1. Nom Commentaire Whole_Milk_Tank TR1 <nouvelle layer> <nouvelle application> 36 EIO0000004748.01 À propos de l’application de tutoriel Pour ouvrir directement l’application dans la couche TR1, double-cliquez dessus. En haut de l'image se trouve le fil d'Ariane indiquant la couche d'application actuellement affichée. Il est possible d'accéder facilement aux autres applications et aux différentes couches : • en cliquant sur le fil d'Ariane et en tapant le chemin complet ; • en cliquant sur une des flèches vers la droite. Dans ce cas, les autres éléments disponibles à ce niveau apparaissent. Par exemple, si vous cliquez sur la flèche vers la droite à droite de Whole_Milk_Tank, vous voyez toutes les couches disponibles sous Whole_Milk_Tank. De même, si vous cliquez sur la flèche vers la droite à droite de Applications, toutes les applications disponibles apparaissent. Lorsque vous cliquez sur la flèche vers la droite à droite de Whole_Milk_Tank, vous voyez deux couches : Par défaut et TR1. Les boutons Par défaut et TR1 correspondent aux deux couches actuellement disponibles dans cette application. REMARQUE : Même si seule la couche TR1 a été créée et était visible dans l'éditeur Applications et couches, la couche Par défaut est toujours disponible. Comme la couche Par défaut n'est pas visible dans l'éditeur Applications et couches, il est impossible de la supprimer. Ainsi, une application dispose toujours d’au moins une couche. EIO0000004748.01 37 Configuration des instruments Configuration des instruments Objet de cette section Présenter la configuration des instruments des unités TR1. Rubriques principales • Quels sont les blocs fonction utilisés pour les instruments • Ajout de blocs fonction en couches • Connexion de blocs fonction • Développement d’interactions d’évènements pilotés • Création de canvas • Exécution de la solution REMARQUE : Pour introduire toutes ces notions, une petite application factice sera développée autour des instruments TR1. Le test pratique consistera alors à simuler en ligne cette application liant ensemble les instruments. Ajout des instruments Cette sous-section traite de l’ajout de tous les blocs fonction des instruments TR1. Ces blocs fonction sont de type standard et proviennent de la librairie SE. AppCommonProcess. Ils seront ajoutés à la couche TR1 de l’application Whole_Milk_Tank. REMARQUE : Pour obtenir des informations complètes sur les instruments disponibles dans cette librairie, consultez sa documentation en sélectionnant SE.AppCommonProcess dans le pavé Explorateur de solution et en appuyant sur <F1>. Ajout d'un bloc fonction Il existe quatre méthodes permettant d'ajouter un bloc fonction. 38 EIO0000004748.01 Configuration des instruments • Méthode 1 : Rechercher dans l'arborescence du pavé Explorateur de solution Dans l'arborescence du pavé Explorateur de solution : 1. Développez tous les nœuds et les sous-nœuds d’une librairie, si le bloc fonction est externe, ou du projet, s'il est interne. 2. Développez les nœuds jusqu’à trouver le bloc fonction nécessaire et sélectionnez-le. 3. Effectuez ensuite un glisser-déposer dans la couche. Si le bloc fonction est un CAT : 1. La boîte de dialogue Définir un nouveau nom s'ouvre. 2. Tapez le nouveau nom d'instance du bloc fonction (ici : TR1M01). TR1M01 Définir un nouveau nom REQ_SUPPRESS_ALM Définition CNF CNF_FAIL Nom : TR1M01 CNF_ALARM 1 MotorCyc SuppressAlarm FbStopped >>IRsp FbRunning >>ITimerSp FbAlarm >>ISc Failure >>Illck IFbState>> >>IPerm >>IFail OK Annuler REMARQUE : Le nom d'instance est la désignation du bloc fonction. Il doit être unique. Toutefois, le nom CAT, ici MotorCyc, est partagé avec tous les blocs fonction du même CAT. Pour plus de simplicité, le « nom d'instance » sera appelé « nom » dans le reste du document. EIO0000004748.01 39 Configuration des instruments • Méthode 2 : Rechercher dans la barre de recherche du pavé Explorateur de solution Dans le pavé Explorateur de solution : 1. Tapez le nom CAT du bloc fonction dans la barre de recherche. Au fur et à mesure que vous tapez, apparaissent tous les blocs fonction ayant le même début du nom d'élément. 2. Une fois trouvé, sélectionnez le bloc fonction et effectuez un glisser-déposer dans la couche. Le moteur de recherche prend en charge les caractères génériques. Par exemple, essayez d'ajouter le caractère * au début de votre recherche, comme indiqué sur l'image suivante. 40 EIO0000004748.01 Configuration des instruments • Méthode 3 : Rechercher dans la liste contextuelle 1. Effectuez un clic droit n’importe où dans la couche pour afficher la liste contextuelle. Système Applications Whole_Milk_Tank TR1 FB CAT Cadre Couches Mappage Attributs… Redessiner les connexions 2. Sélectionnez parmi les différentes catégories disponibles, celle des blocs fonction jusqu’à y accéder. 3. Sélectionnez-la ensuite pour l’ajouter à la couche. REMARQUE : Avec cette méthode d'ajout de bloc fonction, la boîte de dialogue Définir un nouveau nom n'apparaît pas. Le nom doit alors être modifié manuellement. EIO0000004748.01 41 Configuration des instruments • Méthode 4 : Rechercher sans raccourci 1. Sélectionnez la couche. 2. Appuyez simultanément sur <CTRL + W>. <nouveau type d'élément> 3. Tapez ensuite le nom CAT du bloc fonction recherché. Une liste des résultats de tous les blocs fonction correspondant à la recherche apparaît. 4. Double-cliquez alors sur le bloc fonction approprié ou appuyez sur <Entrée> après l’avoir sélectionné. Cela affichera le nom d’adresse complet du bloc fonction. 5. Appuyez sur <Entrée> pour valider. REMARQUE : Avec cette méthode d’ajout, la boîte de dialogue Définir un nouveau nom n’apparaît pas. Le nom doit alors être modifié manuellement. REMARQUE : Avec les méthodes 2 et 4, le nom de l’objet doit être connu afin de pouvoir le rechercher. Alors que pour les méthodes 1 et 3, c'est le chemin permettant de rechercher l’objet qui doit être connu. Ces quatre méthodes permettent d'obtenir le même résultat. Vous pouvez donc choisir la méthode qui vous convient le mieux. 42 EIO0000004748.01 Configuration des instruments Moteur cyclique L’agitateur TR1M01 utilisé dans l’unité TR1 doit être cyclique. En effet, l’agitateur doit être périodiquement démarré et arrêté, sans cesse. Bloc fonction approprié : MotorCyc (librairie SE.AppCommonProcess) MotorCyc permet à l’agitateur d’être exécuté dans une opération cyclique, si nécessaire. À présent, en utilisant l’une des quatre méthodes d’ajout d'un bloc fonction : 1. Ajoutez le bloc fonction MotorCyc dans la couche TR1. 2. Dénommez-le TR1M01. REMARQUE : Pour modifier le nom d'instance d'un bloc fonction, cliquez dessus dans la couche. Son nom deviendra alors modifiable. REMARQUE : Pour plus de détails sur le bloc fonction MotorCyc, sélectionnez-le et appuyez sur <F1>. EIO0000004748.01 43 Configuration des instruments Vanne Les trois vannes utilisées dans les unités TR1 (TR1V01, TR1V02 et TR1V03) sont standard. Ces trois vannes : • Sont contrôlées par un signal numérique. • Ont seulement deux positions possibles : entièrement ouverte ou entièrement fermée. Bloc fonction approprié : Valve (librairie SE.AppCommonProcess) À présent, en utilisant l’une des quatre méthodes d’ajout d'un bloc fonction : 1. Ajoutez trois blocs fonction Valve dans la couche TR1. 2. Dénommez-les TR1V01, TR1V02 et TR1V03. REMARQUE : Pour plus de détails sur le bloc fonction Valve, sélectionnez-le et appuyez sur <F1>. Entrée analogique L'entrée analogique utilisée dans l’unité TR1 (TR1LT01) est standard. Elle permet de lire les signaux d'un module d'entrées analogiques. Bloc fonction approprié : AnalogInput (librairie SE.AppCommonProcess) 1. Ajoutez le bloc fonction AnalogInput dans la couche TR1. 44 EIO0000004748.01 Configuration des instruments 2. Dénommez-le TR1LT01. REMARQUE : Pour plus de détails sur le bloc fonction AnalogInput, sélectionnez-le et appuyez sur <F1>. Entrée numérique Les deux entrées numériques utilisées dans l’unité TR1 (TR1LSH01 et TR1LSL01) sont standard. Elles doivent toutes les deux surveiller un signal binaire discret. Bloc fonction approprié : DigitalInput (librairie SE.AppCommonProcess) 1. Ajoutez les deux blocs fonction DigitalInput dans la couche TR1. 2. Dénommez-les TR1LSL01 et TR1LSH01. EIO0000004748.01 45 Configuration des instruments REMARQUE : Pour plus de détails sur le bloc fonction DigitalInput, sélectionnez le bloc fonction et appuyez sur <F1>. Création de connexion entre instruments À ce stade, tous les blocs fonction des instruments de l'unité TR1 ont été définis dans la couche TR1. Il est à présent possible de développer la connexion entre les instruments de l’application. Les objectifs de ces connexions sont de : • Découvrir les principaux outils d'EcoStruxure Automation Expert. • Présenter la logique pilotée par des événements. • Créer et exécuter une solution complètement configurée. REMARQUE : L’objet de cette application est d’atteindre tous les objectifs en utilisant tous les instruments ajoutés précédemment. Cette application n'a pas pour objectif d'être réaliste. Cet objectif sera atteint dans le chapitre suivant, Le CAT de séquence de remplissage, page 112. Cette section décrira les connexions de l’application et ses étapes de développement successives. 46 EIO0000004748.01 Configuration des instruments Objet des connexions Vous trouverez ci-après les connexions et les interactions entre les instruments qui seront créées : • TR1M01, TR1LSL01 et TR1LSH01 sont activés manuellement. • Lorsque TR1LSL01 est activé → TR1V01 s’ouvre. • Lorsque TR1LSH01 est activé → TR1V02 s’ouvre. • Lorsque TR1V01 et TR1V02 sont ouverts, et TR1M01 est activé → TR1V03 s’ouvre. • La valeur de processus de TR1LT01 est modifiée manuellement. • La valeur de processus de TR1LT01 est comparée à une valeur constante. • Lorsque TR1V03 est ouvert et la valeur de processus de TR1LT01 est supérieure ou égale à la valeur constante → la sortie numérique finale est activée REMARQUE : L’objet ultime de ces interactions est d’activer la sortie numérique. Cela signifie que tous les instruments auront été correctement simulés. Ouverture de la 1ère vanne Comme décrite précédemment dans la rubrique Objet des connexions, page 47, l’entrée numérique TR1LSL01 : • Tout d’abord reçoit des ordres manuels de l’opérateur. • Puis, cette commande est transmise à la vanne TR1V01. REMARQUE : Comme TR1LSL01 reçoit des commandes manuelles de l’opérateur via l’IHM, ce bloc fonction n’a pas besoin d’être connecté pour recevoir ses commandes. Toutefois, TR1V01 reçoit ses commandes de TR1LSL01. La valeur de processus de TR1LSL01 doit alors être transmise à TR1V01. EIO0000004748.01 47 Configuration des instruments Pour lier les instruments TR1LSL01 et TR1V01 : 1. Utilisez le composite Transmission, importé dans la rubrique Importation de contenu, page 27. 2. Ajoutez-le entre TR1LSL01 et TR1V01. 3. Dénommez-le TransVal1. 4. À présent, les blocs fonction doivent être connectés afin que la valeur soit transmise de TR1LSL01 à TR1V01. Tout d’abord, la valeur de processus de TR1LSL01 doit alors être transmise à TransVal1. Pour lier les instruments TR1LSL01 et TransVal1, connectez TR1LSL01.Pv à TransVal1. Value. REMARQUE : « Connectez TR1LSL01.Pv à TransVal1.Value » signifie : Connecter le port Pv de TR1LSL01 au port Value de TransVal1. En d’autres termes, nous pouvons considérer que le « point » signifie « port ». 48 EIO0000004748.01 Configuration des instruments À ce stade, la variable est connectée entre les deux blocs fonction. Mais l’étape n’est pas encore terminée. Comme décrit dans la section Description d'EcoStruxure Automation Expert, page 10, EcoStruxure Automation Expert est un logiciel piloté par des événements, conforme à la norme IEC61499. Que signifie « piloté par des événements » ? Cela signifie que des événements sont requis pour : • Déclencher le programme interne du bloc fonction. • Actualiser les variables qui y sont connectées. Ici, le programme interne de TransVal1 convertit la valeur booléenne fournie par la variable d’entrée Value en un adapter ISc lisible par les instruments. REMARQUE : L’adapter peut uniquement dialoguer avec un adapter du même type. C’est la raison pour laquelle ce composite de conversion est requis. REMARQUE : Pour en savoir plus sur l'adapter, regardez la vidéo How to Create an Adapter in EcoStruxure Automation Expert. Vous trouverez également des informations détaillées dans la rubrique Présentation des adapters, page 123. Par ailleurs, l'entrée Value doit être actualisée afin que le programme interne connaisse la variation de TR1LSL01. REMARQUE : Comme vous pouvez le voir dans l'éditeur d'interface de ce composite, Value est connecté à l'événement REQ. Ainsi, lorsque l’événement REQ est déclenché, l'entrée Value est actualisée. EIO0000004748.01 49 Configuration des instruments Il existe deux options permettant de déclencher l’évènement REQ : • Manuellement Comment ? En ligne, l’utilisateur doit effectuer un clic droit et sélectionner Déclencher un évènement. Cette action est principalement utilisée pendant les tests pour forcer les mises à jour. • Automatiquement Comment ? En le connectant à un évènement de sortie. Par la suite, le déclencheur est transmis d'un bloc fonction à un autre. Cette action est utilisée pour créer des séquences. Toute modification d'un bloc fonction déclenchera des évènements de sortie déclenchant les évènements d’entrée des blocs fonction liés et ainsi de suite de manière automatique. Étant donné que les connexions entre les instruments doivent être actualisées automatiquement, l’option automatique est choisie ici pour déclencher Transval1.REQ. Cela sera effectué en le connectant à TR1LSL01.CNF. REMARQUE : L’évènement de sortie CNF est déclenché chaque fois que la valeur de processus change. Il est aussi connecté avec TransVal1.Pv. Il doit alors être connecté à TransVal1.REQ pour le déclencher et actualiser TransVal1.Pv. 50 EIO0000004748.01 Configuration des instruments Voici ici la liste des interactions qui se produisent entre les deux blocs fonction : 1. La valeur de processus de TR1LSL01 est modifiée en ligne par l’opérateur. 2. TR1LSL01.CNF est déclenché en raison de ce changement. 3. TR1LSL01.CNF actualise TR1LSL01.Pv, ainsi la variable de sortie prend la valeur de celle du processus. 4. TR1LSL01.CNF déclenche TransVal1.REQ. 5. TransVal1.REQ actualise TransVal1.Value qui prend la valeur de TR1LSL01.Pv. 6. TransVal1.REQ déclenche le programme interne de TransVal1 avec la nouvelle valeur de TR1LSL01.Pv. 7. En conséquence, liez TR1LSL01.CNF à TransVal1.REQ. 8. Enfin, liez TransVal1.ISc à TR1V01.ISc. Cet adapter transmettra la valeur booléenne reçue dans TransVal1 vers la vanne TR1V01. À ce stade, les informations ont été correctement transmises de l’entrée numérique à la vanne. L'interaction est à présent terminée. EIO0000004748.01 51 Configuration des instruments Ouverture de la 2e vanne Comme décrite précédemment dans la rubrique Objet des connexions, page 47, l’entrée numérique TR1LSH01 : • Tout d’abord, reçoit des ordres manuels de l’opérateur. • Puis, cette commande est transmise à la vanne TR1V02. REMARQUE : Cette action est identique à l’Ouverture de la 1ère vanne , page 47: TR1LSH01 reçoit des commandes de l’opérateur via l’IHM et les transmet à un composite Transmission. Un second composite Transmission sera utilisé pour convertir la commande booléenne de TR1LSH01 en un adapter lisible par TR1V02. Il existe deux méthodes permettant d’ajouter un second composite Transmission dans une couche en utilisant celui déjà existant : • Méthode 1 Sélectionnez le bloc fonction du même élément et copiez/collez-le (<CTRL+ C> puis <CTRL + V>). • Méthode 2 Sélectionnez le bloc fonction du même élément, faites-le glisser, maintenez enfoncée la touche <CTRL> et déposez-le à un autre emplacement. REMARQUE : Ces méthodes réutiliseront le nom de l’objet existant et l’ajouteront. Pour obtenir cette seconde connexion, procédez comme suit en appliquant l’une des deux méthodes précédentes : 1. Ajoutez un composite Transmission et dénommez-le TransVal2. 2. Liez TR1LSH01.CNF à TransVal2.REQ et TR1LSH01.Pv à TransVal2.Value. 3. Liez TransVal2.ISc à TR1V02.ISc. 52 EIO0000004748.01 Configuration des instruments Une fois terminé, le résultat devrait ressembler à l’image suivante : Ouverture de la 3e vanne Comme décrit précédemment dans la rubrique Objet des connexions, page 47, la vanne TR1V03 est ouverte lorsqu’elle reçoit : • Les vannes TR1V01 et TR1V02 sont ouvertes et l’agitateur TR1M01 est à ON (activé). REMARQUE : L'agitateur est activé manuellement par l’opérateur via l’IHM. Les vannes TR1V01 et TR1V02 ont déjà été définies. Les informations nécessaires pour commander l’ouverture de la vanne TR1V03 proviennent : • du retour ouvert de TR1V01 et TR1V02 ; • du retour en cours d’exécution pour l’agitateur TR1M01. Pour commander l’ouverture de TR1V03, le retour de ces trois actionneurs doit être activé en même temps : L’agitateur activé et les deux vannes ouvertes. EIO0000004748.01 53 Configuration des instruments Pour vérifier cette condition, un bloc fonction logique AND sera employé : 1. Ajoutez-le à la couche et dénommez-le AgitatorOnValvesOpen. Les trois retours seront ensuite liés à ce bloc fonction et sa sortie sera la réponse à cette condition « AND » logique. Toutefois, AgitatorOnValvesOpen a seulement deux entrées disponibles, au lieu des trois requises. Une entrée supplémentaire doit être ajoutée. REMARQUE : Une variable d'entrée peut uniquement être liée à une variable de sortie. L’inverse n’est pas vrai toutefois, une variable de sortie peut être liée à plusieurs variables d’entrée. L’évènement d’entrée et de sortie peut aussi être lié à plusieurs évènements. 2. Ajoutez une variable d’entrée à AgitatorOnValvesOpen en utilisant une des deux méthodes suivantes : • Méthode 1 1. Accédez à l’Editeur d'interface du bloc fonction. 54 EIO0000004748.01 Configuration des instruments AgitatorOnValvesOpen REQ REQ CNF AND IN1 IN2 OUT 1 Couper Copier Supprimer Masquer les ports (Ctrl+H) Commentaire... Attributs... Déplacer vers la couche Mappage Atteindre la définition Afficher dans l'explorateur de solution Rechercher toutes les références Focus sur la sélection 2 Créer un composite des FB sélectionnés Editeur d'interface… 2. Puis modifiez le nombre d’entrée de 2 à 3. 3. Validez les modifications. Editeur d'interface générique Nom d'E/S CNT OUT Nombre 3 Taille de tableau Type 1 OL 2 OK • Annuler Méthode 2 Faites glisser vers la partie inférieure droit l’icône du bloc fonction jusqu’à obtenir le nombre de variables correct. EIO0000004748.01 55 Configuration des instruments Après avoir terminé avec l’une de ces deux méthodes, le résultat devrait ressembler à l’image ci-dessous : Connectez chacune des variables d'entrée de AgitatorOnValvesOpen au retour requis des trois actionneurs. 56 EIO0000004748.01 Configuration des instruments Pour les événements, chaque « CNF » des actionneurs doit être lié à AgitatorOnValvesOpen.REQ. Ainsi, chacun d’entre eux peut actualiser les variables d’entrée des blocs fonction « AND » et peut déclencher la logique interne des blocs fonction. REMARQUE : Même si le déclenchement d'un actionneur actualise les entrées et déclenche la logique interne du bloc fonction, il est important que chaque évènement « CNF » des actionneurs soit lié. Exemple Si seul l’évènement de sortie de l’agitateur est lié : • Les valeurs de vanne peuvent changer mais elles ne seront pas prises en compte jusqu’à TR1M01. • CNF est déclenché. Mais peut-être que la valeur des vannes aura été modifiée trois fois avant le déclenchement de l’agitateur et les blocs fonction « AND » n’auront pas été en mesure de noter ces changements. Pour résoudre ce problème potentiel, liez TR1M01.CNF, TR1V01.CNF et TR1V02.CNF à AgitatorOnValvesOpen.REQ. EIO0000004748.01 57 Configuration des instruments À ce stade, AgitatorOnValvesOpen a été correctement configuré. Par conséquent, lorsque tous les retours sont activés conjointement, alors la sortie de AgitatorOnValvesOpen sera également activée. Pour transmettre la valeur de sortie de AgitatorOnValvesOpen à TR1V03 : • Un composite de transmission doit être ajouté et lié entre le bloc fonction « AND » et TR1V03 (comme cela a été effectué pour la vanne précédente). Exécutez pour cela les étapes suivantes : 1. Ajoutez un composite de transmission et renommez-le TransVal3. 2. Liez AgitatorOnValvesOpen.OUT à TransVal3.Value. 3. Liez AgitatorOnValvesOpen.CNF à TransVal3.REQ. 4. Liez TransVal3.Isc à TR1V03.ISc. 58 EIO0000004748.01 Configuration des instruments Traitement de la valeur de l'entrée analogique Comme décrit précédemment dans la rubrique Objet des connexions, page 47, l’entrée analogique TR1LT01 obtient sa valeur de processus en comparaison avec une valeur constante. REMARQUE : Si la valeur de processus est supérieure ou également à la constante, le résultat de la comparaison sera « VRAI », sinon il sera « FAUX ». Pour effectuer cette comparaison, le bloc fonction COMPARE doit être utilisé. Ce bloc fonction obtient deux valeurs d’entrée via IN${CNT} : • IN1 pour la 1ère entrée • IN2 pour la 2e entrée EIO0000004748.01 59 Configuration des instruments REMARQUE : Ces deux entrées variables sont actualisées grâce à l’évènement REQ. Chaque fois que REQ se déclenche, la première valeur est comparée à la seconde. Le résultat est donné pour toutes les comparaisons possibles : • LT : « VRAI » si IN1 est inférieur à IN2. • LE : « VRAI » si IN1 est inférieur ou égal à IN2. • EQ : « VRAI » si IN1 est égal à IN2. • NE : « VRAI » si IN1 n'est pas égal à IN2. • GE : « VRAI » si IN1 est supérieur ou égal à IN2. • GT : « VRAI » si IN1 est supérieur à IN2. REMARQUE : Pour cette interaction, la sortie GE sera utilisée, car la valeur de processus doit être supérieure ou égale à la valeur constante. Maintenant, ajoutez le bloc fonction COMPARE et dénommez-le LevelCompare. REMARQUE : Pour le moment, les entrées indiquent qu’une erreur a été détectée. Cela est dû au fait que leurs types doivent être configurés. 60 EIO0000004748.01 Configuration des instruments Pour configurer les types d’entrées : 1. Accédez à l’éditeur d'interface de LevelCompare. LevelCompare REQ CNF REQ COMPARER IN1 IN2 Couper Copier Supprimer 1 Masquer les ports (Ctrl+H) Commentaire... Attributs... Déplacer vers la couche Mappage Atteindre la définition Afficher dans l'explorateur de solution Rechercher toutes les références Focus sur la sélection 2 Ctrl+Q Créer un composite des FB sélectionnés Editeur d'interface… REMARQUE : Dans l’éditeur d'interface, on peut voir que les deux entrées ont actuellement le type ANY. C’est la raison pour laquelle les entrées étaient toutes les deux à l’état d’erreur détectée. Editeur d'interface générique Nom d'E/S CNT IN1...IN2 Nombre Type Taille de tableau 2 ANY LT BOOL LE BOOL EQ BOOL NE BOOL GE BOOL GT BOOL OK Annuler 2. Comme la valeur de processus de TR1LT01 est donnée avec le type VTQREAL, le type des deux entrées sera défini comme REAL. EIO0000004748.01 61 Configuration des instruments REMARQUE : Les types VTQ (VTQBOOL, VTQREAL, etc.) transmettent une valeur et des informations supplémentaires. Étant donné que seule la valeur REAL importe pour la comparaison, le type REAL doit être choisi au lieu de VTQREAL. La valeur REAL du PV VTQREAL sera alors transmise, et les autres seront perdues. 3. Pour modifier le type des entrées dans l’éditeur d'interface, cliquez sur la cellule contenant la valeur ANY. Elle devient alors modifiable. Editeur d'interface générique Nom d'E/S CNT Nombre Type Taille de tableau 2 IN1...IN2 ANY LT BOOL LE BOOL EQ BOOL NE BOOL GE BOOL GT BOOL OK Annuler 4. Puis : • 62 Tapez REAL dans la cellule. EIO0000004748.01 Configuration des instruments OU • Cliquez sur la flèche descendante pour faire apparaître la liste déroulante. Recherchez ensuite le type REAL et sélectionnez-le. Editeur d'interface générique Nom d'E/S CNT Nombre Type Taille de tableau 2 IN1...IN2 REAL LT BOOL LE BOOL EQ BOOL NE BOOL GE BOOL GT BOOL OK Annuler 5. Appuyez sur OK pour valider. Les erreurs détectées sur les entrées disparaissent alors. EIO0000004748.01 63 Configuration des instruments À présent, pour envoyer la valeur de processus vers LevelCompare : 1. Liez TR1LT01.PV à LevelCompare.IN1 et TR1LT01.CNF à LevelCompare.REQ. 2. Maintenant, une constante doit être ajoutée à IN2. LevelCompare CNF REQ COMPARER 1 LT IN1 LE IN2 Ajouter une constante 2 Editeur de liens de routage Connexions... GT Un champ vide lié à IN2 apparaît alors. 3. Tapez la valeur désirée et validez-la en appuyant sur <Entrée> (ou en cliquant n’importe où sur la couche). 64 EIO0000004748.01 Configuration des instruments REMARQUE : La valeur constante parfois n’apparaît pas après avoir appuyé sur <Entrée>. Pour la faire apparaître, désélectionnez le bloc fonction en cliquant n’importe où dans la couche. La valeur de processus de l’entrée analogique est à présent comparée à la constante 82.5 à chaque fois que l’évènement REQ est déclenché. REMARQUE : La valeur constante peut être modifiée à tout moment par une autre valeur REAL. Cette modification s'appliquera lors du prochain déclenchement de l'évènement REQ. Activation de la sortie numérique Comme décrite précédemment dans la rubrique Objet des connexions, page 47, une sortie numérique sera activée : • Lorsque la valeur de processus de TR1LT01 est supérieure ou égale à la constante. ET • Lorsque le retour ouvert de TR1V03 est 'VRAI'. EIO0000004748.01 65 Configuration des instruments Pour activer la sortie numérique : 1. Ajoutez une sortie numérique et dénommez-la FinalValidation. 2. Obtenez sa commande en ajoutant un bloc fonction logique AND et renommez-la LevelOkValveOpen. REMARQUE : Comme il n’y a que deux conditions, le nombre d’entrées ne doit pas être modifié. 3. Liez les blocs fonction suivants pour faire concorder la condition logique : 66 • LevelCompare.GE et LevelOkValveOpen.IN1 • TR1V03.FbOpen et LevelOkValveOpen.IN2 • LevelCompare.CNF et LevelOkValveOpen.REQ • TR1V03.CNF et LevelOkValveOpen.REQ EIO0000004748.01 Configuration des instruments 4. Pour finir, transmettez la valeur de sortie de LevelOkValveOpen vers FinalValidation en ajoutant un composite de transmission et renommez-le TransVal4. Liez-le de manière normale. À ce stade, toutes les interactions ont été complètement développées. Il est à présent prêt à être simulé. EIO0000004748.01 67 Configuration des instruments Développement de canvas L’objet de cette section est de présenter les deux canvas qui seront utilisés pour simuler les interactions préalablement développées. Le premier canvas contiendra : • Tous les instruments : l’agitateur, les vannes, la pompe, et les entrées numériques et analogiques. Le second canvas contiendra : • Le volet de contrôle d'alarme. Un canvas est une image interactive qui s’affiche sur IHM. Cette image est interactive car tous les composants qu’elle inclut seront animés selon leur état. Ainsi, l’aspect et la valeur de tous les composants seront constamment modifiés. De plus, l’opérateur peut dialoguer avec les instruments en recevant les informations des instruments et en leur commandant certaines actions. 68 EIO0000004748.01 Configuration des instruments Création du canvas principal Pour créer un canvas : 1. Accédez à l’arborescence Explorateur de solution dans la section Canvas. Explorateur de solution Rechercher (* et ? Autorisé) Tout Solution (GettingStarted) Librairies (externes) GettingStarted Références Système CAT Instances de CAT SubApp Composite Transmission Base Service Adaptateur Canvas 1280x980 Sans résolution Graphiques Type de données Fonction OMI Sous ce nœud, il existe deux différents options par défaut : • Résolution 1280 x 980 • Sans résolution REMARQUE : Tous les canvas créés avec cette résolution auront ensuite cette résolution. Il est également possible d’ajouter d’autres résolutions si celles par défaut ne correspondent pas à votre IHM, comme affiché sur l’image suivante. EIO0000004748.01 69 Configuration des instruments 1 Canvas Nouvelle résolution 2 Aide Graphiques 2. Sélectionnez à présent la résolution par défaut 1280 x 980 et ajoutez-la au canvas. 1 Canvas 1280x980 Sans Graphiques Type de données Fonction OMI Nouvel élément... 2 Nouvelle topologie Renommer Supprimer Canvas de démarrage La boîte de dialogue Assistant Fichier apparaît. Assistant Fichier Etapes 1 Définition d'un canvas Définition d'un canvas Nom : Canvas1 Titre : Infobulle : Largeur : 1280 Hauteur : 900 < Précédent 70 Suivant > Terminer Annuler EIO0000004748.01 Configuration des instruments 3. Sur cette boîte de dialogue : changez le nom de Canvas1 à WholeMilkTank et sélectionnez Terminer pour valider la création. REMARQUE : Conservez le titre et l’infobulle vides. Ces éléments peuvent être modifiés ultérieurement dans les propriétés du canvas. Canvas 1280x980 WholeMilkTank Sans résolution x 2 Ajout des instances d’instruments Le canvas principal a été créé. À présent, les représentations dynamiques de tous les instruments doivent être ajoutées au canvas. REMARQUE : Comme l'état des instruments change tout au long de la simulation, leurs aspects doivent également être changés pour suivre l’état. C’est la raison pour laquelle ils sont considérés comme dynamiques. Les représentations dynamiques vers le canevas sont localisées dans le nœud Instances CAT, sous le projet GettingStarted de l'arborescence Explorateur de solution. EIO0000004748.01 71 Configuration des instruments OMI (GettingStarted) Librairies (externes) GettingStarted Références Système CAT Instances de CAT Matériel Application FinalValidation TR1LSH01 TR1LSL01 TR1LT01 TR1M01 TR1V01 TR1V02 TR1V03 SubApp Composite Base Service Adaptateur Canvas REMARQUE : Si les instances CAT des instruments n’apparaissent pas, vous devez toutes les enregistrer. Cela actualisera dans la solution tous les éléments ayant changé depuis le dernier enregistrement (éléments ajoutés, renommés ou supprimés). Pour cela, appuyez sur <Ctrl> + <Maj> + <S> ou cliquez sur le bouton Enregistrer tout. Enregistrer tout Ctrl+Shift+S ew Aide Couper Coller Copier Tout sélectionner recherche Presse-papiers Modification Le menu Modification de canvas est à présent ouvert. 72 EIO0000004748.01 Configuration des instruments Pour ajouter une instance CAT au canevas, faites glisser l'instance requise de la liste vers le canevas. De cette manière, ajoutez TR1M01. EIO0000004748.01 73 Configuration des instruments La boîte de dialogue Sélectionner un symbole générique s'ouvre. Elle vous permet de choisir l’aspect requis, parmi ceux disponibles. Sélectionner un symbole générique ... sDefault sAgitator sMotor sPump OK Annuler REMARQUE : Plusieurs utilisations peuvent être disponibles pour un même type d'instruments. Par exemple, ce type, moteur cyclique, peut être utilisé par moteur, pompe et agitateur. Comme ces instruments sont très différents, il est alors normal d'obtenir différents aspects disponibles pour les différencier. 74 EIO0000004748.01 Configuration des instruments Lorsque plusieurs utilisations sont disponibles pour un type d’instruments : 1. Sélectionnez sAgitator et validez. Il sera alors ajouté au canvas. 2. Choisissez alors les aspects suivants pour les instruments ci-après : • FinalValidation : un seul aspect est disponible • TR1LSH01 : sIndicator • TR1LSL01 : sIndicator • TR1LT01 : un seul aspect est disponible • TR1V01 : sLflValve • TR1V02 : sLflValve • TR1V03 : sLflValve EIO0000004748.01 75 Configuration des instruments 3. Maintenant, commandons les instruments afin de suivre le même aspect graphique que sur la couche. REMARQUE : Si vous avez oublié quelle instance appartient à un instrument : Consultez la balise Propriétés. Son nom sera écrit. 76 EIO0000004748.01 Configuration des instruments Propriétés FinalValidation SE.AppCommonProcess.Symb Généralités (Nom) FinalValidation (NomBalise) FinalValidation Info-bulle Aspect Désactivé Emplacement 576,80 Taille 156,57 SmootingMode Qualité élevée Visible Vrai Fonctionnement Divers Symbole optionnel Symbole (Nom) Variable utilisée pour faire référence à ce composant Propriétés Liens symboliques Création de canvas d’alarmes Ce type de canvas permet de gérer toutes les alarmes générées par les instruments. 1. Créez un canvas et dénommez-le Alarms. Canvas 1280x980 WholeMilkTank Alarmes Sans résolution EIO0000004748.01 77 Configuration des instruments 2. Sélectionnez l'outil Contrôle d'alarme (dans le menu d'édition de ce nouveau canevas). 3. Une fois sélectionné, ajoutez un volet de contrôle d'alarme au canvas : • Tout d’abord, effectuez un zoom arrière afin que tous les canvas soient visibles, puis cliquez dessus et continuez à appuyer. • Déplacez la souris jusqu’à ce que le rectangle du contrôle d'alarme couvre la plupart du canvas, puis relâchez la pression. Le volet de contrôle d'alarme sera alors configuré dans ce canvas. 78 EIO0000004748.01 Configuration des instruments SC Acq Origine Texte Apparition Disparition Présence État Valeur Info Configuration du canvas de départ Le « Canvas de départ » correspond à la section par défaut qui apparaît en haut de chaque canvas, une fois en ligne. Pour accéder à cette section par défaut, effectuez un clic droit sur la résolution contenant les deux canvas modifiés, puis sélectionnez Ouvrir canvas de départ. Canvas 1 1280 x 980 Sans Graphiques Type de données Fonction Nouvel élément... Nouvelle topologie Renommer Supprimer Canvas de démarrage Lancer l'IHM locale Ouvrir canvas de départ 2 Redéfinir canvas de départ avec l'assistant Aide EIO0000004748.01 79 Configuration des instruments Dans cette section, un bouton de nom sera ajouté. En cliquant dessus, le nom des instruments s’affiche. Le bouton est dénommé ButtonTagname et accessible dans la librairie SE.AppBase. Pour ajouter ButtonTagname : 1. Effectuez un glisser-déposer dans la section. 2. Enregistrez et fermez les onglets de canvas. Le développement des canvas est terminé. 80 EIO0000004748.01 Configuration des instruments Exécution de l’application La partie de développement de cette section est terminée. Commençons à présent à compiler, déployer et exécuter l’application afin de préparer le test de l’application. À ce stade, vous avez deux options : • Option 1 Passez au fichier de sauvegarde utilisé par tout le monde pour démarrer la seconde section sur la même base. Cette option vous aidera si : ◦ Vous avez eu des difficultés durant la partie de développement. ◦ Vous souhaitez simuler une version officielle. Ce fichier de sauvegarde est dénommé GettingStarted_Beginning2ndChapter et il est disponible dans le dossier Windows suivant : EcoStruxure Automation ExpertC: \Program Files (x86)\Schneider Electric\ - Buildtime 22.0\GettingStartedProject\Archive files. • Option 2 Restez sur la solution actuelle que vous avez développée jusqu’à présent. REMARQUE : Étant donné que le développement est terminé, les deux options doivent contenir le même programme. Si vous avez choisi l’option 2, la première étape consiste à réinitialiser les noms d'utilisateur et les mots de passe associés au compte de cette solution. REMARQUE : Cette étape doit être effectuée à chaque fois que vous commencez à travailler sur une solution préexistante. Cette action est requise à des fins de cybersécurité. Ces noms d'utilisateur et mots de passe, affichés tout d'abord dans la section Créer une solution, page 19, sont utilisés entre EcoStruxure Automation Expert Buildtime et l'IHM EcoStruxure Automation Expert. EIO0000004748.01 81 Configuration des instruments Pour accéder à l’outil permettant de réinitialiser les noms d'utilisateur et les mots de passe : 1. Accédez à l’outil Gestion des utilisateurs dans le menu Affichage. Fichier Accueil Afficher Aide Fichier système Pavé Disposition Fermer TOUS LES DOCUMENTS Gestion des utilisateurs Window Gestion de la sécurité La boîte de dialogue « Gestion des utilisateurs » apparaît, affichant tous les utilisateurs disponibles pour cette solution. Gestion des utilisateurs Utilisateurs – Un utilisateur au moins doit être créé admin <nouvel utilisateur> Contraintes sur le nom : 4 à -64 caractères, sauf les signes " [ ] : ; | = + * ? < > / \ , Ne peut pas commencer ni se terminer par un espace, ne peut pas se terminer par "." Propriétés Modifier le mot de passe... Options IHM Changer de canvas Ouvrir la faceplate Aide Définir les valeurs Niveau : 15 OK Annuler Sur cette boîte de dialogue, il est possible de : • Changer les noms des utilisateurs en double-cliquant dessus. • Changer leur mot de passe en les sélectionnant et en sélectionnant Modifier le mot de passe. 2. Sélectionnez Modifier le mot de passe puis tapez un nouveau mot de passe. 82 EIO0000004748.01 Configuration des instruments Configuration des équipements logiques La première étape avant de déployer l'application est de configurer l'équipement logique accessible dans l'éditeur Equipements logiques de l'éditeur système. L’équipement logique par défaut est EcoRT_0. Son type d'équipement est SE.DPAC. Soft_dPAC. REMARQUE : Cela signifie que cet équipement logique utilise le logiciel d’exécution afin de connecter l’application Buildtime à une application logicielle sur un poste de travail. Système Profil réseau : Ajouter un équipement Ajouter un CAT équipement Nom d'équipement logique EcoRT_0 Ajouter un dossier Type d'équipement SE.DPAC.Soft_dPAC Supprimer Info (Par défaut) Equipement physique (Néant) REMARQUE : Actuellement, le Profil réseau est défini sur Par défaut et aucun équipement physique n'est connecté à EcoRT_0. Étant donné que ce projet de Démarrage rapide est une simulation, le Profil réseau doit être défini sur Test local. Ensuite, la section Equipement physique de EcoRT_0 passe sur Simulation. Pour information, si un autre équipement doit être ajouté, deux méthodes sont disponibles : • Méthode 1 Effectuez un clic droit dans l'espace de travail Equipements logiques, puis sélectionnez Ajouter un équipement. • Méthode 2 Cliquez sur le bouton Ajouter un équipement en haut à gauche de l'espace de travail. La boîte de dialogue Nouvel équipement apparaît alors. EIO0000004748.01 83 Configuration des instruments Nouvel équipement Nom DEV Nombre 1 Type SE.DPAC:Archive_Database OK Annuler Le nom et le type du nouvel équipement doivent être choisis. Validez ensuite ces choix. Le nouvel équipement sera ajouté à la liste des équipements logiques (dans l'éditeur Equipements logiques) et sous Système (dans l'arborescence Explorateur de solution). Explorateur de solution Rechercher (* et ? autorisés) Solution (GettingStarted) Librairies (externes) GettingStarted Références Système Système* Ajouter un équipement Ajouter un CAT équipement Nom d'équipement logique Ajouter un dossier Supprimer Type d'équipement EcoRT_0 SE.DPAC.Soft_dPAC DeviceExample SE.DPAC.Archive_Database Whole_Milk_Tank DeviceExample EcoRT_0 REMARQUE : À ce stade, si vous avez ajouté un nouvel équipement pour essayer, supprimez-le. Seul EcoRT_0 sera nécessaire dans les rubriques suivantes. Mappage Maintenant que l’équipement logique a été configuré, l’application complète doit y être mappée. Chaque bloc fonction ajouté à l’application sera mappé sur une ressource d'un équipement logique. 84 EIO0000004748.01 Configuration des instruments REMARQUE : Le concept de mappage constitue la base du contrôle distribué et de l’indépendance du matériel, comme expliqué dans la section Description d'EcoStruxure Automation Expert, page 10. Il existe deux méthodes permettant de mapper les blocs fonction à un équipement logique. • Méthode 1 1. Dans la couche TR1, choisissez les blocs fonction nécessaires et sélectionnez Mappage. TR1V03 REQ_SUPPRESS_ALM CNF_ALARM CNF LevelOkValveOpen REQ CNF TransVal4 REQ 1 Valve SuppressAlarm ActiveStateSel >>IRsp >>ISc >>IIIck >>IPerm Transmission Supprimer T Value ISc>> Masquer les ports (Ctrl+H) Commentaire... Attributs... Déplacer vers la couche Mappage 2 Atteindre définition Supprimer le mappage EcoRT_0.RES0 Afficher dans l'explorateur de solution Rechercher toutes les références Focus sur la sélection Ctrl+Q Créer un composite des FB sélectionnés Toutes les ressources de chaque équipement logique disponible s’afficheront ici. 2. Sélectionnez ensuite l’équipement logique auquel les blocs fonction seront mappés, ici EcoRT_0.RES0. EIO0000004748.01 85 Configuration des instruments • Méthode 2 1. Sélectionnez l'éditeur Mappage de blocs fonction dans l'éditeur système. La couche de ressources est automatiquement divisée en deux parties. 1 | Partie supérieure : affiche toutes les applications qui ont été développées dans EcoStruxure Automation Expert Buildtime. 2 | Partie inférieure : affiche les blocs fonction déjà affectés à cette ressource. 2. REMARQUE : Les deux sections ont le même type de fil d'Ariane que dans l'éditeur Applications et couches pour faciliter la navigation. 3. Déplacez les blocs fonction de la partie supérieure vers la partie inférieure afin de les affecter à la ressource. 86 EIO0000004748.01 Configuration des instruments Dans la Prise en main, le seul équipement logique utilisé est EcoRT_0 : mappez tous les blocs fonction de l'application Whole_Milk_Tank à l'aide de l'une de ces deux méthodes. Une fois qu'un bloc fonction est mappé, son symbole (au milieu) change. Dans la couche de ressources, il est possible que l’organisation originale des blocs fonction soit modifiée durant le processus de mappage et qu'elle devienne illisible. Pour corriger ce problème, sélectionnez l'éditeur Réseau de blocs fonction et accédez à la couche de la ressource contenant les blocs fonction mappés. Cliquez ensuite n'importe où dans la couche et sélectionnez Disposition automatique. EIO0000004748.01 87 Configuration des instruments Système* Système EquipementsEcoRT_0 RES0 Whole_Milk_Tank.TR1 1 TR1LT01 Couches REQ_SUPPRESS_ALM Disposition automatique Atteindre EcoRT_0 Atteindre la définition Attributs... Redessiner les connexions CNF IND 2 AnalogInput SuppressChFailure SuppressAlarmHH SuppressAlarmH SuppressAlarmL SuppressAlarmLL SuppressDevAlarm SuppressRocAlarm >>IExtPv Pv HiHiAlarm HiAlarm LoAlarm LoLoAlarm DevAlarm RocAlarm IPv>> Cette action permet d’organiser automatiquement les blocs fonction comme dans leur couche d’application. Initialisation de l'équipement Un bloc fonction supplémentaire doit être ajouté directement dans la ressource. 88 EIO0000004748.01 Configuration des instruments REMARQUE : Ce bloc fonction initialisera les applications et les blocs fonction qui lui sont affectés. Ce bloc fonction est DPAC_FULLINIT. Il est utilisé pour initialiser tous les blocs fonction matériels et d'application en les envoyant au déclencheur d'initialisation. REMARQUE : Si ce déclencheur d'initialisation n’est pas envoyé, les blocs fonction ne commenceront pas à réagir en ligne. Du côté de l’application, l’initialisation déclenchée est reçue par le bloc fonction plcStart. Ce bloc fonction est ensuite utilisé dans tous les blocs fonction des instruments pour les initialiser et les préparer à être utilisés en ligne. Ajoutez à la couche de ressources dans l'éditeur Réseau de blocs fonction le bloc fonction DPAC_FULLINIT et dénommez-le INITIALIZE. EIO0000004748.01 89 Configuration des instruments Comme vous pouvez le voir sur l'image ci-dessus, la couche contient déjà un autre bloc fonction E_RESTART dénommé START. Ce bloc fonction a indiqué, via des évènements, les différents redémarrages possibles de l’équipement. Il déclenche COLD si l’équipement effectue un redémarrage à froid, WARM en cas de redémarrage à chaud, et ainsi de suite. Liez ce bloc fonction à : • INITIALIZE pour initialiser les blocs fonction chaque fois que l’équipement redémarre. Puis liez : • START.COLD et START.WARM à INITIALIZE.INIT pour effectuer les initialisations. • START.ONLINECHANGE à INITIALIZE.OC_RETRIGGER pour les changements en ligne. Compilation, déploiement et exécution de l’application À ce stade, l’application est complètement développée, mappée et initialisée sur la ressource. Désormais, l'équipement logique doit être compilé, déployé et mis en mode exécution. 90 EIO0000004748.01 Configuration des instruments Pour effectuer toutes ces actions : 1. Accédez au menu Déploiement et diagnostic. REMARQUE : Tous les équipements logiques définis précédemment dans la rubrique Configuration des équipements logiques, page 83 sont visibles. Ce menu permet de les compiler, déployer et d’effectuer toutes les actions de simulation. 2. Comme l’équipement est simulé et n’utilise pas de matériel physique, modifiez le Profil réseau actif de Par défaut à Test local. Système Déploiement et diagnostic Connexion Déconnexion Action Nom d'équipement logique Profil réseau actif : Action Info Status (Par défaut) (Par défaut) (test local) 1 Progression de l'action EcoRT_0 Compilation nécessaire Type d'équipement SE.DPAC.Soft_dPAC 2 Ce menu donne accès à plusieurs actions : Commandes Description Déployer Charge la partie du projet qui est affectée à l’équipement correspondant dans le contrôleur. Projet de démarrage « Définir le projet en cours d'exécution comme projet de démarrage » : Crée une « archive de projet de démarrage » à partir des données actuellement chargées. Au prochain démarrage de l’équipement ou de l’exécution, le projet de démarrage s’applique. « Charger le projet de démarrage » : Charge le « projet de démarrage » actuellement archivé sur l’équipement. « Supprimer un projet de démarrage » : Supprime le « projet de démarrage » actuel de l'équipement. Actions liées aux équipements « Exécuter » : Définit le système d’exécution de l’équipement sur En cours d’exécution. « Arrêter » : Définit le système d’exécution de l’équipement sur Arrêté. EIO0000004748.01 91 Configuration des instruments « Redémarrer l'environnement d'exécution » : Émet une commande de redémarrage sur l’équipement. « Redémarrer l'équipement » : Recharge le « projet de démarrage » sur l'équipement. Configuration d'équipement « Déployer la configuration d'équipement » : Charge la configuration actuelle sur l’équipement. Données de persistance « Sauvegarder les données persistantes » : Crée un fichier de sauvegarde pour les valeurs des paramètres configurés comme persistants dans l’éditeur « Paramétrage hors ligne ». « Restaurer les données persistantes » : Restaure les données de paramètres persistants d'un fichier de sauvegarde qui a été créé précédemment à l’aide de la commande « Données de persistance de sauvegarde » : Cette commande inverse l’action de la commande « Supprimer des données persistantes ». « Supprimer des données persistantes » : Supprime les données persistantes des paramètres configurés comme persistants dans l’éditeur « Paramétrage hors ligne ». Exportation des données de déploiement « Exporter les données de déploiement » : Exporte les données de déploiement créées en tant que données d'archivage. Fichier journal « Récupérer les fichiers journaux » : Ouvre les fichiers journaux actuels de l’équipement sur l’ordinateur d'ingénierie. Simulation d'exécution « Démarrer » : Démarre la simulation. « Arrêter » : Arrête la simulation. 3. Accédez à ces actions en suivant l’une de ces deux méthodes : • Méthode 1 Sélectionnez la liste déroulante Action sur la ligne de l'équipement logique. Les actions seront alors uniquement effectuées sur cet équipement logique spécifique. Système Déploiement et diagnostic Connexion Déconnexion Action Nom d'équipement logique Profil réseau actif : Action EcoRT_0 Info Status Test local Logge Etat du RT Etape suivante Progression de l'action Compilation nécessaire Type d'équipement SE.DPAC.Soft_dPAC Connexion Déconnexion Compiler Compilation pour modification en ligne Déployer Projet de démarrage Actions équipement Configuration des équipements Données de persistance Exporter les données de déploiement Fichier journal Simulation d'exécution 92 EIO0000004748.01 Configuration des instruments • Méthode 2 Sélectionnez un à un les équipements logiques requis ou tous les équipements avec le bouton général Nom d'équipement logique, puis sélectionnez la liste générale déroulante intitulée Action. Les actions seront alors effectuées à tous les équipements logiques sélectionnés. Système Déploiement et diagnostic Connexion Déconnexion Action Profil réseau actif : Test local 2 Nom d'équipement logique n Info Status Logge Etat du RT Etape suivante EcoRT_0 Progression de l'action Compilation nécessaire Type d'équipement SE.DPAC.Soft_dPAC 1 4. Maintenant, effectuez les six actions suivantes sur EcoRT_0 : • Compiler : Pour compiler l’application. • Simulation d'exécution > Démarrer : Pour démarrer le SoftPLC. • Connexion : Pour charger le projet. • Déployer > Nettoyer : Pour supprimer tout programme précédent de l’équipement. • Déployer > Déployer : Pour déployer l’application sur l'équipement. À ce stade, l’application est déjà en ligne. La dernière étape consiste à démarrer la simulation. • Actions équipement > Exécuter : Démarre l’exécution de la simulation. REMARQUE : Si durant le déploiement, une erreur détectée concernant les données de persistance apparaît, alors effectuez les actions suivantes : Données persistantes > Supprimer des données persistantes, puis relancez le déploiement. Cela se produit si la configuration du nouveau paramètre est en conflit avec la configuration du paramètre qui est actuellement chargé sur l’équipement. L’équipement est à présent en ligne et en cours d’exécution. Nom d'équipement logique EcoRT_0 (127.0.0.1:5' EIO0000004748.01 Action Info Status Logge RT Sta Modification En cours en ligne d'exécution Etape suivante Progression de l'action Démarrage de l'équipement term... Type d'équipement SE.DPAC.Soft_dPAC 93 Configuration des instruments Tests de l’application Tout est prêt à être utilisé. Il est finalement temps de tester en ligne via l’IHM les instruments et leurs connexions développées au préalable dans cette section. Démarrage en ligne IHM La première étape du testing consiste à démarrer en ligne l’IHM, ainsi il ne sera pas possible d’interagir avec les instruments et de voir leurs connexions au travail. 1. Sélectionnez l’option Lancer l'IHM locale dans la résolution contenant tous les canvas. 1 Canvas 1280 x 980 Avec Nouvel élément... Graphiques Nouvelle topologie Type de données Renommer Fonction Supprimer Solution Canvas de démarrage Lancer l'IHM locale 2 Ouvrir canvas de départ Redéfinir canvas de départ avec l'assistant Aide L’IHM est en cours de création et la boîte de dialogue Se connecter apparaît. Connexion Utilisateur : Mot de passe : OK 94 Quitter EIO0000004748.01 Configuration des instruments 2. Tapez le nom d’utilisateur et le mot de passe définis dans l’une de ces deux rubriques : Création de solution, page 19 ou Exécution de l’application, page 81. Puis validez. L’IHM est à présent ouvert en ligne et prêt à être utilisé. Un paramètre des réglages d'EcoStruxure Automation Expert permet de supprimer l'authentification de connexion et ouvre directement l'IHM en ligne. Toutefois, ce paramètre est uniquement disponible dans les cas de simulation, l’authentification est obligatoire hors simulation. 3. Décochez l’option Sécurité active dans la section IHM de simulation de la page Exécutions de simulation afin de supprimer l’authentification pour l'IHM de simulation. Paramétrage Neuf Ouvert Généralités Codage Exécutions de simulation Editeur de texte Nom Chemin de fichier Archive SubVersion (SVN) EcoStruxure Automation Expert-21.2 C:\Program Files (x86)\Schneider Electric\EcoStruxure Automation Expert – Buildtime 21.2\Simulation dPAC\Simulation_dPAC.exe Interne Fermeture Editeur de réseau IEC Paramétrage Addition Supprimer Configurer Bibliothèques Concepteur graphique Librairies installées Exécutions de simulation Plug-ins installés Configuration matérielle A propos de Quitter Simulation Sécurité active Une fois ouvert, l’IHM en ligne ressemble aux captures d’écran ci-dessous : EIO0000004748.01 95 Configuration des instruments 1 | Simulation de tous les instruments. 2 | Boutons associés aux deux canvas. Cliquez dessus pour passer d'un canvas à un autre. 3 | Bouton Tagname. Cliquez dessus pour afficher/masquer les noms des instruments. 4 | Le rectangle rouge clignotant autour des instruments indique qu'une alarme est active. Les trois vannes ont alors une alarme active. REMARQUE : Les alarmes clignotent, car elles n’ont pas encore été acquittées. Allez sur à « Alarmes canvas » pour accéder au « volet de contrôle d'alarme ». Alarmes WholeMilkTank Alarmes SC Acq A !!! EcoRT_0.RES0.TR1V02.feedbackFai... Retour détecté... 23/02/2022 15:46:10.274 Vrai Apparition non acquittée... VRAI 0 A !!! EcoRT_0.RES0.TR1V01.feedbackFai... Retour détecté... 23/02/2022 15:46:10.272 Vrai Apparition non acquittée... VRAI 0 A !!! EcoRT_0.RES0.TR1V03.feedbackFai... Retour détecté... 23/02/2022 15:46:10.269 Vrai Apparition non acquittée... VRAI 0 Origine Texte Apparition Disparition Présence État Valeur Info REMARQUE : Le volet de contrôle de ce canvas regroupe toutes les alarmes n’ayant pas encore été acquittées ou qui sont encore actives. Sur le volet de contrôle, toutes les alarmes qui sont nouvelles ou encore non acquittées sont repérables par les caractéristiques suivantes : • Cellule rouge clignotante dans la colonne SC. • Points d’exclamation !!! dans la colonne Acq. REMARQUE : Actuellement, les alarmes des trois vannes ne sont pas acquittées. Elles ont donc toutes ces caractéristiques. 96 EIO0000004748.01 Configuration des instruments Pour acquitter une alarme : 1. Cliquez sur les trois points d’exclamation (!!!) de la ligne d’alarme. Une fois acquittée, il existe deux options pour l’alarme : • Option 1 : L’alarme n’est plus active. Ainsi, la ligne de l’alarme et le rectangle rouge autour de l’instrument disparaissent tous les deux. • Option 2 : L’alarme est encore active. Les trois points d’exclamation (!!!) sont alors remplacés par un X, et la cellule SC et le rectangle rouge arrêtent de clignoter. REMARQUE : La ligne d’alarme restera ainsi tant que l’alarme est active. Dès qu’elle ne le sera plus, alors la ligne d’alarme et le rectangle rouge disparaîtront. 2. Acquittez les trois alarmes apparaissant sur le volet de contrôle d'alarme. SC Acq A X EcoRT_0.RES0.TR1V03,feedbackFai... Origine Retour détecté... Texte 23/02/2022 15:46:10.269 Apparition Vrai Apparition VRAI 0 A X EcoRT_0.RES0.TR1V01,feedbackFai... Retour détecté... 23/02/2022 15:46:10.272 Vrai Apparition VRAI 0 A X EcoRT_0.RES0.TR1V02,feedbackFai... Retour détecté... 23/02/2022 15:46:10.274 Vrai Apparition VRAI 0 Disparition Présence État Valeur Info REMARQUE : Les lignes d’alarme ne disparaissent pas. Cela signifie que les trois alarmes sont encore actives. Test manuel des instruments Avant de commencer à simuler les connexions entre instruments, il est important de savoir comment manipuler manuellement les instruments. REMARQUE : Comme indiqué précédemment, la représentation des instruments est interactive. Plusieurs parties donnent accès alors à différents menus en cliquant dessus. Notez que leur apparence peut changer en fonction de la situation. Commençons par l’agitateur TR1M01. EIO0000004748.01 97 Configuration des instruments 1 | Corps de l’instrument La couleur de son arrière-plan indique son état : • gris foncé → l’agitateur est désactivé • blanc → l’agitateur est activé REMARQUE : En cliquant dessus, la faceplate générale de l’instrument s'ouvre. 98 EIO0000004748.01 Configuration des instruments 2 | Etat de la commande Celui-ci est uniquement informatif (non cliquable). Il indique que l’instrument : • Est fermé : l’arrière-plan carré est de couleur gris foncé. • Est ouvert : l’arrière-plan carré est de couleur blanche. • Obtient la commande d'ouverture : l’arrière-plan carré est blanc avec une flèche verte orientée dans un sens. • Obtient la commande de fermeture : l’arrière-plan carré est blanc avec une flèche verte orientée dans l’autre sens. 3 | Menu Diagnostic En cliquant dessus, la faceplate Diagnostic s’ouvre. EIO0000004748.01 99 Configuration des instruments REMARQUE : Pour chacun d’eux, il est possible de les contourner et de les réarmer. 4 | Menu Permissions En cliquant dessus, cela permet d'ouvrir la faceplate permissive, regroupant toutes les permissions requises pour démarrer l’instrument avec leur état. REMARQUE : Lorsqu’une permission n’est pas « VRAIE », le symbole change et s'affiche avec un arrière-plan gris foncé. 5 | Menu Verrouillage En cliquant dessus, cela permet d'ouvrir la faceplate Verrouillage regroupant toutes les conditions de verrouillage pour démarrer l’instrument avec leur état. Lorsqu'un verrouillage devient actif, alors l’instrument est remplacé localement et s’arrête de lui-même. 100 EIO0000004748.01 Configuration des instruments REMARQUE : Lorsqu’un verrouillage est actif, alors le locker est fermé. Ces menus sont également disponibles dans d’autres instruments (pas seulement pour l’agitateur). À présent, activons manuellement l’agitateur à partir de sa faceplate générale. REMARQUE : Pour activer manuellement l’instrument, l’opérateur doit être le propriétaire afin de pouvoir le contrôler. 1. Changez la propriété de Programme à Opérateur. TR1M01 Etat : PV actuel : Sortie actuelle: Propriétaire actuel : Arrêté Désactivé Désactivé Opérateur Propriétaire : Opérateur Temps 0 impulsion On : Temps hors 0 impulsion : Off s s On Réarmer L'action On (activation) devient disponible, car TR1M01 est actuellement Désactivé. EIO0000004748.01 101 Configuration des instruments 2. Sélectionnez-le pour envoyer la commande d’activation de l’agitateur. TR1M01 Etat : Arrêté PV actuel : Désactivé Sortie actuelle: Désactivé Propriétaire actuel : Opérateur Propriétaire : Opérateur Temps 0 impulsion On : Temps hors 0 impulsion : s s On Off Réarmer L’état de commande indique que : • La commande d'ouverture a été envoyée. • L’agitateur attend un retour ouvert afin de valider son ouverture. REMARQUE : Cependant, comme l'instrument n’est pas réel, aucun retour ne sera fourni. C’est la raison pour laquelle, après 5 secondes, l’instrument se déclenchera, et une alarme sera activée pour informer de l'absence du retour ouvert. 102 EIO0000004748.01 Configuration des instruments 3. Acquitter cette alarme. TR1M01 Etat : Arrêté PV actuel : Désactivé Sortie actuelle: Désactivé Propriétaire actuel : Opérateur Propriétaire : Opérateur Temps impulsion On : 0 Temps hors impulsion : 0 s s On Off Réarmer Deux options sont disponibles : • Option 1 : Désactiver à nouveau l’agitateur. • Option 2 : Réarmer l’agitateur. Il essaiera d’activer à nouveau l’agitateur. Pour cette seconde option, si rien d’autre n’est fait, l’instrument reprendra le même état au bout de 5 secondes. REMARQUE : Cette fois, pour réussir à activer manuellement l’instrument, son retour ouvert doit être simulé à partir de sa faceplate de configuration. Une fois connecté, activez la simulation et le retour ouvert qui sera simulé. EIO0000004748.01 103 Configuration des instruments TR1M01 1 TR1M01 Etat : PV actuel : Sortie actuelle: Propriétaire actuel : Arrêté Allumé Désactivé Opérateur 1 2 Temps de surveillance : Temps de déclenchement : s Etat : 5 s Sortie actuelle: PV actuel : 0 s Délai de désactivation : 0 s Temps impulsion On : 0 s Feedback réinit. : Validation Temps hors impulsion : 0 s Echec réinit. : Validation Désactivé Off Allumé On Réarmer Propriétaire actuel : Type sortie : Impulsion cyclique Délai d'activation : Propriétaire : Opérateur 3 TR1M01 5 Simulation : Off Désactiver Remplacer : Désactiver Arrêté Allumé Désactivé Opérateur Propriétaire : Opérateur Opérateur Temps impulsion On : 0 s Temps hors impulsion : 0 s 2 Maintenance : Désactiver Off Hors service : Off Désactiver Désactivé Off Allumé On Réarmer 3 Maintenant que le retour est simulé, l’état peut passer de Activé à Désactivé, et de Désactivé à Activé. Essayez également avec les vannes. 1. Remplacez la propriété par Opérateur. 2. Simulez ensuite leur retour et réarmez pour réinitialiser leur état. 3. Finalement, essayez d'ouvrir et de fermer les vannes. 104 EIO0000004748.01 Configuration des instruments Simulation des connexions Avant de simuler la connexion, la propriété de tous les instruments doit être à nouveau définie sur Programme. REMARQUE : Les connexions ne pourront pas écrire de commandes dans les instruments s'ils appartiennent à l’opérateur. Cependant, comme cela est décrit dans la rubrique Objet des connexions, page 47, certains instruments sont activés manuellement, par l’opérateur. Ces instruments sont : • TR1LSL01 • TR1LSH01 • TR1M01 • TR1LT01 Si possible, la propriété doit rester à l’opérateur. Pour l’entrée numérique, la valeur doit être remplacée dans la faceplate de configuration. TR1LSL01 Remplacer : Off 1 Valeur de remplacement : Off 2 Inverser : Off Etat d’alarme : On Off Réinitialisation requise : Sélection mauvais PV : Valeur d'entrée Mauvais PV : Off Délai d'activation : 0 s Délai de désactivation : 0 s Valeur d’entrée : Faux Comme expliqué dans les rubriques Ouverture de la 1ère vanne, page 47 et Ouverture de la 2e vanne, page 52, lorsque les valeurs de remplacement de TR1LSL01 et TR1LSH01 sont activées, la commande d'ouverture est envoyée aux vannes TR1V01 et TR1V02. EIO0000004748.01 105 Configuration des instruments Si la simulation est déjà activée, l’état passera directement sur Ouvrir. Dans le cas contraire, l’état sera défini sur Ouverture et devra attendre l’activation de la simulation. REMARQUE : Les entrées numériques activent une alarme lorsqu’elles sont activées car leur but original est d’alerter en cas d'activation et non pas d’activer et de désactiver des instruments. Une fois de plus, cette exemple n’a pas la prétention d’être réaliste. Le développement de « Whole Milk Factory » le sera. Comme développé dans la rubrique Ouverture de la 3e vanne, page 53, TR1V01 et TR1V02 doivent être ouverts, et TR1M01 activé pour ouvrir la troisième vanne. Passons à présent à l’entrée analogique TR1LT01. 106 EIO0000004748.01 Configuration des instruments REMARQUE : Comme indiqué précédemment, TR1LT01 est traité manuellement. Pour modifier sa valeur de processus, accédez à sa faceplate de configuration et changez la valeur de remplacement : TR1LT01 Activer l'échelle : Validation Limites d'utilisation : Validation Brut min : 0.0 Brut max : 100.0 PV min : 0.0 PV max : 100.0 PV coupure : 0.0 Décalage PV : 0.0 0.0 SP déviation 0.00 Temps de filtre : 1.00 s Temps de cycle : 500 ms Sélection mauvais PV : Valeur d'entrée Mauvais PV : 0.0 1 1 2 3 4 5 6 7 8 9 +/- 0 , Remplacer : Validation Valeur de remplacement : 0.0 Valeur d’entrée : 0.0 EIO0000004748.01 A CA +1% -1% +5% -5% 50 3 +10% -10% 4 2 OK Appliquer Annuler 107 Configuration des instruments À propos des alarmes « Elevée » et « Très élevée » Les alarmes « Elevée » et « Très élevée » sont actuellement actives. REMARQUE : Elles sont actives lorsque la valeur de processus est supérieure à la leur. Dans votre cas : 108 • La valeur de processus a été définie sur 50. • Les alarmes « Elevée » et « Très élevée » sont définies sur 0. EIO0000004748.01 Configuration des instruments Il existe deux méthodes permettant de déplacer manuellement ces valeurs « Elevée » et « Très élevée » : • Méthode 1 Utilisez les flèches de ces alarmes et relevez-les. • Méthode 2 Définissez la valeur des alarmes « Elevée » et « Très élevée » depuis leur faceplate. TR1LT01 HiHi Supprimé : OFF PV actuel : 0.00 0.00 Valeur de processus : 50.0 Validation: Hi ROC DEV Lo 0.0 0.0 2 Hystérésis : 0.00 HiHi 1 Délai d'activation : 0 s Délai de désactivation : 2 s Type d'acq. : Forcer alarme : CA +1% -1% +5% -5% s Point de consigne (SP) : 0.00 100.0 A 0.00 Activer 1 2 3 4 5 6 7 8 9 +/- 0 , 3 Apparition, a... OFF +10% -10% 4 OK Appliquer Annuler LoLo 50.0 REMARQUE : Comme développé dans la rubrique Activation de la sortie numérique, page 65, la dernière sortie numérique est commandée activée lorsque TR1V03 est ouvert et lorsque la valeur de processus de TR1LT01 est supérieure ou égale à la constante 82.5. EIO0000004748.01 109 Configuration des instruments Essayez ensuite les configurations suivantes : 1. Ouvrez TR1V03 et définissez la valeur de processus sur 82. 2. Définissez la valeur de processus sur 82,5. 3. Définissez la valeur de processus sur 85. 110 EIO0000004748.01 Configuration des instruments 4. Désactivez TR1LSL01. Vous possédez à présent toutes les clés pour jouer avec les instruments et essayer par vous-même diverses autres configurations ou même essayer de développer d’autres connexions entre les blocs fonction. EIO0000004748.01 111 Le CAT de séquence de remplissage Le CAT de séquence de remplissage Objet de cette section Créez la séquence de remplissage dans un CAT qui sera utilisé pour remplir automatiquement la cuve TR1 de la crèmerie. Rubriques principales • Définition de la séquence de remplissage • Définition de la librairie SE.AppSequence et des blocs fonction utilisés dans la séquence • Création d'un CAT • Développement de la séquence de remplissage dans le CAT • Exécution et test du CAT de séquence de remplissage Pour réaliser cette section, vous pouvez : • poursuivre avec la solution EcoStruxure Automation Expert utilisée dans la partie précédente ; • commencer par la solution archivée officielle. REMARQUE : Si vous choisissez de commencer par la solution archivée officielle, vous trouverez le fichier dans le dossier Windows suivant : EcoStruxure Automation ExpertC:\Program Files (x86)\Schneider Electric\ Buildtime 22.0\GettingStartedProject\Archive files. Le fichier porte le nom GetStarted_ BeginningFillingSequenceCAT.sln. Lors de l'ouverture de la solution archivée, vous verrez peut-être un message indiquant qu'une version spécifique des librairies est manquante. En effet, la version référencée dans la solution n'est pas disponible sur votre équipement. Si le message s'affiche, notez les librairies mentionnées et ignorez-les. Procédez comme suit pour chaque librairie : 1. Effectuez un clic droit sur le projet dans le pavé Explorateur de solution. 2. Sélectionnez Modifier la version de référence de la librairie. 3. Dans la boîte de dialogue Sélectionner la librairie installée pour le changement de version, sélectionnez une librairie dans la zone Ancienne version de référence. 4. Dans la zone Nouvelle version de référence, sélectionnez la version la plus récente de la librairie, puis cliquez sur OK. 5. Compilez la solution pour constater qu'elle a été correctement construite. 112 EIO0000004748.01 Le CAT de séquence de remplissage Les anciennes librairies trouvées sont remplacées par les librairies les plus récentes disponibles sur votre équipements. Définition de la séquence de remplissage Comme décrit dans la rubrique A propos du stockage du lait entier, page 16, les instruments détaillés dans le chapitre Configuration de la solution, page 19 servent pour la réception du lait entier et pour son transfert vers la cuve TR1. Ce processus de réception et de remplissage de la cuve TR1 s'effectue en contrôlant les instruments dans un ordre spécifique. Cet ordre crée une séquence. REMARQUE : La séquence est divisée en plusieurs étapes, chacune étant exécutée l'une après l'autre. Chaque étape comporte une action à réaliser lorsqu'elle est activée et une condition qui, une fois vraie, permet de passer à l'étape suivante. EIO0000004748.01 113 Le CAT de séquence de remplissage Vous trouverez ci-dessous la description du processus de remplissage de la cuve TR1 : Etapes Actions Démarrer Conditions Lorsque le démarrage de la séquence est requis et si le niveau de produit dans la cuve TR1 n'est pas élevé et que la vanne TR1V02 n'est pas ouverte. Étape 1 La propriété des instruments utilisés pendant le remplissage (TR1M01, TR1V01 et TR1V02) est acquise de manière à pouvoir les contrôler pendant la séquence. Délai de 2 secondes après la dernière action. Étape 2 L'agitateur reçoit une commande d'activation et son temps de cycle est défini : 15 s activé et 5 s désactivé. L'agitateur est activé. Étape 3 La vanne TR1V01 reçoit une commande d'ouverture. TR1V01 est ouvert. Étape 4 La vanne TR1V02 reçoit une commande d'ouverture. Le lait entier s'écoule alors dans la cuve TR1. Le niveau attendu est atteint. Étape 5 Les vannes TR1V01 et TR1V02 reçoivent une commande de fermeture. Les vannes TR1V01 et TR1V02 sont fermées. Étape 6 L'agitateur reçoit une commande de désactivation. L'agitateur est désactivé. Étape 7 La propriété des instruments est retirée. Délai de 2 secondes après la dernière action. REMARQUE : L'étape Démarrer n'a pas d'action, car il s'agit d'une étape d'attente. Lorsque les conditions initiales sont vraies et que le processus de remplissage doit commencer, la séquence active sa première étape. Définition de la librairie SE.AppSequence Comme décrit dans la rubrique Définition de la séquence de remplissage, page 113, le processus de remplissage de la cuve TR1 respecte une séquence claire divisée en plusieurs étapes. Chacune d'elles suit le même modèle : 1. Activation 2. Action 3. Phase d'attente jusqu'à ce que la condition de transition soit vraie 4. Lorsque la condition est vraie, désactivation, et activation de l'étape suivante 114 EIO0000004748.01 Le CAT de séquence de remplissage Comme la séquence est clairement définie et que chaque étape suit le même modèle, la librairie SE. AppSequence peut être utilisée pour la développer. La librairie SE.AppSequence est composée de plusieurs blocs fonction. Voici ceux qui seront utilisés pour la séquence : • SeqHead : tête de séquence, page 115 • SeqStep : étape de séquence, page 116 • SeqTerminate : terminaison de séquence, page 117 Cette librairie SE.AppSequence et ces blocs fonction permettent à l'utilisateur de : • développer des applications étape par étape avec, pour chacune des étapes, des actions et des conditions de transition ; • contrôler la séquence à l'aide d'états tels que En cours d'exécution, Arrêté, Retenu ou Terminé. REMARQUE : Pour obtenir plus d'informations sur la librairie SE.AppSequence, consultez sa documentation en appuyant sur <F1> sur SE.AppSequence dans le pavé Explorateur de solution. Bloc fonction SeqHead Le bloc fonction SeqHead est le conducteur de la séquence. Il indique la séquence d'étapes et l'étape active via ses ports : • Événements d'entrée START, RESET, HOLD, RESUME : permet de démarrer, réinitialiser, maintenir et reprendre la séquence. • Variables de données SeqStopped, SeqRunning, SeqHeld, SeqComplete : ces ports indiquent l'état actuel de la séquence. Un seul est VRAI à la fois et indique l'état actuel de la séquence. • Adapter ISeqChain : permet de communiquer avec les blocs fonction SeqStep, page 116 de la séquence. Il leur transfère l'état de la séquence et l'étape active. • Événement REQ_PERM : permet d'indiquer la condition initiale à la séquence. Lorsque cet événement est déclenché par la variable PermStart définie sur TRUE, la séquence est prête à démarrer. REMARQUE : Un adapter correspond à plusieurs ports regroupés dans un seul. Cette notion sera développée dans la rubrique Présentation des adapters, page 123. EIO0000004748.01 115 Le CAT de séquence de remplissage REMARQUE : Pour en savoir plus sur ce bloc fonction, reportez-vous au chapitre SeqHead dans la librairie SE. AppSequence. Pour y accéder, recherchez SeqHead dans le pavé Explorateur de solution et appuyez sur <F1>. Bloc fonction SeqStep Le bloc fonction SeqStep permet de traiter chaque étape. Dans le CAT, il y a donc autant de SeqStep ajoutés qu'il y a d'étapes dans la séquence. Chaque SeqStep utilisé dans la séquence est lié en série à SeqHead et à tous les autres blocs fonction SeqStep via ses adapters ISeqChainIn et ISeqChainOut. Le premier SeqStep est connecté à SeqHead et au deuxième SeqStep. Ce deuxième bloc fonction est connecté au premier et au troisième, et ainsi de suite. C'est via ses adapters ISeqChain qu'un bloc fonction SeqStep établit une communication avec SeqHead et les autres SeqStep. La communication permet aux blocs fonction SeqStep de transférer l'état suivant à SeqHead : 116 • Démarré • Actif • Quitté • Réinitialisé • Retenu • Repris EIO0000004748.01 Le CAT de séquence de remplissage La communication permet également à SeqHead de déclencher l'activation de SeqStep. Une fois activé, SeqStep déclenche son adapter ISeqActionChain, déclenchant ainsi ses actions. Le bloc fonction SeqStep reste actif jusqu'à ce que TRANS_REQ soit déclenché par la condition de transition TRUE. SeqStep est alors quitté et le bloc fonction SeqStep suivant est activé. REMARQUE : Pour en savoir plus sur ce bloc fonction, reportez-vous à la rubrique SeqStep dans la librairie SE. AppSequence. Pour y accéder, recherchez SeqStep dans le pavé Explorateur de solution et appuyez sur <F1>. Bloc fonction SeqTerminate Le bloc fonction SeqTerminate est positionné après la dernière étape de la série d'adapters ISeqChain. Lorsque la dernière étape est terminée, elle active le bloc fonction SeqTerminate. Celui-ci informe SeqHead que la séquence a atteint la dernière étape afin que SeqHead puisse passer à l'état Terminé. EIO0000004748.01 117 Le CAT de séquence de remplissage REMARQUE : Pour en savoir plus sur ce bloc fonction, reportez-vous à la rubrique SeqTerminate dans la librairie SE.AppSequence. Pour y accéder, recherchez SeqTerminate dans le pavé Explorateur de solution et appuyez sur <F1>. Configuration du CAT de séquence de remplissage Comme décrit dans le chapitre Définition de la librairie SE.AppSequence, page 114, la séquence est composée de plusieurs blocs fonction : • SeqHead, page 115 • SeqStep, page 116 • SeqTerminate, page 117 • Et d'autres blocs fonction liés aux actions et aux conditions de transition. Tous ces blocs fonction pourraient être ajoutés directement à la couche TR1 de l'application Whole_Milk_Tank. Cependant, comme expliqué dans la rubrique Présentation du processus, page 14, la crèmerie contient plusieurs cuves (TR1, TR2, TS1, etc.). Chaque cuve se compose du même nombre et du même type d'instruments, et la séquence de remplissage est la même. Par ailleurs, les cuves sont toutes identiques. Il existe deux options pour programmer ces cuves : • Option 1 : développer la séquence de chaque cuve directement dans sa couche d'application. • Option 2 : créer un CAT (Composite Automation Type), page 12 et y développer la séquence. Pour standardiser le développement de la séquence de cuves, l'option 2 est choisie. Ainsi : • La séquence est développée une seule fois pour tous les processus de remplissage des cuves. • La séquence reste identique pour tous les processus de remplissage des cuves. Le risque d'erreur avec l'option 2 est réduit, car la séquence n'est développée qu'une seule fois. REMARQUE : Étant donné que le projet de Démarrage rapide se concentre uniquement sur la cuve TR1, il aurait été acceptable de choisir l’option 1. Cependant, le projet de Démarrage rapide a aussi pour objectif de partager les bonnes pratiques pour développer une application complète et réaliste. C'est la raison pour laquelle la deuxième option est retenue. Si l'application de crèmerie avait été développée jusqu'au bout, le CAT aurait certainement été réutilisé. Cette option aurait donc été justifiée. 118 EIO0000004748.01 Le CAT de séquence de remplissage Création du CAT Pour créer le CAT personnalisé qui sera utilisé pour développer la séquence de remplissage, ajoutez un Nouvel élément dans l'application CAT. Solution (GettingStarted) Librairies (externes) GettingStarted Références Système CAT Matériel Application Instances CAT 1 SubApp Composite Basic Service Adapter Canvas 1280x980 Sans Graphiques Type de données Fonction 2 Nouvel élément… Nouveau dossier 3 Renommer Supprimer Coller Exporter Importer Aide La boîte de dialogue Assistant Fichier apparaît pour vous permettre de configurer le nouveau CAT. Saisissez les paramètres suivants avant de terminer le réglage : • Type : CAT normal • Nom : TankFilling • Implémentation en tant que : Composite REMARQUE : Ce CAT est défini sur les paramètres standard. Le CAT TankFilling est créé et son éditeur d'interface s'ouvre. EIO0000004748.01 119 Le CAT de séquence de remplissage Présentation des éditeurs CAT Une fois ouvert, le CAT donne accès à plusieurs éditeurs qui vous aideront à le personnaliser et à le développer. REMARQUE : La navigation à l'intérieur de la liste des éditeurs CAT est identique à celle décrite dans la rubrique Présentation de l'éditeur système, page 30. Interface Il s'agit de la page récapitulative qui répertorie tous les événements, entrées et sorties, leur type et la connexion qui les lie. Arrière Avant Interface Réseau de blocs fonction Paramétrage hors ligne Serveur OPCUA Méta-informations Documentation Nom Type EventInputs INIT REQ <nouvelle interface> EventOutputs INITO CNF <nouvelle interface> InputVars QI BOOL <nouvelle variable> OutputVars QO BOOL <nouvelle variable> Sockets <nouvel adapter> Plugs <nouvel adapter> AdapterInputs <nouvel adapter> AdapterOutputs <nouvel adapter> Taille de tableau Valeur initiale With QI QI Attr Commentaire <néant> Initialization Re <néant> Normal Execut QO <néant> Initialization Co QO <néant> Execution Cont EVENT <néant> Input event que EVENT INIT INITO EVENT CNF EVENT REQ TankFilling <néant> Output event o BOOL QI QO BOOL Réseau de blocs fonction Il s'agit du réseau du CAT, comme la couche TR1 dans l'application. C'est là que seront ajoutés tous les blocs fonction de la séquence. 120 EIO0000004748.01 Le CAT de séquence de remplissage TankFilling Arrière Avant INIT Interface REQ Réseau de blocs fonction QI:BOOL INITO CNF QO:BOOL Paramétrage hors ligne Serveur OPCUA Méta-informations Documentation Paramétrage hors ligne Cet éditeur permet de définir la valeur initiale des paramètres de chaque bloc fonction dans le CAT. Ainsi, lorsque le CAT est déployé pour la première fois, tous les paramètres sont définis sur la valeur indiquée dans l'éditeur Paramétrage hors ligne. TankFilling Arrière Nom Valeur par défaut Conssserver Unité Avant Interface Réseau de blocs fonction Paramétrage hors ligne Serveur OPCUA Attribut Valeur Masque Verrouillé Méta-informations Documentation EIO0000004748.01 121 Le CAT de séquence de remplissage REMARQUE : Comme aucun bloc fonction n'a été ajouté dans l'éditeur Réseau de blocs fonction, aucun paramètre n'est disponible pour l'instant dans l'éditeur Paramétrage hors ligne. Serveur OPCUA Ce serveur définit l'état des valeurs des paramètres du client OPC UA (valeurs exposées ou non). Ce paramètre permet de rendre les variables visibles par le serveur OPC UA ou, au contraire, invisibles. TankFilling Arrière Avant Nom Exposé Niveau d'accès Interface Réseau de blocs fonction Paramétrage hors ligne Serveur OPCUA Attribut Valeur Masque Verrouillé Méta-informations Documentation REMARQUE : Comme aucun bloc fonction n'a été ajouté dans l'éditeur Réseau de blocs fonction, aucun paramètre n'est disponible pour l'instant dans l'éditeur Serveur OPCUA. Les deux autres éditeurs Méta-informations et Documentation sont utilisés pour fournir des informations générales sur le CAT. Hormis ces six éditeurs, des éditeurs supplémentaires peuvent s'afficher selon les options sélectionnées lors de l'installation d'EcoStruxure Automation Expert. 122 EIO0000004748.01 Le CAT de séquence de remplissage Présentation des adapters Dans certaines rubriques précédentes comme Ouverture de la 1ère vanne, page 47 ou Bloc fonction SeqHead, page 115, des adapters ont été utilisés sans plus d'explication. Comme les adapters de développement du CAT seront utilisés plus fréquemment, il est maintenant important de les détailler. Pour commencer, accédez à l'éditeur Interface du CAT FillingTank. Cet éditeur contient toutes les entrées et sorties du CAT. Certaines catégories ont déjà été définies dans la rubrique Le modèle de bloc fonction de la norme IEC 61499, page 11 : • Les entrées d'événement • Les sorties d'événement • Les variables d'entrée • Les variables de sortie Il existe également quatre autres catégories qui n'ont pas encore été utilisées : • Les sockets • Les plugs • Les entrées d'adapter • Les sorties d'adapter REMARQUE : Ces quatre catégories sont toutes liées aux adapters. Un adapter est un moyen spécifique de transmettre les informations dans EcoStruxure Automation Expert. Il s'agit d'un mode de transmission bidirectionnel entre deux blocs fonction. EIO0000004748.01 123 Le CAT de séquence de remplissage Les deux blocs fonction liés par l'adapter s'échangent simultanément des variables et des événements. L'adapter collecte toutes ces informations transférées dans une liaison orange, comme indiqué dans la rubrique Ouverture de la 1ère vanne, page 47 : Cette méthode bidirectionnelle spécifique de transmission des informations sera détaillée avec l'adapter AdapterExample suivant. EVENT REQ CNF EVENT EVENT RSP IND EVENT STRING[15] STRING[15] AdapterExample REQD CNFD RSPD INDD STRING[15] STRING[15] Exemple d'instances de ce type d'adapter dans le corps d'un bloc fonction composite : (>>)SOCKET PLUG(>>) REQ CNF CNF REQ RSP IND IND RSP AdapterExample REQD CNFD RSPD INDD AdapterExample CNFD REQD INDD RSPD Comme vous pouvez le voir dans l'exemple, les deux blocs fonction Plug et Socket sont complémentaires et symétriques. Socket possède deux entrées (REQD et RSPD) et deux sorties (CNFD et INDD), qui sont inversées dans Plug. 124 EIO0000004748.01 Le CAT de séquence de remplissage Le bloc fonction Socket comporte deux flèches entrantes, à gauche du nom, tandis que Plug comporte deux flèches sortantes, à droite du nom. Ces flèches permettent de les différencier, car ils portent tous les deux le même nom. REMARQUE : Les adapters sont bidirectionnels, car ils envoient et reçoivent des informations en même temps, via un seul bloc fonction. Le côté gauche (entrée) de l'adapter envoie des informations tandis que le côté droit (sortie) les reçoit. Par exemple, les informations transmises au niveau de l'entrée CNFD de Plug sont reçues par la sortie CNFD de Socket. Et, au même moment, les informations transmises au niveau de l'entrée REQD de Socket sont reçues par la sortie REQD de Plug. Enfin, les avantages de l'utilisation de l'adapter sont les suivants : • Il est possible d'envoyer et de recevoir un nombre élevé de variables et d'événements avec une seule liaison de connexion, un bloc fonction Plug et un bloc fonction Socket. Cela rend la zone de développement et les connexions beaucoup plus nettes. • L'adapter peut transmettre des informations même à un bloc fonction qui n'est pas mappé sur le même équipement logique. Cette solution est donc beaucoup plus flexible. La séquence et les instruments pourront ensuite être mappés comme souhaité, pour une indépendance du matériel totale, page 10. REMARQUE : Pour en savoir plus sur les adapters, consultez la rubrique Bloc fonction Adapter dans le Manuel utilisateur. Pour la trouver, ouvrez le Manuel utilisateur et saisissez le nom de la rubrique dans l'onglet de recherche. Configuration des ports du CAT Avant de commencer à développer la séquence de remplissage, certaines modifications doivent être apportées à l'éditeur Interface du CAT FillingTank. Certains ports doivent être ajoutés et d'autres supprimés. Les modifications sont les suivantes : Supprimer • REQ : événement d'entrée • CNF : événement de sortie • QI : variable d'entrée • QO : variable de sortie EIO0000004748.01 125 Le CAT de séquence de remplissage Pour supprimer un port, sélectionnez la ligne correspondante et appuyez sur la touche Suppr. Ajouter • ITankLevel : Socket de type IAnalog • IAgitator : Plug de type IDevice • IPasteurizerValve : Plug de type IDevice • IReceptionValve : Plug de type IDevice • IInletValve : Plug de type IDevice Pour ajouter un port, double-cliquez sur la cellule <nouvel adapter> située sous la catégorie voulue et donnez-lui un nom. Pour définir le type de l'adapter, cliquez sur la liste déroulante dans la cellule Type et sélectionnez le type se terminant par le suffixe adéquat. Une fois toutes ces modifications effectuées, l'éditeur Interface se présente comme suit : Nom Type EventInputs INIT <nouvelle interface> EventOutputs INITO <nouvelle interface> InputVars <nouvelle variable> OutputVars <nouvelle variable> Sockets ITankLevel <nouvel adapter> Plugs IAgitator IPasteurizerValve IReceptionValve IInletValve <nouvel adapter> AdapterInputs <nouvel adapter> AdapterOutputs <nouvel adapter> 126 Taille de tableau EVENT INIT INITO EVENT IAnalog IAgitator>> >> ITankLevel IPasteurizerValve>> IReceptionValve>> IInletValve>> IDevice TankFilling SE.AppCommonProcess.IAnalog SE.AppCommonProcess.IDevice SE.AppCommonProcess.IDevice SE.AppCommonProcess.IDevice SE.AppCommonProcess.IDevice IDevice IDevice IDevice EIO0000004748.01 Le CAT de séquence de remplissage Accédez à l'éditeur Réseau de blocs fonction afin de constater les modifications. Les blocs fonction d'adapter ont été ajoutés au réseau, et les variables et événements initiaux ont été supprimés. Pour voir les différences par rapport à l'état initial, reportez-vous à l'image dans la rubrique Présentation des éditeurs CAT, page 120. Séquence de démarrage du remplissage Maintenant que le CAT a été défini, la séquence détaillée dans la rubrique Définition de la séquence de remplissage, page 113 doit être développée. Chaque rubrique de ce chapitre se concentre sur une étape spécifique de la séquence : • Étape de démarrage de la séquence, page 128 • Étape d'acquisition de la propriété, page 137 • Étape d'activation de l'agitateur, page 143 • Étape d'ouverture de la vanne d'entrée, page 147 • Étape d'ouverture de la vanne de réception, page 149 • Étape de fermeture des vannes d'entrée et de réception, page 152 • Étape de désactivation de l'agitateur, page 155 • Étape de retrait de la propriété, page 157 • Arrêt de la séquence de remplissage, page 159 EIO0000004748.01 127 Le CAT de séquence de remplissage Étape de démarrage de la séquence Comme indiqué dans la rubrique Définition d'une séquence de remplissage, page 113, cette étape contrôle les conditions initiales pour permettre ou non le démarrage de la séquence. REMARQUE : Pour vérifier les conditions initiales, un bloc fonction SeqHead est utilisé. Ajoutez un bloc fonction SeqHead et dénommez-le StartHead. Comme indiqué ci-dessus, StartHead vérifie les conditions initiales. Ces conditions sont les suivantes : • Niveau haut non atteint ET • Vanne TR1V03 non ouverte Condition de niveau haut Pour vérifier le niveau haut de la cuve, les informations doivent être importées depuis l'extérieur du CAT. Pour cela, il faut ajouter des entrées, comme détaillé ci-dessous : 1. Accédez à l'éditeur Interface. 128 EIO0000004748.01 Le CAT de séquence de remplissage 2. Ajoutez une entrée d'événement et dénommez-la REQ_LvlHigh. 3. Ajoutez une entrée de variable et dénommez-la LevelHigh. 4. Changez le type de LevelHigh en remplaçant INT par BOOL. En effet, la valeur doit être une valeur booléenne : le capteur de niveau haut de la cuve ne peut être que TRUE ou FALSE. REMARQUE : Pour l'instant, la variable d'entrée LevelHigh s'affiche en italique, car elle n'est connectée à aucun événement. En l'état, elle ne pourra pas être mise à jour durant la séquence. EIO0000004748.01 129 Le CAT de séquence de remplissage LevelHigh doit être connecté à un événement d'entrée. Pour ce faire, il existe deux méthodes : • Méthode 1 : 1. Ouvrez la boîte de dialogue Editeur de type With de l'événement à connecter à LevelHigh, en l'occurrence REQ_LvlHigh. 2. Cochez LevelHigh pour le connecter à REQ_LvlHigh et validez. Nom Taille de tableau Type Valeur initiale With EventInputs INIT REQ_LvlHigh <nouvelle interface> 1 2 Editeur de type With Vérifier les valeurs de données à associer à l'événement ‘REQ_LvlHigh’ : Nom Type LevelHigh: Taille de tableau Valeur initiale Commentaire BOOL 3 Aide OK Annuler 4 AdapterInputs 130 EIO0000004748.01 Le CAT de séquence de remplissage • Méthode 2 : Dans l'éditeur Interface, faites glisser LevelHigh vers REQ_LvlHigh, dans la cellule Avec. REMARQUE : Lors du glisser-déposer, lorsque vous passez la souris sur la cellule Avec, son aspect change pour indiquer que l'opération est possible. L'entrée LevelHigh ne s'affiche plus en italique, elle est prête à être utilisée pour les conditions initiales. Condition de la vanne TR1V03 Cette condition vérifie l'état de la vanne TR1V03. La vanne TR1V03 et le CAT communiquent via l'adapter IPasteurizerValve. Cela signifie que cet adapter transmet des informations à l'autre adapter IDevice situé dans le bloc fonction de TR1V03. REMARQUE : L'état de TR1V03 est reçu via la variable de sortie Status de IPasteurizerValve. Il est fourni comme une donnée de type VTQINT. EIO0000004748.01 131 Le CAT de séquence de remplissage Pour être utilisée comme condition, la variable Status doit être décodée en un booléen : 1. Ajoutez un bloc fonction decodeState et dénommez-le pasteurizerValveStatusDecode. 2. Liez IPasteurizerValve.CNF_STATUS à pasteurizerValveStatusDecode.REQ. 3. Liez IPasteurizerValve.Status à pasteurizerValveStatusDecode.State. Liens de condition initiale Maintenant que toutes les entrées des conditions ont été définies, elles doivent être liées à StartHead avec la bonne logique. 132 EIO0000004748.01 Le CAT de séquence de remplissage Comme la vanne ne doit PAS être ouverte et que le niveau ne doit PAS être haut, les deux doivent être inversés : 1. Ajoutez un bloc fonction NOT et dénommez-le LvlNotHighV03NotOpen. 2. Ajoutez une deuxième entrée à LvlNotHighV03NotOpen à l'aide de l'une des deux méthodes décrites dans la rubrique Ouverture de la 3e vanne. 3. Associez l'événement d'entrée REQ_LvlHigh à LvlNotHighV03NotOpen.REQ et la variable d'entrée LevelHigh à LvlNotHighV03NotOpen.IN1. 4. Liez pasteurizerValveStatusDecode.CNF à LvlNotHighV03NotOpen.REQ et pasteurizerValveStatusDecode.Active1 à LvlNotHighV03NotOpen.IN2. Maintenant que les entrées ont été inversées, elles doivent être contrôlées à l'aide d'un bloc fonction AND, car les deux doivent être FALSE en même temps pour permettre le démarrage de la séquence : 1. Ajoutez un bloc fonction AND et dénommez-le LvlHighV03Check. 2. Liez LvlNotHighV03NotOpen.CNF à LvlHighV03Check.REQ. 3. Liez LvlNotHighV03NotOpen.OUT1 à LvlHighV03Check.IN1. 4. Liez LvlNotHighV03NotOpen.OUT2 à LvlHighV03Check.IN2. 5. Liez LvlHighV03Check.CNF à StartHead.REQ_PERM. 6. Liez LvlHighV03Check.OUT à StartHead.PermStart. EIO0000004748.01 133 Le CAT de séquence de remplissage Comme développé, les conditions initiales sont désormais correctement vérifiées. Lorsque StartHead. PermStart prend la valeur TRUE, indiquant que la vanne TR1V03 et le niveau haut ont tous les deux la valeur FALSE, la séquence peut démarrer. Simplification du réseau Avant de passer à l'étape suivante, il convient d'organiser ce qui a été développé jusqu'à présent afin de simplifier le réseau. REMARQUE : Cette action peut s'avérer inutile en raison du nombre réduit de blocs fonction dans le réseau, mais le fait de s'y astreindre régulièrement permet de maintenir le réseau lisible même lorsque toutes les étapes ont été ajoutées. 1. Masquez les ports inutilisés de pasteurizerValveStatusDecode. Comme aucun autre port ne sera utilisé pendant le développement, il est possible de les masquer. 1 pasteurizerValueStatusDecode REQ 2 CNF pasteurizerValveStatusDecode REQ REQ CNF decodeState State decodeState Passive State Couper 1 Active1 Copier Supprimer Masquer les ports (Ctrl+H) 2 Commentaire... Attributs… Déboguer… Atteindre la définition Afficher dans l'explorateur de solution Rechercher toutes les références Focus sur la sélection Ctrl+Q Créer un composite des FB sélectionnés 134 EIO0000004748.01 Le CAT de séquence de remplissage 2. Ajoutez une référence croisée aux liens entre pasteurizerValveStatusDecode et LvlNotHighV03NotOpen. pasteurizerValveStatusDecode REQ REQ REQ_LvlHigh LvlNotHighV03NotOpen REQ REQ CNF decodeState LevelHigh: BOOL State Active1 IN1 IN2 CNF NON OUT1 OUT2 Mettre à jour la route Insérer un point Référence croisée Commentaire... Attributs… REMARQUE : Cette action masque le lien entre les blocs fonction. Un carré apparaît alors sur les deux ports pour indiquer qu'une référence croisée existe sur ces ports. EIO0000004748.01 135 Le CAT de séquence de remplissage Voici les actions possibles avec la référence croisée : (la liste des actions est liée à l'image ci-dessous) a. Clic simple sur une zone de référence croisée : met en surbrillance les autres zones de référence croisée liées à celle sélectionnée. b. Double-clic sur une zone de référence croisée : renvoie à l'autre zone de référence croisée liée à celle sélectionnée ou affiche la liste des références croisées, si le port en compte plusieurs. c. Clic droit sur une zone de référence croisée : ouvre la fenêtre contextuelle de la référence croisée, qui permet de réaliser les actions suivantes : 1 | Accéder à l'autre zone de référence croisée liée à celle sélectionnée 2 | Activer/désactiver la référence croisée 3 | Supprimer le lien 4 | Lier le port actuel à un autre port via la référence croisée Augmentation de l'espace dans le réseau Pour augmenter la taille d'une couche ou d'un réseau et disposer de plus d'espace pour insérer des blocs fonction et les organiser, cliquez sur la zone fléchée située sur un côté de la fenêtre du réseau. Cela permet de libérer de l'espace du côté de la flèche sur laquelle vous avez cliqué. 136 EIO0000004748.01 Le CAT de séquence de remplissage REQ REQ_STATUS IAnalog Track State Value ValueHi ValueLo Status Libère de l'espace à gauche du document et active le défilement vers la gauche REQ_SP REQ_PARA REQ_OWNER REQ_RESET CNF_READY CNF_PV CNF_MAINT IDevice Lsp Status LspAux1 Pv LspAux2 CurrentSp LspReal1 CurrentSpReal LspReal2 CurrentOp Para1 CurrentOpReal1 Para2 CurrentOpReal2 ProgSel Ready ExtProgSel Alarm ProgLoc Interlocked ExtProgLoc NeedReset Reset TargetProgOwner ExtProgOwner ProgLocOwner ExtProgLocOwner OperationDuration Permissive REQ_SP REQ_PARA REQ_OWNER REQ_RESET IDevice Lsp LspAux1 LspAux2 LspReal1 LspReal2 Para1 Para2 ProgSel ExtProgSel ProgLoc ExtProgLoc Reset Étape d'acquisition de la propriété C'est à cette étape que seront développées les actions visant à acquérir la propriété des instruments, comme défini dans la rubrique Définition de la séquence de remplissage, page 113. Comme indiqué dans la rubrique Bloc fonction SeqStep, page 116, un bloc fonction SeqStep est requis pour contrôler l'étape : 1. Ajoutez un bloc fonction SeqStep et dénommez-le Step1. 2. Liez StartHead.ISeqChain à Step1.ISeqChainIn pour créer la chaîne entre SeqHead et SeqStep. EIO0000004748.01 137 Le CAT de séquence de remplissage L'action de cette étape consiste à acquérir la propriété des instruments afin de pouvoir les contrôler pendant la séquence, comme défini dans la rubrique Définition de la séquence de remplissage, page 113. Elle doit être effectuée dès le passage à l'étape, ce qui signifie que l'événement de sortie STEP_ENTER sera utilisé pour transmettre le signal aux instruments. Pour que la séquence acquiert la propriété d'un instrument, une requête doit être envoyée à l'adapter IDevice de l'instrument. Cette requête consiste à envoyer la valeur TRUE à la variable progLoc et à déclencher l'événement REQ_OWNER. 1. Ajoutez un bloc fonction DS_SELECTX et dénommez-le agitatorProgLocCommand. REMARQUE : Ce bloc fonction envoie la valeur de sa variable d'entrée à sa variable de sortie lorsque l'événement associé REQ est déclenché. 138 EIO0000004748.01 Le CAT de séquence de remplissage 2. Comme dans la rubrique Traitement de la valeur de l'entrée analogique, page 59 avec LevelCompare, modifiez dans la boîte de dialogue Editeur d'interface le type de DI1_ 1 en remplaçant ANY par BOOL. 3. De nouveau, comme dans la rubrique Traitement de la valeur de l'entrée analogique, page 59 avec LevelCompare, ajoutez la constante TRUE à DI1_1. 4. Liez Step1.STEP_ENTER à agitatorProgLocCommand.REQ1. 5. Liez agitatorProgLocCommand.IND à IAgitator.REQ_OWNER et agitatorProgLocCommand.OUT1 à IAgitator.ProgLoc. Comme programmé, lors du passage à Step1, la commande d'acquisition de la propriété de l'agitateur est correctement envoyée. À présent, les mêmes actions doivent être effectuées pour les autres instruments TR1V01 et TR1V02 : 1. Ajoutez deux autres blocs fonction DS_SELECTX et dénommez-les inletValveProgLocCommand et receptionValveProgLocCommand. EIO0000004748.01 139 Le CAT de séquence de remplissage 2. Configurez le type de variable sur BOOL et ajoutez une constante TRUE à DI1_1, comme pour agitatorProgLocCommand. REMARQUE : Si ces blocs fonction sont ajoutés avec l'une des deux méthodes décrites dans la rubrique Ouverture de la 2e vanne, cette deuxième étape est exécutée automatiquement. Lorsqu'un bloc fonction est dupliqué, sa configuration est conservée. 3. Liez inletValveProgLocCommand.IND à IInletValve.REQ_OWNER et inletValveProgLocCommand.OUT1 à IInletValve.ProgLoc pour acquérir la propriété de la vanne TR1V01. 4. Liez receptionValveProgLocCommand.IND à IReceptionValve.REQ_OWNER et receptionValveProgLocCommand.OUT1 à IReceptionValve.ProgLoc pour acquérir la propriété de la vanne TR1V02. Il existe deux méthodes permettant de déclencher l'événement d'entrée REQ1 de ces deux blocs fonction : • Méthode 1 : Lier les blocs fonction en parallèle Liez chaque événement REQ1 des blocs fonction à Step1.STEP_ENTER. Toutes les actions sont alors déclenchées en même temps. • Méthode 2 : Lier les blocs fonction en série Liez l'événement REQ1 du deuxième bloc fonction au CNF1 du premier et l'événement REQ1 du troisième au CNF1 du deuxième bloc fonction. Ainsi, chaque bloc fonction DS_SELECTX déclenche le bloc suivant une fois exécuté. Dans cette application, la deuxième méthode est choisie, car elle crée une file d'attente officielle d'actions. En réalité, les actions en parallèle ne se déclenchent pas en même temps. Une file d'attente aléatoire est créée pour les exécuter les unes après les autres. Au final, les deux méthodes utilisent une chaîne d'actions. Par contre, avec la méthode 2, l'ordre d'exécution est défini et connu. 140 EIO0000004748.01 Le CAT de séquence de remplissage En suivant cette deuxième méthode, liez agitatorProgLocCommand.CNF1 à inletValveProgLocCommand.REQ1 et inletValveProgLocCommand.CNF1 à receptionValveProgLocCommand.REQ1. REMARQUE : Les liens s'affichent en orange sur l'image ci-dessus, car ils sont sélectionnés. Il ne s'agit pas d'adapters. Ils sont sélectionnés pour mettre en évidence les liens ajoutés à cette étape. Les actions de l'étape d'acquisition de la propriété sont maintenant terminées. Pour finaliser cette première étape, il faut développer la condition de transition. EIO0000004748.01 141 Le CAT de séquence de remplissage Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, la condition de transition de cette première étape est d'attendre 2 secondes une fois la dernière action de l'étape effectuée : 1. Ajoutez un bloc fonction E_DELAY et dénommez-le TransStep2Delay. 2. Liez receptionValveProgLocCommand.CNF1 à TransStep2Delay.Start. REMARQUE : Avec la méthode 2, il est facile d'identifier la dernière action à partir de laquelle lancer le minuteur. Avec la méthode 1, cela aurait été impossible. 3. Liez TransStep2Delay.EO à Step1.TRANS_REQ pour que la requête de transition soit déclenchée au bout de 2 secondes. 4. Liez Step1.STEP_LEAVE à TransStep2Delay.STOP pour arrêter le minuteur lorsque l'étape est quittée. 5. Ajoutez la constante T#2s à TransStep2Delay.DT. 6. Ajoutez la constante TRUE à Step1.Exceeded. La condition est toujours vraie, il suffit de déclencher au bout de 2 secondes pour passer à l'étape suivante. 7. Ajoutez la constante 2 à Step1.TransStepId pour définir l'étape que la séquence va activer après avoir quitté celle-ci. Le développement de la première étape est maintenant terminé. Ajoutez une référence croisée aux liens entre les blocs fonction DS_SELECTX et les adapters IDEVICE et passez à l'étape suivante. 142 EIO0000004748.01 Le CAT de séquence de remplissage Étape d'activation de l'agitateur REMARQUE : Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, cette étape est configurée et active l'agitateur. Pour commencer le développement, ajoutez un nouveau bloc fonction SeqStep, dénommez-le Step2 et liez Step1.ISeqChainOut à Step2.ISeqChainIn. EIO0000004748.01 143 Le CAT de séquence de remplissage Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, cette étape doit activer l'agitateur TR1M01 et définir son temps de cycle : Pour activer l'agitateur : Comme dans la rubrique Étape d'acquisition de la propriété, page 137, un bloc fonction DS_ SELECTX est utilisé pour envoyer la valeur Activé à IAgitator lorsque Step2 est activé. 1. Ajoutez-le et dénommez-le agitatorCommand. 2. Remplacez la valeur de type de sa variable par INT et ajoutez la constante 1 à DI1_1. 3. Liez Step2.STEP_ENTER à agitatorCommand.REQ1 pour déclencher le bloc fonction lors du passage à Step2. 4. Liez agitatorCommand.IND à IAgitator.REQ_CMD et agitatorCommand.OUT1 à IAgitator.Lsp afin que la commande Activé soit transmise et que l'événement de commande soit déclenché. Pour définir le temps de cycle : Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, le temps de cycle est réglé comme suit : 15 s activé et 5 s désactivé. 1. Ajoutez les constantes 15 à IAgitator.Para1 et 5 à IAgitator.Para2. REMARQUE : Lorsque l'adapter IDevice se connecte à un moteur cyclique, la variable Para1 est associée à la valeur de temps activé et la variable Para2 au temps de cycle désactivé. Ces paramètres n'ont pas la même fonction selon l'instrument auquel l'adapter est connecté. 2. Liez agitatorCommand.IND à IAgitator.REQ_PARA pour envoyer les deux paramètres à l'agitateur. 144 EIO0000004748.01 Le CAT de séquence de remplissage L'action d'activation de l'agitateur est maintenant terminée. Pour finaliser cette deuxième étape, il faut développer la condition de transition. Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, la condition de transition de cette deuxième étape est d'attendre que l'agitateur soit activé. Pour savoir si l'agitateur est activé ou non, il faut vérifier son état. Comme avec la vanne du pasteurisateur, page 128, un bloc fonction decodeState est nécessaire pour vérifier l'état de l'agitateur : 1. Ajoutez un bloc fonction decodeState et dénommez-le agitatorStatusDecode. 2. Liez IAgitator.CNF_STATUS à agitatorStatusDecode.REQ et IAgitator.Status à agitatorStatusDecode.State. Maintenant que l'état est décodé, sa valeur doit être vérifiée pour détecter quand l'agitateur passe de l'état Désactivé à Activé. Pour détecter cette transition, un bloc fonction SMOOTH est utilisé. Dans l'application de Prise en main, tous les blocs fonction SMOOTH sont utilisés de la même manière. Ils comparent la valeur actuelle et la valeur précédente de l'entrée. Dès que la valeur change, c'est-à-dire lorsque les valeurs actuelle et précédente ne sont plus égales, ils transmettent la nouvelle valeur d'entrée à la sortie et l'événement associé est déclenché. Les blocs fonction SMOOTH ne déclenchent pas d'événement tant que la valeur de la variable d'entrée n'a pas changé. Cela évite de déclencher plusieurs fois l'événement SeqStep.TRANS_REQ avec la variable Exceeded sur TRUE, et permet donc de s'assurer que la transition n'a lieu qu'une seule fois. Ici, le bloc fonction SMOOTH détecte quand l'agitateur passe de l'état Désactivé à Activé, puis transmet Activé à Step2. 1. Ajoutez un bloc fonction SMOOTH et dénommez-le agitatorOnCheck. EIO0000004748.01 145 Le CAT de séquence de remplissage 2. Modifiez le type de IN1 en remplaçant ANY par BOOL. 3. Liez l'événement d'entrée INIT à agitatorOnCheck.INIT. Le bloc fonction s'initialise et commence à comparer la valeur d'entrée. 4. Liez agitatorStatusDecode.CNF à agitatorOnCheck.REQ et agitatorStatusDecode. Active1 à agitatorOnCheck.IN1 pour transmettre la valeur décodée au comparateur. 5. Ajoutez les constantes suivantes aux variables agitatorOnCheck : Variable Valeur constante TYPE OldNew VALCONDITION Any VALDIFF1 TRUE TIMEDIFF Laisser vide CYCLE Laisser vide 6. Liez agitatorOnCheck.CNF à Step2.TRANS_REQ, agitatorOnCheck.OUT1 à Step2. Exceeded et ajoutez la constante 3 à Step2.TransStepId. Le développement de la deuxième étape est maintenant terminé. Ajoutez une référence croisée aux liens entre agitatorCommand et IAgitator, entre agitatorStatusDecode et agitatorOnCheck et passez à l'étape suivante. 146 EIO0000004748.01 Le CAT de séquence de remplissage Étape d'ouverture de la vanne d'entrée Pour commencer le développement de cette troisième étape, ajoutez un nouveau bloc fonction SeqStep, dénommez-le Step3 et liez Step2.ISeqChainOut à Step3.ISeqChainIn. REMARQUE : Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, à cette étape, la vanne d'entrée reçoit une commande d'ouverture. Pour ouvrir la vanne d'entrée, le même processus sera de nouveau utilisé : un bloc fonction DS_SELECTX, dénommé inletValveCommand, enverra la commande d'ouverture, ici la constante 1, à l'adapter de vanne d'entrée. La commande d'ouverture de la vanne d'entrée est effectuée. Pour finaliser cette troisième étape, il faut maintenant développer la condition de transition. Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, la condition de transition de cette troisième étape est d'attendre que la vanne d'entrée soit ouverte. EIO0000004748.01 147 Le CAT de séquence de remplissage Pour détecter ce changement d'état de la vanne d'entrée, nous utiliserons la même procédure que celle décrite à la rubrique Étape d'activation de l'agitateur, page 143 : 1. Ajoutez un bloc fonction decodeState, dénommez-le inletValveStatusDecode et liezle comme précédemment à IInletValve. 2. Ajoutez un bloc fonction SMOOTH, dénommez-le inletValveOpenCheck et définissez la même valeur constante que pour agitatorOnCheck. 3. Liez inletValveOpenCheck comme suit : Variable Port lié INIT agitatorOnCheck.INITO : permet de créer une série d'initialisation, pour la même raison que précédemment avec la série DS_SELECTX. REQ inletValveStatusDecode.CNF IN1 inletValveStatusDecode.IN1 CNF Step3.TRANS_REQ OUT1 Step3.Exceeded 4. Ajoutez la constante 4 à Step3.TransStepId. Le développement de la troisième étape est maintenant terminé. Ajoutez une référence croisée aux liens entre inletValveCommand et IInletValve, entre inletValveStatusDecode et inletValveOpenCheck, entre agitatorOnCheck et inletValveOpenCheck, puis passez à l'étape suivante. 148 EIO0000004748.01 Le CAT de séquence de remplissage Étape d'ouverture de la vanne de réception Pour commencer le développement, ajoutez un nouveau bloc fonction SeqStep, dénommez-le Step4 et liez Step3.ISeqChainOut à Step4.ISeqChainIn. REMARQUE : Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, à cette étape, la vanne de réception est ouverte. Une fois la vanne de réception ouverte, le lait cru s'écoule dans les tuyaux et commence à remplir la cuve. Pour ouvrir la vanne de réception, à nouveau, un bloc fonction DS_SELECTX, dénommé receptionValveCommand, enverra la commande d'ouverture, ici la constante 1, à l'adapter de vanne de réception. La commande d'ouverture de la vanne de réception est effectuée. À ce stade, les deux vannes sont ouvertes et le lait cru est en train de remplir la cuve. Pour finaliser cette quatrième étape, il faut développer la condition de transition. Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, la condition de transition de cette quatrième étape est d'attendre que le niveau de produit dans la cuve atteigne la valeur attendue. EIO0000004748.01 149 Le CAT de séquence de remplissage Le niveau de produit dans la cuve est transmis via l'adapter ITankLevel. Il doit être comparé à la valeur attendue. C'est pourquoi un bloc fonction COMPARE est utilisé : 1. Ajoutez un bloc fonction COMPARE et dénommez-le LevelReachedCheck. 2. Remplacez le type de variable d'entrée ANY par REAL. 3. Liez ITankLevel.REQ à LevelReachedCheck.REQ et ITankLevel.Value à LevelReachedCheck.IN1. Le niveau de la cuve est transmis et actualisé en continu pour comparaison. 4. Liez Step4.STEP_ENTER à LevelReachedCheck.REQ pour forcer la mise à jour de l'entrée LevelReachedCheck lors du passage à l'étape. 5. Ajoutez une entrée à IN2. Cette entrée indique la valeur de niveau attendue à LevelReachedCheck. LevelReachedCheck CNF REQ COMPARE IN1 LT IN2 LE Ajouter une constante 1 Ajouter une entrée 2 Editeur de liens de routage Connexions… REMARQUE : En ajoutant l'entrée via cette méthode et non depuis l'éditeur Interface, son type est automatiquement défini sur le type de la variable d'entrée qui a été ajoutée (ici, REAL). 6. Cliquez n'importe où pour placer l'entrée dans le réseau. Elle sera directement connectée à LevelReachedCheck.IN2. 150 EIO0000004748.01 Le CAT de séquence de remplissage LevelReachedCheck ITankLevel REQ_FB REQ REQ REQ_STATUS COMPARE IAnalog Track State CNF Value ValueHi ValueLo Status IN2: REAL IN1 LT IN2 LE EQ Entrée de données : IN2 (*Argument*) Type : REAL NE Connecté à : GE LevelReachedCheck.IN2 GT 7. Vous pouvez modifier le nom de l'entrée ainsi ajoutée. Remplacez-le par LevelSp. 8. Une fois le nom saisi, la boîte de dialogue Editeur de type With s'ouvre pour vous permettre de la connecter à un événement. Connectez-la à INIT. À ce stade, LevelReachedCheck est correctement configuré et peut comparer la valeur de niveau à la valeur d'entrée LevelSp. EIO0000004748.01 151 Le CAT de séquence de remplissage Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, la séquence passe à l'étape suivante lorsque le niveau de produit attendu est atteint dans la cuve, autrement dit lorsqu'il est supérieur ou égal à LevelSp. 1. Un bloc fonction SMOOTH, dénommé LevelReached, doit être ajouté pour vérifier quand LevelReachedCheck.GE devient TRUE. 2. Définissez LevelReached de la même manière que les blocs fonction précédents. 3. Liez inletValveOpenCheck.INITO à LevelReached.INIT pour poursuivre la série d'initialisation. 4. Liez LevelReached à Step4 et ajoutez la constante 5 à Step4.TransStepId. Le développement de la quatrième étape est maintenant terminé. Ajoutez une référence croisée aux liens entre receptionValveCommand et IReceptionValve, entre inletValveOpenCheck et receptionValveOpenCheck, puis passez à l'étape suivante. Étape de fermeture des vannes d'entrée et de réception Pour commencer le développement, ajoutez un nouveau bloc fonction SeqStep, dénommez-le Step5 et liez Step4.ISeqChainOut à Step5.ISeqChainIn. REMARQUE : Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, à cette étape, les vannes de réception et d'entrée doivent être fermées, car le niveau de lait dans la cuve est suffisant. Pour fermer ces deux vannes, nous allons réutiliser les blocs fonction DS_SELECTX qui ont servi à les ouvrir. Cette action de fermeture est la véritable fonction de ces blocs. 152 EIO0000004748.01 Le CAT de séquence de remplissage Le bloc fonction DS_SELECTX permet de connecter une variable d'entrée à plusieurs variables de sortie, ce qui serait impossible autrement. DS_SELECTX obtient les différentes valeurs d'entrée et sélectionne celle qui sera transmise à la variable d'entrée du bloc fonction qui lui est lié. Cette sélection est effectuée grâce aux événements : lorsqu'une entrée d'événement de DS_SELECTX est déclenchée, sa valeur est sélectionnée et transmise à la variable d'entrée. Pour ajouter une seconde variable d'entrée aux blocs fonction DS_SELECTX et gérer la fermeture des vannes, procédez comme suit : 1. En utilisant l'une des deux méthodes décrites dans la rubrique Ouverture de la 3e vanne, ajoutez une seconde entrée à inletValveCommand et receptionValveCommand. 2. Pour les deux blocs fonction DS_SELECTX, ajoutez la constante 0 au port DI2_1. 3. Liez Step5.STEP_ENTER à inletValveCommand.REQ2. Ainsi, lors du passage à l'étape 5, REQ2 de inletValveCommand est déclenché. inputValveCommand sélectionne alors la deuxième variable d'entrée (ici, DI2_1 avec la valeur 0) et transmet sa valeur à InletValve.Lsp pour commander la fermeture de la vanne d'entrée. 4. Liez inletValveCommand.CNF2 à receptionValveCommand.REQ2 afin de créer une série d'actions. Lorsque DI2_1 est sélectionné, inletValveCommand.CNF2 est activé, ce qui déclenche receptionValveCommand.REQ2 et donc la sélection de receptionValveCommand.DI2_1. EIO0000004748.01 153 Le CAT de séquence de remplissage Les actions de fermeture des vannes d'entrée et de réception sont terminées. Pour finaliser cette cinquième étape, il faut maintenant développer la condition de transition. Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, la condition de transition de cette cinquième étape est d'attendre que les vannes d'entrée et de réception soient fermées. 1. Ajoutez un bloc fonction AND et dénommez-le InletReceptionCloseCheck. 2. Ajoutez un bloc fonction decodeState et dénommez-le receptionValveStatusDecode. 3. Liez IReceptionValve.CNF_STATUS à receptionValveStatusDecode.REQ et IReceptionValve.Status à receptionValveStatusDecode.State. 4. Liez inletValveStatusDecode.CNF et receptionValveStatusDecode.CNF à InletReceptionCloseCheck.REQ. Les deux blocs fonction decodeStatus peuvent alors déclencher InletReceptionCloseCheck. 154 EIO0000004748.01 Le CAT de séquence de remplissage 5. Liez inletValveStatusDecode.Active2 à InletReceptionCloseCheck.IN1. REMARQUE : Le port Active2 de inletValveStatusDecode et le CAT Valve de manière générale indiquent l'état de fermeture. L'état donné par ce port varie selon le type d'instrument. Il ne s'agit pas toujours de l'état fermé. C'est la raison pour laquelle des noms génériques ont été attribués aux ports decodeState, afin de s'adapter à tous les instruments. Pour connaître les ports associés aux différents états pour chaque instrument, consultez la documentation sur decodeState en sélectionnant l'un de ces ports et en appuyant sur <F1>. 6. Liez receptionValveStatusDecode.Active2 à InletReceptionCloseCheck.IN2. 7. Liez InletReceptionCloseCheck à Step5 et ajoutez la constante 6 à Step5. TransStepId. Le développement de la cinquième étape est maintenant terminé. Ajoutez une référence croisée aux liens entre InletReceptionCloseCheck et les deux blocs fonction decodeState inletValveCommand et InletReceptionCloseCheck. Masquez ensuite les ports de ces deux blocs fonction decodeState. Enfin, créez une référence croisée vers le lien entre Step5 et inletValveCommand. Passez à l'étape suivante une fois ces actions effectuées. Étape de désactivation de l'agitateur Pour commencer le développement, ajoutez un nouveau bloc fonction SeqStep, dénommez-le Step6 et liez Step5.ISeqChainOut à Step6.ISeqChainIn. EIO0000004748.01 155 Le CAT de séquence de remplissage REMARQUE : Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, à cette étape, l'agitateur est désactivé. Comme indiqué dans la rubrique Étape de fermeture des vannes d'entrée et de réception, page 152, le bloc fonction DS_SELECTX qui a servi à activer l'agitateur est réutilisé pour le fermer. 1. Ajoutez une deuxième entrée à agitatorCommand et ajoutez la constante 0 à son port DI2_1. 2. Liez Step6.STEP_ENTER à agitatorCommand.REQ2. À ce stade, la commande de désactivation de l'agitateur est envoyée. Pour finaliser cette sixième étape, il faut développer la condition de transition. Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, la condition de transition de cette sixième étape est d'attendre que l'agitateur soit désactivé. Pour vérifier cette condition, un bloc fonction SMOOTH est utilisé comme lors des étapes précédentes. 1. Ajoutez un bloc fonction SMOOTH, dénommez-le agitatorOffCheck et définissez-le comme le précédent. 2. Pour l'initialiser, liez LevelReached.INITO à agitatorOffCheck.INIT. 3. Liez agitatorStatusDecode.CNF à agitatorOffCheck.REQ et agitatorStatusDecode. Passive à agitatorOffCheck.IN1 pour vérifier que l'agitateur est désactivé. 156 EIO0000004748.01 Le CAT de séquence de remplissage 4. Pour transmettre le résultat de la comparaison, liez agitatorOffCheck.CNF à Step6. TRANS_REQ et agitatorOffCheck.OUT1 à Step6.Exceeded. 5. Enfin, ajoutez la constante 7 à Step6.TransStepId. Le développement de la sixième étape est maintenant terminé. Ajoutez une référence croisée aux liens entre agitatorStatusDecode, LevelReached et agitatorOffCheck. Masquez ensuite les ports de decodeState. Enfin, ajoutez une référence croisée au lien entre Step6 et agitatorCommand. Passez à l'étape suivante une fois ces actions effectuées. Étape de retrait de la propriété Pour commencer le développement de la dernière étape, ajoutez un nouveau bloc fonction SeqStep, dénommez-le Step7 et liez Step6.ISeqChainOut à Step7.ISeqChainIn. REMARQUE : Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, à cette étape, la propriété des instruments utilisés pendant la séquence doit être retirée. Comme dans les rubriques précédentes, les blocs fonction DS_SELECTX qui ont servi à acquérir la propriété des instruments, page 137 sont réutilisés pour la retirer. 1. Ajoutez une deuxième entrée à agitatorProgLocCommand, inletValveProgLocCommand et receptionValveProgLocCommand. 2. Attribuez la constante FALSE à cette deuxième entrée. 3. Pour créer la chaîne d'actions, liez Step7.STEP_ENTER à agitatorProgLocCommand.REQ2, puis agitatorProgLocCommand.CNF2 à inletValveProgLocCommand.REQ2, et enfin inletValveProgLocCommand.CNF2 à receptionValveProgLocCommand.REQ2. EIO0000004748.01 157 Le CAT de séquence de remplissage À ce stade, les commandes de retrait de la propriété des instruments sont envoyées. Pour finaliser cette dernière étape, il faut développer la condition de transition. Comme défini dans la rubrique Définition de la séquence de remplissage, page 113, la condition de transition de cette septième étape est d'attendre 2 secondes après l'envoi de la dernière commande, comme à l'étape Acquisition de la propriété, page 137. 1. Ajoutez un bloc fonction E_DELAY et dénommez-le TransStepTerminateDelay. 2. Liez receptionValveProgLocCommand.CNF2 à E_DELAY.START pour démarrer le minuteur une fois la commande de retrait de la propriété du dernier instrument exécutée. 3. Ajoutez la constante 2 secondes au minuteur. 4. Liez TransStepTerminateDelay.EO à Step7.TRANS_REQ pour déclencher l'étape lorsque le délai est dépassé. 5. Liez Step7.STEP_LEAVE à TransStepTerminateDelay.STOP pour arrêter le minuteur une fois l'étape quittée. 6. Enfin, ajoutez les constantes 8 à Step7.TransStepId et TRUE à Step7.Exceeded. 158 EIO0000004748.01 Le CAT de séquence de remplissage Le développement de la dernière étape est maintenant terminé. Ajoutez une référence croisée aux liens entre Step7 et agitatorProgLocCommand et entre receptionValveProgLocCommand et TransStepTerminateDelay. Passez ensuite à la dernière rubrique de cette section. Arrêt de la séquence de remplissage Maintenant que toutes les étapes de la séquence de remplissage ont été développées, la dernière action à effectuer consiste à ajouter un bloc fonction SeqTerminate, page 117 et à le lier à la dernière étape. Cela permet d'informer le bloc fonction SeqHead que la séquence arrive à son terme, de sorte qu'elle prenne l'état SeqCompleted. 1. Ajoutez un bloc fonction SeqTerminate et dénommez-le SeqTerminate. 2. Liez Step7.ISeqChainOut à SeqTerminate.ISeqChainIn. La séquence de remplissage est maintenant totalement terminée. EIO0000004748.01 159 Le CAT de séquence de remplissage Séquence d'arrêt du remplissage À ce stade, avec les éléments développés dans la rubrique Séquence de démarrage du remplissage, page 127, la séquence va : • positionner tous les instruments ; • remplir la cuve jusqu'à ce que le niveau de produit attendu soit atteint ; • fermer les vannes et mettre le moteur hors tension une fois le niveau attendu atteint. Le chemin par défaut de la séquence est alors correctement développé. Cependant, en cas d'imprévu ou si l'opérateur souhaite arrêter la séquence avant que le niveau soit atteint, la séquence ne pourra pas gérer ces situations. Pour arrêter à tout moment la séquence de remplissage, une seconde séquence doit être développée : la séquence d'arrêt du remplissage. La séquence d'arrêt du remplissage est définie comme suit : Élément Actions Démarrer Conditions Démarre lorsque la séquence de remplissage reçoit la commande d'arrêt. Étape 1 Les vannes TR1V01 et TR1V02 reçoivent une commande de fermeture. Les vannes TR1V01 et TR1V02 sont fermées. Étape 2 L'agitateur reçoit une commande d'activation. L'agitateur est désactivé. REMARQUE : Les deux étapes de la séquence d'arrêt du remplissage sont semblables aux cinquième et sixième étapes de la séquence de remplissage, comme indiqué dans la rubrique Définition de la séquence de remplissage, page 113. Ces étapes sont identiques car, dans les deux cas, elles visent le même but : arrêter le remplissage. Étape de démarrage de la séquence d'arrêt Comme expliqué dans la rubrique Séquence de remplissage, page 128, la première action à effectuer consiste à ajouter le bloc fonction SeqHead qui pilote et contrôle la séquence. Dénommez-le StopHead. 160 EIO0000004748.01 Le CAT de séquence de remplissage REMARQUE : Comme défini dans la rubrique Séquence d'arrêt du remplissage, page 160, la séquence démarre lorsque la séquence de remplissage reçoit la commande d'arrêt. L'état d'une séquence est fourni par les variables de sortie de son bloc fonction SeqHead. Par conséquent, pour savoir si la séquence de remplissage est en cours d'arrêt, il faut vérifier StartHead.SeqStopped. Lorsque cette variable prend la valeur TRUE, la séquence d'arrêt peut démarrer. Liez StartHead.SeqStopped à StopHead.PermStart. Pour mettre à jour la variable PermStart et autoriser le démarrage, l'événement REQ_ PERM doit être déclenché. Pour ce faire, vous aurez besoin d'un bloc fonction E_PERMIT. REMARQUE : Ce bloc fonction permet de transmettre les déclencheurs d'événement reçus uniquement si sa variable d'entrée est TRUE. Pour indiquer le changement d'état, l'événement StartHead.STATE_IND est vérifié. Cet événement est déclenché à chaque changement d'état de la séquence. Le bloc fonction E_ PERMIT est alors utilisé pour filtrer les déclencheurs de l'événement STATE_IND. Le bloc fonction E_PERMIT ne laisse passer les déclencheurs que lorsque StartHead.SeqStopped est sur TRUE, c'est-à-dire lorsque la séquence passe à l'état d'arrêt. 1. Ajoutez un bloc fonction E_PERMIT et dénommez-le StartStopSeq. 2. Liez StartHead.STATE_IND à StartStopSeq.EI. 3. Liez StartHead.SeqStopped à StartStopSeq.PERMIT. 4. Liez StartStopSeq.EO à StopHead.REQ_PERM. Comme programmé, l'autorisation de la séquence d'arrêt devient TRUE lorsque la séquence de remplissage reçoit une commande d'arrêt. Une dernière étape est requise : la commande de démarrage de la séquence. Un élément doit déclencher l'événement d'entrée START de SeqHead pour que la séquence démarre. Contrairement à la séquence de remplissage lancée par l'opérateur, cette séquence d'arrêt doit être démarrée automatiquement. Elle doit démarrer d'elle-même lorsque la séquence de remplissage reçoit une commande d'arrêt. Pour ce faire, liez StartHead.CMD_RESET à StopHead.START. EIO0000004748.01 161 Le CAT de séquence de remplissage Le bloc fonction SeqHead est maintenant complètement défini. Ajoutez une référence croisée au lien entre StartHead et les deux blocs fonction StartStopSeq et StopHead, puis passez à la rubrique suivante. Étapes de la séquence d'arrêt Comme expliqué dans la rubrique Séquence d'arrêt du remplissage, page 160, les deux étapes de la séquence d'arrêt sont semblables aux cinquième et sixième étapes de la séquence de remplissage. Cela signifie que la plupart des blocs fonction utilisés dans la séquence de remplissage pour les actions et les transitions peuvent être réutilisés. Par contre, les blocs fonction SeqStep ne peuvent pas être réutilisés. Chaque séquence a besoin de son propre bloc fonction. Ajoutez ensuite deux blocs fonction SeqStep (un par étape), dénommez-les StopStep1 et StopStep2, puis liez leur adapter ISeqChain pour créer une chaîne. Étape 1 : Fermeture des vannes Comme défini dans la rubrique Séquence d'arrêt du remplissage, page 160, à cette étape, les vannes de réception et d'entrée doivent être fermées même si le niveau de la cuve TR1 n'est pas forcément suffisant, car la séquence de remplissage doit être arrêtée. 162 EIO0000004748.01 Le CAT de séquence de remplissage Pour ce faire, connectez StopStep1.STEP_ENTER au bloc fonction DS_SELECTX déjà utilisé dans la séquence de remplissage pour cette action, en l'occurrence inletValveCommand.REQ2. Les actions de fermeture des vannes d'entrée et de réception sont exécutées de la même manière qu'à la cinquième étape de la séquence de remplissage. L'action de cette première étape est donc terminée. Pour finaliser l'étape, il faut développer la condition de transition. Comme défini dans la rubrique Séquence d'arrêt du remplissage, page 160, la condition de transition de cette première étape est d'attendre que les vannes d'entrée et de réception soient fermées. Le bloc fonction InletReceptionCloseCheck vérifie déjà que les vannes d'entrée et de réception de condition sont fermées. Pour définir ensuite la condition de transition sur StopStep1 : 1. Liez InletReceptionCloseCheck.CNF à StopStep1.TRANS_REQ. 2. Liez InletReceptionCloseCheck.OUT à StopStep1.Exceeded. 3. Ajoutez la constante 2 à StopStep1.TransStepId. Étape 2 : Désactivation de l'agitateur Comme défini dans la rubrique Séquence d'arrêt du remplissage, page 160, à cette étape, l'agitateur est désactivé. Pour ce faire, connectez StopStep2.STEP_ENTER au bloc fonction DS_SELECTX déjà utilisé dans la séquence de remplissage pour cette action, en l'occurrence agitatorCommand.REQ2. Les actions de désactivation de l'agitateur sont exécutées de la même manière qu'à la sixième étape de la séquence de remplissage. L’action de cette deuxième étape est donc terminée. Pour finaliser l'étape, il faut développer la condition de transition. Comme défini dans la rubrique Séquence d'arrêt du remplissage, page 160, la condition de transition de cette deuxième étape est d'attendre que l'agitateur soit désactivé. Pour vérifier cette condition, un bloc fonction SMOOTH est utilisé de la même manière que agitatorOffCheck. 1. Ajoutez un bloc fonction SMOOTH et dénommez-le StopM01OffCheck. 2. Liez agitatorOffCheck.INITO à StopM01OffCheck.INIT. 3. Liez agitatorOffCheck.CNF à StopM01OffCheck.REQ. 4. Liez agitatorStatusDecode.Passive à StopM01OffCheck.IN1. 5. Liez StopM01OffCheck.CNF à StopStep2.TRANS_REQ. 6. Liez StopM01OffCheck.OUT1 à StopStep2.Exceeded. EIO0000004748.01 163 Le CAT de séquence de remplissage 7. Ajoutez la constante 3 à StopStep2.TransStepId. Le développement des deux étapes de la séquence d'arrêt est maintenant terminé. Ajoutez une référence croisée aux liens entre ces nouveaux blocs fonction et ceux qui existent déjà. Arrêt de l'étape Pour terminer le développement de la séquence, ajoutez un bloc fonction SeqTerminate, dénommez-le StopTerminate et liez-le à StopStep2. La séquence d'arrêt est maintenant totalement terminée. Elle permet à l'opérateur d'arrêter correctement la séquence de remplissage lorsque cela est nécessaire. Finalisation du développement du CAT Maintenant que les deux séquences requises ont été développées, il est possible de finaliser le développement du CAT et d'organiser son réseau. Pour terminer le développement du CAT, un dernier lien doit être ajouté. Ce lien relie StopM01OffCheck.INITO et l'événement de sortie INITO. Comme ce bloc fonction SMOOTH est le dernier de la chaîne d'initialisation, il doit être lié à l'événement de sortie. Cela prouve que tous les blocs fonction du CAT ont été correctement initialisés car une fois initialisé, chacun d'eux initialise le suivant. REMARQUE : Lorsque la sortie INITO est connectée à la chaîne d'initialisation, cela prouve aux autres blocs fonction que le CAT TankFilling a été complètement initialisé. Au final, une fois tous les ports ajoutés, modifiés et supprimés, l'éditeur Interface TankFilling se présente comme suit : 164 EIO0000004748.01 Le CAT de séquence de remplissage Si les événements ou les variables ne sont pas dans le même ordre, vous pouvez les réorganiser en faisant glisser leur nom sur la ligne supérieure ou inférieure. À présent, des cadres doivent être ajoutés au réseau pour organiser le bloc fonction. Un cadre est une zone rectangulaire qui peut être ajoutée à l'arrière d'un réseau. 1 2 Afficher dans l'explorateur de solution CAT 1 FB Adapter Cadre Ajouter un cadre Attributs… Ajouter un commentaire Redessiner les connexions Propriétés… 2 Le cadre a pour but : • d'organiser, de rationaliser et de rassembler les blocs fonction liés dans la même zone, par exemple pour représenter la zone fonctionnelle ; • de regrouper les blocs fonction. En déplaçant le cadre, vous pouvez déplacer tous les blocs fonction qui s'y trouvent. Ajoutez un cadre pour chacun des trois groupes suivants : Instrument status, Start Filling et Stop Filling. Ajoutez ensuite tous les blocs fonction associés dans ces cadres. EIO0000004748.01 165 Le CAT de séquence de remplissage Pour plus de clarté, chaque cadre peut être personnalisé : • En ajoutant un titre : Instrument status, Start Filling et Stop Filling Frame Properties 1 x2 Divers BackgroundColor Font MoveStyle Name Text TextAlignment TextColor Police AliceBlue Microsoft Sans Serif, 1 … AnyContained FRAME2 TopLeft Black Obtient ou définit la police de caractères utilisée par cet objet textuel • 166 Style : Taille : Microsoft Sans Serif Normal Normal Oblique Gras Oblique gras 10 10 11 12 14 16 18 Microsoft Sans Serif Microsoft Tai Le Microsoft Uighur Microsoft YaHei Microsoft YaHei UI 5 Font OK 2 Police : 6 Effets Barré Souligné OK 4 Annuler 3 Aperçu AaBbYyZz Script : Occidental Cancel En modifiant la couleur d'arrière-plan : LemonChiffon, Lavender et Honeydew EIO0000004748.01 Le CAT de séquence de remplissage REMARQUE : L'organisation vue dans cette rubrique (positions des blocs fonction, positions des cadres, couleurs, etc.) est purement subjective. Il ne s'agit que d'une proposition, pas d'une règle universelle. Test du CAT Maintenant que le CAT a été entièrement développé, testons-le en ligne pour voir le résultat des deux séquences programmées précédemment. L'objectif de ce test est de constater que le processus fonctionne et de montrer comment manipuler en ligne les blocs fonction. Mise en ligne du CAT Plusieurs actions doivent être réalisées avec le CAT TankFilling avant de pouvoir le tester en ligne. EIO0000004748.01 167 Le CAT de séquence de remplissage Positionner le CAT Accédez à la couche TR1 de l'application Whole_Milk_Tank depuis l'éditeur système. Ajoutez le CAT TankFilling à la couche et dénommez-le TankFillingSequence. REMARQUE : Bien que le CAT TankFilling soit un bloc fonction personnalisé, il peut être ajouté de la même manière que les blocs fonction des librairies standard, comme indiqué dans la rubrique Ajout d'un bloc fonction, page 38. Mapper le CAT Mappez TankFillingSequence sur la ressource RES0 de l'équipement EcoRT_0 en suivant l'une des deux méthodes expliquées dans la rubrique Mappage, page 84. Ajouter un bloc fonction d'initialisation de la séquence Accédez à la couche Local de la ressource RES0. Cette couche ne contient actuellement que deux blocs fonction : START et INITIALIZE. Un troisième sera ajouté spécialement pour initialiser la séquence. Il porte le nom EVENCHAINHEAD. Comme le bloc fonction DPAC_FULLINIT, tel qu'indiqué dans la rubrique Initialisation de l'équipement, page 88, EVENCHAINHEAD sert à initialiser des blocs fonction spécifiques en leur envoyant le déclencheur d'initialisation de l'équipement. REMARQUE : La différence avec DPAC_FULLINIT est que EVENCHAINHEAD initialise certains blocs fonction en fonction de sa configuration, pas tous les blocs fonction d'application et de matériel. 168 EIO0000004748.01 Le CAT de séquence de remplissage 1. Ajoutez le bloc fonction DPAC_FULLINIT et dénommez-le ECH_SEQ. 2. Ajoutez la constante FALSE à INVERT et « SEQ_INIT » à NAME. REMARQUE : Cette deuxième constante définit les blocs fonction qui seront initialisés. Ici, « SEQ_INIT » permet d'initialiser les blocs fonction de la séquence. 3. Liez INITIALIZE.INITO à ECH_SEQ.INIT et ECH_SEQ.INITO à ECH_SEQ.TRIGGER. Les séquences peuvent maintenant être initialisées. Enregistrez tout et passez à la dernière section de la rubrique. Déployer l'application Accédez au menu Déploiement et diagnostic, puis, comme dans la rubrique Compilation, déploiement et exécution de l'application, page 90, réalisez les six actions suivantes : 1. Compiler 2. Simulation d'exécution > Démarrer 3. Connexion 4. Déployer > Nettoyer 5. Déployer > Déployer 6. Actions équipement > Exécuter Après ces actions, l'application (TankFillingSequence compris) est déployée et s'exécute en ligne. Le CAT est alors prêt à être testé. EIO0000004748.01 169 Le CAT de séquence de remplissage Observation, déclenchement d'un événement et forçage d'une valeur Maintenant que l'application et le CAT TankFillingSequence sont en ligne et en cours d'exécution, vous pouvez commencer à manipuler le CAT. Trois actions principales sont disponibles : • Observer, page 170 : permet d'afficher la valeur en ligne actuelle d'une variable ou d'un événement. • Déclencher un événement, page 173 : permet de déclencher manuellement un événement. Cette action peut être utilisée pour lancer le programme ou mettre à jour des variables. • Forcer la valeur, page 174 : permet de forcer la valeur d'une variable. La valeur actuelle de la variable est remplacée par la valeur forcée. La variable conserve cette valeur tant qu'elle est forcée. REMARQUE : Pour en savoir plus sur ces trois actions, reportez-vous à la rubrique Test et dépannage dans le Manuel utilisateur. Pour la trouver, accédez à Solution EcoStruxure Automation Expert > Dépannage, conseils et codes d'erreur détectée > Test et dépannage. Pour tester ces actions, passez à la couche TR1 de l'application Whole_Milk_Tank. Observer Ajoutez un espion afin d'observer le CAT TankFillingSequence. 170 EIO0000004748.01 Le CAT de séquence de remplissage TankFillingSequence INITO CNF Couper 1 Copier TankFilling Supprimer IPassive LevelSp Masquer les ports (Ctrl+H) IPasteuriz LevelHigh Commentaire... IReception Attributs… ITankLevel IInl Déplacer vers la couche INIT REQ_LvlHigh Ajouter espion Supprimer espion 2 Mappage Atteindre la définition Afficher dans l'explorateur de solution Rechercher toutes les références Focus sur la sélection Ctrl+Q Créer un composite des FB sélectionnés REMARQUE : Si vous effectuez un clic droit sur le bloc fonction, tous ses ports seront observés. Par contre, si vous effectuez un clic droit sur un port, seul ce port sera observé. Ici, comme le bloc fonction a été sélectionné, tous ses ports sont désormais observés. L'application vient d'être déployée et exécutée, donc les ports de TankFillingSequence sont tous réglés sur leur valeur par défaut, soit 0 ou FALSE. Dès que vous ajoutez un espion pour un bloc fonction ou un port, celui-ci est observé jusqu'à ce que l'espion soit supprimé. Pour savoir quels ports et blocs fonction sont observés, ouvrez l'onglet Observer. EIO0000004748.01 171 Le CAT de séquence de remplissage Système Applications Whole_Milk_Tank TR1 TankFillingSequence 0 0 INIT INITO 0 REQ_LvlHigh TankFilling 0 FALSE IAgitator>> LevelSp IPasteurizerValve>> LevelHigh IReceptionValve>> >>ITankLevel IInletValve>> >> Observer Nom 172 Valeur Dernière modification EcoRT_0.RES0.TankFillingSequence.LevelSp Statut 0 25/05/2022 9:53:12.971 AM EcoRT_0.RES0.TankFillingSequence.LevelHigh FALSE 25/05/2022 09:53:13.194 AM EcoRT_0.RES0.TankFillingSequence.INIT 0 25/05/2022 09:53:13.194 AM EcoRT_0.RES0.TankFillingSequence.REQ_LvlHigh 0 25/05/2022 9:53:12.749 AM EcoRT_0.RES0.TankFillingSequence.INITO 0 25/05/2022 9:53:12.971 AM ID d'espion EIO0000004748.01 Le CAT de séquence de remplissage Si vous n'avez pas accès à cet onglet Observer, vous pouvez l'ouvrir à l'aide du menu Affichage comme illustré ci-dessous. Graphique Fichier Accueil Affichage Aide Format Afficher/masquer la grille Afficher/masquer Fichier système Disposition Epier une tendance Système Pavé d'arborescence des instances (Ctrl+Alt+C) Système Points d'arrêt Observer Déclencher un événement Maintenant que le bloc fonction est observé, les modifications apportées en déclenchant un événement sont visibles. Par exemple, déclenchons l'événement d'entrée INIT. L'événement d'entrée doit être déclenché pour initialiser les blocs fonction SMOOTH dans le CAT. Étant donné qu'une chaîne d'initialisation a été créée, l'initialisation de tous les blocs fonction sera déclenchée. Et comme l'événement de sortie a été connecté au dernier bloc fonction, si l'initialisation s'est effectuée complètement, INITO sera aussi mis à jour automatiquement. 1 2 TankFillingSequence 0 0 INIT REQ_LvlHigh CNF Observer 1 Déclencher un événement TankFilling INITO 0 TankFillingSequence 1 0 2 IAgitator>> LevelSp Réinitialiser le nombre d'événements IPasteurizerValve>> LevelHigh Editeur de liens de routage >>ITankLevel IReceptionValve>> Connexions… IInletValve>> EIO0000004748.01 INITO 1 TankFilling Bloquer un événement 0 FALSE INIT REQ_LvlHigh 0 FALSE IAgitator>> LevelSp IPasteurizerValve>> LevelHigh >>ITankLevel IReceptionValve>> IInletValve>> 173 Le CAT de séquence de remplissage Lorsque l'événement de sortie INITO passe à 1, il certifie que les blocs fonction SMOOTH faisant partie de la chaîne INIT ont été correctement initialisés. Forcer la valeur Pour forcer la valeur d'une variable, procédez comme suit : 1. Effectuez un clic droit sur une variable et sélectionnez Forcer la valeur. 2. Dans la boîte de dialogue qui s'affiche, saisissez le nombre souhaité (pour une valeur de type INT, REAL, etc.) ou cliquez sur la valeur (pour un booléen) pour la changer. 3. Enfin, validez la valeur forcée. La valeur de la variable est forcée. Une valeur forcée est représentée différemment d'une valeur observée, de manière à pouvoir la distinguer facilement. REMARQUE : Le forçage d'une valeur met fin à son observation, car la valeur forcée remplace la valeur d'entrée. Pour arrêter le forçage de la valeur, désélectionnez Forcer la valeur ou sélectionnez à nouveau l'option Observer pour redonner la priorité à la valeur d'entrée. Mise en route de la séquence de remplissage Vous savez utiliser les actions Observer, Déclencher un événement et Forcer la valeur, page 170, et TankFillingSequence a été initialisé. À présent, préparons le démarrage de la séquence de remplissage. 174 EIO0000004748.01 Le CAT de séquence de remplissage La première action consiste à ouvrir le CAT. Pour ce faire, double-cliquez dessus. Le CAT s'ouvre et tous les blocs fonction précédemment développés sont visibles. REMARQUE : Ce bloc fonction étant un enfant de la classe TankFilling, il est composé de tous ses éléments. Par conséquent, il est impossible de modifier directement TankFillingSequence. Si un élément doit être modifié, la modification doit être apportée directement dans TankFilling. Elle s'appliquera à TankFillingSequence et aux autres CAT de cette classe dans le projet. Pour démarrer la séquence, son autorisation doit d'abord être approuvée. Pour ce faire, vous devez observer StartHead et les blocs fonction associés à son autorisation. Une anomalie est visible sur l'image ci-dessus. Même si les entrées LevelHigh et TR1V03 Open sont FALSE, comme souhaité dans la définition de la séquence, page 113, l'entrée d'autorisation de StartHead est encore FALSE. En effet, les blocs fonction NOT et AND doivent être déclenchés une fois pour ignorer leurs valeurs par défaut et être correctement mis à jour. Pour cela, revenez au niveau de la couche grâce au fil d'Ariane de l'éditeur Réseau de blocs fonction ou au bouton de navigation rapide de l'éditeur système. Ensuite, déclenchez REQ_LvlHigh, puis ouvrez le CAT pour constater la mise à jour. EIO0000004748.01 175 Le CAT de séquence de remplissage Le déclenchement de l'entrée a entraîné le déclenchement des blocs fonction StartHead, NOT et AND. La preuve en est que leurs événements REQ et CNF sont réglés sur 1. Ils sont à présent mis à jour sur la valeur correcte et l'entrée d'autorisation de StartHead est réglée sur TRUE. La séquence de remplissage est prête à démarrer. Passez à la rubrique suivante pour lancer l'opération. Test de la séquence de remplissage Maintenant que l'autorisation de la séquence est TRUE, nous pouvons la démarrer. Mais avant cela, il faut observer tous les blocs fonction SeqStep de la séquence afin de voir comment ils sont mis à jour. REMARQUE : Le nombre maximum de variables observées est atteint. Vous devez donc supprimer les blocs fonction qui ne sont plus utilisés. Ici, les blocs fonction d'autorisation. Supprimez ensuite l'espion des blocs fonction AND et NOT. 176 EIO0000004748.01 Le CAT de séquence de remplissage Maintenant que tout est prêt, déclenchez StartHead.START. Voici ce qui se produit : Variable Ancienne valeur Nouvelle valeur StartHead. SeqStopped TRUE FALSE La séquence a démarré, elle n'est donc plus arrêtée. StartHead. SeqRunning FALSE TRUE La séquence a démarré, elle est donc en cours d'exécution. Step1.STEP_ENTER 0 1 La séquence passe à la première étape. Step1.TRANS_REQ 0 1 2 secondes après, Step1.TRANS_REQ passe à 1. Step1.STEP_LEAVE 0 1 Une fois Step1.TRANS_REQ déclenché et sa valeur Exceed sur TRUE, l'étape 1 est quittée. Step2.STEP_ENTER 0 1 Une fois l'étape 1 quittée, l'étape suivante Step2 est acquittée. Commentaires La séquence a réagi correctement et a atteint la première étape (même si, dans la pratique, la propriété des instruments n'a pas été acquise, car TankFillingSequence n'est pas encore connecté à des blocs fonction d'instrument). La séquence attend que la condition de transition de l'étape 2 soit TRUE. Étant donné qu'aucun instrument n'est connecté à TankFillingSequence, il ne peut pas recevoir de retour des adapters d'instrument. Ces retours seront fournis en forçant les valeurs et en déclenchant des événements. EIO0000004748.01 177 Le CAT de séquence de remplissage Pour passer à la troisième étape, l'agitateur doit être activé. Pour ce faire, la valeur Status de l'adapter IAgitator doit être forcée. REMARQUE : Il peut arriver que la valeur de forçage ne soit pas prise en compte après avoir effectué ces étapes. Veillez à sélectionner OK après avoir saisi la valeur 1, puis à appuyer sur Entrée dans la boîte de dialogue des valeurs forcées. Une fois que la valeur de l'adapter a été forcée, le port se présente comme suit : Après avoir forcé IAgitator.Status, déclenchez IAgitator.CNF_STATUS pour transmettre la valeur forcée aux blocs fonction suivants. La condition de transition de l'étape 2 est validée. L'étape 2 est alors quittée et l'étape 3 démarrée immédiatement après. 178 EIO0000004748.01 Le CAT de séquence de remplissage Maintenant que vous maîtrisez ces actions (Observer, Déclencher un événement et Forçer la valeur) et que vous savez naviguer dans le CAT et manipuler les blocs fonction de séquence, vous pouvez finaliser le test de la séquence. Une fois arrivé à la fin de l'étape 7, vous verrez que la séquence s'arrête d'elle-même. Starthead. SeqRunning est maintenant sur FALSE et Starthead.SeqCompleted sur TRUE, ce qui prouve que la séquence est complètement terminée. REMARQUE : Si un problème survient pendant le test et que vous souhaitez redémarrer la séquence pour réinitialiser les variables, accédez à Déploiement et diagnostic et procédez comme suit : > Nettoyer > Déployer 3. Actions équipement > Exécuter 1. Déployer 2. Déployer EIO0000004748.01 179 La cuve de lait entier La cuve de lait entier Objet de cette section Regrouper tous les éléments décrits et développés dans les deux chapitres précédents pour finaliser le processus de remplissage de la cuve de lait entier. Rubriques principales • Ajout de retours simulés au projet • Regroupement des instruments et des blocs fonction du processus de remplissage de la cuve • Développement d'un bouton de réinitialisation du niveau de la cuve • Définition du paramétrage hors ligne des instruments • Développement du canvas de processus • Exécution du processus complet Pour réaliser cette section, vous pouvez : • poursuivre avec la solution EcoStruxure Automation Expert utilisée dans la partie précédente ; • commencer par la solution archivée officielle. REMARQUE : Si vous choisissez de commencer par la solution archivée officielle, vous trouverez le fichier dans le dossier Windows suivant : EcoStruxure Automation ExpertC:\Program Files (x86)\Schneider Electric\ Buildtime 22.0\GettingStartedProject\Archive files. Le fichier porte le nom GettingStarted_ BeginningWholeMilkTank.sln. Si, lors de l'ouverture de la solution archivée, un message indique qu'une version spécifique des librairies est manquante, suivez les instructions fournies à ce sujet dans la rubrique Le CAT de séquence de remplissage, page 112. Finalisation de l'éditeur système L'objectif de cette sous-section est de finaliser tous les éléments de la couche TR1 de l'application Whole_Milk_Tank afin que la version finale du projet puisse être testée en ligne. 180 EIO0000004748.01 La cuve de lait entier La finalisation de la couche TR1 requiert les étapes suivantes : • Importation du composite de simulation de cuve pour gérer les retours des instruments • Finalisation de tous les blocs fonction de la couche TR1 (suppression des blocs fonction inutilisés, liaison des blocs restants et définition du paramétrage hors ligne) • Implémentation d'un bouton de réinitialisation pour réinitialiser le niveau de la cuve une fois remplie • Organisation de la couche Importation d'un composite de simulation de cuve Dans cette rubrique, comme indiqué dans la rubrique Finalisation de l'éditeur système, page 180, un composite dénommé TankSim est ajouté à la solution. Ce composite sert à simuler les réactions standard des instruments de la séquence de remplissage. Grâce à lui, des retours fictifs vers la séquence vont être simulés, comme si les instruments réagissaient vraiment aux commandes envoyées. REMARQUE : Il n'est donc pas nécessaire de forcer les valeurs ni de déclencher les événements des instruments comme lors du test de la partie Le CAT de séquence de remplissage, page 176. Comme expliqué dans la rubrique Importation de contenu, page 27, importez le composite dénommé TankSim. Son fichier se trouve dans le dossier Windows C:\Program Files (x86) \Schneider Electric\EcoStruxure Automation Expert - Buildtime 22.0\GettingStartedProject \Composites. Il porte le nom GettingStarted_TankSim.Composite. Le composite TankSim apparaît normalement dans le nœud Composite du pavé Explorateur de solution. À présent, ajoutez ce composite à la couche TR1 de l'application Whole_Milk_Tank et dénommez-le TR1Sim. Finalisation de tous les blocs fonction Comme indiqué dans la rubrique Finalisation de l'éditeur système, trois actions principales doivent être effectuées sur les blocs fonction pour que la séquence soit enfin prête : 1. Supprimer tous les blocs fonction inutilisés de la couche TR1 EIO0000004748.01 181 La cuve de lait entier 2. Lier les blocs fonction restants pour permettre leur initialisation et afin qu'ils puissent communiquer 3. Modifier le paramétrage hors ligne Suppression des blocs fonction inutilisés Dans cette première section, tous les éléments liés à l'application factice développée dans la rubrique Configuration des instruments, page 38 doivent être supprimés, car ils n'ont plus d'utilité dans la séquence de remplissage. Il s'agit des éléments suivants : • Toutes les composites Transmission • Tous les blocs fonction logiques (AND et COMPARE) • Tous les liens entre les blocs fonction ajoutés pour l'application factice • La sortie numérique FinalValidation Les seuls blocs fonction restants sont : les sept blocs fonction d'instrument, le CAT de la séquence de remplissage et le composite de simulation. Liaison des blocs fonction Dans cette section, tous les blocs fonction vont être liés pour que les communications entre la séquence, les instruments et le composite de simulation se déroulent correctement. Liez chaque instrument au bloc fonction de la séquence de remplissage comme suit : Liez à TankFillingSequence.IAgitator TR1M01.ISc TankFillingSequence.IPasteurizerValve TR1V03.ISc TankFillingSequence.IReceptionValve TR1V02.ISc TankFillingSequence.IInletValve TR1V01.ISc TankFillingSequence.ITankLevel TR1LT01.IPv REMARQUE : La séquence peut désormais dialoguer avec chaque actionneur. L'adapter IDevice inclus dans chacun d'eux communique directement avec l'adapter du bloc TankFillingSequence auquel il est lié. 182 EIO0000004748.01 La cuve de lait entier TankFillingSequence a été lié à tous les instruments. Plusieurs liens associés à la simulation du niveau de la cuve doivent maintenant être ajoutés. REMARQUE : La simulation du niveau de la cuve est la seule qui nécessite des liens. Les simulations de retour des instruments ne requièrent aucun liaison physique, car elles sont reliées par une communication Symlink. Pour en savoir plus sur cette autre façon de lier des variables, reportez-vous à la rubrique Liens symboliques dans le Manuel utilisateur. Pour simuler le niveau de la cuve, liez TR1LT01.Pv à TR1Sim.LevelVal et TR1LT01.CNF à TR1Sim.REQ. La valeur de l'entrée analogique est alors transmise au bloc fonction de simulation afin que le niveau du produit dans la cuve puisse être simulé. De plus, TR1Sim compare la valeur simulée du niveau de la cuve à la valeur basse et à la valeur haute. Si la valeur simulée est inférieure, TR1Sim simule les alarmes. REMARQUE : TR1Sim compare le niveau par rapport au niveau haut et au niveau bas. Lorsque ces limites sont dépassées, TR1Sim effectue deux actions : • Définit TR1Sim.LevelHigh sur TRUE et active TR1Sim.LVL_HIGH si la valeur est supérieure à la limite haute. • Active TR1LSL01 ou TR1LSH01 (selon la limite franchie) en utilisant à nouveau Symlink. Pour pouvoir simuler les alarmes : 1. Ajoutez les constantes 10 à TR1Sim.MinLimit et 90 à TR1Sim.MaxLimit. Ces deux valeurs correspondent aux limites haute et basse. 2. Liez TR1Sim.LVL_HIGH à TankFillingSequence.REQ_LvlHigh et TR1Sim. LevelHigh à TankFillingSequence.LevelHigh pour transmettre à la séquence les informations de limite haute. 3. Ajoutez la constante 90 à TankFillingSequence.LevelSp pour informer la séquence du niveau de produit requis dans la cuve. REMARQUE : Il se peut que les nouveaux liens ajoutés s'affichent sous la forme d'une ligne en tirets. Cela signifie que les blocs fonction liés ne sont pas dans le même état de mappage (l'un est mappé et l'autre non). Tous les éléments associés à la simulation ont été ajoutés à la couche. Ajoutez une référence croisée à tous les liens ajoutés dans cette partie. EIO0000004748.01 183 La cuve de lait entier Enfin, les derniers liens à ajouter entre ces blocs fonction sont associés à leur initialisation. TankFillingSequence et TR1Sim doivent recevoir un déclencheur dans leur événement d'entrée INIT pour initialiser certains de leurs blocs fonction. 1. Ajoutez un bloc fonction plcStart et dénommez-le plcStart. REMARQUE : Ce bloc fonction est connecté via Symlink au bloc fonction DPAC_FULLINIT ajouté à la ressource RES0. Ainsi, lorsque INITIALIZE est déclenché par le bloc fonction START dans la ressource, ce déclencheur est transmis à plcStart. Une fois le déclencheur reçu, plcStart active FIRST_INIT, puis initialise tous les blocs fonction de la couche une fois la liaison effectuée. 2. Liez plcStart.FIRST_INIT à TankFillingSequence.INIT. 3. Liez TankFillingSequence.INITO à TR1Sim.INIT pour créer une chaîne d'initialisation. 4. Enfin, liez TR1Sim.INITO à plcStart.ACK_FIRST pour confirmer que tous les blocs fonction ont bien été initialisés. L'initialisation de tous les blocs fonction de l'application est maintenant terminée. Ajoutez une référence croisée à tous les liens ajoutés dans cette partie. Paramétrage hors ligne La valeur par défaut de certains paramètres doit être modifiée. Pour cela, accédez à l'éditeur Paramétrage hors ligne. Cet éditeur contient l'ensemble des paramètres des différents blocs fonction. Modifiez les paramètres suivants : Paramètre Valeur par défaut Nouvelle valeur TR1LT01.IThis. Pt1FTime 1 5.0 Ce paramètre définit la durée de la mise à jour de l'entrée analogique, en secondes. TR1LT01.highHigh. IThis.LimitSp 0 95.0 Ce paramètre définit la limite de l'alarme Très élevée, en pourcentage. TR1LT01.high.IThis. LimitSp 0 90.0 Ce paramètre définit la limite de l'alarme Élevée, en pourcentage. TR1LT01.low.IThis. LimitSp 0 10.0 Ce paramètre définit la limite de l'alarme Basse, en pourcentage. Commentaire Suite à la modification de ces paramètres, le paramétrage hors ligne est maintenant terminé et tous les blocs fonction ont été complètement définis. 184 EIO0000004748.01 La cuve de lait entier Implémentation du bouton de réinitialisation Le processus de remplissage de la couche TR1 est maintenant entièrement terminé. Il contient la séquence, les instruments, la simulation et le bloc fonction d'initialisation. Tous ces blocs fonction sont correctement liés les uns aux autres. Il manque cependant un élément. Pour l'instant, le processus remplit seulement la cuve. Rien n'a été prévu pour la vider depuis l'IHM. Pour ce faire, un bouton de réinitialisation permettant de remettre le niveau de la cuve à 0 va être développé. REMARQUE : Cette solution est acceptable, car il ne s'agit que d'une simulation. Pour une application réelle, une séquence de décharge aurait également été requise. Ce bouton de réinitialisation a été choisi, car le projet de Démarrage rapide est déjà important. Par ailleurs, comme la séquence de décharge aurait été assez similaire à la séquence de remplissage, elle aurait été répétitive. Pour créer ce bouton de réinitialisation, nous allons utiliser le même processus que dans la rubrique Configuration des instruments, page 38 pour ouvrir les vannes : 1. Ajoutez un bloc fonction DigitalInput et dénommez-le ResetButton. Cette entrée numérique sera utilisée pour recevoir la requête de réinitialisation effectuée par l'utilisateur sur l'IHM. 2. Ajoutez un bloc fonction E_PERMIT et dénommez-le PermitReset. Ce bloc fonction reçoit la valeur de ResetButton et ne transfère le déclencheur de réinitialisation que si la valeur est TRUE. 3. Liez ResetButton.CNF à PermitReset.EI, ResetButton.Pv à PermitReset.PERMIT et PermitReset.EO à TR1Sim.RESET_LEVEL. 4. Liez plcStart.FIRST_INIT à ResetButton.REQ_SUPPRESS_ALM et ajoutez la constante TRUE à SuppressAlarmSignal. Ainsi, l'alarme de ResetButton est supprimée lors de l'initialisation. Par conséquent, l'entrée numérique ne déclenche aucune alarme lorsqu'elle est activée pour réinitialiser le niveau de la cuve. Le bouton de réinitialisation est maintenant complètement terminé. Il est possible de réinitialiser le niveau de la cuve simplement en activant ResetButton sur l'IHM. Ajoutez une référence croisée aux liens entre plcStart et ResetButton, puis passez à la rubrique suivante. EIO0000004748.01 185 La cuve de lait entier Organisation de la couche Avant d'organiser la couche, mappez tous les blocs fonction ajoutés dans les rubriques précédentes sur la ressource RES0. La couche TR1 étant maintenant développée, il est possible de l'organiser en ajoutant trois cadres. Un cadre par catégorie : 1. Les instruments 2. La séquence 3. Le reste des blocs fonction La couche TR1 et tous ses blocs fonction sont entièrement développés et terminés. Développement du canvas de processus L'objectif de cette sous-section est de développer le canvas du processus de remplissage de l'unité TR1. Ce canvas doit contenir : 186 • une représentation schématique de la cuve et de la tuyauterie nécessaire à son remplissage ; • une représentation des instances de l'ensemble des instruments inclus dans la séquence et du bouton de réinitialisation ; EIO0000004748.01 La cuve de lait entier • une vue d'ensemble de la séquence et un détail de chaque étape. Traçage de la tuyauterie La première étape du développement du canvas de processus consiste à ajouter tous les éléments de l'installation liés au processus de remplissage de la cuve TR1, c'est-à-dire à représenter la cuve et les tuyaux. Ces éléments sont le squelette de l'unité. Ils représentent sur l'IHM les flux de matière disponibles sur l'unité. Ces flux de matière sont définis par le P&ID. REMARQUE : Les flux de matière représentés dans le canvas ont été précédemment définis par le P&ID détaillé dans la rubrique Présentation du processus, page 14. Pour obtenir une représentation claire et minimaliste de la cuve TR1, les deux règles suivantes doivent être respectées : • Les tuyaux doivent se croiser le moins possible. • Chaque tuyau doit comporter le moins de segments possible. Maintenant que ces règles sont connues, commençons à dessiner cette représentation schématique de l'unité TR1. Pour dessiner toutes les représentations, ouvrez d'abord le canvas WholeMilkTank et sélectionnez l'outil Ligne dans la barre d'outils. WholeMilkTank Ligne Avec cet outil, tracez la première ligne qui sera utilisée pour dessiner la cuve. EIO0000004748.01 187 La cuve de lait entier De la même manière, tracez les autres lignes de la cuve. La cuve est maintenant tracée. La tuyauterie doit être ajoutée en respectant les deux règles et ce qui a été défini dans le P&ID. 188 EIO0000004748.01 La cuve de lait entier Il est possible de modifier légèrement la tuyauterie par rapport au P&ID afin de respecter les deux règles. REMARQUE : La modification de la tuyauterie respecte les réglages des instruments et leur position par défaut. AVANT APRÈS RÉSERVOIRS DE LAIT ENTIER RÉCEPTIONLAIT CRU RÉSERVOIRS DE LAIT ENTIER RÉCEPTIONLAIT CRU Sur le P&ID modifié, il est plus facile de distinguer les deux lignes de flux de lait cru associées aux séquences de remplissage de la cuve TR1 : • Le tuyau reliant la ligne de réception de lait cru à la cuve TR1 (en rouge sur l'image ci-dessous) • Le tuyau reliant la cuve TR1 au pasteurisateur (en bleu foncé sur l'image ci-dessous) EIO0000004748.01 189 La cuve de lait entier Utilisez l'outil Ligne pour tracer les deux lignes de flux d'après l'image ci-dessus. 190 EIO0000004748.01 La cuve de lait entier Enfin, pour identifier les différentes lignes de flux du produit, nous allons ajouter un texte au bout de chaque ligne. 1. Ajoutez deux textes et accédez à leur pavé Propriétés. 2. Remplacez le texte Texte par Raw Milk Reception et Pasteurizer. 3. Remplacez la taille de la police 9 par 18. EIO0000004748.01 191 La cuve de lait entier Une fois le nom ajouté, la tuyauterie de l'unité TR1 est terminée. Inclusion des instruments dans la tuyauterie Maintenant que toute la tuyauterie de l'unité TR1 a été développée dans la rubrique Traçage de la tuyauterie, page 187, les instruments utilisés dans la séquence doivent y être ajoutés. 192 EIO0000004748.01 La cuve de lait entier REMARQUE : Tous les instruments ont déjà été ajoutés au canvas dans la rubrique Ajout des instances d'instruments, page 71. Il reste juste à positionner les instruments sur la tuyauterie et à définir leurs propriétés, le cas échéant. Instance CAT Position sur la tuyauterie Agitateur TR1M01 Positionnez l'agitateur sur le haut de la cuve. Les pales de l'agitateur sont donc placées dans la cuve, là où se trouve le produit. Vanne TR1V01 Positionnez la vanne sur la ligne verticale, juste sous la cuve, car c'est elle qui contrôle l'entrée de la cuve. Vanne TR1V02 Positionnez la vanne sur la ligne horizontale Raw Milk Reception, car c'est elle qui commande la réception du produit. Vanne TR1V03 Positionnez la vanne sur la ligne horizontale Pasteurizer, car c'est elle qui contrôle l'accès au pasteurisateur. Entrée numérique TR1LSL01 Positionnez l'entrée numérique en bas à droite de la cuve, car c'est elle qui contrôle le niveau bas du produit. Entrée numérique TR1LSH01 Positionnez l'entrée numérique en haut à droite de la cuve, car c'est elle qui contrôle le niveau haut du produit. Entrée analogique TR1LT01 Positionnez l'entrée analogique à l'intérieur de la cuve, car elle représente le niveau du produit dans la cuve. REMARQUE : Avant de déplacer les instruments, sélectionnez-les tous et affichez-les au premier plan (Format > Mettre au premier plan). Autrement, les instruments seraient masqués par les lignes, comme ils ont été ajoutés au canvas avant la tuyauterie, ce qui n'est pas souhaité. EIO0000004748.01 193 La cuve de lait entier Maintenant que les instruments ont été ajoutés, certains doivent être configurés selon les paramètres définis par le P&ID. Les seuls instruments à régler sont les vannes. Les paramètres suivants doivent être définis pour chaque instrument : 194 • Valve Type > Valves : définit le type de vanne. • Valve Type > Valves_ContactType : définit la position par défaut de la vanne. • Valve Type > Valves_XXX (où XXX correspond au type sélectionné pour le paramètre Valves) : définit l'orientation de la vanne. EIO0000004748.01 La cuve de lait entier Instance d'instrument Valves Valves_ ContactType Valves_XXX Commentaires TR1V01 Butterfly NC ButterflyValve_Hor TR1V01 est une vanne papillon. Elle n'a que deux positions : ouvert et fermé. Par défaut, la vanne est fermée. TR1V02 Three_Way NO ThreeWay_ RightLeft_Horz TR1V02 est une vanne trois voies. Elle envoie le lait cru reçu vers la cuve uniquement lorsqu'elle reçoit la commande ON (Activé). Sinon, en position par défaut, le lait cru est évacué. TR1V03 Three_Way NO ThreeWay_ RightLeft_Horz TR1V03 est une vanne trois voies. Elle envoie le lait cru reçu depuis la cuve vers le pasteurisateur uniquement lorsqu'elle reçoit la commande ON. Sinon, en position par défaut, le lait cru est évacué. Tous les instruments sont maintenant entièrement configurés. Deux lignes peuvent être ajoutées sous TR1V02 et TR1V03 pour représenter les lignes d'évacuation auxquelles sont reliées ces vannes trois voies. La dernière étape avant de passer à la rubrique suivante consiste à ajouter le bouton de réinitialisation au canvas. Dans le sous-nœud Instances CAT de l'Explorateur de solution, ajoutez l'instance ResetButton au canvas et sélectionnez sDefault dans la boîte de dialogue Sélectionner un symbole générique. Positionnez le bouton de réinitialisation à droite de la cuve. EIO0000004748.01 195 La cuve de lait entier Chaque instance d'instrument est positionnée et configurée. Cette rubrique est maintenant terminée. Ajout d'éléments de séquence La dernière étape de cette modification du canvas consiste à ajouter plusieurs éléments associés à la séquence et à ses étapes. 196 EIO0000004748.01 La cuve de lait entier Le premier élément à ajouter est l'accès rapide à la séquence. Cet élément donne une vue d'ensemble de la séquence, de son état actuel et permet aussi d'accéder à la commande de la séquence (démarrage, arrêt, maintien, réinitialisation). REMARQUE : La vue d'ensemble de la séquence est disponible dans Instances CAT > Application > TankFillingSequence > StartHead. Dans la boîte de dialogue Sélectionner un symbole générique qui s'affiche, sélectionnez Accès rapide. Une fois l'élément ajouté, placez-le au-dessus du bouton de réinitialisation et remplacez son AliasName Name par Filling. La vue d'ensemble de la séquence est entièrement configurée. Les autres éléments à ajouter au canvas sont les descriptions des différentes étapes des séquences de remplissage et d'arrêt du remplissage. Ils indiqueront à l'utilisateur quelle étape est active et pendant combien de temps. Ajoutez au canvas l'instance de chaque étape, chaque SeqHead et chaque SeqTerminate. REMARQUE : Pour les instances d'étape de séquence, sélectionnez sStepwithTransition dans la boîte de dialogue Sélectionner un symbole générique. Pour SeqHead, sélectionnez sHead. Placez les éléments les uns sous les autres, avec StartHead en haut et SeqTerminate en bas. Procédez de même pour la séquence d'arrêt du remplissage. Le nom et la description de chaque élément (hormis SeqTerminate) doivent être modifiés. Voici le chemin d'accès aux paramètres en fonction de leur type : SeqStart Nom Description EIO0000004748.01 Symbole > Display Name Ne possède pas de description SeqStep Symbole Symbole > Step Name > Step Comment 197 La cuve de lait entier Maintenant que vous savez quels paramètres doivent être modifiés, modifiez-les pour chaque élément selon les informations du tableau suivant : Élément Nom Description StartHead Start Filling Non applicable Step1 Set Owner Program Local Step2 Agitator ON Aucune Step3 Valve 1 Open Aucune Step4 Valve 2 Open Aucune Step5 Valves 1 & 2 Close Aucune Step6 Agitator OFF Aucune Step7 Set Owner Program Remote StopHead Stop Filling Non applicable StopStep1 Valves 1 & 2 Close Aucune StopStep2 Agitator OFF Aucune Ajoutez deux lignes (une par séquence) pour lier l'instance SeqHead au premier bloc fonction SeqStep de sa séquence. 198 EIO0000004748.01 La cuve de lait entier Le canvas de processus est maintenant complètement terminé. Il inclut les instances d'instrument et de séquence. L'état et l'aspect de chaque instance seront mis à jour en continu pour offrir une vue d'ensemble complète et claire de la cuve, de ses instruments et de son processus de remplissage. Test de la séquence complète À ce stade, les éléments suivants ont été développés dans les trois parties du projet de Démarrage rapide : • Séquences • Application et couches • Paramétrage hors ligne • Ressources • Canvas EIO0000004748.01 199 La cuve de lait entier À présent, testons en ligne le projet finalisé. Déploiement, démarrage en ligne et configuration de la séquence Comme dans la partie précédente, plusieurs étapes doivent être réalisées pour pouvoir exécuter la séquence en ligne. Déploiement du projet Dans le menu Déploiement et diagnostic, compilez, déployez et démarrez la séquence en procédant comme suit : 1. Compiler 2. Simulation d'exécution > Démarrer 3. Connexion 4. Déployer > Nettoyer 5. Déployer > Déployer 6. Actions équipement > Exécuter Une fois ces actions effectuées, le projet et tous ses éléments sont déployés et exécutés en ligne. Le projet est maintenant prêt à être lancé en ligne. Démarrage en ligne du canvas Ouvrez le canvas en ligne en sélectionnant Lancer l'IHM locale dans la résolution. Les informations d'identification définies dans la rubrique Créer une solution, page 19 seront nécessaires. REMARQUE : Si vous ne connaissez pas les informations d'identification, vous pouvez les réinitialiser avec l'outil Gestion des utilisateurs, comme indiqué dans la rubrique Exécution de l'application. 200 EIO0000004748.01 La cuve de lait entier Une fois ces actions effectuées, le canvas démarre en ligne. Configuration de la séquence Lorsque le canvas est ouvert en ligne, plusieurs actions doivent être réalisées pour préparer la séquence. • Vérifiez les alarmes. Deux alarmes sont actuellement actives : TR1LSL01 et TR1LT01.low. Cela est dû au niveau actuel de la cuve. Comme il est à 0 %, il est inférieur à la valeur minimale déclenchant l'entrée numérique et au niveau d'alarme bas de l'entrée analogique définie dans le paramétrage hors ligne. Acquittez-les. • Vérifiez la vue d'ensemble de la séquence de remplissage. Les boutons de commande de la vue d'ensemble de la séquence sont actuellement désactivés, car l'opérateur n'a pas le contrôle sur la séquence. Pour pouvoir commander la séquence, il doit acquérir la propriété de la séquence. Ouvrez la faceplate de la séquence en cliquant sur l'élément sHead Start Filling et changez le propriétaire de la séquence de Programme à Opérateur. Une fois ces actions effectuées, les alarmes actives sont connues et les boutons de commande de la séquence de remplissage sont activés. La séquence est prête à être démarrée. Exécution de la séquence Maintenant que le canvas est ouvert en ligne et prêt à être exécuté, nous pouvons démarrer la séquence. Démarrage de la séquence de remplissage La première action consiste à démarrer la séquence de remplissage. Cliquez sur le bouton de lecture dans la vue d'ensemble de la séquence. La séquence peut aussi être démarrée en cliquant sur le bouton de lecture dans la faceplate de l'élément sHead Start Filling. EIO0000004748.01 201 La cuve de lait entier La séquence démarre et les étapes sont activées les unes après les autres comme prévu. REMARQUE : Les vannes sont correctement représentées, car elles prennent toutes la bonne position ouverte pour laisser entrer le produit. Pour suivre l'avancement de la séquence, vérifiez l'animation des étapes. Vous avez ainsi accès aux informations suivantes : • Durée d'activation des étapes : la durée est indiquée en secondes en bas à droite de chaque étape. La durée indiquée dans l'élément sHead Start Filling correspond à la durée totale pendant laquelle la séquence est ou a été exécutée. • Etat des étapes : la couleur d'arrière-plan de l'étape indique son état. ◦ Blanc : étape active. ◦ Gris clair : étape terminée et quittée. ◦ Gris foncé : étape pas encore activée. Lorsque la séquence est terminée, l'arrière-plan de l'élément sHead Start Filling devient gris clair puisque l'élément ne s'exécute plus. Par contre, l'arrière-plan de l'élément sTerminate End est blanc, car l'état Terminé est actif. 202 EIO0000004748.01 La cuve de lait entier La séquence de remplissage se déroule correctement et la cuve se remplit. Lorsque la valeur attendue (90 %) est atteinte, les vannes sont fermées et l'agitateur est désactivé. Les alarmes TR1LT01.high et TR1LSH01 s'activent puisque les 90 % sont dépassés. Acquittez-les. Réinitialisation du niveau Maintenant que le niveau attendu est atteint, la variable d'entrée LevelHigh de TankFillingSequence est TRUE. REMARQUE : Comme indiqué dans la rubrique Définition de la séquence de remplissage, page 113, cette entrée est utilisée pour autoriser la séquence. Étant donné qu'elle est active, il est impossible de démarrer la séquence. Par conséquent, le bouton de lecture est désactivé dans la vue d'ensemble de la séquence. Pour redémarrer la séquence, le niveau de produit doit retomber en-deçà du niveau haut (90 %). Pour ce faire, activez ResetButton comme dans la rubrique Simulation des connexions, page 105. Le niveau de produit dans la cuve baisse alors jusqu'à atteindre à nouveau 0 %. Démarrage, arrêt et redémarrage de la séquence Comme le niveau a été réinitialisé, le bouton de lecture est de nouveau accessible et la séquence de remplissage redémarre. Lors du remplissage de la cuve, cliquez sur le bouton Arrêter. Comme défini dans la rubrique Étape de démarrage de la séquence d'arrêt, page 160, la séquence d'arrêt démarre lorsque la commande d'arrêt de la séquence de remplissage est envoyée. Ainsi, lorsque le bouton Arrêter est déclenché, la séquence d'arrêt commence quel que soit le niveau actuel de la cuve. Cliquez sur le bouton Arrêter. Vous constatez que le remplissage s'arrête correctement. Comme la séquence est arrêtée avant d'atteindre le niveau haut (90 %), l'autorisation est toujours TRUE. Cela signifie qu'il est possible de redémarrer la séquence par la suite. Maintenant que vous avez effectué ces actions, vous savez contrôler la séquence en ligne via l'IHM. Vous pouvez continuer à tester la séquence par vous-même en modifiant la valeur attendue, en testant chaque condition d'autorisation, etc. Vous connaissez désormais les informations et astuces essentielles sur EcoStruxure Automation Expert et les librairies SE.AppSequence et SE.AppCommonProcess, ainsi EIO0000004748.01 203 La cuve de lait entier que les principaux outils. Le projet de Démarrage rapide est maintenant terminé. Merci de l'avoir mené à bien. 204 EIO0000004748.01 Schneider Electric 35 rue Joseph Monier 92500 Rueil Malmaison France + 33 (0) 1 41 29 70 00 www.se.com Les normes, spécifications et conceptions pouvant changer de temps à autre, veuillez demander la confirmation des informations figurant dans cette publication. © 2022 Schneider Electric. Tous droits réservés. EIO0000004748.01