Hsc_TargetValueMatch_Reset

Valeur de consigne atteinte : désactivation de la sortie

Lorsque la valeur courante correspond à la valeur de consigne diTargetValue de la voie du compteur rapide spécifiée par iChannel, le drapeau de sortie spécifié par pYOutput devient immédiatement FALSE.

Paramètres

Entrée

bExecute (BOOL)

Un front montant active la fonction ; contrôle du drapeau de contrôle du compteur rapide à l’aide de HscInfo_IsActive

iChannel (INT)

FPS: 0, 2

FP-X R : 0, 1

FP-X 16K C14T : 0, 1, 2

FP-X 32K C30T, C60T : 0, 1, 2, 3

FP0R: 0, 1, 2, 3

FP0 : 0, 1

FP-e : 0, 1

pYOutputPOINTER

Résultat du pointeur obtenu via GetPointer à partir d’une variable globale qui renvoie le numéro de voie et la sortie

diTargetValue (DINT)

Permet d’indiquer une valeur de données de 32 bits pour la valeur de consigne dans l’intervalle suivant :

FP0, FP-e : -838808–+8388607

FPS, FP-X, FP0R: -2147483467–+2147483648

Sortie

iError (BOOL)

TRUE si la combinaison de Channel%d et pYOuput.iOffset ne correspond pas à une combinaison valide de numéro de voie et de sortie telle que déterminée par la variable globale.

Remarques

Cette instruction non inline fait partie des instructions Tool pour compteurs rapides. Pour en savoir plus sur les instruction(s) utilisées en interne, voir : F167_HighSpeedCounter_Reset

NOTA

Pour valider la combinaison de la voie et de la sortie Y, le compilateur requiert le modèle de nom suivant pour les variables globales : %sHsc_TargetValueMatch_Channel%d_Y%d_%s

Utilisez toujours ce modèle pour les variables globales dans la fonction de contrôle de la sortie lorsque la valeur de consigne est atteinte.

  • Channel%d doit être un numéro de voie de compteur rapide, activé dans les registres système

  • Y%d doit être une adresse de sortie explicite prise en charge par l’automate

    FP-S, FP0, FP-e:

    Y0–Y7

    FP-S (V3.1 ou supérieure), FP0R :

    Y0–Y1F

    FP-X :

    Y0–Y29F

  • %s est un descripteur optionnel au début du modèle

  • _%s est un descripteur optionnel à la fin du modèle

Exemple

Optionnel Modèle fixe Optionnel
g_b Hsc_TargetValueMatch_ChannelA_Y11F _MotorOn

Cette variable globale génère le code pour la voie A et la sortie Y11F.

Exemple

GVL

Dans la liste des variables globales, vous définissez des variables qui sont accessibles par tous les POU dans le projet.

En-tête du POU

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
	VAR 
		bExecute: BOOL:=0;
		iChannel1: INT:=1;
		diTargetValue1: DINT:=15000;
		bIsActive: BOOL:=FALSE;
		diElapsedValue: DINT:=0;
		bReset: BOOL:=FALSE;
		bErrorReset: BOOL:=FALSE;
	END_VAR

Corps en LD

Utilisez HscInfo_IsActive pour contrôler la voie spécifiée par iChannel1. Lorsqu’un front montant est détecté sur bReset et lorsque bIsActive n’est pas TRUE, l’instruction est exécutée. La combinaison du numéro de voie et du contact de sortie est validée dans la variable globale g_bHsc_TargetValueMatch_Channel1_Y7_YellowLamp_On. Lorsque le compteur rapide sur la voie 1 atteint la valeur de consigne diTargetValue1, la sortie Y7 devient FALSE.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_F,HscInfo_IsActive!,,9,0,18,3,,?DiChannel?C);
B(B_VARIN,,iChannel1,7,1,9,3,);
B(B_VAROUT,,bIsActive,18,1,20,3,);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_CONTACT,,bReset,2,1,4,3,R);
B(B_CONTACT,,bIsActive,6,1,8,3,N);
B(B_VARIN,,iChannel1,31,2,33,4,);
B(B_VARIN,,diTargetValue1,31,4,33,6,);
B(B_VAROUT,,bErrorReset,47,1,49,3,);
B(B_F,GetPointer!,,26,3,33,5,,?D?C);
B(B_VARIN,,g_bHsc_TargetValueMatch_Channel1_Y7_YellowLamp_On,24,3,26,5,);
B(B_F,Hsc_TargetValueMatch_Reset!,,33,0,47,6,,?DbExecute?DiChannel?DpYOutput?DdiTargetValue?CbError);
L(1,2,2,2);
L(4,2,6,2);
L(8,2,33,2);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

bIsActive:=HscInfo_IsActive(iChannel1);
Hsc_TargetValueMatch_Reset(bExecute := DF(bReset) AND NOT bIsActive,
             iChannel := iChannel1,
             pYOutput := GetPointer(g_bHsc_TargetValueMatch_Channel1_Y7_YellowLamp_On),
             diTargetValue := diTargetValue1,
             bError => bErrorReset);

Modifié le : 2021-08-09Feedback on this pagePanasonic hotline