Table des matières...ii



Documents pareils
Sélection du contrôleur

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Stellar Phoenix Outlook PST Repair - Technical 5.0 Guide d'installation

MIGRER VERS LA DERNIERE VERSION DE L'ANTIVIRUS FIREWALL

Microsoft Windows NT Server

MANUEL D INSTALLATION

1 Gestionnaire de Données WORD A4 F - USB / / 6020 Alco-Connect

Réseau local entre Windows Xp et 7

CONFIGURATION DE L AUTOMATE SIEMENS

FAQ Trouvez des solutions aux problématiques techniques.

Monitor Wall 4.0. Manuel d'installation et d'utilisation

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Facility Touch Client. SAUTER EY-TC505F110 Logiciel Facility Touch Client Mise en service. Manuel D /26 D D

Exécution de PCCOMPTA à distance sous Terminal Server 2003.

SOMMAIRE. Chapitre 1 - principe 3 Téléphonique 4 PC/Configuration logicielle 4 PC/Configuration matérielle: 4 Pabx 4

Pour des informations sur d'autres documents fournis avec votre ordinateur, reportez- Recherche d'informations.

GanttProject : guide utilisateur

Tutorial Terminal Server sous

But de cette présentation

TP D AUTOMATISME TS2 CIRA (première partie)

LOGICIEL ALARM MONITORING

RX3041. Guide d'installation rapide

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Connecteur Zimbra pour Outlook 2007 et 2010 (ZCO) w

Connected to the FP World

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

Printer Administration Utility 4.2

(1) XDCAM Browser

56K Performance Pro Modem

STATISTICA Version 12 : Instructions d'installation

Edutab. gestion centralisée de tablettes Android

Scanneur d images Instructions préliminaires

Installation ou mise à jour du logiciel système Fiery

Quelques points importants pour mieux connaître votre clé Internet mobile

Pour les caméras IP de modèles : QSTC201 QSTC211. Surveillance à distance via Internet Guide de démarrage

Pour le désactiver, décochez "Site web du logiciel au démarrage" dans le menu "Fichier"

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Travaux pratiques Détermination de la capacité de stockage des données

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer

TRUCS & ASTUCES SYSTEME. 1-Raccourcis Programme sur le Bureau (7)

Logiciel de télégestion ACS série 700

Les dossiers, sous-dossiers, fichiers

Manuel d'installation

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

Le générateur d'activités

Manuel d'installation du logiciel

GUIDE D UTILISATION ADSL ASSISTANCE

Cours LG : Administration de réseaux et sécurité informatique. Dans les Paramètres Système onglet Processeur, le bouton "Activer PAE/NX"

5004H103 Ed. 02. Procédure d installation du logiciel AKO-5004

Classer et partager ses photographies numériques

TecLocal 4.0. Nouveautés de la version 4.0 (notes de mise à jour)

INSTALLER LA DERNIERE VERSION DE SECURITOO PC

Comment configurer X-Lite 4 pour se connecter au serveur Voip de Kavkom?

Guide d'utilisation EasyMP Monitor Ver.4.52

Storebox User Guide. Swisscom (Suisse) SA

FANTEC HDD-Sneaker MANUEL D'UTILISATION. Comprend: Guide d'installation de materiel Disque dur Formatage manuel PCClone EX Guide d'installation

COMMENT AUTORISER LES PARTAGES RESEAUX ET IMPRIMANTE SOUS L ANTIVIRUS FIREWALL V3

TeamViewer 7 Manuel Manager

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Utiliser des logiciels Windows sous Linux Ubuntu

Suite Messerli Gest (gestion de chantier) Prestations (imputations des heures) Procédure d'installation du programme ou d'une mise à jour

Assistance à distance sous Windows

Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon

EDIGRAPH CLASSIC GUIDE D'INSTALLATION. Installation Page 2 sur 15. SOGEDEX Parc d Activités de Pissaloup, 4, rue Edouard Branly, Trappes

Sharpdesk V3.3. Guide d installation Push pour les administrateurs système Version

Utilisation de l'outil «Open Office TEXTE»

IP Remote Controller

The Grid 2: Manuel d utilisation

Modem LG LDU-1900D. Guide d utilisateur. LG Electronics

>> Lisez-moi d abord... Connecter le ZyXEL Prestige 650HW/HW-I

FileZilla. Sauvegarder son site Guppy à l aide de. Sommaire:

Installation en réseau de ClicMenu et des logiciels de Kitinstit

Guide de l'utilisateur. Linksys AE1000 Adaptateur USB sans fil - N hautes performances

Les possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau :

Logiciel. Table de matières I Environnement requis...2

[Serveur de déploiement FOG]

Manuel d'utilisation de Mémo vocal

WINDOWS 2000 SERVEUR

Dispositions relatives à l'installation :

ETI/Domo. Français. ETI-Domo Config FR

Tablette Pegasus PC Notes. Code : Conrad sur INTERNET Version 02/ Conditions du système.

CAMERA DOME AMELIORÉE DE SURVEILLANCE EN RÉSEAU GUIDE D INSTALLATION

Guide d'installation du connecteur Outlook 4

Instructions préliminaires P2WW FR Préface

L exemple d un serveur Proxy sous Windows NT 4 SERVER MICROSOFT PROXY SERVER 2 Installation et configuration Auteur : Eliane Bouillaux SERIA5

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Guide d installation

VRM Monitor. Aide en ligne

Installation d'un serveur DHCP sous Windows 2000 Serveur

NetSupport Notify (v2.01) Guide de démarrage. Tous droits réservés NetSupport Ltd

Virtualisation de Windows dans Ubuntu Linux

Transcription:

I

Table des matières Table des matières...i Table des matières...ii 1 Généralités...1 1.1 Contenu du kit de démarrage ILC 150 ETH...1 1.2 Caractéristiques du système...2 1.2.1 Système d'exploitation...2 1.2.2 Spécifications matérielles pour PC WorX...2 1.2.3 Logiciels de programmation...2 1.2.4 Micrologiciel...2 2 Description du matériel...3 2.1 Structure du kit de démarrage...3 2.2 Câblage du kit de démarrage...4 3 Installation de PC WorX...5 3.1 Installation du logiciel...5 3.1.1 Démarrer le programme d'installation de PC WorX...5 3.1.2 Installation du SP2 et du Hotfix 1...5 3.1.3 Démarrer PC WorX...6 3.2 Activation de la licence de base de PC WorX...6 4 Informations générales concernant PC WorX...7 4.1 Quelques icônes importantes de la barre d'outils...7 4.2 Espaces de travail...8 4.2.1 Espace de travail «programmation CEI»...8 4.2.2 Espace de travail configuration du bus...9 4.2.3 Espace de travail affectation des données de process...10 4.3 Compilation et téléchargement...11 5 L'IEC 61131-3...12 5.1 Introduction...12 5.2 Structure d'une application en fonction de la norme IEC 61131-3...12 5.3 POU (UOP logiques)...14 5.3.1 Fonctions...14 5.3.2 Blocs de fonctions...15 5.3.3 Programme...16 II

5.4 Types de données...17 5.4.1 Types de données générales...17 5.4.2 Array (tableau)...18 5.4.3 Struct (structure)...20 5.4.4 String (chaîne de caractères)...20 5.5 Langage ST (Structured Text)...21 5.5.1 Sélection de déclarations...21 5.5.2 Déclarations d'itération...22 6 Création d'un projet...23 6.1 Aperçu...23 6.2 Ouvrir un nouveau projet...24 6.3 Structure du nouveau projet conformément à la norme IEC 61131-3...25 6.4 Adaptation des informations du projet...26 6.5 Configuration IP de votre ordinateur...27 6.6 Configuration IP du contrôleur...29 6.6.1 Généralités...29 6.6.2 Affecter l'adresse IP par l'intermédiaire du BootP Server...30 6.7 La configuration INTERBUS...32 6.8 Compilation et téléchargement...34 7 Programme d'exemple élaboré...35 7.1 Introduction...35 7.2 Description de la mission...35 7.3 Élaboration...35 7.3.1 Création d'un nouveau POU...36 7.3.2 Définition des variables...37 7.3.3 Création d'un bloc de fonction Clignotement...39 7.3.4 Le programme principal...41 7.3.5 Tests du programme...45 7.3.6 Bloc de fonctions pour un traitement du signal analogique...46 7.3.7 Affectation des données de process...47 7.3.8 Fenêtre de surveillance...50 8 Webvisit...51 8.1 Introduction...51 8.2 Démarrage de la visualisation...52 III

