Hsc_TargetValueMatch_Reset

A OFF cuando alcanza el valor de preselección (contador de alta velocidad)

Si el valor actual alcanza el valor de preselección diTargetValue del canal especificado en iChannel, la salida especificada en pYOutput pasa a FALSE.

Parámetros

Entrada

bExecute (BOOL)

La función se activa con un flanco de subida; comprobar el estado de la bandera de control del contador de alta velocidad utilizando la función 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

Puntero que se obtiene como resultado de GetPointer a partir de una variable global que contiene el número de canal y la salida

diTargetValue (DINT)

Especificar un valor de 32 bits para el valor de preselección dentro del siguiente rango:

FP0, FP-e: -838808–+8388607

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

Salida

iError (BOOL)

TRUE si la combinación de Channel%d y pYOuput.iOffset no es una combinación válida de número de canal y salida conforme se haya especificado en la variable global.

Observaciones

Esta instrucción forma parte de las instrucciones Tool del contador de alta velocidad. Para obtener información más detallada sobre las instrucciones que utiliza internamente, consultar la: F167_HighSpeedCounter_Reset

NOTA

Para validar la combinación del canal y salida Y, el compilador necesita el siguiente patrón de nombres para las variables globales: %sHsc_TargetValueMatch_Channel%d_Y%d_%s

Utilizar siempre este patrón para las variables globales de las instrucciones del contador de alta velocidad que comprueban si se alcanza el valor de preselección.

  • Channel%d debe ser un número de canal del contador de alta velocidad en los registros del sistema

  • Y%d debe ser una dirección explícita de una salida válida del PLC

    FP-S, FP0, FP-e:

    Y0–Y7

    FP-S (V3.1 o mayor), FP0R:

    Y0–Y1F

    FP-X:

    Y0–Y29F

  • %s es un descriptor opcional al inicio del patrón

  • _%s es un descriptor opcional al final del patrón

Ejemplo

Opcional Patrón fijo Opcional
g_b Hsc_TargetValueMatch_ChannelA_Y11F _MotorOn

Esta variable global genera el código para el canal A y la salida Y11F.

Ejemplo

Variables Globales

En la Lista de Variables Globales, se definen las variables a las que pueden acceder todas las POUs del proyecto.

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

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

Cuerpo LD

Utilizar HscInfo_IsActive para evaluar el estado del canal especificado por iChannel1. La instrucción se ejecuta en el flanco de subida de bReset y si bIsActive no está a TRUE. La combinación del número de canal y el contacto de salida se valida en la variable global g_bHsc_TargetValueMatch_Channel1_Y7_YellowLamp_On. Si el canal 1 del contador de alta velocidad alcanza el valor de preselección diTargetValue1, la salida Y7 pasa a 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

Cuerpo 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);

Modificado el: 2021-07-14Comentarios sobre esta páginaPanasonic hotline