Blocs fonctions avancés. Schneider Electric Twido TWD USE 10AE
Instructions avancées
17.1
Blocs fonctions avancés
Présentation
Objet de ce souschapitre
Ce sous-chapitre offre une présentation des blocs fonctions avancés et contient des exemples de programmation.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Objets mots et objets bits associés à des blocs fonction avancés
Principes de programmation de blocs fonctions avancés
Bloc fonction registre LIFO/FIFO (%Ri)
LIFO, fonctionnement
FIFO, fonctionnement
Programmation et configuration des registres
Bloc fonction %PWM (modulation de la largeur d'impulsion)
Bloc fonction sortie du générateur d'impulsions (%PLS)
Bloc fonction programmateur cyclique (%DR)
Fonctionnement du bloc fonction programmateur cyclique %DRi
Programmation et configuration des programmateurs cycliques
Bloc fonction compteur rapide (%FC)
Bloc fonction compteur rapide (%VFC)
Emission/réception de messages - Instruction d'échange (EXCH)
Bloc fonction de contrôle d'échange (%MSGx)
Page
TWD USE 10AE
441
Instructions avancées
Objets mots et objets bits associés à des blocs fonction avancés
Introduction
z z z z z z z
Les blocs fonction avancés utilisent des mots et des bits dédiés de même type que z z les blocs fonction standards. Les blocs fonction avancés comprennent : les registres LIFO/FIFO (%R) ; les programmateurs cycliques (%DR) ; les compteurs rapides (%FC) ; les compteurs rapides (%VFC) ; la sortie de modulation de la largeur de l'impulsion (%PWM) ; la sortie du générateur d'impulsions (%PLS) ; le registre bits à décalage (%SBR) ; la fonction pas à pas (%SC) ; le bloc contrôle message (%MSG).
442
TWD USE 10AE
Instructions avancées
Objets accessibles par le programme
Le tableau suivant présente les mots et les bits accessibles par le programme associés aux différents blocs fonction avancés. Veuillez noter que l'accès en
écriture mentionné dans le tableau suivant dépend du paramètre " Réglable ", sélectionné au moment de la configuration. Ce réglage permet d'autoriser ou de refuser l'accès aux mots ou aux bits par TwidoSoft ou par l'interface opérateur.
Bloc fonction avancé Mots et bits associés
%R Mot Entrée du registre
Mot Sortie du registre
Bit Sortie registre plein
%DR
Bit Sortie registre vide
Mot Numéro du pas courant
Bit Dernier pas égal au pas courant
%FC
%VFC
%PWM
%PLS
%SBR
%SC
%MSG
Repère
%Ri.I
%Ri.O
%Ri.F
%Ri.E
%DRi.S
%DRi.F
Mot Valeur courante
Mot Valeur de présélection
Bit Terminé
Mot Valeur courante
Mot Valeur de présélection
Bit Sens de comptage
Mot Valeur de capture
Mot Valeur de seuil 0
%FCi.V
%FCi.P
%FCi.D
%VFCi.V
Oui
Oui
Non
Non
%VFCi.P
%VFCi.U
Oui
Non
%VFCi.C
Non
%VFCi.S0
Oui
Mot Valeur de seuil 1
Bit Sortie pour
Bit
Bit
Sortie réflexe 0 activée
Sortie réflexe 1 activée
%VFCi.S1
Oui
%VFCi.F
Non
%VFCi.R
%VFCi.S
Oui
Oui
Bit
Bit
Sortie seuil 0
Sortie seuil 1
%VFCi.TH0
Non
%VFCi.TH1
Non
Bit
Mot
Base temps de la mesure de fréquence %VFCi.T
Pourcentage d'impulsions au pas 1 par rapport à la période totale.
Oui
%PWMi.R
Oui
Bit
Bit
Bit
Bit
Bit
Mot Période préréglée
Mot Nombre d'impulsions
Mot Valeur de présélection
Bit Sortie courante activée
Génération terminée
Bit de registre
Bit de compteur à pas
Terminé
Erreur
%PWMi.P
Oui
%PLSi.N
Oui
%PLSi.P
%PLSi.Q
Oui
Non
%PLSi.D
%SBRi.J
%SCi.j
%MSGi.D
%MSGi.E
Non
Non
Oui
Non
Non
Accès en mode écriture
Oui
Oui
Non
Non
Oui
Non
TWD USE 10AE
443
Instructions avancées
Principes de programmation de blocs fonctions avancés
Présentation
Les applications Twido sont stockées sous la forme de programmes par listes, et ce, même si ces applications ont été rédigées à l'aide d'un éditeur schéma à contacts.
Les automates Twido peuvent ainsi être considérées comme des "machines à listes". Le terme "réversibilité" se rapporte à la capacité de TwidoSoft à convertir une application liste d'instructions en application schémas à contacts, et vice versa. Par défaut, tous les programmes schémas à contacts sont réversibles.
Tout comme les blocs fonctions élémentaires, les blocs fonctions avancés doivent se z z z conformer à des règles de réversibilité. La structure des blocs fonctions réversibles dans le langage liste d'instructions requiert l'utilisation des instructions suivantes :
BLK : marque le début du bloc et la section d'entrée du bloc fonction.
OUT_BLK : marque le début de la section de sortie du bloc fonction.
END_BLK : marque la fin du bloc fonction.
Note : Il n'est pas nécessaire d'utiliser ces instructions de blocs fonctions réversibles pour un programme par listes d'instructions qui fonctionne correctement. Certaines instructions permettent une programmation en langage liste d'instructions non réversible.
444
TWD USE 10AE
Entrées et sorties dédiées
Instructions avancées
Entrées
%I0.0.0
%I0.0.1
%I0.0.2
%I0.0.3
%I0.0.4
%I0.0.5
%I0.0.6
%I0.0.7
Les fonctions avancées Compteur rapide (FC), Compteur très rapide (VFC), PLS et
PWM utilisent des entrées et des sorties dédiées. Ces bits ne sont toutefois pas réservés à une utilisation exclusive par un bloc unique. Il faut donc gérer correctement l'utilisation de ces bits.
Lorsque vous utilisez des fonctions avancées, il est nécessaire que vous gériez la méthode d'allocation des entrées et des sorties dédiées. TwidoSoft vous assiste lors de la configuration de ces ressources en affichant des informations de configuration d'E/S et en vous avertissant si une entrée ou une sortie dédiée est déjà utilisée par un bloc fonction configuré.
Le tableau suivant résume les dépendances des entrées et des sorties dédiées, ainsi que les fonctions spécifiques.
En cas d'utilisation avec des fonctions de comptage :
Utilisation
%VFC0 : Gestion Haut/Bas ou Phase B
%VFC0 : Entrée d'impulsion ou phase A
%FC0 : Entrée d'impulsion ou entrée de présélection %VFC0
%FC1 : Entrée d'impulsion ou entrée de capture %VFC0
%FC2 : Entrée d'impulsion ou entrée de capture %VFC1
Entrée de présélection %VFC1
%VFC1 : Gestion Haut/Bas ou Phase B
%VFC1 : Entrée d'impulsion ou phase A
En cas d'utilisation avec des fonctions de comptage ou des fonctions spéciales :
Sorties Utilisation
%Q0.0.0
Sortie %PLS0 ou PWM0
%Q0.0.1
Sortie %PLS1 ou PWM1
%Q0.0.2
Sorties réflexes pour %VFC0
%Q0.0.3
%Q0.0.4
Sorties réflexes pour %VFC1
%Q0.0.5
TWD USE 10AE
445
Instructions avancées
Utilisation d'entrées et de sorties dédiées
TwidoSoft utilise les règles suivantes lors de l'utilisation d'entrées et de sorties dédiées.
z Chaque bloc fonction utilisant des E/S dédiées doit être configuré puis utilisé dans l'application. L'E/S est uniquement allouée lors de la configuration d'un bloc fonction. Elle ne l'est pas lors de son utilisation dans un programme.
z z
Après qu'un bloc fonction a été configuré, son entrée et sa sortie dédiées ne peuvent pas être utilisées par l'application ou par un autre bloc fonction.
Par exemple, si vous configurez %PLS0, vous ne pouvez pas utiliser %Q0.0.0 dans
%DR0 (programmateur cyclique) ou dans la logique de l'application (ST %Q0.0.0).
Si une entrée ou une sortie dédiée est requise par un bloc fonction déjà utilisé par l'application ou par un autre bloc fonction, il n'est pas possible de configurer ce bloc fonction.
Par exemple, si vous configurez %FC0 comme compteur, %VFC0 ne pourra pas
être configuré pour utiliser %I0.0.2 comme entrée de capture.
Note : Pour modifier l'utilisation des E/S dédiées, vous devez d'abord supprimer la configuration du bloc fonction en définissant le type d'objet sur "non utilisé", puis supprimer les références au bloc fonction dans votre application.
446
TWD USE 10AE
Instructions avancées
Bloc fonction registre LIFO/FIFO (%Ri)
Introduction
Illustration
Un registre est un bloc mémoire qui permet de stocker jusqu'à 16 mots de 16 bits z z de deux manières différentes : par une file d'attente, appelée "FIFO" (First In, First Out – Premier entré, Premier sorti) ; par une pile, appelée "LIFO" (Last In, First Out – Dernier entré, Premier sorti).
L'exemple suivant illustre l'utilisation du bloc fonction registre.
R
%Ri
E
I
TYPE FIFO
O
F
Bloc fonction registre
Paramètres
Le bloc fonction registre possède les paramètres suivants :
Paramètre
Numéro de registre
Type
Mot d'entrée
Mot de sortie
Entrée (ou instruction) de stockage
Entrée (ou instruction) de récupération
Entrée (ou instruction)
RAZ
Sortie "Vide"
Sortie "Plein"
Etiquette
%Ri
FIFO ou LIFO
%Ri.I
%Ri.O
I (In, Entrée)
O (Out, Sortie)
E (vide)
F (plein)
Valeur
0 à 3
File d'attente ou Pile)
Mot d'entrée du registre. Peut être lu, testé et écrit.
Mot de sortie du registre. Peut être lu, testé et écrit.
Sur un front montant, stocke le contenu du mot %Ri.I dans le registre.
Sur un front montant, charge un mot de données du registre dans le mot %Ri.O.
R (Remise à zéro) A l'état 1, initialise le registre.
Le bit %Ri.E associé indique que le registre est vide. Peut être testé.
Le bit %Ri.F associé indique que le registre est plein. Peut être testé.
TWD USE 10AE
447
Instructions avancées
LIFO, fonctionnement
Introduction
En fonctionnement LIFO (Last In, First Out - Dernier entré, Premier sorti), la dernière information entrée est la première à être récupérée.
Fonctionnement
Le tableau suivant décrit le fonctionnement LIFO.
Etape Description
1 A la réception d'une demande de stockage (front montant sur l'entrée I ou activation de l'instruction I), le contenu du mot d'entrée
%Ri.I (qui a préalablement été chargé) est stocké au plus haut de la pile (fig. a). Lorsque la pile est pleine (sortie F=1), plus aucun
élément ne peut être stocké.
Exemple
Stockage du contenu de %Ri.I
en haut de la pile.
20
%Ri.I
(a)
20
80
50
2
3
A la réception d'une demande de récupération (front montant sur l'entrée
O ou activation de l'instruction O), le mot de données le plus haut
(le dernier à avoir été entré) est chargé dans le mot %Ri.0 (fig. b).
Lorsque le registre est vide (sortie E=1), plus aucun élément ne peut être récupéré. Le mot de sortie %Ri.O n'est pas modifié et sa valeur reste inchangée.
La pile peut être réinitialisée à tout moment (état 1 sur l'entrée R ou activation de l'instruction R). L'élément indiqué par le pointeur est alors le plus haut dans la pile.
Récupération du mot de données au plus haut de la pile.
20
80
50
80
50
%Ri.O
20
(b)
448
TWD USE 10AE
Instructions avancées
FIFO, fonctionnement
Introduction
En fonctionnement FIFO (First In, First Out - Premier entré, Premier sorti), la première information entrée est la première à être récupérée.
Fonctionnement
Le tableau suivant décrit le fonctionnement FIFO.
Etape Description
1 A la réception d'une demande de stockage (front montant sur l'entrée I ou activation de l'instruction I), le contenu du mot d'entrée
%Ri.I (qui a préalablement été chargé) est stocké au plus haut de la file d'attente (fig. a). Lorsque la file d'attente est pleine (sortie
F=1), plus aucun élément ne peut être stocké.
Exemple
Stockage du contenu de %Ri.I
en haut de la file d'attente.
20
%Ri.I
(a)
20
80
50
2
3
A la réception d'une demande de récupération (front montant sur l'entrée O ou activation de l'instruction O), le mot de données le moins haut dans la file d'attente est chargé dans le mot de sortie
%Ri.O et le contenu du registre est déplacé d'une place vers le bas, dans la file d'attente (fig. b).
Lorsque le registre est vide (sortie E=1), plus aucun élément ne peut être récupéré. Le mot de sortie %Ri.O n'est pas modifié et sa valeur reste inchangée.
La file d'attente peut être réinitialisée à tout moment (état 1 sur l'entrée R ou activation de l'instruction R).
Récupération de la première information qui est ensuite chargée dans %Ri.O.
20
80
50
20
80
(b)
%Ri.O
50
TWD USE 10AE
449
Instructions avancées
Programmation et configuration des registres
Introduction
L'exemple de programmation suivant illustre le chargement du contenu d'un mot mémoire (%MW34) dans un registre (%R2.I) lors d’une demande de stockage (%I0.2), si le registre %R2 n'est pas plein (%R2.F = 0). La demande de stockage dans le registre est effectuée par %M1. La demande de récupération est effectuée par l'entrée
%I0.3 et %R2.O est chargé dans %MW20, si le registre n'est pas vide (%R2.E = 0).
450
TWD USE 10AE
Exemple de programmation
Instructions avancées
L'illustration suivante représente un bloc fonction registre et présente des exemples de programmation réversible et non réversible.
%M1
%I0.3
%I0.3
%R2.E
%I0.2
%R2.F
R
%R2
E
I
TYPE FIFO
F
O
%MW20:=%R2.O
%R2.I:=%MW34
%M1
BLK
LD
I
LD
O
END_BLK
%R2
%M1
%I0.3
LD
ANDN
%I0.3
%R2.E
[%MW20:=%R2.O]
LD %I0.2
ANDN
%R2.F
[%R2.I:=%MW34]
ST %M1
Schéma à contacts
LD
I
LD
%M1
%R2
%I0.3
O
ANDN
%R2
%R2.E
[%MW20:=%R2.O]
LD %I0.2
ANDN
%R2.F
[%R2.I:=%MW34]
ST %M1
Programme réversible Programme non réversible
TWD USE 10AE
451
Instructions avancées
Configuration
z z
Seul le type du registre devra être entré au cours de la configuration.
FIFO (par défaut), ou
LIFO
Cas spécifiques
Le tableau suivant présente une liste de cas spécifiques de fonctionnement :
Cas spécifique Description
Effet d'un redémarrage à froid (%S0=1) Provoque l'initialisation du contenu du registre. Le bit de sortie %Ri.E associé à la sortie E est mis à 1.
Effet d'une reprise à chaud (%S1=1) d'un arrêt de l'automate
N'a aucun effet sur la valeur courante du registre ou sur l'état de ses bits de sortie.
452
TWD USE 10AE
Instructions avancées
Bloc fonction %PWM (modulation de la largeur d'impulsion)
Introduction
Illustration
Le bloc fonction de modulation de la largeur d'impulsion (%PWM) génère un signal rectangulaire sur des voies de sortie dédiées (%Q0.0.0 ou %Q0.0.1), dont on peut faire varier la largeur, et, par conséquent, le rapport cyclique. Les automates disposant de sorties relais pour ces deux voies ne prennent pas en charge cette fonction, en raison d'une limitation de fréquences.
Deux blocs %PWM sont disponibles. Le bloc %PWM0 utilise la sortie dédiée
%Q0.0.0 et le bloc %PMW1 utilise la sortie dédiée %Q0.0.1. Les blocs fonction
%PLS se partagent les mêmes sorties dédiées. Il est donc nécessaire de choisir l'une ou l'autre des fonctions.
Bloc PWM et chronogramme :
IN
%PWM0
TB
%PWMi.P
Tp
largeur programmable période fixe configurable
T
TWD USE 10AE
453
Instructions avancées
Paramètres
Paramètre
Base temps
Présélection de la période
Rapport cyclique
Entrée génération de l'impulsion
Le tableau suivant présente les différents paramètres du bloc fonction PWM.
Etiquette Description
TB 0,142 ms, 0,57 ms, 10 ms, 1 s (valeur par défaut)
%PWMi.P 0 < %PWMi.P <= 32767 avec une base temps de 10 ms ou 1 s
0 < %PWMi.P <= 255 avec une base temps de 0,57 ms ou 0.142 ms
0 = Fonction non utilisée
%PWMi.R Cette valeur donne le pourcentage du signal à l'état 1 au cours d'une période. Le
Tp de largeur est ainsi égal à :
Tp = T * (%PWMi.R/100). L'application utilisateur écrit la valeur de %PWMi.R. Ce mot contrôle le rapport cyclique de la période. Pour plus d'informations sur la définition T, reportez-vous à la section suivante, intitulée "Plage de périodes".
La valeur par défaut est 0 et les valeurs supérieures à 100 sont considérées comme
étant égales à 100.
IN A l'état 1, le signal de modulation de la largeur d'impulsion est généré sur la voie de sortie. A l'état 0, la voie de sortie est mis à 0.
Plage de périodes
z z
La valeur de présélection et la base temps peuvent être modifiées au moment de la configuration. Ces paramètres sont utilisés pour fixer la période du signal z z
T=%PWMi.P * TB. L'obtention de rapports bas nécessite que le %PWMi.P sélectionné soit d'autant plus élevé. Plage de périodes disponibles :
0,142 ms à 36,5 ms en pas de 0,142 ms (27,4 Hz à 7 kHz)
0,57 ms à 146 ms en pas de 0,57 ms (6,84 Hz à 1,75 kHz)
10 ms à 5,45 min en pas de 10 ms
1 s à 9,1 heures en pas de 1 s
Fonctionnement
La fréquence du signal de sortie est réglée au moment de la configuration en sélectionnant la base temps et le %PWMi.P préréglé. La modification du rapport cyclique % PWMi.R dans le programme permet de moduler la largeur du signal.
L'illustration suivante représente un diagramme d'impulsion du bloc fonction PWM avec différents rapports cyclique.
Entrée IN
80%
50%
20%
Ratio
Sortie dédiée
454
TWD USE 10AE
Instructions avancées
Programmation et configuration
Dans cet exemple, la largeur du signal est modifiée par le programme en fonction de l'état des entrées %I0.0.0 et %I0.0.1 de l'automate.
Si %I0.0.1 et %I0.0.2 sont réglés sur 0, le rapport %PWM0.R est réglé sur 20 % et la durée du signal à l'état 1 est alors égale à : 20 % x 500 ms = 100 ms.
Si %I0.0.0 est réglé sur 0 et %I0.0.1 est réglé sur 1, le rapport %PWM0.R est réglé sur 50 % (durée de 250 ms).
Si %I0.0.0 et %I0.0.1 sont réglés sur 1, le rapport %PWM0.R est réglé sur 80 %
(durée de 400 ms).
Exemple de programmation :
%I0.0
/
%I0.0
%I0.0
%I0.1
/
%I0.1
/
%I0.1
%I0.2
IN
%PWM0
%PWM0.R:=20
%PWM0.R:=50
%PWM0.R:=80
LDN
LD
LD
AND
%I0.0
ANDN %I0.1
[%PWM0.R:=20]
%I0.0
ANDN %I0.1
[%PWM0.R:=50]
%I0.0
%I0.1
[%PWM0.R:=80]
BLK
LD
IN
END_BLK
%PWM0
%I0.2
TB
%PWMi0.P
Cas spécifiques
Le tableau suivant présente une liste de cas spécifiques de fonctionnement du bloc fonction PWM.
Cas spécifique
Effet d'un redémarrage à froid
(%S0=1)
Description
Règle le rapport %PWMi.R sur 0. En complément, la valeur de %PWMi.P est rétablie sur sa valeur configurée d'origine et prévaudra sur toute modification apportée dans l'éditeur de tables d'animation ou l'afficheur optionnel.
Effet d'un redémarrage à chaud
(%S1=1)
Aucun effet.
Incidence du fait que les sorties sont dédiées au bloc %PWM
Le fait de forcer la sortie %Q0.0.0 ou %Q0.0.1 à l'aide d'un périphérique de programmation n'interrompt pas la génération du signal.
TWD USE 10AE
455
Instructions avancées
Bloc fonction sortie du générateur d'impulsions (%PLS)
Introduction
Le bloc fonction %PLS est utilisé pour générer des signaux carrés. Il existe deux fonctions %PLS disponibles sur les voies de sortie dédiées %Q0.0.0 ou %Q0.0.1.
Le bloc fonction %PLS autorise seulement une largeur de signal unique ou un cycle d'activité de 50 %. Vous pouvez choisir de limiter le nombre d'impulsions ou le moment où le train d'impulsion est exécuté. Cela peut être déterminé au moment de la configuration et/ou de la mise à jour par l'application utilisateur.
Note : Les automates disposant de sorties relais pour ces deux voies ne prennent pas en charge cette fonction %PLS.
Représentation
Exemple de bloc fonction du générateur d'impulsions en mode standard :
IN
%PLS0
Q
TB
SINGLE
ADJ
%PLSi.P
R
D
TON
T
Période variable z z
TON=T/2 pour les bases temps 0,142 ms et 0,57 ms
= (%PLSi.P*TB)/2
TON=[partie entière (%PLSi.P)/2]*TB pour les bases temps 10 ms à 1 s.
456
TWD USE 10AE
Instructions avancées
Caractéristiques
Le tableau suivant présente les caractéristiques du bloc fonction PLS :
Fonction
Base temps
Période préréglée
Nombre d'impulsions
Réglable
Entrée générateur d'impulsions
Entrée RAZ
Objet
TB
%PLSi.P
Les impulsions sur la sortie %PLS1 ne sont pas arrêtées lorsque %PLS1.N z z ou %PLS1.ND* est atteint pour les bases temps 0,142 ms et 0,57 ms.
z
1 < %PLSi.P <= 32767 pour une base temps de 10 ms ou 1 sec
0 < %PLSi.P <= 255 pour une base temps de 0,57 ms ou 0,142 ms
0 = Fonction non utilisée.
Pour obtenir une bonne précision de rapport cyclique avec les bases temps de 10 ms et 1 s, il est conseillé d’avoir un %PLSi >= 100 si P est impaire.
%PLSi.N
%PLSi.ND
*
Le nombre d'impulsions à générer sur une période T peut être limité à 0 <=
%PLSi.N <= 32 767 en mode standard ou à
0 <= %PLSi.ND <= 4 294 967 295 en mode double mot. La valeur par défaut est mise à 0.
Pour produire un nombre illimité d'impulsions, réglez %PLSi.N ou %PLSi.ND sur zéro. Il est toujours possible de modifier le nombre d'impulsions sans tenir compte du paramétrage de l'option Réglable.
Y/N
Description
0,142 ms, 0,57 ms, 10 ms, 1 s
IN
R
Lorsque défini sur Y (Oui), il est possible de modifier la valeur de présélection
%PLSi.P via l'IHM ou l'éditeur de tables d'animation. Lorsque défini sur N
(Non), il est impossible d'accéder à cette présélection.
A l'état 1, la génération des impulsions se fait sur la voie de sortie dédiée. A l'état 0, la voie de sortie est paramétrée sur 0.
A l'état 1, les sorties %PLSi.Q et %PLSi.D sont paramétrées sur 0. Le nombre d'impulsions générées sur une période T est paramétré sur 0.
Génération d'impulsions sur sortie courante
%PLSi.Q
A l'état 1, le signal des impulsions est généré sur la voie de sortie dédiée configurée.
Sortie de génération d'impulsions terminée
%PLSi.D
A l'état 1, la génération du signal est terminée. Le nombre voulu d'impulsions a été généré.
Note : (*) correspond à une variable de double mot.
TWD USE 10AE
457
Instructions avancées
Plage de périodes
La valeur de présélection et la base temps peuvent être modifiées au moment de la configuration. Ces paramètres sont utilisés pour fixer la période du signal z z
T=%PLSi.P * BT. Plage de périodes disponible : z 0,142 ms à 36,5 ms en pas de 0,142 ms (27,4 Hz à 7 kHz)
0,57 ms à 146 ms en pas de 0,57 ms (6,84 Hz à 1,75 kHz) z
20 ms à 5,45 min en pas de 10 ms
2 s à 9,1 heures en pas de 1 s
Fonctionnement
L'exemple suivant illustre le bloc fonction %PLS.
Entrée IN
Nombre d'impulsions
Sortie dédiée
%PLSi.Q
%PLSi.D
Cas particuliers
Cas particulier
Effet d'une reprise à froid (%S0=1)
Description
Règle la fonction %PLSi.P sur la valeur définie au cours de la configuration.
Effet d'une reprise à chaud (%S1=1) Aucun effet
Effet de la modification de la valeur de présélection (%PLSi.P)
Prend effet immédiatement
Incidence du fait que les sorties sont dédiées au bloc %PLS
Le fait de forcer la sortie %Q0.0.0 ou %Q0.0.1 à l'aide d'un dispositif de programmation n'interrompt pas la génération du signal.
Note : %PLSx.D est défini lorsque le nombre voulu d'impulsions a été généré. Il est ensuite remis à zéro en réinitialisant les entrées IN ou R sur 1.
458
TWD USE 10AE
Instructions avancées
Bloc fonction programmateur cyclique (%DR)
Introduction
Illustration
Le fonctionnement des programmateurs cycliques est semblable à celui des programmateurs cycliques électromécaniques qui permettent la modification de pas en fonction d'événements externes. A chaque pas, le point haut d'une came donne une commande exécutée par l’automatisme. Dans le cas d'un programmateur cyclique, ces points hauts sont symbolisés par l'état 1 pour chacun des pas et sont affectés aux bits de sortie %Qi.j ou aux bits internes %Mi, appelés "bits de contrôle".
L'exemple suivant illustre l'utilisation du bloc fonction programmateur cyclique.
R
%DRi
F
U
PAS 8
Bloc fonction programmateur cyclique
Paramètres
Le bloc fonction programmateur cyclique possède les paramètres suivants.
Paramètre
Numéro
Numéro du pas courant
Nombre de pas
Etiquette Valeur
%DRi 0 à 3 automates compacts 0 à 7 automates modulaires
%DRi.S
0<%DRi.S<7. Mot pouvant être lu et écrit. La valeur écrite doit être une valeur décimale immédiate.
Une fois écrite, la valeur sera prise en compte à la prochaine exécution du bloc fonction.
1 à 8 (par défaut)
Entrée retour au pas 0
(ou à l'instruction)
R (Reset) A l'état 1, règle le programmateur cyclique sur le pas 0.
U (haut) Entrée (ou instruction) avancée
Sortie
Bits de contrôle
F (plein)
Sur un front montant, provoque le passage du programmateur cyclique au pas suivant et met à jour les bits de contrôle.
Indique que le pas courant est égal au dernier pas défini. Le bit associé %DRi.F peut
être testé (par exemple, %DRi.F=1, si %DRi.S= nombre de pas configurés - 1).
Bits de sortie ou bits internes associés au pas (16 bits de contrôle) et définis dans l'éditeur de configuration.
TWD USE 10AE
459
Instructions avancées
Fonctionnement du bloc fonction programmateur cyclique %DRi
Introduction
Le programmateur cyclique comprend : z Une matrice de données constantes (des cames), organisée en huit pas
(numérotés de 0 à 7) et 16 bits de données (état du pas), disposés en colonnes z numérotées de 0 à F.
Une liste des bits de contrôle est associée à une sortie configurée (%Qi.j.k) ou à un mot mémoire (%Mi). Au cours du pas courant, les bits de contrôle prennent les états binaires définis pour ce pas.
L'exemple présenté dans le tableau suivant résume les caractéristiques principales du programmateur cyclique.
Colonne
Bits de contrôle
Pas 0
Pas 1
0
1
0
%Q0.1
0
0
1
%Q0.3
1
1
2
%Q1.5
1
1
D
%Q0.6
1
0
E
%Q0.5
0
0
F
%Q1.0
Pas 5
Pas 6
Pas 7
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
Fonctionnement
Dans l'exemple précédent, le pas 5 est le pas courant, les bits de contrôle %Q0.1,
%Q0.3 et %Q1.5 sont à l'état 1 ; les bits de contrôle %Q0.6, %Q0.5 et %Q1.0 sont
à l'état 0. Le numéro du pas courant est incrémenté d'une unité sur chaque front montant de l'entrée U (ou lors de l'activation de l'instruction U). Le pas courant peut
être modifié par le programme.
460
TWD USE 10AE
Chronogramme
Instructions avancées
Le chronogramme suivant illustre le fonctionnement du programmateur cyclique.
Entrée
Entrée
Pas n°
Sortie
U:
R:
%DRi.S
0 1 2 3
%DRi.F
L-1 0 1 2 0 1
Cas particuliers
Le tableau suivant présente une liste des cas spécifiques de fonctionnement du programmateur cyclique.
Cas spécifique Description
Effets d'un redémarrage
à froid (%S0=1)
Provoque la réinitialisation du programmateur cyclique au pas 0
(mise à jour des bits de contrôle).
Effet d'une reprise à chaud (%S1=1)
Effet d'un saut de programme
Mise à jour des bits de contrôle
Met à jour les bits de contrôle d'après le pas courant.
Le fait de ne plus scruter le programmateur cyclique ne remet pas les bits de contrôle à zéro.
Survient uniquement en cas de changement de pas ou lors d'un démarrage à froid ou d'un redémarrage à chaud.
TWD USE 10AE
461
Instructions avancées
Programmation et configuration des programmateurs cycliques
Introduction
Exemple de programmation
Dans l'exemple suivant de programmation et de configuration d'un programmateur cyclique, les six premières sorties (%Q0.0 à %Q0.5) sont activées les unes à la suite des autres, chaque fois que l'entrée %I0.1 est mise à 1. L'entrée I0.0 remet les sorties à zéro.
L'illustration suivante représente un bloc fonction programmateur cyclique et présente des exemples de programmation réversible et non réversible.
%Q0.8
%I0.0
%I0.1
R
%DR1
F
U
STEPS 6
Schéma à contacts
BLK
%DR1
LD %I0.0
R
LD
%I0.1
U
OUT_BLK
LD
ST
F
%Q0.8
END_BLK
462
TWD USE 10AE
Configuration
Instructions avancées z z
Les informations suivantes sont définies au moment de la configuration : nombre de pas : 6
états de sortie (bits de contrôle) pour chaque pas du programmateur cyclique
1 2
Etape 1 : 0 0
Etape 2 : 1 0
Etape 3 : 0 1
Etape 4 : 0 0
Etape 5 : 0 0
Etape 6 : 0 0
0
1
0
0
0
4
0
1
0
0
0
0
3
0 z affectation des bits de contrôle
0
0
1
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
0
0
0
10 11 12 13 14 15
0 0 0 0 0 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1 : %Q0.0
2 : %Q0.2
3 : %Q0.4
4 : %Q0.1
5 : %Q0.3
6 : %Q0.5
TWD USE 10AE
463
Instructions avancées
Bloc fonction compteur rapide (%FC)
Introduction
Illustration
Le bloc fonction compteur rapide (%FC) sert à la fois de compteur et de décompteur.
Il peut compter le front montant des entrées TOR pour des fréquences allant jusqu'à
5 kHz en mode de calcul mot simple ou mot double. Etant donné que les compteurs rapides (FC) sont gérés par des interruptions matérielles spécifiques, le maintien du taux d'échantillonnage maximal des fréquences peut varier en fonction de la configuration de votre application et de votre matériel.
Les automates compacts TWDLCA•40DRF peuvent contenir jusqu'à quatre compteurs rapides alors que toutes les autres gammes d'automates compacts ne peuvent être configurées que pour utiliser au maximum trois compteurs rapides.
Quant aux automates modulaires, ils ne peuvent en comporter que deux. Les blocs fonction compteur rapide %FC0, %FC1, %FC2 et %FC3 utilisent respectivement les entrées dédiées %I0.0.2, %I0.0.3, %I0.0.4 et %I0.0.5. Ces bits ne sont pas exclusivement réservés à ces blocs fonction. L'affectation de ces bits doit être déterminée selon l'utilisation de ces ressources dédiées par d'autres blocs fonction.
L'illustration suivante présente un exemple de bloc fonction compteur rapide (FC) en mode mot simple.
IN
%FC0
TYPE UP
SINGLE
ADJ
%FC0.P
D
R
464
TWD USE 10AE
Instructions avancées
Paramètres
Le tableau suivant présente les différents paramètres du bloc fonction compteur rapide (FC).
Paramètre
Fonction
Valeur de présélection
Réglable
Valeur courante
Entrée pour valider
Terminé
Etiquette Description
TYPE Paramètre défini lors de la configuration et permettant de choisir entre le compteur et le décompteur.
%FCi.P
%FCi.PD
O/N
Valeur initiale définie :
->entre 1 et 65 635 en mode standard,
->entre 1 et 4 294 967 295 en mode mot double.
Lorsqu'il est défini sur O, il est possible de modifier la valeur de présélection %FCi.P ou %FCi.PD et la valeur courante %FCi.V ou %FCi.VD à l'aide de l'afficheur ou de l'éditeur de tables d'animation. Lorsqu'il est défini sur N, il n'est pas possible d'accéder à cette présélection.
%FCi.V
%FCi.VD
IN
Remise à zéro %FCi.R
%FCi.D
La valeur courante évolue de manière croissante ou décroissante selon la fonction sélectionnée (comptage ou décomptage). Pour le comptage, la valeur de comptage courante est mise à jour. Elle peut atteindre 65 535 en mode standard (%FCi.V) et
4 294 967 295 en mode mot double (%FCi.VD). Pour le décomptage, la valeur courante est la valeur de présélection %FCi.P ou %FCi.PD. Elle peut décroître jusqu'à zéro.
A l'état 1, la valeur courante est mise à jour selon les impulsions appliquées à l'entrée physique. A l'état 0, la valeur courante reste inchangée.
Paramètre utilisé pour initialiser le bloc. A l'état 1, la valeur courante est remise à 0 lorsque le bloc est configuré en tant que compteur, ou définie sur %FCi.P ou %FCi.PD lorsqu'il est configuré en tant que décompteur. Le bit Terminé %FCi.D reprend sa valeur par défaut.
Ce bit est réglé sur 1 lorsque %FCi.V ou %FCi.VD atteint %FCi.P ou %FCi.PD (bloc configuré en tant que compteur) ou lorsque %FCi.V ou %FCi.VD atteint zéro (bloc configuré en tant que décompteur).
Ce bit en lecture seule est remis à 0 uniquement lorsque le paramètre %FCi.R est réglé sur 1.
Remarque
Lorsque le bloc est configuré comme réglable, l'application peut modifier la valeur de présélection %FCi.P ou %FCi.PD et la valeur courante %FCi.V ou %FCi.VD à tout moment. Cependant, une nouvelle valeur est prise en compte uniquement lorsque la réinitialisation de l'entrée est active ou sur le front montant de la sortie
%FCi.D. Cela permet d'effectuer plusieurs comptages successifs sans perdre une seule impulsion.
TWD USE 10AE
465
Instructions avancées
Fonctionnement
Lorsque le bloc est configuré comme compteur, la valeur courante est incrémentée de 1 dès qu'un front montant apparaît au niveau de l'entrée dédiée. Lorsque la valeur de présélection %FCi.P ou %FCi.PD est atteinte, le bit de sortie Terminé
%FCi.D est mis à 1.
Lorsque le bloc est configuré comme décompteur, la valeur courante est diminuée de 1 dès qu'un front montant apparaît au niveau de l'entrée dédiée. Lorsque la valeur est zéro, le bit de sortie Terminé %FCi.D est défini sur 1 et la valeur courante
%FCi.V ou %FCi.VD devient égale à la valeur de présélection.
Configuration et programmation
Dans l'exemple ci-dessous, l'application compte le nombre d'éléments (5 000 maximum) pendant que %I1.1 est mis à 1. L'entrée pour %FC0 est l'entrée dédiée
%I0.0.2. Lorsque la valeur de présélection est atteinte, %FC0.D est défini sur 1 et conserve la même valeur jusqu'à ce que %FC0.R soit commandé par le résultat de l'opération booléenne "AND" sur %I1.2 et %M0.
I1.2
%I1.1
IN
%M0
R
%FC0
D
TYPE UP
SINGLE
ADJY
%FC0.P 5000
%Q0.0
BLK
LD
IN
LD
%FC0
%I1.1
AND
R
OUT_BLK
LD D
%I1.2
%M0
ST %Q0.0
END_BLK
Cas particuliers
Le tableau suivant présente une liste de cas spécifiques de fonctionnement du bloc fonction %FC.
Cas spécifique Description
Effet d'une reprise à froid (%S0=1) Réinitialise les attributs %FC sur les valeurs configurées par l'utilisateur ou l'application utilisateur.
Aucun effet.
Effet d'une reprise à chaud
(%S1=1)
Effet de l'arrêt de l'automate %FC continue à compter selon les paramètres activés au moment de l'arrêt de l'automate.
466
TWD USE 10AE
Instructions avancées
Bloc fonction compteur rapide (%VFC)
Introduction
Le bloc fonction compteur rapide (%VFC) peut être configuré à l'aide de TwidoSoft z z pour exécuter l'une des fonctions suivantes :
Compteur/décompteur
Compteur/décompteur bi-phases z z
Compteur simple
Décompteur simple z
Fréquencemètre
Le bloc %VFC prend en charge le comptage des entrées TOR pour des fréquences allant jusqu'à 20 kHz en mode de calcul mot simple ou mot double. Les automates compacts TWDLCA•40DRF peuvent contenir jusqu'à deux compteurs rapides (VFC) alors que les autres gammes d'automates compacts ne peuvent en comporter qu'un seul. Quant aux automates modulaires, ils peuvent en configurer jusqu'à deux.
Affectations des
E/S dédiées
%VFC0 Utilisation choisie
Compteur/ décompteur
Compteur/
Décompteur biphases
Compteur simple
Décompteur simple
Fréquencemètre
%VFC1 Utilisation choisie
Compteur/ décompteur
Compteur/
Décompteur biphases
Compteur simple
Décompteur simple
Fréquencemètre
Les blocs fonction compteur rapide (%VFC) utilisent des entrées dédiées et des entrées et sorties auxiliaires. Ces entrées et ces sorties ne sont pas exclusivement réservées à ces blocs fonction. Leur affectation doit être déterminée selon l'utilisation de ces ressources dédiées par d'autres blocs fonction. Le tableau ci-après récapitule les affectations :
Entrées principales
Entrée IA Entrée IB
Entrées auxiliaires
IPres Ica
Sorties réflexes
Sortie 0 Sortie 1
%I0.0.1
%I0.0.0
(CO = 0/DE = 1)
%I0.0.1
%I0.0.0
(Impulsion)
%I0.0.2 (1) %I0.0.3 (1) %Q0.0.2 (1) %Q0.0.3 (1)
%I0.0.2 (1) %I0.0.3 (1) %Q0.0.2 (1) %Q0.0.3 (1)
%I0.0.1
(2)
%I0.0.1
(2)
%I0.0.1
(2)
Entrée IA Entrée IB)
%I0.0.2 (1) %I0.0.3 (1) %Q0.0.2 (1) %Q0.0.3 (1)
%I0.0.2 (1) %I0.0.3 (1) %Q0.0.2 (1) %Q0.0.3 (1)
(2)
IPres
(2)
Ica
(2)
Sortie 0
(2)
Sortie 1
%I0.0.7
%I0.0.6
(CO = 0/DE = 1)
%I0.0.5 (1) %I0.0.4 (1) %Q0.0.4 (1) %Q0.0.5 (1)
%I0.0.7
%I0.0.6
(Impulsion)
%I0.0.5 (1) %I0.0.4 (1) %Q0.0.4 (1) %Q0.0.5 (1)
%I0.0.7
(2)
%I0.0.7
(2)
%I0.0.7
(2)
%I0.0.5 (1) %I0.0.4 (1) %Q0.0.4 (1) %Q0.0.5 (1)
%I0.0.5 (1) %I0.0.4 (1) %Q0.0.4 (1) %Q0.0.5 (1)
(2) (2) (2) (2)
TWD USE 10AE
467
Instructions avancées
Entrées principales Entrées auxiliaires Sorties réflexes
Commentaires :
(1) = facultatif
(2) = non utilisé
Ipres = entrée de présélection
Ica= entrée de capture
Entrée IA = entrée d'impulsion
Entrée IB = impulsions ou UP/DO
UP/DO = Comptage / Décomptage
Lorsqu'elle n'est pas utilisée, l'entrée ou la sortie reste une E/S TOR normale gérée par l'application au cours du cycle principal.
Si %I0.0.2 est utilisé, %FC0 n'est pas disponible.
Si %I0.0.3 est utilisé, %FC2 n'est pas disponible.
Si %I0.0.4 est utilisé, %FC3 n'est pas disponible.
Illustration
La figure suivante représente le compteur rapide (%VFC) en mode mot simple :
%VFC0
IN
S
F
TYPE UP/DN
SINGLE
T_OUT0
T_OUT1
ADJ
%VFC0.P
U
TH0
TH1
468
TWD USE 10AE
Instructions avancées
Caractéristiques
Le tableau suivant répertorie les caractéristiques du bloc fonction compteur rapide
(%VFC).
Fonction
Valeur courante
(%VFCi.V)
(%VFCi.VD*)
Valeur de présélection
(%VFCi.P)
(%VFCi.PD*)
Valeur de capture
(%VFCi.C)
(%VFCi.CD*)
Sens de comptage
(%VFCi.U)
Activation de la sortie réflexe 0
(%VFCi.R)
Activer sortie réflexe 1
(%VFCi.S)
Valeur seuil S0
(%VFCi.S0)
%VFCi.S0D
Validation sortie réflexe 1
Contient la valeur de seuil 0. Sa signification est définie lors de la configuration du bloc fonction. Remarque :
Cette valeur doit être inférieure à %VFCi.S1.
Valeur seuil S1
(%VFCi.S1)
(%VFCi.S1D*)
Base temps de la mesure de fréquence
(%VFCi.T)
Description Valeurs
La valeur courante est augmentée ou diminuée en fonction des entrées physiques et de la fonction sélectionnée. Cette valeur peut-être présélectionnée ou initialisée à l'aide de l'entrée de présélection (%VFCi.S).
Uniquement utilisée par la fonction compteur/décompteur et par le comptage ou le décomptage simple.
Uniquement utilisée par la fonction de comptage/ décomptage et par le comptage/décomptage simple.
%VFCi.V : 0 ->
65 535
%VFCi.VD : 0 ->
4 294 967 295
%VFCi.P : 0 ->
65 535
%VFCi.PD : 0 ->
4 294 967 295
%VFCi.C : 0 ->
65 535
%VFCi.CD : 0 ->
4 294 967 295
0 (Décomptage)
1 (Comptage)
Défini par le système, ce bit est utilisé par la fonction de comptage/décomptage pour indiquer le sens de comptage :
Pour un compteur/décompteur simple, %I0.0.0 détermine le sens de %VFC0, et %I0.0.6 détermine le sens de %VFC1.
Pour un compteur/décompteur bi-phases, la différence de phase entre les deux signaux détermine le sens de comptage.
Pour %VFC0, %I0.0 est dédié à IB et %I0.1 à IA. Pour
%VFC1, %I0.6 est dédié à IB et %I0.7 à IA.
Validation de la sortie réflexe 0 0 (Désactivé)
1 (Activé)
Utilisation du bloc
%VFC
CM
Accès en cours d'exécution
Lecture
CM ou FM Lecture et
écriture (1)
CM
CM
CM
Lecture
Lecture
Lecture et
écriture (2)
Contient la valeur de seuil 0. Sa signification est définie lors de la configuration du bloc fonction. Remarque :
Cette valeur doit être supérieure à %VFCi.S0.
Elément de configuration de la base temps (100 ou
1 000 millisecondes).
0 (Désactivé)
1 (Activé)
%VFCi.S0 : 0 ->
65 535
%VFCi.S0D : 0 -
> 4 294 967 295
%VFCi.S1 : 0 ->
65 535
%VFCi.S1D : 0 -
> 4 294 967 295
1 000 ou 100
CM
CM
CM
MF
Lecture et
écriture (2)
Lecture et
écriture (1)
Lecture et
écriture (1)
Lecture et
écriture (1)
TWD USE 10AE
469
Instructions avancées
Fonction Description Valeurs Utilisation du bloc
%VFC
Accès en cours d'exécution
CM ou FM Non Réglable
(Y/N)
Elément de configuration qui, lorsqu'il est sélectionné, permet à l'utilisateur de modifier les valeurs de présélection, de seuil et de base temps de la mesure de fréquence en cours d'exécution.
N (Non)
Y (Oui)
Utilisée pour valider ou inhiber la fonction courante.
0 (Non) Entrée pour valider
(IN)
Entrée de présélection
(S)
Sortie débordement
(F)
Seuil
Bit 0
(%VFCi.TH0)
Seuil
Bit 1
(%VFCi.TH1)
Dépend de la configuration à l'état 1 : z comptage/décomptage ou décomptage : initialise z la valeur courante avec la valeur de présélection.
comptage simple : remet la valeur courante à 0.
Cette fonction permet également d'initialiser la commande des sorties seuils et prend en compte toutes les modifications apportées par un utilisateur aux valeurs seuils définies par l'afficheur ou le programme utilisateur.
de 0 à 65 535 ou de 65 535 à 0 en mode standard de 0 à 4 294 967 295 ou de 4 294 967 295 à 0 en mode mot double
A l'état 1 lorsque la valeur courante est supérieure ou égale
à la valeur seuil %VFCi.S0. Nous conseillons de tester ce bit une seule fois dans le programme, car il est mis à jour en temps réel. L'application utilisateur est responsable de la validité de la valeur au moment de son utilisation.
A l'état 1 lorsque la valeur courante est supérieure ou égale
à la valeur seuil %VFCi.S1. Nous conseillons de tester ce bit une seule fois dans le programme, car il est mis à jour en temps réel. L'application utilisateur est responsable de la validité de la valeur au moment de son utilisation.
0 ou 1
0 ou 1
0 ou 1
0 ou 1
CM ou FM Lecture et
écriture (3)
MC ou MF Lecture et
écriture
CM
CM
MC
Lecture
Lecture
Lecture
(*)Correspond à une variable de double mot 32 bits. L'option de double mot est disponible sur tous les automates à l'exception des automates Twido
TWDLC•A10DRF.
(1) Accessible en écriture uniquement si la fonction Réglable est réglée sur un.
(2) Accès disponible si configuré uniquement.
(3)Accès en lecture et en écriture seulement à partir de l'application. Accès impossible à partir de l'afficheur ou de l'éditeur de tables d'animation.
MC = Mode Comptage
MF = Mode Fréquencemètre
470
TWD USE 10AE
Instructions avancées
Description de la fonction de comptage
Fonction
Compteur/
Décompteur
La fonction de comptage très rapide (%VFC) fonctionne à une fréquence maximale de
20 kHz et pour une plage de valeurs allant de 0 à 65 535 en mode standard et de 0 à
4 294 967 295. Les impulsions de comptage sont appliquées de la manière suivante.
Tableau :
Description
Les impulsions sont appliquées à l'entrée physique ; l'opération courante (comptage/décomptage) est définie par l'état de l'entrée physique IB.
Les deux phases du codeur sont appliquées aux entrées physiques IA et IB.
%VFC0
IA IB
%VFC1
IA IB
%I0.0.1
%I0.0.0 %I0.0.7
%I0.0.6
%I0.0.1
%I0.0.0 %I0.0.7
%I0.0.6
Compteur/
Décompteur bi-phases
Compteur simple
Décompteur simple
Les impulsions sont appliquées à l'entrée physique IA. IB n'est pas utilisée.
Les impulsions sont appliquées à l'entrée physique IA. IB n'est pas utilisée.
%I0.0.1
ND
%I0.0.1
ND
%I0.0.7
ND
%I0.0.7
ND
Remarques sur les blocs fonction
Les opérations de comptage ou de décomptage sont effectuées sur le front montant des impulsions et ce, uniquement lorsque le bloc compteur est activé.
Deux entrées facultatives sont utilisées en mode de comptage : ICa et IPres. ICa est utilisée pour capturer la valeur courante (%VFCi.V ou %VFCi.VD) et la stocker dans
%VFCi.C ou %VFCi.CD. Les entrées ICa sont définies sur %I0.0.3 pour %VFC0 et sur %I0.0.4 pour %VFC1, le cas échant.
Lorsque l'entrée IPres est active, la valeur courante est affectée de la manière suivante : z z
Pour le comptage, %VFCi.V ou %VFCi.VD sont remis à 0.
Pour le décomptage, %VFCi.V ou %VFCi.VD sont écrits respectivement avec le contenu de %VFCi.P ou %VFCi.PD.
z Pour le comptage de fréquence, %VFCi.V ou %VFCi.PD sont mis à 0.
Avertissement : %VFCi.F sera également mis à 0. Les entrées IPres sont définies sur %I0.0.2 pour %VFC0 et sur %I0.0.5 pour %VFC1 si cette valeur est disponible.
Remarques sur les sorties des blocs fonction
Pour toutes les fonctions, les valeurs courantes sont comparées aux deux seuils
(%VFCi.S0 ou %VFCi.S0D et %VFCi.S1 ou %VFCi.S1D). Les deux objets bits
(%VFCi.TH0 et %VFCi.TH1) sont fonction des résultats de cette comparaison.
C'est-à-dire qu'ils sont réglés sur 1 lorsque la valeur courante est supérieure ou
égale au seuil correspondant ou remis à 0 dans le cas contraire. Les sorties réflexes
(si elles sont configurées) sont réglées sur 1 en fonction de ces comparaisons.
Remarque : Aucune, une ou deux sorties peuvent être configurées.
%VFC.U est une sortie du bloc fonction. Elle indique le sens de variation du compteur (1 pour comptage, 0 pour décomptage).
TWD USE 10AE
471
Instructions avancées
Schéma de la fonction de comptage
L'illustration suivante représente un schéma de fonction de comptage en mode standard (en mode double mot, vous utiliserez en conséquence les variables de la fonction de doubles mots) :
IA = Entrée compteur
(Signal unique ou phase 1)
&
IN %VFCi
+
Compteur %VFC
%VFCi.U
Sens de comptage
-
IB = (Balise Comptage/
Décomptage ou phase 2)
%VFCi.P
IPres = (Entrée de présélection)
&
S %VFCi
%ICa = Entrée de capture
Lecture instruction
%VFCi.V
%VFCi.S0
Valeur seuil 0
%VFCi.S1
Seuil de seuil 1
%VFCi.R
ou
%VFCi.S
validé
>1
>1
Comparaison
&
&
%VFCi.F
Sortie pour débordement
%VFCi.V
Valeur courante
VFCi.C
Valeur de capture
%VFCi.TH0
%VFCi.TH1
%Q0.0.x
Sortie réflexe 0
%Q0.0.y
Sortie réflexe 1
Note : Les sorties sont gérées indépendamment du temps de cycle automate. Le temps de réponse est compris entre 0 et 1 ms.
472
TWD USE 10AE
Instructions avancées
Opération de comptage simple
Sortie réflexe
%Q0.0.2
%Q0.0.3
Voici un exemple de l'utilisation de %VFC en mode comptage simple. Les éléments de configuration suivants ont été définis pour cet exemple :
La valeur de présélection, %VFC0.P, est égale à 17. Le seuil inférieur, %VFC0.S0, est égal à 14 et le seuil supérieur, %VFC0.S1, à 20.
valeur < %VFC.S0
%VFC0.S0 <= valeur < %VFC0.S1
X
valeur >= %VFC0.S1
X X
Exemple de chronogramme :
%VFC0.P = 17
%VFC0.S0 = 14
%VFC0.S1 = 20
1 2 3 4
IN
S
65 535
20
17
14
%VFC0.V
0
F
TH0
TH1
Sortie réflexe 0
Sortie réflexe 1
1
: %VFC0.U = 1 car %VFC est un compteur
2
: modification de %VFC0.S1 sur 17
3
: l'activation de l'entrée S permet d'accorder la nouvelle valeur du seuil S1 lors du comptage suivant
4
: une interception de la valeur courante a lieu, ainsi, %VFC0.C = 17
TWD USE 10AE
473
Instructions avancées
Opération de décomptage simple
Sortie réflexe
%Q0.0.2
%Q0.0.3
Voici un exemple de l'utilisation de %VFC en mode décomptage simple. Les
éléments de configuration suivants ont été définis pour cet exemple :
La valeur de présélection, %VFC0.P, est égale à 17. Le seuil inférieur, %VFC0.S0, est égal à 14 et le seuil supérieur, %VFC0.S1, à 20.
valeur < %VFC.S0
X
%VFC0.S0 <= valeur < %VFC0.S1
X
valeur >= %VFC0.S1
X
Exemple :
%VFC0.P = 17
%VFC0.S0 = 14
%VFC0.S1 = 20
1
2
3 4 5
IN
S
65 535
20
17
14
%VFC0.V
0
F
TH0
TH1
Sortie réflexe 0
Sortie réflexe 1
1
: %VFC0.U = 0 car %VFC est un décompteur
2
: modification de %VFC0.P sur 20
3
: modification de %VFC0.S1 sur 17
4
: L'activation de l'entrée S permet d'accorder la nouvelle valeur du seuil S1 lors du décompte suivant
5
: une capture de la valeur courante a lieu, ainsi, %VFC0.C = 17
474
TWD USE 10AE
Opération de comptage/ décomptage
Sortie réflexe
%Q0.0.2
%Q0.0.3
Instructions avancées
Voici un exemple de l'utilisation de %VFC en mode comptage/décomptage. Les
éléments de configuration suivants ont été définis pour cet exemple :
La valeur de présélection, %VFC0.P, est égale à 17. Le seuil inférieur, %VFC0.S0, est égal à 14 et le seuil supérieur, %VFC0.S1, à 20.
valeur < %VFC.S0
%VFC0.S0 <= valeur < %VFC0.S1
X X
valeur >= %VFC0.S1
X
Exemple :
%VFC0.P = 17
%VFC0.S0 = 14
%VFC0.S1 = 20
1 2 3 4 5
IN
S
65 535
20
17
14
%VFC0.V
0
F
U
TH0
TH1
Sortie réflexe 0
Sortie réflexe 1
1
2
: entrées IN et S mises à 1
: modification de %VFC0.P sur 20
3
: modification de %VFC0.S1 sur 17
4
: L'activation de l'entrée S permet d'accorder la nouvelle valeur du seuil S1 lors du décompte suivant
5 : une capture de la valeur courante a lieu, ainsi, %VFC0.C = 17
TWD USE 10AE
475
Instructions avancées
Description de la fonction
Fréquencemètre
Base temps
100 ms
1 s
La fonction Fréquencemètre d'un %VFC est utilisée pour mesurer la fréquence en
Hz d'un signal périodique sur l'entrée IA. La plage de fréquences pouvant être mesurées est comprise entre 10 et 20 kHz. L'utilisateur peut choisir entre deux bases temps. Ce choix est effectué via un nouvel objet %VFC.T (Base temps). Une valeur de 100 correspond à une base temps de 100 ms et une valeur de 1 000 correspond à une base temps d'une seconde.
Plage de mesure
100 Hz à 20 kHz
10 Hz à 20 kHz
Précision
0,05 % pour 20 kHz, 10 % pour 100 Hz
0,005 % pour 20 kHz, 10 % pour 10 Hz
Mise à jour
10 fois par seconde
Une fois par seconde
Schéma de la fonction
Fréquencemètre
Exemple de schéma de fonction Fréquencemètre :
IA
Signal à mesurer
+
&
Compteur %VFC
IN %VFCi
S %VFCi
Régler la valeur sur 0
%VFCi.F
Sortie pour débordement
%VFCi.V
Fréquence mesurée
%VFCi.T
Sélectionner base temps
1 000 ms 100 ms
476
TWD USE 10AE
Instructions avancées
Opération
Fréquencemètre
Voici un exemple de chronogramme de l'utilisation de %VFC en mode
Fréquencemètre :
1 2 3 4
IN
S
Base temps
%VFC0.V
f1 f2 0 f3 0
1 : la mesure de la première fréquence débute ici
2 : la valeur de la fréquence courante est mise à jour
3 : entrées IN et S mises à 1
4 : modification de %VFC0.T sur 100 ms : cette modification annule la mesure courante et en commence une autre f3 f4 f5
Cas particuliers
Le tableau suivant présente une liste de cas spécifiques de fonctionnement du bloc fonction %VFC.
Cas spécifique Description
Effet d'une reprise à froid (%S0=1) Utilise les valeurs configurées par l'utilisateur ou par l'application utilisateur pour régler tous les attributs %VFC.
Effet d'une reprise à chaud (%S1=1) Aucun effet
Effet de l'arrêt de l'automate Le %VFC s'arrête et les sorties maintiennent leur état courant.
TWD USE 10AE
477
Instructions avancées
Emission/réception de messages - Instruction d'échange (EXCH)
Introduction
Il est possible de configurer un automate Twido afin qu'il puisse communiquer avec des périphériques esclaves Modbus ou envoyer et/ou recevoir des messages en mode ASCII (mode caractères).
TwidoSoft propose les fonctions suivantes pour ces communications : z z
Instruction EXCH pour l'émission/la réception de messages
Bloc fonction de contrôle d'échange %MSG assurant le contrôle des échanges de données
L'automate Twido utilise le protocole configuré pour le port spécifié lors du traitement d'une instruction EXCH. Il est possible d'affecter un protocole différent à chaque port de communication. Pour accéder aux ports de communication, ajoutez le numéro de port à la fonction EXCH ou %MSG (EXCH1, EXCH2, %MSG1,
%MSG2).
De plus, les automates TWDLCAE40DRF implémentent la messagerie Modbus
TCP sur le réseau Ethernet à l'aide de l'instruction EXCH3 et de la fonction %MSG3.
Instruction EXCH
L'instruction EXCH permet à un automate Twido d'envoyer et/ou recevoir des informations vers/depuis des périphériques ASCII. L'utilisateur définit une table de mots (%MWi:L) contenant les données à envoyer et/ou recevoir (jusqu'à 250 octets de données en émission et/ou réception). Le format des tables de mots fait l'objet d'une description dans les sections relatives à chaque protocole. Un échange de message est exécuté à l'aide de l'instruction EXCH.
Syntaxe
La syntaxe à utiliser pour l'instruction EXCH est la suivante :
[EXCHx %MWi:L]
Où : x = numéro de port série (1 ou 2), x = port Ethernet (3), L = nombre total de mots de la table de mots (121 maximum). Les valeurs contenues dans la table de mots interne %MWi:L prennent la forme i+L <= 255.
L'automate Twido doit terminer l'échange ordonné par la première instruction
EXCHx avant qu'une nouvelle instruction d'échange puisse être lancée. Le bloc fonction %MSG doit être utilisé lors de l'envoi de plusieurs messages.
Note : Pour plus d'informations sur l'instruction EXCH3 de messagerie Modbus
TCP, voir
Messagerie Modbus TCP, p. 182.
478
TWD USE 10AE
Instructions avancées
Bloc fonction de contrôle d'échange (%MSGx)
Introduction
Illustration
z z
Note : Le "x" de %MSGx désigne le port de l'automate : "x = 1 ou 2" x = 1 ou 2 correspond respectivement au port série 1 ou 2 de l'automate ;
X = 3 correspond au port réseau Ethernet de l'automate (sur l'automate
TWDLCAE40DRF uniquement). Pour plus d'informations sur la fonction
%MSG3, voir
Messagerie Modbus TCP, p. 182.
Le bloc fonction %MSGx assure la gestion des échanges de données. Ce bloc a trois fonctions : z Vérification des erreurs de communication
Cette fonction a pour but de s'assurer que la longueur du bloc (table de mots) programmée avec l'instruction EXCH est suffisante pour le stockage du message z z
à envoyer (comparaison de la longueur programmée dans l'octet de poids faible du premier mot de la table de mots).
Coordination de plusieurs messages
Afin d'assurer la coordination de l'envoi de plusieurs messages, le bloc fonction
%MSGx contient des informations permettant de s'assurer que l'émission de chaque message est bien terminée.
Emission de messages prioritaires
Le bloc fonction %MSGx vous permet de suspendre l'émission d'un message afin d'envoyer un message plus urgent.
La programmation du bloc fonction %MSGx est facultative.
L'exemple suivant illustre le bloc fonction %MSGx.
R
%MSG1
D
E
TWD USE 10AE
479
Instructions avancées
Paramètres
Le tableau suivant présente les différents paramètres du bloc fonction %MSGx.
Paramètre Etiquette
Entrée (ou instruction) RAZ R
Sortie Communication terminée
Sortie Défaut (Erreur)
%MSGx.D
Valeur
A l'état 1, réinitialise la communication : %MSGx.E = 0 et %MSGx.D = 1.
A l'état 1, la communication est terminée si : z z z z fin d'émission (si émission) fin de réception (réception du caractère de fin) erreur réinitialisation du bloc
A l'état 0, une requête est en cours.
%MSGx.E
A l'état 1, la communication est terminée si : z commande incorrecte z z z table configurée de manière incorrecte réception d'un caractère incorrect (vitesse, parité, etc.) table de réception pleine (non mise à jour)
l'état 0, la longueur du message et la liaison sont correctes.
Si une erreur survient lors de l'exécution d'une instruction EXCH, les bits %MSGx.D et %MSGx.E sont mis à 1. Le mot système %SW63 contient le code de l'erreur du port 1 et le mot système %SW64 celui du port 2. Voir
Entrée RAZ (R)
Sortie Défaut
(Erreur)
(%MSGx.E)
Lorsque l'entrée RAZ est mise à 1 : z L'émission de tous les messages est interrompue.
z z
La sortie Défaut (Erreur) est remise à 0.
Le bit Terminé est mis à 1.
Un nouveau message peut être envoyé.
La sortie Défaut est mise à 1 en cas d'erreur de programmation des communications ou d'erreur d'émission d'un message. La sortie Défaut est mise à 1 si le nombre d'octets définis dans le bloc de données associé à l'instruction EXCH (mot 1, octet de poids faible) est supérieur à 128 (+80 en hexadécimal par FA).
La sortie Défaut est également mise à 1 en cas de problème lors de l'envoi d'un message Modbus vers un périphérique Modbus. Dans ce cas, l'utilisateur devra vérifier la connexion et s'assurer que le périphérique de destination peut recevoir des communications Modbus.
Sortie
Communication terminée
(%MSGx.D)
Lorsque la sortie Communication terminée est mise à 1, l'automate Twido est prêt à envoyer un autre message. L'utilisation de la sortie %MSGx.D est recommandée en cas d'envoi de plusieurs messages. Si cette sortie n'est pas utilisée, les messages pourront être perdus.
480
TWD USE 10AE
Emission de plusieurs messages successifs
Instructions avancées
L'exécution de l'instruction EXCH permet d'activer un bloc message dans le programme d'application. Le message est émis si le bloc message n'est pas déjà actif (%MSGx.D = 1). Lorsque plusieurs messages sont envoyés au cours du même cycle, seul le premier message est émis. La gestion de l'émission de plusieurs messages à l'aide du programme incombe à l'utilisateur.
Exemple d'émission de deux messages successifs sur le port 2 :
%I0.0
%MSG2.D
P
%MSG.D
%M0
EXCH2%MW2:4
%M0
S
EXCH2%MW8:3
%M0
R
LDR %I0.0
AND %MSG2.D
[EXCH2 %MW2:4]
S
LD
%M0
%MSG2.D
AND %M0
[EXCH2 %MW8:3]
R %M0
Réinitialisation des échanges
L'annulation d'un échange survient lors de l'activation de l'entrée (ou de l'instruction) R. Cette entrée initialise la communication, remet à 0 la sortie %MSGx.E et met la sortie %MSGx.D à
1. Notez qu'il est possible de réinitialiser une communication si une défaillance est détectée.
Exemple de réinitialisation d'un échange :
%M0
R
%MSG1
D
BLK %MSG1
LD %M0
R
END_BLK
E
Cas particuliers
Le tableau présente les cas particuliers de fonctionnement du bloc fonction %MSGx.
Cas particulier
Effet d'un redémarrage à froid (%S0=1)
Description
Force la réinitialisation de la communication.
Effet d'un redémarrage à chaud (%S1=1) Aucun effet.
Effet d'un arrêt de l'automate Si un message est en cours d'émission, l'automate interrompt le transfert et réinitialise les sorties %MSGx.D et %MSGx.E.
TWD USE 10AE
481

Lien public mis à jour
Le lien public vers votre chat a été mis à jour.