8.3 Apporter une modification dans WebVisit...53 8.3.1 Créer un nouveau projet...53 8.3.2 Créer une nouvelle page web...54 8.3.3 Téléchargement du projet...60 9 Trucs et astuces...61 9.1 Gestion de l'écran...61 9.2 Gestion des variables...61 10 Exercices...64 10.1 Un système d'alarme...64 10.2 Ouverture d'un porte automatique...66 10.3 Suivi de la température...69 10.4 Exemple dans ST avec les array et les structures...70 IV

1 Généralités 1.1 Contenu du kit de démarrage ILC 150 ETH Le kit de démarrage contient l'ilc 150 ETH avec une entrée sortie digitale et analogique et est entièrement assemblé. Description Type Référence Nombre Logiciel PC WorX AX SW SUITE DEMO CD 2985660 1 Matériel (modules) Contrôleur en ligne ILC 150 ETH 2985330 1 Module en ligne avec une sortie IB IL AO 1/U/SF-PAC 2861399 1 analogique Module en ligne avec deux entrées IB IL AI 2/SF-ME 2863944 1 analogiques Matériel (accessoires) Potentiomètre EMG 30-SP/10K LIN 2942124 1 Câble Ethernet patch, simulateur de FL CAT5 FLEX CONF 2744843 1 modem, 2 m Alimentation STEP-PS-100-240AC/24DC/1.5 2938947 1 Module de commutation (8 UM 45-IB-DI:SIM8 2962997 1 commutateurs) Graphique à barres avec voyant DEL ONE PART AO BAR GRAPH - 1 Bride terminale standard, grise CLIPFIX 35-5 3022276 4 Bornier modulaire de la cage à ressort STS 2,5-QUATRO 3031746 1 (multipositions) gris Bornier modulaire de la cage à ressort STS 2,5-QUATRO BU 3036288 1 (multipositions) bleu Protection pour le bornier modulaire D-STS 2,5 3031762 2 (gris) Documentation Manuel de l'utilisateur UM QS EN ILC 150 ETH 2910295 1 STARTERKIT Enregistrement du logiciel PACKB.SOFTWARE REG 9013743 1 CD CD ILC 150 ETH STARTERKIT V1.00 9036973 Généralités 1

1.2 Caractéristiques du système 1.2.1 Système d'exploitation Windows 2000 SP3, Windows XP SP2 (recommandé). 1.2.2 Spécifications matérielles pour PC WorX Spécifications matérielles Unité centrale Mémoire Disque dur Lecteur CD-ROM Interfaces Écran Accessoires Pentium III 800, 1 GHz (recommandé) 128 MB (minimum), 256 MB (recommandé) 500 MB libres OUI 1 x sériel, Ethernet SVGA, résolution de 800 x 600 (minimum) 1024 x 768 (recommandé) Clavier, souris 1.2.3 Logiciels de programmation Logiciel PC WorX Version 5.10 SP2 + SP2_Hotfix4 1.2.4 Micrologiciel Module Version ILC 150 ETH 2.00 Généralités 2

2 Description du matériel 2.1 Structure du kit de démarrage Illustration 2-1 Structure du kit de démarrage Description du matériel 3

2.2 Câblage du kit de démarrage Module Entrée sortie Point de signal Variable ILC 150 ETH Entrée I1 Entrée I2 Entrée I3 Entrée I4 Entrée I5 Entrée I6 Entrée I7 Entrée I8 Connecteur 3, point de raccordement 1.1 Connecteur 3, point de raccordement 2.1 Connecteur 3, point de raccordement 1.4 Connecteur 3, point de raccordement 2.4 Connecteur 4, point de raccordement 3.1 Connecteur 4, point de raccordement 4.1 Connecteur 4, point de raccordement 3.4 Connecteur 4, point de raccordement 4.4 ONBOARD_INPUT_BIT0 ONBOARD_INPUT_BIT1 ONBOARD_INPUT_BIT2 ONBOARD_INPUT_BIT3 ONBOARD_INPUT_BIT4 ONBOARD_INPUT_BIT5 ONBOARD_INPUT_BIT6 ONBOARD_INPUT_BIT7 IB IL AO 1/U/SF-PAC Sortie O1 Connecteur 5, point de raccordement 1.1 Output_Analog IB IL AI 2/SF-ME Entrée I9 Connecteur 6, point de raccordement 1.1 Input_Analog Illustration 2-2 Câblage du kit de démarrage Description du matériel 4

3 Installation de PC WorX 3.1 Installation du logiciel Pour l'installation, toutes les applications Windows doivent être fermées. Cette version de PC WorX peut être installée en parallèle avec une version ultérieure. Il faut d'abord installer le logiciel PC WorX qui se trouve sur le CD AX SW SUITE DEMO. Installer ensuite le SP2 et le Hotfix1 pour le logiciel PC WorX qui se trouvent sur le CD ILC 150 ETH Starterkit. 3.1.1 Démarrer le programme d'installation de PC WorX Normalement, le programme d'installation démarre quelques secondes après avoir introduit le CD- ROM dans le lecteur CD. Si ce n'est pas le cas, démarrez par le biais de SETUP.EXE du répertoire [drive]:\setup\ sur le CD-ROM. Suivez ensuite les instructions du programme d'installation. Tous les répertoires nécessaires sont automatiquement créés et tous les fichiers sont copiés afin de rendre possible l'exécution des programmes. Après une installation fructueuse, le PC doit être redémarré. 3.1.2 Installation du SP2 et du Hotfix 1 Après l'installation de PC WorX, l'installation du Service Pack 2 et du Hotfix 1 peut avoir lieu. Ici aussi, le programme d'installation démarrera automatiquement. Suivez les instructions du programme d'installation. Après une installation fructueuse, le PC peut être redémarré. Installation de PC WorX 5

3.1.3 Démarrer PC WorX Démarrez PC WorX par le biais de Démarrer Programme Phoenix Contact AUTOMATIONWORX Software suite 2007 1.30 PC WorX 5.xx Si PC WorX est démarré pour la première fois, PC WorX démarrera en mode démo avec des possibilités limitées. Par la suite, nous aborderons la manière dont une licence de base doit être installée. Pour passer d'une licence de base à une licence pro, veuillez prendre contact avec Phoenix Contact. 3.2 Activation de la licence de base de PC WorX Après le démarrage de PC WorX, la licence peut être activée de la manière suivante : Sélectionnez Enregistrer depuis le menu? comme cela est présenté à l'illustration 3-1. Illustration 3-1 Introduisez le code d'enregistrement Confirmez avec OK Ce code d'enregistrement est activé lors du redémarrage de PC WorX. Installation de PC WorX 6

4 Informations générales concernant PC WorX 4.1 Quelques icônes importantes de la barre d'outils Conformément à la norme IEC 61131-3, on vise une séparation complète entre le matériel et le logiciel. C'est la raison pour laquelle trois espaces de travail sont définis : un espace de travail pour établir la configuration matérielle (configuration de bus) et un espace de travail pour écrire le programme (programmation CEI). Enfin, il y a un troisième espace de travail qui permet l affectation des données de process. Par le biais des trois icônes suivantes, on passe facilement entre les différents espaces de travail. Illustration 4-1 Espace de travail programmation CEI Espace de travail configuration du bus Espace de travail affectation des données de process Informations générales concernant PC WorX 7

4.2 Espaces de travail 4.2.1 Espace de travail «programmation CEI» Dans l espace de travail programmation CEI, les fenêtres suivantes sont très importantes : Fenêtre de l arbre du projet (à gauche) Shift F8, La fenêtre de programmation (au milieu), L assistant d édition (à droite) Ctrl F2. D'autres fenêtres peuvent être ajoutées ou supprimées. L affichage Illustration 4-2 des Domaine fenêtres de travail est possible programmation depuis CEI le menu affichage. Illustration 4-3 Informations générales concernant PC WorX 8

