Pulse_TargetValueMatch_Reset

A OFF cuando alcanza el valor de preselección (salida de pulsos)

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 en el flanco de subida; para evaluar la bandera de control de la salida de pulsos para el canal, utilizar la instrucción PulseInfo_IsTargetValueMatchActive

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

pYOutput (POINTER)

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

bError (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 de salida de pulsos. Para obtener información más detallada sobre las instrucciones que utiliza internamente, consultar la:F167_PulseOutput_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: %sPulse_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 habilitado para la salida de pulsos 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 Pulse_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_EXTERNAL
		g_bPulse_TargetValueMatch_Channel1_Y19_Motor1_On: BOOL:=FALSE;
	END_VAR
VAR
		iChannel1: INT:=1;
		diTargetValue1: DINT:=22000;
		bIsActive: BOOL:=FALSE;
		bErrorReset: BOOL:=FALSE;
		bReset: BOOL:=FALSE;
	END_VAR

Cuerpo LD

Utilizar PulseInfo_IsTargetValueMatchActive para comprobar si está activo el canal iChannel1 is active. 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_bPulse_TargetValueMatch_Channel1_Y19_Motor1_On. Si la salida de pulsos del canal 1 alcanza el valor de preselección diTargetValue1, la salida Y19 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_VARIN,,iChannel1,7,1,9,3,);
B(B_VAROUT,,bIsActive,26,1,28,3,);
B(B_F,PulseInfo_IsTargetValueMatchActive!,,9,0,26,3,,?DiChannel?C);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_CONTACT,,bReset,3,1,5,3,R);
B(B_CONTACT,,bIsActive,7,1,9,3,N);
B(B_VARIN,,iChannel1,32,2,34,4,);
B(B_VARIN,,diTargetValue1,32,4,34,6,);
B(B_VAROUT,,bErrorReset,52,1,54,3,);
B(B_F,GetPointer!,,27,3,34,5,,?D?C);
B(B_VARIN,,g_bPulse_TargetValueMatch_Channel1_Y19_Motor1_On,25,3,27,5,);
B(B_F,Pulse_TargetValueMatch_Reset!,,34,0,49,6,,?DbExecute?DiChannel?DpYOutput?DdiTargetValue?CbError);
L(5,2,7,2);
L(1,2,3,2);
L(9,2,34,2);
L(49,2,52,2);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

bIsActive:=PulseInfo_IsTargetValueMatchActive(iChannel1);
Pulse_TargetValueMatch_Reset(bExecute := DF(bReset) AND NOT bIsActive,
             iChannel := iChannel1,
             pYOutput := GetPointer(g_bPulse_TargetValueMatch_Channel1_Y19_Motor1_On),
             diTargetValue := diTargetValue1,
             bError => bErrorReset);

Modificado el: 2021-11-10Comentarios sobre esta páginaPanasonic hotline