1 – Programmation CFC
Comptage d'énergie électrique
On souhaite mettre en œuvre, dans un programme, un comptage d'énergie électrique afin de rendre disponible ce comptage à un superviseur. On relie pour cela la sortie impulsionnelle du compteur électrique à une entrée TOR (%IX0.0) de l'automate.
1. Sachant que le compteur électrique délivre 1 impulsion à chaque Watt-heure consommé, proposez un programme CFC permettant d'afficher l'énergie consommée en temps réel dans une variable de type entier.
2. Sachant que le compteur électrique délivre 1 impulsion à chaque 0.1 W.h consommé, proposez un programme CFC permettant d'afficher l'énergie consommée en temps réel dans une variable de type réel.
On souhaite à présent afficher la consommation électrique journalière mesurée par la compteur électrique précédent.
Une variable nommée « horloge » de type « heure du jour » fournira l'heure au programme. La valeur journalière est mise à jour à minuit.
On utilisera la fonction « MOVE » pour mettre à jour l'affichage de l'énergie.
3. Proposez un programme répondant au fonctionnement demandé.
2 – Programmation ST
Gestion d’un système d’éclairage
L'éclairage du local est assuré par un ensemble de 8 luminaires à Leds, disposés comme suit :
Chaque zone regroupe 4 luminaires et est pilotée par une commande de gradation manuelle et un détecteur de présence. De plus, la commande des 4 luminaires situés près de la baie vitrée est asservie à la lumière naturelle provenant de l'extérieur grâce à un capteur de luminosité intérieure.
Le tableau suivant récapitule l'ensemble des données d'E/S du système, ainsi que leur adressage.
Mnémonique Description Adresse
L1, L2 consignes 0-10V appliquées aux luminaires des zones 1 & 2 éloignés de la baie %QW0 et %QW1 L1B, L2B consignes 0-10V appliquées aux luminaires des zones 1 & 2 proches de la baie %QW2 et %QW3 G1, G2 Commandes manuelles de gradation (0-10V) des zones 1 & 2 %IW2 et%IW3 Lum_ext capteur mesurant l'apport de luminosité extérieure (10mV/lux) %IW4
DP1, DP2 Détecteurs de présence des zones 1 & 2 %IX6.11 et%IX6.12
1.Détection de présence.
Lorsqu'un mouvement est capté par un détecteur, il est mémorisé pendant 10mn par un bloc temporisateur dans le programme. En cas d'absence, les luminaires de la zone correspondante sont éteints.
1. Choisir le bloc temporisateur adapté au fonctionnement souhaité.
6m
17 m Baie Vitrée
porte Zone 1 Zone 2
ANNEXES
Configuration matérielle :
3 – Programmation SFC et LD
Automatisation d’un monte-charge 1. Présentation du système
L'objet de l'étude est un monte-charge destiné à distribuer des charges lourdes sur 3 niveaux :
Un API Wago (750-841) pilote le système; les E/S gérées sont les suivantes :
Mnémonique Adresse Désignation
MON %QX2.0 Commande de la montée du monte-charge DES %QX2.1 Commande de la descente du monte charge
H0 %QX2.0 Voyant indiquant lorsque le monte charge est présent au niveau 0 H1 %QX2.1 Voyant indiquant lorsque le monte charge est présent au niveau 1 H2 %QX2.2 Voyant indiquant lorsque le monte charge est présent au niveau 2 DE0 %IX0.0 Détecteur inductif de présence du monte charge au niveau 0 DE1 %IX0.1 Détecteur inductif de présence du monte charge au niveau 1 DE2 %IX0.2 Détecteur inductif de présence du monte charge au niveau 2
BP0 %IX0.3 Bouton poussoir opérateur pour déplacer le monte charge vers le niveau 0 BP1 %IX0.4 Bouton poussoir opérateur pour déplacer le monte charge vers le niveau 1
Niveau 2
Niveau 0 Niveau 1 MON
DES
DE2
DE1
DE0
3. Gestion des Voyants
Les voyants sont allumés de façon fixe lorsqu'un étage est atteint; et clignotent (fréquence 2 Hz) lorsque le monte charge est en déplacement (c'est alors le voyant correspondant à l'étage visé qui clignote).
1. Programmez la gestion des voyants dans un programme en langage ladder nommé "voyants".
4. Démarrage progressif
Une sortie analogique (cf documentation de la carte correspondante en Annexe) de l'API permet de piloter la consigne de vitesse du variateur. L'entrée du variateur a été configurée de façon à ce que 0V corresponde à l'arrêt, et 10V à la vitesse nominale du monte-charge.
Afin d'éviter les surintensités dues à un démarrage trop brusque, et de préserver le système des contraintes mécaniques trop importantes, on décide de démarrer le moteur de façon progressive : la vitesse nominale est atteinte au bout de 7s.
Une tâche d'interruption "Interrupt_0" est déclenchée toute les 100ms en vue de gérer ce démarrage progressif :
2. Écrire le programme Interrupt_0 en langage ST.
5. Sécurité
Un appui sur AU (contact NF) a pour effet de réinitialiser le programme G1. Le déverrouillage de AU et le maintient de BP0 pendant 3s repositionne le monte-charge à l'étage 0, en vitesse lente (1/4 de la vitesse nominale).
3. Écrire le grafcet de sécurité "GS" correspondant, apportez les modifications nécessaires à G1 et représentez l'appel de ces deux blocs dans PLC_PRG.
Annexe 1 : carte de sorties analogiques
Annexe 2 : Fonction BLINK
4 – Boucles, tableaux et interruptions
Génération de signaux
On souhaite générer, sur la sortie analogique ± 10V d’un API, un signal sinusoïdal d’amplitude crête 5v et de fréquence 0,1 Hz, échantillonné à 100Hz.
4. Tracez le chronogramme du signal de sortie correspondant (sans forcément respecter l’échelle temporelle entre T et Tech)
5. Proposez une adresse pour le mot de sortie utilisé, dans les cas d’une cible Wago 750, Schneider M340 ou Siemens S7-1200.
6. Ajoutez sur le chronogramme les amplitudes de ces 3 mots de sortie.
7. Proposez une solution, pour les trois cibles précitées, permettant de générer les échantillons de sortie du signal à période fixe, y compris si le projet chargé dans l’API comporte d’autre sous programmes tournant en parallèle de la génération de signaux.
8. Proposez une déclaration de variable qui permettra de mémoriser l’ensemble des échantillons composant une période complète de la sinusoïde.
9. Écrire le programme de génération du signal en langage ST (ou SCL) comportant:
• une initialisation, exécutée une seule fois au lancement du programme et permettant le remplissage du tableau d’échantillons
• une boucle permettant à chaque cycle d’affecter un échantillon sur la sortie analogique