4.2.2 Espace de travail configuration du bus Illustration 4-4 Domaine de travail configuration du bus Dans l espace de travail configuration du bus, nous retrouvons tous les détails concernant le matériel. Dans la fenêtre détails sur l appareil, nous retrouvons les propriétés générales du projet. Pour chaque module matériel, nous retrouvons dans la fenêtre détail sur l appareil toutes les propriétés importantes, tous les réglages et toutes les fiches techniques sous différents onglets, voir Illustration 4-5. Illustration 4-5 Détails du matériel, différents onglets par module Informations générales concernant PC WorX 9

4.2.3 Espace de travail affectation des données de process Illustration 4-6 Dans l espace de travail affectation des données de process, il est possible de lier des variables internes à des entrées/sorties physiques. Informations générales concernant PC WorX 10

4.3 Compilation et téléchargement Boîte de dialogue de contrôle de projet. Activation/désactivation du mode débogage. Compilation des modifications. Illustration 4-7 Affichage de la fenêtre de surveillance. L'illustration 4-8 affiche la boîte de dialogue de contrôle du projet. L automate peut être manipulé. En d'autres termes, l automate peut être arrêté, réinitialisé, activé ou désactivé, et le téléchargement d'un programme peut également avoir lieu avec cette fenêtre. Illustration 4-8 dialogue de controle du projet Informations générales concernant PC WorX 11

5 L'IEC 61131-3 5.1 Introduction La NORME IEC 61131 est une norme internationale pour les automates programmables (PLC, PLC soft,...) et elle comprend 5 parties : IEC 61131-1 : Aperçu général, IEC 61131-2 : Caractéristiques matérielles, IEC 6113 1-3 : Langues de programmation, IEC 6113 1-4 : Directives pour l'utilisateur, IEC 6113 1-5 : Communication, + 2 rapports techniques. Depuis 1993, la NORME IEC 61131-3 est la norme internationale pour la programmation des contrôleurs industriels. Elle définit 5 langages différents. Ces langages sont utilisés dans le monde entier par tous les fabricants importants d automates. Ces 5 langages sont les suivants : LADDER DIAGRAM (LD), une langue graphique basée sur la logique du contacteur, FUNCTION BLOCK DIAGRAM (FBD), INSTRUCTION LIST (IL) : une langue de faible niveau, comparable à l'assembleur, SEQUENTIAL FUNCTION CHART (SFC) : un langage graphique développé spécialement pour programmer la fin des systèmes séquentiels, STRUCTURED TEXT (ST) : un langage de haut niveau pour programmer de manière structurée. Ce langage est fortement comparable au langage PASCAL. 5.2 Structure d'une application en fonction de la norme IEC 61131-3 Dans chaque configuration, nous retrouvons une ou plusieurs ressources. Une ressource prévoit tous les outils nécessaires pour exécuter un programme d'utilisateur déterminé. C'est une caractéristique pour soutenir un processeur déterminé.nous pouvons mieux comprendre une ressource comme une unité centrale avec le système d'exploitation annexe. Plusieurs tâches peuvent être actives dans chaque ressource. Une tâche est créée pour exécuter plusieurs programmes. Une tâche peut être une tâche cyclique (périodique), une tâche dirigée par un événement ou une tâche dirigée par un système (interruption).une tâche cyclique est exécutée de manière cyclique avec un contrôle du temps. L'IEC 61131-3 12

Une tâche dirigée par un événement est dirigée dans le cadre d'un événement particulier. Au niveau de PC WorX, la tâche dirigée par un événement est utilisée pour la possibilité du traitement séquentiel. Une tâche dirigée par un système est créée par le système d'exploitation (reprise immédiate, reprise graduelle, arrêt, watchdog error, divide by zero,...). Le programme d'exécution que nous retrouvons dans une tâche peut être composé de différentes POU (Program Organisation Unit). POU est la dénomination collective pour les programmes, les blocs de fonctions ou les fonctions. RESSOURCE TÂCHE programme programme programme POU bloc de fonctions fonction fonction bloc de fonctions fonction fonction L'IEC 61131-3 13

5.3 POU (UOP logiques) POU signifie Program Organisation Units et est un nom collectif pour les programmes, les blocs de fonctions et les fonctions. Aperçu : Type de POU Utilisé plusieurs fois comme Commentaire Programme Programme Les éléments logiciels réutilisables les plus importants au sein d'un programme d'utilisateur Bloc de fonctions Bloc de fonctions Les éléments logiciels réutilisables moins importants (des algorithmes complexes aux missions de commande simples) Fonction Fonction Les éléments logiciels réutilisables pour la manipulation des données 5.3.1 Fonctions Généralités : Une fonction est un bloc logiciel qui peut être utilisé plusieurs fois dans une autre POU. La plupart du temps, des fonctions seront utilisées pour manipuler des données. Une fonction produit toujours un résultat définitif à l'aide de plusieurs paramètres d'entrée. Le résultat est attribué au nom de la fonction lui-même. Pour ce faire, une fonction devra toujours être d'un type de données déterminé. Une fonction a justement une sortie. Pour un ensemble identique de paramètres d'entrée, une fonction rendra toujours le même résultat. resultat est le nom de la fonction et également le nom de la SORTIE i_1 resultat i_2 i_3 Variables et fonctions : Une fonction avec 3 VAR_INPUT L'IEC 61131-3 14

Une variable dans une fonction peut être du type VAR et VAR_INPUT. Les variables du type VAR_OUTPUT ne sont pas possibles parce qu'une fonction a seulement une sortie, à savoir le nom de la fonction lui-même. Fonctions standards : Il y a de très nombreuses fonctions standards. Nous distinguons les groupes suivants : fonctions numériques (ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN), fonctions arithmétiques (ADD, MUL, SUB, DIV, MOD, EXPT, MOVE), Ces fonctions sont la plupart du temps du type de données ANY_NUM. Cela signifie que le type de données des paramètres d'entrée peut être aussi bien INT, DINT que REAL. fonctions bit string (SHL, SHR, ROR, ROL), fonctions bit booléennes (AND, OR, XOR, NOT), Les fonctions des deux derniers groupes sont la plupart du temps du type de données ANY_BIT. Cela signifie que le type de données des paramètres d'entrée peut être aussi bien BIT, BYTE, WORD ou un mot composé. fonctions de comparaison (GT, GE, EQ, LE, LT, NE), fonctions string caractères (LEFT, RIGHT, MID, CONCAT, INSERT, DELETE, REPLACE, LEN, FIND) fonctions pour convertir des types de données. Pour PC WorX, il y a encore de nombreuses bibliothèques disponibles avec des fonctions spéciales. 5.3.2 Blocs de fonctions Généralités : Exemples de blocs de fonctions : Un bloc de fonctions est un élément logiciel réutilisable pour exécuter des tâches de commandes complexes ou simples. Lors de la création d'un bloc de fonctions, des variables sont définies. Lors de l'appel de ce bloc de fonctions, un espace mémoire est prévu pour ces fonctions. Si l'on veut appeler plusieurs fois ce bloc de fonctions, il faut prévoir plusieurs fois un espace mémoire. C'est la raison pour laquelle un exemple est défini lors de l'appel d'un bloc de fonctions. Cet exemple renvoie à cet emplacement de mémoire spécifique.dans le cas d'un ensemble déterminé de paramètres d'entrée, les paramètres de sortie d'un bloc de fonctions auront un résultat différent en fonction du temps. Variables et blocs de fonctions : Une variable dans un bloc de fonctions peut être du type VAR, VAR_GLOBAL, VAR_INPUT et VAR_OUTPUT. À ce niveau, les paramètres d'entrée sont du type VAR_INPUT.Les valeurs de sortie du bloc de fonctions sont du type VAR_OUTPUT. Une variable peut également être du type VAR_IN_OUT. Des variables de ce genre se voient attribuer une valeur d'entrée qui peut changer dans l'exécution du bloc de fonctions. L'IEC 61131-3 15

