Valeur de consigne atteinte : activation de la sortie
Lorsque la valeur courante du compteur rapide correspond à la valeur de consigne, un processus d’interruption commute immédiatement la sortie spécifiée sur TRUE.
Entrée
Voie du compteur rapide :
FP-S : 0–3
FP-X R : 0–11
FP-X T : 0–7
FP0 : 0–3
F168_PulseOutput_Trapezoidal : 0–3
F171_PulseOutput_Trapezoidal : 0–5
Permet d’indiquer une valeur de données de 32 bits pour la valeur de consigne dans l’intervalle suivant :
FP0, F168_PulseOutput_Trapezoidal : -838808–+8388607
FPS, FP-X, F171_PulseOutput_Trapezoidal : -2147483467–+2147483648
Sortie
Sortie passant à TRUE lorsque la valeur courante correspond à la valeur de consigne :
FP-S, FP0, F168_PulseOutput_Trapezoidal : Y0–Y7
FP-S (V3.1 ou supérieure), F171_PulseOutput_Trapezoidal : Y0–Y1F
FP-X : Y0–Y29F
Caractéristiques du contrôle d’activation de la sortie, valeur de consigne atteinte
Valeur de consigne: 10000
La sortie API passe à TRUE lorsque la valeur courante correspond à la valeur de consigne. De plus, le drapeau de contrôle du compteur rapide passe à FALSE et l’instruction est désactivée.
Si la sortie spécifiée n’est pas implémentée, seule la mémoire interne de l’adresse WY correspondante est définie ou réinitialisée.
Le programme d’interruption est exécuté lorsque la valeur courante correspond à la valeur de consigne. Toute interruption entrée dans la liste des tâches est activée automatiquement. Un numéro de programme d’interruption spécial est affecté à chaque numéro de voie.
Type d’API |
FP0, FP-e |
FPS, FP0H |
FP-X (Types relais), FP-XH |
FP-X (Types transistor) |
FP0R |
---|---|---|---|---|---|
Interrupt0 |
Voie0 |
Voie0 |
Voie0 |
Voie0 |
Voie0 |
Interrupt1 |
Voie1 |
Voie1 |
Voie1 |
Voie1 |
Voie1 |
Interrupt2 |
Voie2 |
Voie2 |
|||
Interrupt3 |
Voie2 |
Voie2 |
Voie3 |
Voie3 |
Voie2 |
Interrupt4 |
Voie3 |
Voie3 |
Voie4 |
Voie4 |
Voie3 |
Interrupt5 |
Voie5 |
Voie5 |
|||
Interrupt6 |
Voie6 |
Voie6 |
Voie4 |
||
Interrupt7 |
Voie7 |
Voie7 |
Voie5 |
||
Interrupt8 |
Voie8 |
||||
Interrupt9 |
Voie9 |
||||
Interrupt10 |
|||||
Interrupt11 |
VoieA |
||||
Interrupt12 |
VoieB |
Sélectionnez l’entrée du compteur rapide pour la voie désirée dans les registres système.
FP-X, FP0R : Lors de l’exécution d’une instruction du compteur rapide, le drapeau de contrôle du compteur rapide (par ex. sys_bIsHscChannel0ControlActive) pour la voie utilisée passe à TRUE. Aucune autre instruction du compteur rapide utilisant la même voie ne peut être exécutée tant que le drapeau de contrôle est TRUE.
FP0, FP-e, FPS : Le drapeau de contrôle du compteur rapide (par ex. sys_bIsHscChannel0ControlActive) et le drapeau de contrôle de la sortie impulsionnelle (par ex. sys_bIsPulseChannel0Active) sont affectés au même drapeau interne (par ex. R903A). Par conséquent, lorsqu’une instruction du compteur rapide ou de la sortie impulsionnelle est exécutée, le drapeau de contrôle du compteur rapide (par ex. sys_bIsHscChannel0ControlActive) et le drapeau de contrôle de la sortie impulsionnelle (par ex. sys_bIsPulseChannel0Active) pour la voie utilisée sont sur TRUE. Aucune instruction du compteur rapide ou de la sortie impulsionnelle ne peut être exécutée tant que ce drapeau est sur TRUE.
Si le programme principal et le programme d’interruption contiennent le code de la même voie, veillez à ce qu’ils ne soient pas exécutés simultanément.
Pour qu’une sortie API passe à FALSE après avoir été commutée sur TRUE par cette instruction, utilisez une instruction RST ou MOVE.
Pour annuler l’exécution d’une instruction, définissez le bit 3 du registre de données, dans lequel le code de contrôle du compteur rapide (sys_wHscOrPulseControlCode) est sauvegardé, sur TRUE. Le drapeau de contrôle du compteur rapide passe à FALSE. Pour que l’instruction puisse être à nouveau exécutée, définissez le bit 3 sur FALSE.
L’état du drapeau de contrôle du compteur rapide ou du drapeau de la sortie impulsionnelle peut changer au cours d’une scrutation. Par exemple, si le nombre d’octets reçus est lu plusieurs fois, il peut y avoir plusieurs états au cours d’une scrutation.
Dans la liste des variables globales, vous définissez des variables qui sont accessibles par tous les POU dans le projet.
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR_EXTERNAL
out_0: BOOL:=FALSE;
(*output Y0 of PLC*)
END_VAR
VAR
start: BOOL:=FALSE;
(*start condition*)
END_VAR
La fonction est exécutée lorsque la variable start est sur TRUE.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,F166_HighSpeedCounter_Set!,Instance,12,0,26,5,,?DEN?Hn_diHscChannel?Ds_diTargetValue?AENO?Cd_Y);
B(B_VARIN,,0,10,2,12,4,);
B(B_VARIN,,10,10,3,12,5,);
B(B_VAROUT,,out_0,26,2,28,4,);
B(B_CONTACT,,start,5,1,7,3,R);
L(1,2,5,2);
L(7,2,12,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(start) then
F166_HighSpeedCounter_Set(n_diHscChannel := 0,
s_diTargetValue := 10,
d_Y => out_0);
END_IF;