Interface de programmation LOGODriveVersion
04/2002
Manuel1051 6328 / FR
SEW-EURODRIVE
Manuel Interface de programmation LOGODrive 3
Sommaire1 Programmation.................................................................................................. 4
1.1 Généralités................................................................................................ 41.2 Conditions préalables ............................................................................... 4
2 Interface de programmation graphique LOGODrive...................................... 52.1 Démarrer de l'interface de programmation graphique LOGODrive........... 52.2 Description générale de LOGODrive ........................................................ 6
3 Premier programme LOGODrive...................................................................... 83.1 Créer un nouveau projet ........................................................................... 83.2 Editer le programme LOGODrive............................................................ 10
4 Compiler, charger et lancer le programme LOGODrive .............................. 164.1 Compiler le programme........................................................................... 164.2 Upload..................................................................................................... 194.3 Quitter LOGODrive.................................................................................. 19
5 Fonctions de contrôle..................................................................................... 205.1 Fenêtre des variables ............................................................................. 205.2 Afficher les variables sélectionnées........................................................ 21
6 Documentation du programme...................................................................... 236.1 Utiliser des commentaires....................................................................... 236.2 Imprimer l'exemple de programme ......................................................... 24
7 LOGODrive pour utilisateurs avancés .......................................................... 257.1 Modifier les propriétés de projet.............................................................. 257.2 Effacer les variables inutiles.................................................................... 267.3 Traitement ............................................................................................... 267.4 Actualisation des entrées/sorties ............................................................ 307.5 Temps d'exécution des blocs fonctionnels.............................................. 307.6 Temps de cycle du programme............................................................... 307.7 Utilisation de la tâche rapide (Task 2)..................................................... 31
8 Exemples ......................................................................................................... 328.1 Commande simple de moteur ................................................................. 328.2 Gestion du courant d'un variateur ........................................................... 33
9 Synopsis des blocs fonctionnels .................................................................. 359.1 Blocs fonctionnels "Opérateurs".............................................................. 359.2 Blocs fonctionnels "Entrées / Sorties" ..................................................... 359.3 Blocs fonctionnels "Opérations arithmétiques" ....................................... 359.4 Blocs fonctionnels "Opérations sur les bits"............................................ 369.5 Opérations sur les variables.................................................................... 379.6 Opérations de comparaison.................................................................... 379.7 Temporisations ....................................................................................... 389.8 Fonctions système SEW......................................................................... 389.9 Autres instructions .................................................................................. 38
10 Index................................................................................................................. 39
4 Manuel Interface de programmation LOGODrive
Généralités
1 Programmation
1.1 Généralités
Ce chapitre a pour but de vous familiariser le plus rapidement possible avec l’interfacede programmation graphique LOGODrive. Un exemple développé et complété au fur età mesure des différents chapitres vous permettra de comprendre les fonctionnalités fon-damentales de LOGODrive.
Cette introduction procède en plusieurs étapes abordant chacune un problèmeimportant.
Interface de programmation graphique LOGODriveCe chapitre vous apprendra comment démarrer et utiliser l'interface de programmationgraphique LOGODrive.
Premier programme LOGODriveVous écrirez votre premier programme LOGODrive au cours de ce chapitre.
Compilation et lancement d’un programme LOGODriveDans ce chapitre, vous allez compiler le programme élaboré, le charger dans le varia-teur et l'exécuter.
Fonctions de contrôleCe chapitre vous permettra de contrôler le programme et de visualiser les valeurs desvariables.
Documentation du programmeUne fonction impression est implémentée dans l'interface de programmation graphiqueLOGODrive en vue d'imprimer les programmes sous une forme formatée.
LOGODrive pour utilisateurs avancésCe chapitre explique les fonctions avancées dans l'utilisation de LOGODrive.
1.2 Conditions préalables
Cette introduction suppose une bonne connaissance du système d'exploitationWindows95, Windows98, WindowsNT ou Windows2000 et une bonne maîtrise desoutils Windows.
L'interface de programmation LOGODrive est intégré dans l'atelier logiciel MOVITOOLSversion 2.6 ou plus ; celui-ci doit donc être installé dans le répertoire "Programme/SEW…".
Manuel Interface de programmation LOGODrive 5
Démarrer de l'interface de programmation graphique LOGODrive
2 Interface de programmation graphique LOGODriveDans ce chapitre, vous allez apprendre comment démarrer l'interface de programmationgraphique LOGODrive, comment élaborer un nouveau projet et comment utiliserl'interface.
2.1 Démarrer de l'interface de programmation graphique LOGODrive
L'interface de programmation graphique LOGODrive est intégré à l'atelier logicielMOVITOOLS. On y accède via le Manager MOVITOOLS.
Lancez le MANAGER à partir du menu de démarrage dans Windows95/98 ouWindowsNT/2000 en sélectionnant le programme Manager MT dans le répertoireProgramme/SEW/MoviTools.
Raccordement Raccordez ensuite le variateur et le convertisseur d'interface UWS21A à un port-sériedisponible du PC. Sélectionnez cet interface dans le groupe PC-COM. Sur la figure ci-dessus, l'interface sélectionné est COM1.
Il est nécessaire de mettre l'appareil sous tension pour communiquer avec le variateurpar l'intermédiaire de la liaison-série.
04376AFRFig. 1 : Lancer LOGODrive
6 Manuel Interface de programmation LOGODrive
Description générale de LOGODrive
Le bouton Actualiser permet de rechercher tous les appareils raccordés et de les affi-cher dans la liste des appareils. Votre appareil devrait maintenant figurer dans la liste.Si ce n'est pas le cas, il n'y a pas de connexion entre le PC et le variateur. Vérifiez laliaison.
Lorsque vous sélectionnez un appareil dans la liste des appareils, l'adresse correspon-dante est spécifiée et le système passe en mode ONLINE.
Démarrez à présent LOGODrive en cliquant sur le bouton LOGODrive.
2.2 Description générale de LOGODrive
L’écran suivant s'affiche après le démarrage de LOGODrive :
L'écran de LOGODrive est divisé en cinq zones :
1. Barre de menu Toutes les fonctions du programme sont réparties en groupes de menus sur cette barre.Le menu Fichier, par ex., permet d'accéder à toutes les opérations sur les fichiers. Vouspouvez sélectionner dans ce menu Fichier/Ouvrir, Fichier/Fermer, Fichier/Sauver, etc.
04377AFRFig. 2 : L’écran LOGODrive
Manuel Interface de programmation LOGODrive 7
Description générale de LOGODrive
2. Barre d’outils La barre d'outils sert tout d'abord à afficher (de gauche à droite) les états d'exécutiond'une tâche (Task 1 et Task 2). Puis viennent les boutons avec les fonctions suivantes :
• Nouvelle page
• Nouveau projet
• Ouvrir
• Sauver
• Sauver toutes les pages
• Copier
• Couper
• Insérer
• Lancer programme
• Arrêter programme
• Supprimer élément
• Compiler projet
• Compiler et transférer
• Comparer fichier et variateur
3. Fenêtre de projet
La fenêtre de projet permet d'afficher tous les fichiers associés à un projet. Les fichierssont répartis en trois groupes : Initial Form(s), Task 1 Form(s) et Task 2 Form(s).
4. Fenêtre principale
La fenêtre principale permet d'afficher les fichiers programme. En l'absence de projet,cette fenêtre est vide.
5. Barre d'états La barre d'état donne des informations sur l'état de la communication (online, offline),l'adresse de l'appareil, etc.
8 Manuel Interface de programmation LOGODrive
Créer un nouveau projet
3 Premier programme LOGODriveVous écrirez votre premier programme LOGODrive dans le cadre de ce chapitre.
3.1 Créer un nouveau projet
La commande Fichier/Nouveau/Projet... permet de créer un nouveau projet et la fenêtrede configuration suivante s'affiche alors.
Cette fenêtre sert à définir les grandes lignes de la structure du programme.
Saisir les données
Entrez tout d'abord le nom de projet et le répertoire où sera stocké le fichier. Le systèmegénère alors un sous-répertoire avec le chemin d'accès spécifié pour le nom du projet.
Précisez ensuite l'architecture du programme. Dans notre exemple, le programme s'ar-ticulera autour d'une partie Initialisation et d'une tâche à vitesse d'exécution normaleTask 1.
04378AFRFig. 3 : Définir les propriétés du programme
Manuel Interface de programmation LOGODrive 9
Créer un nouveau projet
De plus, les propriétés de projet servent à définir le domaine des variables symboliques(globales) et temporaires.
Les fichiers dont les formulaires de programme ont pour fonction l'initialisation du pro-gramme et du variateur sont mémorisés dans le groupe initialisation. Ces parties de pro-gramme ne sont exécutées qu'une seule fois, tout de suite après le lancement duprogramme. Les groupes Task 1 et Task 2 comprennent la partie du programme exé-cutée cycliquement. Task 1 et Task 2 se différencient par leur temps de traitement (voir"LOGODrive pour utilisateurs avancés").
A présent, passons à la création d'un fichier d'initialisation et d'un fichier programme.
Cochez à cet effet Initial Form(s) dans la fenêtre de projet. Cliquez ensuite sur le bouton ou sélectionnez la commande Fichier/Nouveau/Fichier programme. Le logiciel vous
invite à entrer un nom de fichier. Entrez le nom Initialisation.gri. Ce fichier vient alorsprendre automatiquement place dans la structure arborescente.
Créons à présent le fichier programme. Cochez Task 1 Form(s) dans la fenêtre de pro-jet, puis cliquez sur le bouton ou sélectionnez la commande Fichier/Nouveau/Fichierprogramme. Entrez le nom Task 1 Formulaire.gri pour ce fichier.
Vous avez créé tous les fichiers nécessaires à la réalisation du projet. La fenêtre de pro-jet devrait maintenant se présenter comme suit :
A ce stade, nous recommandons d'enregistrer - sous Commande de barrière - ce projetde manière à pouvoir le réutiliser ultérieurement.
04379AFRFig. 4 : Créer les formulaires
10 Manuel Interface de programmation LOGODrive
Editer le programme LOGODrive
Cliquez sur le bouton "Sauver" ou "Sauver toutes les pages" ou sélectionnezFichier/Sauver pour enregistrer le projet.
Fermez le programme par Fichier/Quitter.
3.2 Editer le programme LOGODrive
Redémarrez LOGODrive. Cette fois-ci, le projet Commande de barrière est chargé auto-matiquement puisqu'il était ouvert en quittant le projet.
Afin de vous familiariser avec les autres fonctions de l'interface de programmation gra-phique LOGODrive, vous allez maintenant écrire un programme de commande debarrière.
Définition des tâches
Dans ce programme, il s'agit de réaliser une commande simple de barrière.
• A l'état initial, le feu est rouge et la barrière fermée.
• Il s'agit d'ouvrir la barrière par l'intermédiaire d'un interrupteur à clé.
• 2 s après l'ouverture de la barrière, le feu doit devenir vert.
• La barrière restera ouverte pendant 20 s.
• 2 s avant la fermeture de la barrière, le feu doit repasser au rouge.
D'où les opérateurs d'entrée et de sortie suivants pour l'exemple considéré :
Ecriture du formulaire d’initialisation
Dans le formulaire d'initialisation, nous souhaitons mettre les variables à un état initialdéfini.
Double-cliquez sur le fichier Initialisation.gri dans la fenêtre de projet. Un formulaire vides'affiche ; il permettra par la suite de relier entre eux les différents blocs fonctionnels.
A cet effet, cliquez sur "Fonctions" dans la fenêtre de projet. Une liste de toutes les fonc-tions mises à disposition par LOGODrive s'affiche alors.
Nous voulons mettre l'interrupteur à clé, la barrière et les feux à l'état initial.
N° Type Désignation Description
1 Opérateur d'entrée
Interrupteur à clé Commande interrupteur à cléFlanc 0-1 : ouvrir barrière
2 Opérateur de sortie
Barrière Commande barrière0 = barrière fermée1 = barrière ouverte
3 Opérateur de sortie
Feu rouge Commande feu rouge0 = feu rouge éteint1 = feu rouge allumé
4 Opérateur de sortie
Feu vert Commande feu vert0 = feu vert éteint1 = feu rouge allumé
Manuel Interface de programmation LOGODrive 11
Editer le programme LOGODrive
Insérer un bloc fonctionnel
Sélectionnez l'opérateur d'entrée et, en gardant la touche gauche de la souris enfoncée,faites glisser ce bloc fonctionnel avec la souris dans le formulaire d'initialisation. Double-cliquez sur le bloc fonctionnel ainsi créé et affectez-lui la valeur constante 0. De même,sélectionnez maintenant l'opérateur de sortie et faites-le glisser avec la souris dans lefichier d'initialisation. Double-cliquez sur ce bloc fonctionnel et nommez-le Interrupteurà clé.
Il faut encore relier ces deux blocs de manière à affecter la valeur 0 à l'interrupteur à clé.
Relier les blocs fonctionnels
Sélectionnez la constante. Dès que vous positionnez le pointeur de la souris du côté dela sortie, ce dernier prend la forme d'un fer à souder. Maintenez le bouton gauche de lasouris enfoncé et positionnez le pointeur à l'entrée de l'Interrupteur à clé. Le fer à souderdevient vert. Vous pouvez maintenant relâcher le bouton de la souris. La liaison estreprésentée.
Cette connexion affecte la valeur 0 à l'Interrupteur à clé dans le formulaire d’initialisation.
Répétez cette opération pour la barrière et pour les deux feux.
Le programme devrait à présent ressembler à la figure ci-dessus. Enregistrez leprogramme.
04380AFRFig. 5 : Formulaire d’initialisation
12 Manuel Interface de programmation LOGODrive
Editer le programme LOGODrive
Ecrire un code programme
Vous devez maintenant écrire le programme commandant la barrière. Ouvrez à cet effetle formulaire Task 1 Formulaire.gri.
Dès que l'interrupteur à clé détecte un flanc montant, il s'agit d'ouvrir la barrière.
Pour ouvrir la barrière, nous pouvons utiliser le bloc fonctionnel TP (impulsion).
Ouvrez le groupe Temporisations sous Fonctions dans la fenêtre de projet. Vous y trou-verez le bloc fonctionnel TP. Faites-le glisser dans le formulaire.
Fonction d’aide Vous pouvez consulter l’aide en ligne en appuyant sur la touche F1 une fois ce blocfonctionnel sélectionné. La fenêtre d'aide suivante apparaît à l'écran :
04381AFRFig. 6 : Aide pour le bloc fonctionnel TP
Manuel Interface de programmation LOGODrive 13
Editer le programme LOGODrive
Appliquons maintenant le signal de l'interrupteur à clé à l'entrée IN et un signal constantde 20000 à l'entrée de PT. La sortie Q passe de ce fait à l'état 1 pour une durée d'exac-tement 20 s (20000 ms) après détection d'un flanc montant sur l'interrupteur à clé.
Si nous relions ensuite la sortie à la barrière, cette dernière s'ouvre durant exactement20 s après détection du flanc montant sur l'interrupteur à clé.
Le programme devrait à présent ressembler à la figure suivante :
Avant de poursuivre avec la programmation commandant les feux, examinons les pro-priétés du bloc fonctionnel TP.
Menu contextuel Sélectionnez le bloc fonctionnel TP, puis cliquez sur le bouton droit de la souris. Unmenu contextuel s'ouvre, vous autorisant à accéder aux fonctions suivantes :
04382AFRFig. 7 : Programmation de la barrière
04383AFRFig. 8 : Menu contextuel du bloc fonctionnel TP
14 Manuel Interface de programmation LOGODrive
Editer le programme LOGODrive
Les entrées et les sorties ont elles aussi un menu contextuel. Sélectionnez la sortie dubloc fonctionnel TP et appuyez sur le bouton droit de la souris.
Ce menu contextuel vous permet de supprimer la liaison de la sortie sélectionnée ou del'inverser.
Si vous inversez la sortie, cette dernière devient NON Q et la valeur est traitée enconséquence.
Vous pouvez procéder de la même manière avec les entrées.
Il reste maintenant à commander les feux.
04384AFRFig. 9 : Propriétés du bloc fonctionnel TP
Tableau 1 : Fonctions du menu contextuel
Supprimer objet Supprimer le bloc fonctionnel
Supprimer liaison Supprimer toutes les connexions entrantes/sortantes de ce bloc fonctionnel
Propriétés Paramétrage de propriétés d'initialisation. Pour le module TP, le paramétrage prévoit un nombre d'entrées fixe (2) et un nombre de sorties fixe (1)
04385AFRFig. 10 : Menu contextuel sortie
04386AFRFig. 11 : Inversion de la sortie
Manuel Interface de programmation LOGODrive 15
Editer le programme LOGODrive
Temporisation à la fermeture
Nous pouvons ici utiliser une temporisation à la fermeture. Cette dernière est implémen-tée dans le bloc fonctionnel TON. Sélectionnez ce bloc fonctionnel et faites-le glisserdans le formulaire à l'aide de la souris. En appuyant sur la touche F1, vous pouvez ànouveau faire apparaître une description du module.
Appliquez à l'entrée de PT une valeur constante égale à 2000. De ce fait, le signal debarrière arrive avec une temporisation de 2 s sur la sortie du bloc fonctionnel.
Il n'est cependant pas possible d'envoyer ce signal directement sur le feu, car ce dernierdoit redevenir rouge exactement 2 s avant la fermeture de la barrière.
C'est pourquoi il faut connecter à la sortie du bloc de temporisation TON un bloc fonc-tionnel TP mettant le feu au vert pendant exactement 16 s = 20 s (temps d'ouverture dela barrière) - 2 s (temporisation à la fermeture) - 2 s (passage au rouge avant la ferme-ture de la barrière).
Vous pouvez relier le signal Feu vert au signal Feu rouge par l'intermédiaire d'un blocfonctionnel NOT. Vous trouverez la fonction NON dans le groupe Opérations sur lesbits.
Votre programme devrait avoir à présent la forme suivante :
Après avoir écrit ce programme, il est conseillé de le sauvegarder une dernière fois.
04387AFRFig. 12 : Formulaire de programme
16 Manuel Interface de programmation LOGODrive
Compiler le programme
4 Compiler, charger et lancer le programme LOGODriveDans ce chapitre, vous allez compiler le programme écrit précédemment, le chargerdans le variateur et l'exécuter.
Procédure de transfert
Il existe deux possibilités de transférer un projet programmé. La fonctionnalité du pro-gramme ne dépend que du code source compilé. La possibilité de mémoriser le gra-phique dans le variateur est un moyen permettant à l'utilisateur de s'y retrouverfacilement, même au bout d'un certain temps.
Enregistrer le code source
Le code source est transféré vers le variateur en cliquant sur le bouton "Compiler ettransfert" ou en sélectionnant le menu Programme/Compiler et transférer. Autrementdit, le graphique n'est pas mémorisé dans le variateur, mais seulement le code source.
Cette fonction s'avère utile lorsque vous testez en permanence la fonctionnalité du pro-gramme pendant la mise au point du projet et qu'il n'est pas nécessaire de mémoriserà chaque fois le graphique dans le variateur.
Mémoriser le graphique
Le fichier graphique du programme est transféré en sélectionnant le menu Projet/Down-load dans la barre de menu. En d'autres termes, le code source et le graphique sont mé-morisés dans le variateur dans le cas d'une compilation sans erreur. Cette fonction serévèle utile si vous souhaitez mémoriser le projet complet dans le variateur une fois ledéveloppement du programme achevé.
4.1 Compiler le programme
Nous voulons à présent traduire (compiler) le programme LOGODrive en un programmeexécutable par le variateur. Cliquez sur le bouton . Cette action a pour effet d'enre-gistrer automatiquement le programme dans un premier temps, puis de le compiler dansun second temps. Le code compilé est mémorisé dans le variateur.
04410AFRFig. 13 : Résultat du compilateur
Manuel Interface de programmation LOGODrive 17
Compiler le programme
La fenêtre d’information ci-dessus s'affiche après la compilation du programme. Si leprogramme ne contient pas d'erreur, le code d'erreur et le message d'erreur "Pas d'er-reur" s’affichent.
Rapport de compilation
Le bouton OK sert à fermer la fenêtre. Puis apparaît une fenêtre contenant plusieursmessages générés lors de la compilation.
Le nom de projet est la première information. Puis un texte précise que le fichier d'ini-tialisation (Initialisation.gri) et le fichier Task 1 (Task 1 formulaire.gri) ont été compiléscorrectement. Ensuite, les fichiers compilés ont été liés par l'éditeur de liens, le code aété optimisé, et un code exécutable généré pour le variateur.
Le message sur la dernière ligne indique que le processus de compilation s'est déroulécorrectement.
La taille du programme s'affiche également. Elle est exprimée sous la forme du nombrede mots qu'occupe en mémoire le programme en langage évolué. Ce nombre absoluest aussi mentionné en pourcentage de l'espace mémoire requis dans le variateur parl'exécution du programme.
Dans notre exemple, la traduction du programme s'est déroulée correctement et le pro-gramme a une longueur de 173 mots, soit 8,45 % de l'espace mémoire disponible.
Messages d’erreur lors de la compilation
Comme la programmation donne malheureusement toujours lieu à des erreurs entraî-nant l'impossibilité de compiler le programme, le compilateur LOGODrive intègre unsystème de signalisations d'erreur. Lorsqu'une erreur apparaît, le bloc fonctionnel con-tenant l'erreur est signalé en rouge et un message d'erreur caractérisant cette erreurs'affiche.
Examinons ce processus à l'aide d'un exemple.
Supprimez la liaison entre la porte logique inverseuse NOT et la variable de sortie Feurouge. Sélectionnez à cet effet la porte inverseuse NOT. Positionnez le pointeur de lasouris sur la sortie de manière à afficher le fer à souder et cliquez sur le bouton droit dela souris.
04411AFRFig. 14 : Rapport du compilateur
18 Manuel Interface de programmation LOGODrive
Compiler le programme
Vous ouvrez ainsi un menu en incrustation où vous pouvez sélectionner Supprimerliaison. De ce fait, la connexion entre la porte inverseuse NOT et la variable de sortieFeu rouge est coupée.
Si vous compilez le programme en cliquant sur le bouton , le message suivants'affiche :
Comme une erreur est apparue lors de la compilation, le code et le message d'erreurcorrespondants s'affichent. Après fermeture de la fenêtre, le bloc fonctionnel dans le-quel un défaut a été vu est visualisé.
Eliminez cette erreur en rétablissant la connexion entre la porte inverseuse NOT et lavariable de sortie Feu rouge.
Chargement du programme dans le variateur
Lors de l'étape suivante, vous pouvez charger le programme dans le variateur. Cliquezà cet effet sur le bouton . Le programme est ensuite une nouvelle fois compilé, puischargé dans le variateur si aucune erreur n'est détectée.
Vous pouvez maintenant lancer le programme.
Lancement et arrêt du programme
Le bouton permet de lancer le programme. Maintenant le programme tourne dans levariateur et l'état START s'affiche dans la barre d'outils.
Vérifions à présent si le programme fonctionne effectivement.
A cet effet, forçons la variable Interrupteur à clé à 1, puis observons les variables Bar-rière, Feu rouge, Feu vert.
04412AFRFig. 15 : Message d’erreur du compilateur
Manuel Interface de programmation LOGODrive 19
Upload
A cet effet, ouvrez la fenêtre des variables en sélectionnant la commande Affichage/Toutes les variables. Forcez ensuite la variable H350 Interrupteur à clé à 1. Puis vousserez en mesure d'observer les variables H351 Barrière, H352 Feu rouge et H353 Feuvert.
La fonctionnalité de cette fenêtre fera l'objet d'explications détaillées dans le prochainchapitre.
Nous souhaitons maintenant arrêter le programme. Pour ce faire, cliquez sur le bouton. L'état PSTOP s'affiche dans la barre d'outils.
Comparaison des programmes
Fermez le compilateur LOGODrive, puis redémarrez-le.
Le programme précédent reste en mémoire dans le variateur. Néanmoins ne savez-vous peut-être plus si le programme en mémoire dans le variateur correspond auprogramme affiché par le compilateur LOGODrive.
C'est pourquoi il existe une fonction de comparaison. Cliquez sur le bouton afin de com-parer les deux programmes. Ensuite, une boîte de dialogue vous informe sur l'identitéou la différence des programmes.
Dans notre exemple, les deux programmes sont identiques, c'est pourquoi la fenêtresuivante apparaît à l'écran :
4.2 Upload
Si le PC charge un programme à partir du variateur, la première opération consiste enla comparaison du code source et des données graphiques. Si les données correspon-dent, le projet s'affiche. Si les données diffèrent, un avertissement apparaît à l'écran etles données graphiques sont visualisées.
4.3 Quitter LOGODrive
Lorsque vous quittez LOGODrive, le système vous demande tout d'abord si le codesource a été modifié et chargé dans le variateur afin que le code source et le code desdonnées graphiques diffèrent dans le variateur. Si tel est le cas, le système vous de-mande si vous voulez transférer les données graphiques dans le variateur.
04413AFRFig. 16 : Comparaison des programmes
20 Manuel Interface de programmation LOGODrive
Fenêtre des variables
5 Fonctions de contrôleDans ce chapitre, nous allons modifier et contrôler les variables afin de vérifier si la fonc-tionnalité voulue est effective.
5.1 Fenêtre des variables
Contrôlons à présent le déroulement du programme. A cet effet, forcer la variable Inter-rupteur à clé à 1. Puis, observer les variables Barrière, Feu rouge et Feu vert.
Ouvrez la fenêtre des variables en sélectionnant la commande Affichage/Toutes les va-riables. Revenez ensuite à la fenêtre de programme et lancez le programme en cliquantsur le bouton .
Retournez à la fenêtre des variables et recherchez la variable H350. Cette variable etles trois variables suivantes s'affichent en vert, en d'autres termes, elles sont employéesdans le programme. La variable H350 est suivie de son nom : Interrupteur à clé. Forcezla valeur de cette variable à 1 en cliquant dans le champ Value, en inscrivant la valeur1 et en validant avec ENTER.
A présent, vous pouvez observer les variables H351 Barrière, H352 Feu rouge et H353Feu vert et vérifier le fonctionnement de la commande de barrière.
04414AFRFig. 17 : Fenêtre des variables
Manuel Interface de programmation LOGODrive 21
Afficher les variables sélectionnées
5.2 Afficher les variables sélectionnées
Dans notre exemple de programme, nous ne travaillons pas avec la numérotation in-terne des variables allant de H0 à H511 mais avec des noms symboliques (par ex. In-terrupteur à clé). Le compilateur associe à chacun de ces noms symboliques unevariable bien précise. C'est pourquoi, dans notre exemple, les variables sont numéro-tées à partir de H350.
Dans notre exemple, nous ne chercherons pas à savoir à quelles variables physiquescorrespondent les noms symboliques. C'est pourquoi il existe une fenêtre spéciale per-mettant d'afficher les variables à observer selon leur désignateur symbolique.
Ouvrez cette fenêtre en sélectionnant Affichage/Variables sélectionnées/Affichage.Vous devez maintenant définir quelles sont les variables à afficher.
Allez dans Affichage/Variables sélectionnées/Choix des variables. Il s’ouvre alors uneboîte de dialogue dans laquelle vous pouvez sélectionner les variables à afficher.
04115AFRFig. 18 : Sélectionner les variables à afficher
22 Manuel Interface de programmation LOGODrive
Afficher les variables sélectionnées
Sélectionner les variables à afficher
Sélectionnez les variables H350 (Interrupteur à clé) à H353 (Feu vert) et cliquez sur lebouton Insérer ->. Les variables sont reportées dans la liste de droite. Puis confirmezavec OK. Une fenêtre contenant les variables sélectionnées s'affiche à présent.
Cette fenêtre a le même aspect que la fenêtre générale des variables, mais contient uni-quement les variables sélectionnées.
Il est possible d'afficher les valeurs de ces variables dans différents formats. Nous sou-haitons représenter la valeur de la variable Barrière au format hexadécimal. Sélection-nez la variable Barrière et ouvrez le menu contextuel en cliquant sur le bouton droit dela souris. Sélectionnez la commande Format d’affichage/Hex. Cette variable s'affiche àprésent au format hexadécimal.
Cette option permet le contrôle et la recherche d'erreur de manière très conviviale dansle programme.
04416AFRFig. 19 : Afficher les variables sélectionnées
04417AFRFig. 20 : Fenêtre "Variables sélectionnées"
Manuel Interface de programmation LOGODrive 23
Utiliser des commentaires
6 Documentation du programmeUn aspect important dans l'écriture de programmes réside dans leur documentation.Plus un programme est bien documenté, plus une tierce personne peut s'en servirrapidement.
Il est possible d'insérer des commentaires dans un programme LOGODrive. Vous pou-vez insérer un bloc fonctionnel de commentaire à un endroit quelconque du programmeet ainsi expliquer votre programme.
Grâce à l'implémentation d'une fonction impression, il est possible de sortir une feuilleformatée sur imprimante.
6.1 Utiliser des commentaires
Insérons un commentaire dans notre programme. Il s'agit d'ajouter le texte suivant :
--------------------------------------------------------Commande de barrièreInterrupteur à clé à 1 -->1. La barrière s'ouvre2. Après 2s, le feu passe au vert3. Après 16 s de plus, le feu repasse au rouge4. Au bout de 2s supplémentaires, la barrière se referme--------------------------------------------------------
Comme ce texte est assez long, il est nécessaire de faire de la place en déplaçant versle bas l'ensemble des blocs fonctionnels.
Pour ce faire, tracez un cadre autour de l'ensemble des blocs fonctionnels en gardantle bouton gauche de la souris enfoncé pour englober et ainsi sélectionner tous les blocsfonctionnels. Vous pouvez à présent vous positionner sur un bloc fonctionnel avec lasouris (le pointeur de la souris prend la forme d'une croix à deux flèches). Cliquez surle bouton gauche de la souris en la faisant glisser simultanément pour déplacer l'en-semble de la zone sélectionnée et créer la zone vide recherchée.
Vous êtes maintenant en mesure de sélectionner le commentaire dans la liste des blocsfonctionnels et de le positionner dans la zone désormais libre sur votre feuille de calcul.Un double clic sur le bloc fonctionnel Commentaire permet l'ouverture d’une boîte dedialogue où vous pouvez saisir le commentaire voulu.
24 Manuel Interface de programmation LOGODrive
Imprimer l’exemple de programme
Ensuite, le programme devrait avoir la forme suivante :
6.2 Imprimer l’exemple de programme
Nous pouvons maintenant imprimer le programme. Ouvrez le formulaire à imprimer. Po-sitionnez le pointeur de la souris dans le formulaire et cliquez sur le bouton droit. Unmenu contextuel s'affiche. Sélectionnez l'option Imprimer.
La boîte de dialogue standard s'affiche ; vous pouvez y sélectionner l'imprimante, lesréglages de l'imprimante et le nombre de copies voulues, puis validez avec OK.
04418AFRFig. 21 : Insérer des commentaires
Manuel Interface de programmation LOGODrive 25
Modifier les propriétés de projet
7 LOGODrive pour utilisateurs avancésDans ce chapitre, nous allons examiner quelques propriétés et fonctions avancées deLOGODrive.
7.1 Modifier les propriétés de projet
Au début, nous avons élaboré un nouveau projet. Il nous a fallu alors spécifier les partiesde programme à définir. Nous avons construit le programme autour
• d'une partie initialisation : Initial Form(s)
• et d'une tâche (Task 1) : Task 1 Form(s)
Il fallait en outre indiquer le nom du projet (Commande de barrière).
Pour modifier par la suite ces propriétés spécifiques au projet, vous devez sélectionnerla commande Projet/Propriétés.
La fenêtre comportant les propriétés du projet s'affiche. Vous pouvez maintenant modi-fier les propriétés comme bon vous semble, puis valider les modifications en cliquantsur OK.
04419AFRFig. 22 : Modifier les propriétés du programme
26 Manuel Interface de programmation LOGODrive
Effacer les variables inutiles
7.2 Effacer les variables inutiles
Une fonction implémentée dans le compilateur LOGODrive permet d'effacer toutes lesvariables inutiles.
Les variables inutiles consistent en des variables non reliées à un bloc fonctionnel ou àune autre variable, ou, pour le dire d'une manière générale, des variables ne générantpas de code programme.
Ce cas pourrait se présenter lors de la programmation par ex. si vous effaciez un blocfonctionnel dans votre formulaire et si vous oubliiez d'effacer aussi ses variablesd'entrée.
A ce moment-là, le compilateur sortirait un message d'erreur car il aurait trouvé une va-riable sans aucun lien.
Pour effacer toutes ces variables inutiles avant la compilation, activez le formulairevoulu et sélectionnez la commande Edition/Supprimer les éléments inutiles.
Vous pouvez également activer cette fonction par l'intermédiaire du menu contextuel(cliquez sur le bouton droit de la souris dans le formulaire en question) en sélectionnantSupprimer les objets inutiles.
Pour tester cette fonction, vous pouvez ajouter à votre formulaire quelques variablesd'entrée ou quelques constantes. Puis sélectionnez la commande Supprimer les objetsinutiles. Vous constaterez alors que ces variables et ces constantes ont à nouveau étésupprimées.
7.3 Traitement
En ce qui concerne la programmation, il est de la plus haute importance de savoir dansquel ordre les différents blocs fonctionnels d'un programme seront traités.
Le traitement est soumis à quelques règles :
• Les formulaires créés dans un chemin de projet sont traités de haut en bas. Autre-ment dit, le traitement porte d'abord sur tous les formulaires d'initialisation, puis sur les formulaires Task 1 et Task 2.
• A l'intérieur d'un groupe de formulaires, ces derniers sont traités de haut en bas.
• A l'intérieur d'un formulaire, les blocs fonctionnels sont traités de gauche à droite et de haut en bas.
Exemple d’ordre de traitement des formulaires et des blocs fonctionnels
Nous souhaitons ajouter à notre exemple quelques formulaires pour nous permettre denous rendre compte de la façon dont se fait le traitement de programme et des blocsfonctionnels.
Ajoutez à votre projet les formulaires Init1.gri, Init2.gri dans le groupe de formulaires Ini-tial Form(s) et les formulaires Formulaire1.gri et Formulaire2.gri dans le groupe de for-mulaires Task 1 Form(s).
Manuel Interface de programmation LOGODrive 27
Traitement
Vous voyez maintenant les formulaires du groupe Initial Form(s) dans l’ordre suivant
• Initialisation.gri
• Init1.gri
• Init2.gri
Cet ordre de succession signifie que le formulaire Initialisation.gri est traité en premier,puis Init1.gri et ensuite le formulaire Init2.gri.
Après ce passage, l'initialisation est terminée, ces formulaires ne seront plus exécutéspar la suite.
Mais vous pouvez modifier l'ordre des formulaires a posteriori.
Sélectionnez le formulaire, maintenez le bouton gauche de la souris appuyé et déplacezle formulaire jusqu'à la position voulue. Si le pointeur de la souris prend la forme d'uncercle barré pendant le déplacement, cette position du formulaire est invalide.
Remettez les formulaires dans l'ordre mentionné ci-dessus.
Créez en outre deux formulaires Task 1 appelés Formulaire1.gri et Formulaire2.gri. Dé-placez également ces formulaires pour les mettre dans l'ordre voulu.
Le chemin de projet de votre programme devrait maintenant se présenter comme suit :
04420AFRFig. 23 : Insérer des formulaires supplémentaires
28 Manuel Interface de programmation LOGODrive
Traitement
Voyons une fois encore le déroulement du programme. Les formulaires sont traitésdans l'ordre suivant :
Le traitement des blocs fonctionnels à l'intérieur d'un formulaire s'effectue de gauche àdroite et de haut en bas. Dans notre exemple, c'est donc la valeur de la variable Barrièrequi est calculée en premier, puis la valeur de Feu vert et en dernier, la valeur de Feurouge.
Tableau 2 : Déroulement du programme
↓
Initialisation.gri
↓
Init1.gri
↓
Init2.gri
↓
↓
Task 1 Formulaire.gri
↓
Formulaire1.gri
↓
Formulaire2.gri
↓
04421AFRFig. 24 : Traitement des blocs fonctionnels
Manuel Interface de programmation LOGODrive 29
Traitement
L'ordre de traitement revêt une grande importance car le résultat du calcul peut endépendre.
Nous pouvons le démontrer en reprenant par ex. les formulaires d'initialisation.
Nous allons examiner deux formulaires d'initialisation différents apparemment censésremplir les mêmes fonctions :
Dans le formulaire d'Initialisation 1, c'est d'abord l'Interrupteur à clé qui est initialisé, puisla Barrière, enfin le Feu rouge. Ensuite, le Feu vert est initialisé à partir du signal Feurouge par l'intermédiaire d'un inverseur (bloc fonctionnel NOT).
Dans le formulaire d'Initialisation 2, c'est aussi l'Interrupteur à clé qui est initialisé en pre-mier, puis la Barrière. Ensuite, le Feu vert est initialisé à partir du signal Feu rouge parl'intermédiaire d'un inverseur (bloc fonctionnel NOT). En revanche, le signal Feu rougen'est initialisé qu'après. De ce fait, le signal Feu vert peut prendre des valeurs différentesaprès initialisation, et ce selon la valeur de la variable Feu rouge avant que cette der-nière soit initialisée.
04422AFRFig. 25 : Initialisation 1
04423AFRFig. 26 : Initialisation 2
30 Manuel Interface de programmation LOGODrive
Actualisation des entrées/sorties
Si Feu rouge était à l'état 0 à l'arrêt du programme, Feu vert sera initialisé à la valeur 1et sur la ligne suivante, Feu rouge sera aussi initialisé à la valeur 1. Il en résulte un étatinvalide où les deux signaux ont la valeur 1.
Comme vous le voyez, l'ordre de traitement des blocs fonctionnels peut revêtir une im-portance capitale.
7.4 Actualisation des entrées/sorties
De même, les temps de traitement ont une importance décisive. Les sorties et les va-riables sont actualisées dans la commande de déroulement sur le variateur au momentprécis où la valeur correspondante a été calculée par le bloc fonctionnel. De même, lesentrées connaissent une actualisation asynchrone par rapport au traitement du pro-gramme.
De ce fait, ces commandes de déroulement se distinguent d'un programme auto-mate possédant une image des entrées et des sorties du processus et n'actuali-sant les sorties qu'après chaque cycle de programme.
Vous pouvez cependant définir une image du processus en recopiant toutes les gran-deurs d'entrée pertinentes (données-process, entrées…) dans des variables au débutdu traitement cyclique (par ex. sous la forme d'un premier formulaire dans Task 1Form(s) et en les utilisant dans le déroulement ultérieur du programme. Vous pouvezprocéder de la même manière avec les valeurs de sortie. Copiez les sorties, lesdonnées-process, etc. dans des variables et insérez une dernière feuille qui force lessorties physiques à la valeur de ces variables.
7.5 Temps d'exécution des blocs fonctionnels
Les temps d'exécution des blocs fonctionnels dépendent du type de fonction.
Certaines fonctions sont implémentées directement dans la commande de déroulementsur le variateur (par ex. AND, OR, NOT, ADD, etc.). Lorsqu'elles n'utilisent que deux en-trées, ces fonctions sont traitées en 1 ms (Task 1) ou en 0,5 ms (Task 2).
D'autres fonctions, telles que la temporisation à la fermeture TON par exemple, néces-sitent plusieurs millisecondes de traitement. L'obligation de traduire le fonctionnementvoulu en une succession d'instructions internes dont chacune prend 1 ms (Task 1) ou0,5 ms (Task 2) explique ce phénomène.
7.6 Temps de cycle du programme
Si vous utilisez des temporisations (temporisation à la fermeture, temporisation àl’ouverture, etc.), vous devez veiller à ce que le temps de cycle du programme completsoit négligeable par rapport aux valeurs de temporisation choisie pour ces blocs fonc-tionnels.
Manuel Interface de programmation LOGODrive 31
Utilisation de la tâche rapide (Task 2)
Voici un petit exemple :
Vous voulez utiliser une temporisation à la fermeture. Le temps de cycle du programmeest évalué à env. 20 ms. Dans ce cas, la précision de la temporisation à la fermeture estde 20 ms (= 1 temps de cycle du programme).
Si vous choisissez une temporisation à la fermeture de 1 s, cette dernière peut varier de20 ms, et peut par conséquent se situer entre 1 s et 1,02 s.
Exprimée en pourcentage, cette imprécision diminue à mesure que le temps choisi pourla temporisation augmente.
7.7 Utilisation de la tâche rapide (Task 2)
Task 2 est une boucle de programme susceptible d'être traitée parallèlement à la bouclede programme Task 1. Mais Task 2 se déroulera deux fois plus vite.
La figure suivante présente le déroulement du programme de l'ensemble :
Nous avons maintenant terminé d'expliquer toutes les fonctions et éléments de com-mande importants. Vous êtes à présent en mesure d'écrire et de tester des programmesLOGODrive.
Tableau 3 : Déroulement du programme
↓
Initialisation.gri
↓
Init1.gri
↓
Init2.gri
↓
↓ ↓
↓ ↓
Task 1 Formulaire.gri Task 2 Formulaire.gri
↓ ↓
Formulaire1A.gri Formulaire2A.gri
↓ ↓
Formulaire1B.gri Formulaire2B.gri
↓ ↓
32 Manuel Interface de programmation LOGODrive
Commande simple de moteur
8 Exemples
8.1 Commande simple de moteur
Projet
Initialisation
Programme
Manuel Interface de programmation LOGODrive 33
Gestion du courant d’un variateur
8.2 Gestion du courant d’un variateur
Projet
Initialisation
Programme
34 Manuel Interface de programmation LOGODrive
Gestion du courant d’un variateur
Conditions de démarrage de l'entraînement
Manuel Interface de programmation LOGODrive 35
Blocs fonctionnels "Opérateurs"
9 Synopsis des blocs fonctionnelsUne description détaillée des fonctions figure dans l'aide en ligne (F1) de la partieLOGODrive de l'atelier logiciel MOVITOOLS.
9.1 Blocs fonctionnels "Opérateurs"
Opérateur d'entrée
Il est possible de définir des constantes, des variables, des bits.
Opérateur de sortie
Il est possible de définir des variables et des bits.
9.2 Blocs fonctionnels "Entrées / Sorties"
Entrées Les bornes d'entrée correspondent à des bornes physiques du variateur.
Sorties Les bornes de sortie correspondent à des bornes physiques du variateur.
9.3 Blocs fonctionnels "Opérations arithmétiques"
Addition Les entrées 1 à n sont additionnées. La sortie correspond à la somme.
Soustraction L'entrée 2 est soustraite de l'entrée 1. La sortie correspond à la différence.
Multiplication L'entrée 1 et l'entrée 2 sont multipliées. La sortie correspond au produit.
Division L'entrée 1 est divisée par l'entrée 2. La sortie correspond au quotient.
Modulo L'entrée 1 est divisée par l'entrée 2. La sortie correspond au reste de la division.
36 Manuel Interface de programmation LOGODrive
Blocs fonctionnels "Opérations sur les bits"
9.4 Blocs fonctionnels "Opérations sur les bits"
Et / AND / & Cette fonction exécute le "et" logique des entrées 1 à n. La sortie est égale à 0 si l'uneau moins des entrées est égale à 0.
Ou / OR / >=1 Cette fonction exécute le "ou" logique des entrées 1 à n. La sortie est égale à 1 si l'uneau moins des entrées est différente de 0.
Non / NOT / ! La sortie est égale à 0 si l'entrée est égale à 1. La sortie est égale à 1 si l'entrée est égaleà 0.
F-TRIG – reconnaissance d'un flanc descendant
Une impulsion est émise en présence d'un flanc descendant sur l'entrée.
R-TRIG – reconnaissance d'un flanc montant
Une impulsion est émise en présence d'un flanc montant sur l'entrée.
Bascule RS(mise à 1)
Cette fonction est un circuit bistable permettant une mise à 1 prioritaire.
Bascule bistable RS (remise à 0)
Cette fonction est un circuit bistable permettant une remise à 0 prioritaire.
CIR – Relais à impulsion
Chaque flanc montant en entrée modifie le niveau de la sortie du bloc fonctionnel.
Bits de commande H 484 / CONTROL BITS
Il est possible d'activer certaines fonctions du variateur. Ces bits de commande sontcombinés en "ou" logique avec ceux du mot de commande (par bus de terrain ouRS-485) et avec l'état logique des bornes physiques de l'appareil.
Bits d'état H 473 / STATUS BITS
Les bits d'état permettent de demander l'état de fonctionnement du variateur.
Manuel Interface de programmation LOGODrive 37
Opérations sur les variables
9.5 Opérations sur les variables
Et / VAND / V& Les variables d'entrée sont combinées en "et" logique bit à bit. Il est suffisant (mais pasnécessaire) qu'une entrée soit égale à 0 pour que la sortie soit égale à 0.
Ou / VOR / V>=1 Les variables d'entrée sont combinées en "ou" logique bit à bit. Il est suffisant (mais pasnécessaire) qu'une entrée ait tous ses bits à 1 pour que la sortie ait tous ses bits à 1.
Ou exclusif / VXOR / V=!
Les variables d'entrée sont combinées en "ou" exclusif bit à bit.
SHL ( Si l'entrée 1 est supérieure à l'entrée 2, la valeur de sortie est égale à 1 sinon à 0.
Supérieur ou égal / GE / >=
Si l'entrée 1 est strictement supérieure ou égale à l'entrée 2, la valeur de sortie est égaleà 1 sinon à 0.
Inférieur / LT / < Si l'entrée 1 est strictement inférieure à l'entrée 2, la valeur de sortie est égale à 1 sinonà 0.
Inférieur ou égal / LE /
38 Manuel Interface de programmation LOGODrive
Temporisations
9.7 Temporisations
TON – Temporisation à la fermeture
Les flancs montants sont temporisés d'une durée à spécifier dans l'entrée PT, les flancsdescendants ne sont pas temporisés.
TOF – Temporisation à l’ouverture
Les flancs descendants sont temporisés d'une durée à spécifier dans l'entrée PT, lesflancs montants ne sont pas temporisés.
TP – Impulsion unique
Un flanc montant sur l'entrée IN déclenche sur la sortie Q une impulsion dont la duréeest à spécifier dans l'entrée PT.
CLK – Générateur d’impulsions
Lorsque l'entrée EN l'autorise, il est généré sur Q un signal carré de rapport cyclique ½partant de 0. PT spécifie la demi-période, c'est-à-dire la durée pendant laquelle la sortiereste à 0 (ou à 1).
9.8 Fonctions système SEW
GETSYS – Lecture grandeur système
Une autorisation permet de transmettre une grandeur système à spécifier vers la sortieOUT.
SETSYS – Modifi-cation grandeur système
Une autorisation permet de forcer une grandeur système à spécifier à la valeur appli-quée à l'entrée IN.
MOVILINK Lecture/Ecriture de paramètres/données-process provenant/destinées à d'autresvariateurs.
SCOMDEF – Définition communication bus système
Spécification de services de communication cycliques et acycliques à lancer plus tardpar SCOMON.
SCOMON – Lancer communication bus système
Les services de communication stipulés à l'aide de SCOMDEF sont démarrés.
9.9 Autres instructions
Saut Saut conditionnel à un marqueur donné.
Label (étiquette) Définition d'un marqueur en tant que cible d'un saut.
Commentaire Chaîne de caractères quelconque servant de commentaire
Manuel Interface de programmation LOGODrive 39
10 Index
A
Actualisation des entrées/sorties 30Afficher les variables sélectionnées 21Aide en ligne 12Arrêter 18
C
Charger 18Charger un programme à partir du variateur 19Commentaires 23Comparer 19Compiler 16Conditions préalables 4Créer un nouveau projet 8
D
Démarrer 5, 16, 18Description générale 6Documentation du programme 23
E
Ecrire un code programme 12Editer 10Effacer 26Entrées
actualiser 30Sorties 35
Exemples 32
F
Fenêtre des variables 20Fonction d’aide 12Fonctions de contrôle 20Fonctions système SEW 38
I
Imprimer l’exemple de programme 24Insérer un bloc fonctionnel 11
M
Menu contextuel 13Messages d'erreur lors de la compilation 17Modifier les propriétés de projet 25
O
Opérateurs 35Opérations arithmétiques 35Opérations de comparaison 37Opérations sur les bits 36Opérations sur les variables 37Ordre de traitement 26
P
Partie initialisation 10
Programmearrêter un programme 18charger un programme 18comparer des programmes 19démarrer un programme 18écrire un code programme 12éditer 10imprimer 24
R
Raccorder à un port-série 5Rapport de compilation 17Relier les blocs fonctionnels 11
S
Saisir les données 8Sorties
actualiser 30Synopsis des blocs fonctionnels 35
T
Task 2 31Temporisations 38Temps d'exécution des blocs fonctionnels 30Temps de cycle du programme 30Transfert 16
V
Variablesafficher les variables sélectionnées 21effacer les variables inutiles 26
Top Related