On évite l'utilisation de VAR_GLOBAL dans un bloc de fonctions. action_1 à l'exemple de l'appel de ce bloc de fonctions action_1 action est le nom du bloc de fonctions i_1 i_2 i_3 action q_1 q_2 VAR_INPUT VAR_OUTPUT Blocs de fonctions standards : Il y a énormément de blocs de fonctions définis au préalable. Les principaux sont : SR, RS, R_TRIG, F_TRIG, Counters : CTU, CTD, CTUD, Timers : TP, TOF, TON. 5.3.3 Programme Généralités : Un programme est un élément logiciel réutilisable important. Cet élément est la plupart du temps composé de plusieurs autres éléments logiciels comme des fonctions et des blocs de fonctions. Ces éléments sont écrits dans l'une des 5 langues IEC. Un programme typique est composé de plusieurs blocs de fonctions reliés qui peuvent échanger des données par l'intermédiaire d'un logiciel. Variables : Les variables peuvent être du type VAR, VAR EXTERNAL, VAR_EXTERNAL_PG et VAR_GLOBAL. Les variables globales sont utilisées dans des programmes et sont ensuite associées à une entrée sortie périphérique ou à des variables logicielles. L'IEC 61131-3 16

5.4 Types de données 5.4.1 Types de données générales Dans les tableaux suivants, nous vous donnons un aperçu des principaux types de données. Type de Description Bits Portée donnée SINT Short integer 8 de -128 à +127 INT Integer 16 de -32768 à 32767 DINT Double integer 32 de -2 31 à +2 31-1 LINT Long integer 64 de -2 63 à +2 61-1 USINT Unsigned short integer 8 de 0 à 255 UINT Unsigned integer 16 de 0 à 2 16-1 UDINT Unsigned double integer 32 de 0 à 2 32-1 ULINT Unsigned long integer 64 de 0 à 2 64-1 REAL Floating point 32 ± 10 ±38 LREAL Long floating point 64 ± 10 ±308 Remarques concernant la notation des types de données numériques INT#15 ou 15 REAL#8 ou 8.0 Type de Description Bits Portée donnée BOOL 1 bit 1 Logiquement 1 ou 0 BYTE Chaîne de 8 bits 8 Informations binaires WORD Chaîne de 16 bits 16 Informations binaires DWORD Chaîne de 32 bits 32 Informations binaires LWORD Chaîne de 64 bits 64 Informations binaires STRING Chaîne de caractères Informations textuelles L'IEC 61131-3 17

Remarques concernant la notation des types de données basées sur les bits WORD#2#1010111100000011 (notation binaire) WORD#16#AF03 (notation hexadécimale) BYTE#2#10100011 Type de donnée Description Bits Portée TIME Durée dans le temps DATE Données du calendrier TIME_OF_DAY Heure de la journée DATE_AND_TIME Données du calendrier + heure de la journée Remarques concernant les variables de type TIME T# 3s T# 16d_5h_3m_4s_20ms (16 jours, 5 heures, 3 minutes, 4 secondes et 20 millisecondes) TIME# 10s Remarques concernant DATE D#2001-10-15 (15 octobre 2001) DATE#1999-1-30 Remarques concernant TIME_OF_DAY TOD#10 : 10:30 (10 heures, 10 minutes et 30 secondes) TIME_OF_DAY#23 :59:59 (1 seconde avant minuit) Remarques concernant DATE_AND_TIME DT#2007-03-22-15:36 :50 DATE_AND_TIME# 2007-02-01-12:00:00 5.4.2 Array (tableau) Le type de données Array est une structure de différents éléments du même type de données. Les différents éléments peuvent être manipulés séparément à l'aide d'un indice. Un type de données Array doit être déclaré au préalable. Dès que le type de données est déclaré, des variables de ce type de données Array peuvent ensuite être définies. TYPE END_TYPE (*Typename*) : ARRAY [(*From..To*)] OF (*DATATYPE*); L'IEC 61131-3 18

Exemple d'un Array unidimensionnel Déclaration du type de données Array TYPE essai_tableau : ARRAY[1..23] OF INT; END_TYPE Définition des variables CODE en ST VAR table_1 : essai_tableau; var_4: INT; END_VAR var_4 := table_1 [4] Exemple d'un Array multidimensionnel Déclaration du type de données Array TYPE essai_tableau : ARRAY[1..23] OF INT; resultat : ARRAY [1..3] OF essai_tableau; END_TYPE Définition des variables VAR produit_1 : resultat; var_x: INT; END_VAR CODE en ST var_x := produit_1 [2] [10]; L'IEC 61131-3 19

5.4.3 Struct (structure) Le type de données Struct est une structure de différents éléments d'un type de données différent. TYPE (*Typename*) : STRUCT (*Element 1 Name*) : (*Element 2 Name*) : (*Element 3 Name*) : (*DATATYPE*); (*DATATYPE*); (*DATATYPE*); (*. :. *) (*. :. *) (*Element n Name*) : (*DATATYPE*); END_TYPE END_STRUCT; 5.4.4 String (chaîne de caractères) Un String est un type de données pour traiter du texte. C'est un ensemble d'octets, où chaque octet représente un caractère (tableau ASCII). TYPE END_TYPE (*Typename*):STRING((*String length*)); L'IEC 61131-3 20

5.5 Langage ST (Structured Text) Les spécificités du langage ST sont les déclarations conditionnelles. Voici un bref aperçu. 5.5.1 Sélection de déclarations IF THEN ELSE IF <expression booléenne> THEN <état 1>; ELSE END_IF; <état 2>; Avec ELSIF, cela devient : IF <expression booléenne> THEN <affectation 1>; ELSIF <expression booléenne> THEN <affectation 2>; ELSE <affectation 3>; END_IF; CASE CASE <valeur numérique> OF <valeur 1> : <affectation 1>; <valeur 2> : <affectation 2>; <valeur 3> : <affectation 3>; ELSE END_CASE; < affectation 4>; L'IEC 61131-3 21

5.5.2 Déclarations d'itération FOR DO FOR <valeur de début> TO <valeur de fin> BY <incrément> OF <affectation 1>; <affectation 2>; <affectation 3>; END_FOR; WHILE DO WHILE <expression vraie> DO <affectation 1>; <affectation 2>; <affectation 3>; END_WHILE; REPEAT UNTIL REPEAT <affectation 1>; <affectation 2>; <affectation 3>; UNTIL <expression fausse> END_REPEAT; L'IEC 61131-3 22

Avec la déclaration EXIT, une fin conditionnelle peut être donnée à une déclaration d'itération. 6 Création d'un projet 6.1 Aperçu départ Ouvrir un nouveau projet Adapter les informations du projet Contrôler les réglages IP du contrôleur Attribuer une adresse IP au contrôleur Lire l'interbus Créer un programme Attribuer les variables Compiler, télécharger et reprise graduelle Run/debug Création d'un projet 23

6.2 Ouvrir un nouveau projet Sélectionnez Nouveau projet sous le menu Fichier pour créer un nouveau projet par l'intermédiaire d'un modèle. La structure du projet ainsi que la possibilité de choix d'un contrôleur sont maintenant préparées. Sélectionnez le contrôleur ILC 150 ETH Rev. >01/2.00 et confirmez avec OK. Illustration 6-1 Sélectionnez Enregistrer/compresser sous sous le menu Fichier. Choisissez un nom de projet. En fonction de l'utilisation de Webvisit, les espaces ne sont pas autorisés dans le nom (ici Formation, voir Illustration 6-2) et fermez le projet par l'intermédiaire de Enregistrer. Illustration 6-2 Chaque projet est enregistré comme un fichier *.mwt et un dossier du même nom. À l'illustration 6-2, nous avons un fichier *.mwt avec le nom Formation ainsi qu'un dossier avec le nom Formation. Il est également possible de compresser le projet pour obtenir un dossier *.zwt Création d'un projet 24

6.3 Structure du nouveau projet conformément à la norme IEC 61131-3 configuration totale ressource DEFAULT task avec une première mise en service du programme Main Illustration 6-3 Structure lors de la création d'un nouveau projet dans PC Worx Sous le dossier UOP logiques, un programme est déjà créé avec le nom Main. Ce programme est utilisé pour la première fois par l'intermédiaire de DEFAULT task. Ce faisant, ce programme peut être compilé immédiatement. Si d'autres programmes sont créés, ils doivent certainement être activés dans une tâche (voir plus loin dans ce cours). Création d'un projet 25

6.4 Adaptation des informations du projet Sélectionnez l espace de travail configuration de bus. Vous y trouverez toutes les informations relatives au projet. Illustration 6-4 Pendant la création du projet, PC WorX attribue automatiquement une plage d adresses IP pour un réseau local (192.168.0.2 à 192.168.0.254). Si une autre adresse doit être utilisée, l'adresse de départ et l'adresse de fin doivent être adaptées, si nécessaire, il faut également adapter le masque de sous réseau. Pour le cours, les adresses IP suivantes sont appliquées : Ordinateur 192.168.0.10 ILC_150 192.168.0.11 Voir également le schéma de situation à la page suivante. Création d'un projet 26

Illustration 6-5 - Configuration 6.5 Configuration IP de votre ordinateur Il est important de contrôler en premier lieu les réglages du réseau de l'ordinateur. Lancez une application DOS pour demander l'adresse IP de l'ordinateur par l'intermédiaire de ipconfig. Illustration 6-6 Ipconfig Création d'un projet 27

Adapter vos réglages d'ordinateur si nécessaire par l'intermédiaire des propriétés pour la connexion LAN. Au niveau du protocole Internet, choisir les propriétés et régler une adresse IP fixe. Illustration 6-7 Création d'un projet 28

6.6 Configuration IP du contrôleur 6.6.1 Généralités Illustration 6-8 Pour affecter l'adresse IP du contrôleur, il est possible : D attribuer pour la première fois une adresse IP : o Par le biais d'un BootP Server, o Par le biais de l'interface série. De modifier l'adresse IP : o Par le biais de l'interface série, o Par le biais d'ethernet avec PC WorX. Adresse IP oubliée? o La demander par l'intermédiaire de BootP Server. Création d'un projet 29

6.6.2 Affecter l'adresse IP par l'intermédiaire du BootP Server Illustration 6-9 BootP Activer la case à cocher Serveur BootP actif. Sélectionner l espace de travail Configuration du bus. Sélectionnez le contrôleur ILC 150 ETH. Sélectionner l'onglet Paramètres P dans la fenêtre Détails sur l appareil. Saisir l'adresse MAC du contrôleur (l'adresse MAC commence par 00.A0.45). Compléter l'adresse IP souhaitée. Illustration 6-10 Avec une pointe acérée, appuyer sur le bouton reset du contrôleur. Couper l alimentation du contrôleur lorsque le bouton reset est enfoncé. Création d'un projet 30

Alimenter le contrôleur, lâcher le bouton de réinitialisation. À partir de maintenant, le processus BootP est lancé, le contrôleur reçoit l'adresse IP introduite et après deux minutes, l'adresse IP est activée. Dès que l'adresse IP correcte est introduite au niveau du contrôleur et sur l'ordinateur, la communication peut être activée. Pour ce faire, il faut cliquer sur ILC 150 ETH dans la fenêtre structure du bus (à gauche) et choisir l'onglet Communication dans la fenêtre Détail sur l appareil. Illustration 6-11 Après avoir introduit la bonne adresse IP du contrôleur, la communication peut être testée par l'intermédiaire du bouton Tester. Illustration 6-12 Après quelques secondes, la barre d'indication va s'allumer en vert et la communication peut être confirmée par l'intermédiaire du bouton Appliquer. Création d'un projet 31

6.7 La configuration INTERBUS Dès que le chemin de communication est actif entre le contrôleur et le PC, le système INTERBUS associé au contrôleur peut être lu automatiquement. Pour ce projet, 2 modules INTERBUS sont associés au contrôleur. Sélectionnez la commande Bus connecté par le biais du menu Affichage pour lire le système INTERBUS (Illustration 6-13). Illustration 6-13 Sélectionnez le bon contrôleur dans la fenêtre Bus connecté. Illustration 6-14 Création d'un projet 32

Les modules INTERBUS sont maintenant lus automatiquement. Dès qu'ils sont lus, ils doivent être ajoutés au projet. Pour ce faire, cliquer sur le contrôleur, puis clic droit de la souris et choisir ensuite Reprendre dans le projet et Avec description d appareil. Illustration 6-15 La fenêtre Sélectionner l appareil présente maintenant tous les modules qui correspondent au code ID des modules connectés. Les modules réellement associés doivent être sélectionnés dans cette liste. Les modules INTERBUS utilisés dans ce projet sont : - IB IL AO 1/U/SF - IB IL AI 2/SF-ME Compléter maintenant la configuration comme à l Illustration 6-16 Illustration 6-16 Pour finir, il vaut mieux sélectionner hors ligne avant de fermer cette fenêtre. Illustration 6-17 Création d'un projet 33

6.8 Compilation et téléchargement Le projet contient maintenant toutes les informations concernant les configurations en bus (Ethernet & INTERBUS) et il y a une communication active. Maintenant, il est possible de compiler le projet et de le télécharger pour connaître les erreurs éventuelles. compiler télécharger vers le contrôleur exécuter un démarrage graduel. Compiler le projet Compiler et transcrire en ligne Compiler la feuille de travail Illustration 6-18 Quelques touches d'accès rapide importantes relatives à la compilation : Illustration 6-19 Création d'un projet 34

7 Programme d'exemple élaboré 7.1 Introduction Vous trouverez ci-dessous un programme d'exemple simple décrit pas à pas. Le fonctionnement visé comprend 2 parties : 1. PC-WorX : Dans PC WorX, un programme simple est écrit, dans le cadre duquel un clignotement peut être activé par l'intermédiaire d'un interrupteur. En outre, une valeur analogique peut également être lue et visualisée sur une barre LED. 2. Webvisit : L'ILC150 ETH dispose d'un serveur web. Dans le cadre de cet exercice, l'objectif est qu'une page web soit créée avec laquelle le clignotement peut à nouveau être visualisé, ainsi que le fait de rendre possible la commande de celui-ci. L'état de l'entrée analogique sera aussi visualisé ici. 7.2 Description de la mission Après une configuration matérielle correcte, l'environnement de programmation de PC WorX sera expliqué, à l'aide d'un programme exemple, conformément à la norme IEC61131-3. Le programme exemple comprend la programmation d'un clignotement simple, dans le cadre duquel un interrupteur de la boîte de commutation active le clignotement d'une sortie sur le module de sortie Inline. Le contrôle de ce clignotement peut également avoir lieu par l'intermédiaire du panneau de visualisation et de Webvisit. Une deuxième fonction est l'association d'une entrée analogique (potentiomètre) vers une sortie analogique (LED Bar Graph) par le biais de quelques opérations. La valeur de la sortie analogique pourra également être suivie par l'intermédiaire de Webvisit. 7.3 Élaboration Tout d'abord, il faut passer à l espace de travail Programmation CEI. On remarque immédiatement que PC WorX est constitué selon la norme IEC 61131-3. Dans la fenêtre l arbre du projet, nous retrouvons quelques subdivisions claires. Il y a une structure de dossiers pour les bibliothèques, pour les types de données, pour les POU et il y a le matériel physique. Programme d'exemple élaboré 35

Cette structure est illustrée à l Illustration 7-2. Vous retrouvez la structure principale sous Couche matérielle. La STD_CNF (configuration standard) comprend un STD_RES (ressource standard) qui est ici l ILC 150 ETH. Cette ressource peut exécuter les différentes missions. Au démarrage d'un nouveau projet, il y a toujours un Main program qui est prévu sous le dossier UOP logiques qui est activé dans la Default task. Illustration 7-1 7.3.1 Création d'un nouveau POU A l'aide des 4 icônes indiquées, un nouveau POU peut être ajouté. On peut faire un choix entre un nouveau programme ( ), une nouvelle fonction ( ) ou un nouvel élément de fonction ( ). Dans la fenêtre Insérer, il faut continuer à spécifier le POU. L'une des cinq langues de programmation (conformément à la norme) doit être choisie pour le POU. C'est uniquement dans le cas d'une fonction qu'un Type de données ou une Valeur de retour doit être sélectionnée. Illustration 7-2 Programme d'exemple élaboré 36

Pour chaque POU, trois feuilles de travail sont créées (exemple) : MainT( ) : tout ce qui est noté ici apparaîtra lors de la demande d'aide à propos de ce POU, MainV( ): Champ pour l'introduction des variables, Main(,,,, ): Champ de programmation. 7.3.2 Définition des variables Il faut faire la distinction entre deux sortes de variables. Variables utilisateurs : ici, le nom et le type peuvent être choisis librement, Variables systèmes (System variables) : il faut rechercher dans la liste des variables systèmes présentes. Les variables systèmes sont toujours des variables globales, cela signifie que ces variables peuvent être demandées ou manipulées dans tout le projet. Il y a des variables définies à l'avance qui sont actives dans le PLC. Vous trouverez une liste de toutes les variables systèmes sous l'élément Global_Variables dans la fenêtre De l arbre du projet, voir illustration ci-dessous. Illustration 7-3 Aperçu des variables Programme d'exemple élaboré 37

Les variables utilisateurs peuvent être des variables locales ou des variables globales. Les variables locales peuvent uniquement être demandées ou manipulées dans l'élément concerné. Dans le cas des Variables utilisateurs, il y a différents types de variables en fonction du POU créé. Vous trouverez encore un aperçu dans le tableau suivant. POU Fonction Élément de fonction Programme Type de variable VAR VAR_INPUT VAR VAR_INPUT VAR_OUTPUT VAR_IN_OUT VAR_EXTERNAL VAR_EXTERNAL_PG VAR_EXTERNAL_FB VAR VAR_EXTERNAL VAR_EXTERNAL_PG Les variables utilisateur qui sont globales peuvent maintenant être mieux réparties dans certains groupes, afin de conserver de cette façon un bon aperçu entre toutes les variables globales. À ce niveau, de nouveaux groupes peuvent être créés sous l'élément Global_Variables. Cliquez sur la ligne System Variables, bouton droit de la souris et sélectionnez l'élément Insérer un groupe. Une nouvelle ligne fait son apparition avec le nom NewGroup. Changez le nom en prenant un nom qui a du sens, par exemple Variables du projet. Illustration 7-4 Programme d'exemple élaboré 38

Illustration 7-5 7.3.3 Création d'un bloc de fonction Clignotement La fonction de clignotement est créée dans un bloc de fonction. Pour créer un nouveau bloc de fonction, choississez.dans le coin supérieur gauche, Sélectionnez la langue de programmation FBD ( Function Block Diagram ) et introduisez au-dessus le nom du bloc souhaité. (ici : Clignotement ). Illustration 7-6 Confirmez avec OK. Le bloc est créé, Ouvrez la feuille de travail du bloc de fonction en double-cliquant sur, Maintenant, le programme pour la fonction de clignotement peut être écrit, Introduisez une TON à partir de l'edit Wizard : double-cliquez en-dessous de Blocs fontionnels sur TON, contrôlez et/ou modifiez l'instance du bloc et confirmez ensuite avec OK. Illustration 7-7 Programme d'exemple élaboré 39

Illustration 7-8 Instance pour FB Un temporisateur TP et une fonction AND sont établis de la même manière à partir de l'edit Wizard. N'oubliez pas que pour la fonction AND, il ne faut pas attribuer d'instance (différence entre le bloc de fonctions et la fonction). Finalement, nous relions tout jusqu'à ce que la fonctionnalité suivante soit obtenue : Maintenant, il faut uniquement créer les variables, Cliquez à un emplacement de la feuille de travail, cliquez sur le bouton droit de la souris et choisissez l'élément Variable, Introduisez le nom souhaité dans le coin supérieur gauche, par exemple : E_validation, Choisissez comme type de données Bool Et choisissez au niveau de l'élément Utilisation VAR_INPUT, La portée pour cette User Variable est réglée sur local. Illustration 7-9 Programme d'exemple élaboré 40

Les variables suivantes sont déclarées de la même manière : Nom Type de Utilisation Portée Glob. Var. Groups donnée E_validation Bool VAR_INPUT local E_temps_TON Time VAR_INPUT Local E_temps_TP Time VAR_INPUT Local S_clignotement Bool VAR_OUTPUT Local En langage ST, le bloc de fonctions ressemble à ceci : 1 TON_1 (IN :=NOT TON_1.Q, PT :=E-temps_TON) ; 2 3 TP_1 (IN:=NOT TON_1.Q, PT:=E_temps_TP); 4 5 6 7 8 9 IF E_validation THEN S_clignotement := TP_1.Q; ELSE S_clignotment := 0 ; END_IF ; 7.3.4 Le programme principal Dont la feuille de travail Main, le bloc de fonctions créé peut être demandé. Ajoutez-le dans le Edit Wizard en double-cliquant en dessous du nom de programme sur le bloc de fonctions Clignotement. Ce bloc de fonctions peut être éventuellement demandé une deuxième fois pour faire clignoter deux sorties. Programme d'exemple élaboré 41

Programme d'exemple élaboré 42

Maintenant, il faut encore attribuer toutes les variables. Les 8 entrées numériques et les 4 sorties numériques à bord d ILC 150 ETH se retrouvent comme variables système. Double-cliquer sur le point de raccordement (pas sur le nom lui-même) de l'entrée E_validation : Illustration 7-10 Choisissez Global, et par l'intermédiaire de la touche de sélection sous Nom, vous pouvez choisir parmi toutes les variables systèmes. Sélectionnez ONBOARD_INPUT_BIT0 Pour les variables d'entrée du type de données time, ont peut par exemple indiquer un temps constant. Illustration 7-11 Programme d'exemple élaboré 43

Le programme peut maintenant être terminé de la manière suivante : Programme d'exemple élaboré 44

7.3.5 Tests du programme Finalement, le programme écrit peut être testé. Pour ce faire, sélectionnez de nouveau l espace de travail Programmation CEI. Avec l'icône (Débogage dés-/activé), vous pouvez rechercher les erreurs. Sous chaque variable, vous voyez maintenant son statut ou sa valeur actuelle. En activant le premier interrupteur sur la boîte de commutation, le clignotement peut être activé. Les modifications de statuts peuvent maintenant être retrouvées aussi bien en ligne que sur les modules eux-mêmes. Un tour sur le potentiomètre permet également de varier la LED du bargraphe. Illustration 7-12 Programme d'exemple élaboré 45

7.3.6 Bloc de fonctions pour un traitement du signal analogique Afin d'expliquer l'affectation des données de process et l'utilisation des entrées et des sorties analogiques, nous prévoyons encore une deuxième fonctionnalité, un bloc fonctionnel Entrée_sortie_analogique. Pour ce faire, on crée de nouveau un bloc fonctionnel avec le nom Entrée_sortie_analogique. L'objectif est d'associer l'entrée analogique (le potentiomètre) à la sortie analogique (LED bargraphe). Ce programme peut être très simple : E_MotAnalogique ----- S_MotAnalogique Appel de ce bloc fonctionnel dans le programme Main : Il faut maintenant créer deux variables pour les associer à l entrée et la sortie physique. Celles-ci sont déclarées de la manière suivante et placées sous Project Variables. Illustration 7-13 Finalement, le programme suivant est obtenu : Programme d'exemple élaboré 46

7.3.7 Affectation des données de process La dernière étape au niveau de la programmation est l'attribution des variables créées aux entrées et sorties réelles qui en font partie. Pour ce faire, on passe à l espace de travail Affectation des données de process par le biais de. En sélectionnant STD_RES, toutes les variables externes sont affichées. À partir de la configuration matérielle (reproduite à droite) les modules analogiques peuvent être sélectionnés et les listes de paramètres peuvent ainsi être appelées (coin inférieur droit). En cliquant sur le paramètre souhaité et en le glissant vers la gauche (vers l'entrée souhaitée), le couplage peut être réalisé. Pour cette application, deux couplages doivent être réalisé comme cela est présenté à l'illustration-ci dessous : Illustration 7-14 Le programme peut maintenant être compilé et téléchargé. Programme d'exemple élaboré 47

Ce programme peut être testé maintenant : Après les tests, il s'avère qu'il y a un problème. Il n'y a que la moitié du bargraphe qui est utilisée. Le problème se situe au niveau des modules. Le module d'entrées analogiques utilise un bit de signe. Le module de sorties analogiques n utilise pas de signe bit. Programme d'exemple élaboré 48

C'est la raison pour laquelle le bloc de fonctions est adapté de la manière suivante : La mission qui vient d'être effectuée est une simple manipulation des données. Pour ce faire, on peut également utiliser une fonction au lieu d'un bloc fonctionnel. Ajoutez une fonction, choisissez un nom et un langage de programmation. Veillez à ce que le nom de fonction soit une variable et au fait qu'un type de données doit donc être également attribué. Illustration 7-15 La fonction en langage ST devient donc le code suivant : Var_inter := Word_To_Real (SHR(E_mot_analogique,3)&Word#16#0FFF); E_S_analogique := Real_To_Word (Var_inter*17.23); Il faut réaffecter les données Process au nouveau bloc fonctionnel. Voir le paragraphe 7.3.7 Le programme peut maintenant être compilé et téléchargé. Programme d'exemple élaboré 49

7.3.8 Fenêtre de surveillance Une autre manière pratique de suivre votre programme est la Fenêtre de surveillance. Dès qu'elle est en ligne, chaque variable peut être ajoutée à la Fenêtre de surveillance. Cliquez dans l'environnement de programmation sur une variable, cliquez avec le bouton droit de la souris et choisissez l'élément Ajouter à la fenêtre de surveillance. Illustration 7-16 Une autre manière revient à cliquer dans la feuille de travail variables d'un bloc de fonctions, d'une fonction ou d'un programme déterminé sur une variable, de cliquer avec le bouton droit de la souris et de choisir l'élément Ajouter à la fenêtre de surveillance. Illustration 7-17 Activez la fenêtre de surveillance par le biais de l icône suivante. Illustration 7-18 Programme d'exemple élaboré 50

8 Webvisit 8.1 Introduction Webvisit est un paquet logiciel pour générer des pages web. Il peut être utilisé ici pour visualiser des variables globales de l automate dans PC WorX. Une variable, pour être utilisée par l'intermédiaire de la page web, doit être déclarée comme une VAR_GLOBAL (VAR_EXTERNAL). De plus, la boite PPD doit être coché, voir Illustration 8-1. Illustration 8-1 Un contrôle de toutes les entrées et sorties qui sont cochés comme PDD se trouve également dans la liste Global_Variables. Illustration 8-2 Webvisit 51

Lors de la compilation du projet, un fichier pdd.csv est crée. L Illustration 8-3 présente un exemple d'un fichier Excel de ce genre. Vous retrouverez ce fichier dans la structure du projet PC WorX. Le projet PC WorX se retrouve de manière standard sous : C:\Program Files\Phoenix Contact\Software Suite 140\Projects Le fichier pdd.csv correspondant se retrouve ensuite sous : C:\Program Files\Phoenix Contact\Software Suite 130\Projects\xxx\C\STD_CNF\R\STD_RES. xxx comme nom du projet. Illustration 8-3 8.2 Démarrage de la visualisation Lors de la livraison de l automate, un projet WebVisit est présent de manière standard. Avec l'introduction de l'adresse IP de l automate dans Internet Explorer, la visualisation peut être démarrée (par exemple : //192.168.0.11 ) Webvisit 52

8.3 Apporter une modification dans WebVisit Démarrer WebVisit par le biais de Démarrer Programme Phoenix Contact AUTOMATIONWORX Software suite 2008 1.40 WebVisit 8.3.1 Créer un nouveau projet Fermez les projets ouverts éventuels en choisissant sous File, Close project. La création d'un nouveau projet se fait en choisissant sous File, New Project. Choisissez l'élément Project configurations sous le menu Project. Il est important d'indiquer avec quel projet PC WorX project il y aura une communication, et quel est le fichier PDD.CSV connexe. Illustration 8-4 Webvisit 53

8.3.2 Créer une nouvelle page web L'introduction d'une nouvelle page web (xxx.teq) se fait de la manière suivante : Illustration 8-7 Donnez ensuite à la page le nom Clignotement. Sélectionnez la page qui vient d'être créée Clignotement.teq. Dans la fenêtre, introduisez un bouton et un cercle à partir de la barre d'outils. Illustration 8-5 Webvisit 54

Double-cliquez sur le bouton créé pour obtenir les propriétés. Sous Repaints, le texte sur le bouton peut être modifié. Illustration 8-6 Webvisit 55

Lors de l'actionnement du bouton select, le contenu du fichier PDD.SCV fait son apparition. Maintenant, la variable nécessaire du programme PC WorX peut être associée à une action déterminée dans WebVisit. (Ici Variable_Web ) Illustration 8-7 Réglage de l'action lors de la commande du bouton (fonctionne comme un interrupteur : toggle) : Illustration 8-8 Webvisit 56

Modifier la couleur du bouton s'il est activé ou pas. Illustration 8-9 Associer le cercle avec la variable ONBOARD OUTPUT BIT0. Illustration 8-10 Enfin, il doit encore y avoir un réglage afin de faire en sorte que la page qui vient d'être réglée soit reproduite comme page de démarrage. Par le biais de Projects Project Configurations, la fenêtre cidessous est rappelée. Ici, le Main teq peut être réglé. Introduisez pour ce faire Clignotement afin que cela devienne la page de démarrage. Webvisit 57

Illustration 8-11 Afin de visualiser la valeur de sortie analogique, on utilisera un Bargraphe (histogramme). Ajoutez un histogramme de la manière indiquée sur l'illustration ci-dessous. Illustration 8-12 Le paramétrage du bargraphe se fait à nouveau en double-cliquant dessus. Sous Repaints, la variable source peut être réglée. Le bargraphe varie en même temps que la variable automate S_analogique : Webvisit 58

Illustration 8-13 Sous l'onglet Bargraph Advanced, les limites entre lesquelles la variable va varier peuvent être réglées. Pour cette sortie, cela se fera entre 0 et 64000 : Illustration 8-14 La direction dans laquelle le diagramme doit augmenter peut également être réglée à l'aide du réglage Orientation. Webvisit 59

8.3.3 Téléchargement du projet Pour télécharger le projet vers l ILC 150 ETH, il faut procéder de la manière suivante : Appelez la fenêtre de téléchargement : Illustration 8-15 Introduisez l'adresse IP de l ILC (149.208.72.37) et appuyez sur Connect. La connexion est créée et le projet est téléchargé en appuyant sur le bouton Download project. Webvisit 60

9 Trucs et astuces 9.1 Gestion de l'écran Raccourcis dans l espace de travail. <SHIFT> F2 Assistant d édition. <ALT> F2 Références croisées. <CTRL> F2 Fenêtre de message. <SHIFT> F8 Fenêtre de l arbre du projet. <ALT> F10 Fenêtre de surveillance. Si les écrans sont totalement désordonnés, une réorganisation complète est possible. Sélectionnez Options sous Outils et choisissez l'onglet Généralités. Cliquez ensuite sur Réinitialiser espace de travail. Ensuite, il faut redémarrer à nouveau PC WORX Illustration 9-1 Dans la fenêtre de programmation, il est facile de zoomer en appuyant sur la touche <CTRL> et en utilisant en même temps la souris 9.2 Gestion des variables Suppression des variables et des instances qui ne sont pas utilisées. Choisissez Remove unused sous Build Illustration 9-2 Trucs et astuces 61

Dans un bloc fonctionnel Détacher les variables, appuyez sur la touche <SHIFT>, cliquez sur la variable et la faire glisser. Copier les variables, appuyez sur la touche <CTRL>, cliquez sur la variable et la faire glisser. Pour sélectionner un bit ou un octet d un mot : cliquez sur la petite boule d'une entrée, les propriétés des variables s'ouvrent, sélectionnez le mot, placez un point derrière et une liste fait son apparition de tous les bits et octets qui font partie de ce mot. Illustration 9-3 Trucs et astuces 62

En langage ST La touche <CRLT> et la barre d'espacement donnent une liste de toutes les variables. Choisissez un mot, placez un point derrière et tous les bits et octets qui peuvent être sélectionnés dans ce mot font leur apparition. Trucs et astuces 63

10 Exercices 10.1 Un système d'alarme Un système d'alarme a 4 entrées, 4 lampes d'alarme, un buzzer, une entrée de prise en compte de l alarme et un bouton de test. Si l'une des entrées d'alarme est activée : o l'une des lampes d'alarme va s'allumer. o Le buzzer général sera actionné. Après la prise en compte de l'alarme : o la lampe correspondante s'allume en continu. o le buzzer s'arrête. Après la disparition de la cause de l'alarme, la lampe d'alarme correspondante s'éteint. Si une alarme disparaît avant que l'opérateur ait eu l'occasion d activer la prise en compte, le buzzer et la lampe restent actionnés. Un bouton de test permet de réaliser un test de la lampe et un test sonore. Lorsque ce bouton est activé, toutes les lampes s'allument. Lorsque ce bouton est relâché, les lampes s'éteignent à nouveau. Le programme final (dans un cas) doit satisfaire au diagramme temporel suivant : alarme 1 lampe d'alarme 1 son confirmation Le diagramme ci-dessus est élaboré pour une alarme. Écrivez un bloc de fonctions pour l'exécution de ce qui est demandé. Faites un programme total. Exercices 64

Utilisez la fonction clignotement qui a déjà été créée dans ce cours. Réalisez ensuite un bloc de fonctions pour le traitement de l'alarme. Une solution possible pour ce bloc de fonctions se trouve à l'illustration Illustration 10-1 Solution FB traitement de l'alarme. Illustration 10-1 Solution FB traitement de l'alarme Tout le programme : Illustration 10-2 Solution complète Exercices 65

10.2 Ouverture d'un porte automatique Une porte automatique doit être activée automatiquement. À l'aide d'un bouton poussoir, la porte doit s ouvrir. Dès qu'elle est ouverte, la porte doit automatiquement se refermer après 10 secondes. Les conditions suivantes doivent être contrôlées : Un capteur vérifie que la porte est fermée. La porte ne peut pas être ouverte si la porte n'est pas fermée. Les contacts de fin de course signalent l'ouverture et la fermeture de la porte. Liste des entrée/sorties : Fonction I/Q Type Actionné Nom logique Bouton pour l'ouverture de la I NO Détection 1 E_bp_ouverture porte Fin de course fermeture porte I NC Détection 0 E_fdc_porte_fermée Fin de course ouverture porte I NC Détection 0 E_fdc_porte_ouverte Contact de la porte I NC Détection 0 E_contact_porte Ouverture de la porte Q S_ouverture_porte Fermeture de la porte Q S_fermeture_porte Écrivez un bloc de fonctions adapté : Code du programme du bloc de fonctions dans LAD : Exercices 66

Développement : Un capteur optique contrôle si des personnes ou des objets sont présents dans l'ouverture du port. Naturellement, le port peut uniquement être fermé si le passage est entièrement libre. Après la libération du port, il faut 10 secondes avant que le port ne se ferme. Liste d'entrée sortie : Fonction du signaleur I/Q Type Actionné Nom logique Bouton pour l'ouverture de la porte I NO Détection 1 E_bp_ouverture Fin de course fermeture porte I NC Détection 0 E_fdc_porte_fermée Fin de course ouverture porte I NC Détection 0 E_fdc_porte_ouverte Contact de la porte I NC Détection 0 E_contact_porte Capteur optique porte libre I NO Détection 1 E_porte_libre Ouverture de la porte Q S_ouverture_porte Fermeture de la porte Q S_fermeture_porte Code du programme adapté du bloc de fonctions en LADDER : Exercices 67

code du programme du bloc de fonctions dans ST : (* Commande d ouverture de la porte *) RS_1(SET :=E_bp_ouverture and not E_contact_porte and E_fdc_porte_ouverte,RESET1:= not E_fdc_porte_ouverte); S_ouverture_porte :=RS_1.Q1 ; (* Commande de fermeture de la porte *) TON_1(IN := not E_fdc_porte_ouverte and E_porte_libre, PT := T#10S) ; RS_2(SET :=not E_fdc_porte_ouverte and TON_1.Q,RESET1:= not E_fdc_porte_fermée); S_fermeture_porte :=RS_2.Q1 ; Exercices 68

10.3 Suivi de la température Un capteur de température fournit un signal de courant allant de 4mA à 20mA (0.. 30.000) et ceci pour des températures allant de -50 C à +100 C. Avec ce capteur, la température du processus doit être contrôlée, et doit être maintenue entre -25 C et +55 C. Par le biais du serveur web sur l ILC150, la valeur réelle de la température peut être suivie et il y a deux alarmes. Un avertisseur alarme haute si la température se situe entre -10 C et -25 C ou si la température se situe entre +40 C et +55 C. Un avertisseur alarme très haute si la température est inférieure à -25 C ou si la température est supérieure à 55 C. Écrivez un bloc de fonctions avec trois VAR_OUTPUT s, une pour la valeur réelle de la température en C et deux pour les avertisseurs. Code du programme du bloc fonctionnel en ST : (* Mise à l échelle de la temperature *) S_reel_temperature :=(word_to_real(e_mot_temperature)/30000.0)*150.0)-50.0; (* Gestion alarme haute *) If (S_reel_temperature < -10.0 and S_reel_temperature > -25.0) or (S_reel_temperature > 40.0 and S_reel_temperature < 55.0) then S_alarme_haute := true; Else S_alarme_haute := false; (* Gestion alarme très haute *) If (S_reel_temperature < -25.0 or S_reel_temperature > 55.0) then S_alarme_tres_haute := true; Else S_alarme_tres_haute := false; Exercices 69

10.4 Exemple dans ST avec les array et les structures Objectif : trois événements doivent être suivis sur une installation. Chaque heure, le nombre de fois que l'un de ces événements a fait son apparition doit être conservé, ainsi que à quelle minute. Toutes les heures, ces données peuvent être effacées. Pour chaque événement, le nom, le nombre de fois par heure et un tableau avec l'heure doivent être conservé. Finalement, la structure suivante doit être obtenue : Exercices 70

Pour ce faire, les types de données suivants doivent être créés : Un programme est ensuite créé. Une variable avec le nom evenement est créée du type de données historique. Solution en ST : If memoire_test_heure <> RTC_HOURS then for nbr_evenement := 1 to 3 do evenement[nbr_evenement].nombre_evenement := 0; for index := 1 to 10 do evenement[nbr_evenement].valeur_evenement[index] := 0; end_for; end_for; end_if; Exercices 71

mémoire_test_heure := RTC_HOURS; R_TRIG_1(CLK:= ONBOARD_INPUT_BIT0); R_TRIG_2(CLK:= ONBOARD_INPUT_BIT1); R_TRIG_3(CLK:= ONBOARD_INPUT_BIT2); if R_TRIG_1.Q then index := evenement[1].nombre_evenement +1; evenement[1].valeur_evenement[index] := RTC_MINUTES; evenement[1].nombre_evenemnt := index; end_if; if R_TRIG_2.Q then index := evenement[2].nombre_evenement +1; evenement[2].valeur_evenement[index] := RTC_MINUTES; evenement[2].nombre_evenemnt := index; end_if; if R_TRIG_3.Q then index := evenement[3].nombre_evenement +1; evenement[3].valeur_evenement[index] := RTC_MINUTES; evenement[3].nombre_evenemnt := index; end_if; Exercices 72