F166_HighSpeedCounter_Set

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

Si el valor actual del contador de alta velocidad alcanza el valor de preselección, un proceso de interrupción pasa inmediatamente a TRUE la salida especificada.

Parámetros

Entrada

n_diHscChannel (DINT)

Canal del contador de alta velocidad:

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

s_diTargetValue (DINT)

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

FP0, F168_PulseOutput_Trapezoidal: -838808–+8388607

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

Salida

d_Y (BOOL)

salida que pasa a TRUE cuando el valor actual alcanza el valor de preselección:

FP-S, FP0, F168_PulseOutput_Trapezoidal: Y0–Y7

FP-S (V3.1 o mayor), F171_PulseOutput_Trapezoidal: Y0–Y1F

FP-X: Y0–Y29F

Observaciones

Diagrama de la instrucción "A ON cuando alcanza el valor de preselección"

Valor de preselección:: 10000

  1.  (1) Valor actual del contador de alta velocidad
  2.  (2) Condición de ejecución
  3.  (3) Bandera de control del contador de alta velocidad
  4.  (4) Salida del PLC

El PLC pasa a TRUE cuando el valor actual alcanza el valor de preselección. Además, la bandera de control del contador de alta velocidad pasa a FALSE y se desactiva la instrucción.

Si se especifica una salida que no está implementada, solo se pone a set o a reset, en la memoria interna, la dirección WY correspondiente.

Operación de interrupción

El programa de interrupción se ejecutará cuando el valor actual alcance el valor de preselección. Cualquier interrupción que se introduzca en la lista de Tareas se activa automáticamente. Se asigna un número de programa de interrupción para cada canal.

Canales utilizados por los programas de interrupción:

Tipo de PLC

FP0, FP-e

FPS, FP0H

FP-X (Modelos a relé), FP-XH

FP-X (Modelos a transistor)

FP0R

Interrupt0

Canal0

Canal0

Canal0

Canal0

Canal0

Interrupt1

Canal1

Canal1

Canal1

Canal1

Canal1

Interrupt2

Canal2

Canal2

Interrupt3

Canal2

Canal2

Canal3

Canal3

Canal2

Interrupt4

Canal3

Canal3

Canal4

Canal4

Canal3

Interrupt5

Canal5

Canal5

Interrupt6

Canal6

Canal6

Canal4

Interrupt7

Canal7

Canal7

Canal5

Interrupt8

Canal8

Interrupt9

Canal9

Interrupt10

Interrupt11

CanalA

Interrupt12

CanalB

Información de programación general

  • Seleccionar la entrada del contador de alta velocidad para el canal determinado en los registros del sistema.

  • FP-X, FP0R: Cuando se ejecuta una instrucción del contador de alta velocidad, la bandera control del contador de alta velocidad (por ejemplo, sys_bIsHscChannel0ControlActive) del canal utilizado pasa a TRUE. No se puede ejecutar otra instrucción del contador de alta velocidad utilizando el mismo canal mientras que la bandera de control esté a TRUE.

  • FP0, FP-e, FPS: La bandera de control del contador de alta velocidad (por ejemplo sys_bIsHscChannel0ControlActive) y la bandera de control de la salida de pulsos (por ejemplo sys_bIsPulseChannel0Active) están asignadas al mismo relé interno especial (R903A). Por lo tanto, cuando se ejecuta una instrucción del contador de alta velocidad o de salida de pulsos, tanto la bandera de control de contador de alta velocidad (por ejemplo sys_bIsHscChannel0ControlActive) como la bandera de control de la salida de pulsos (por ejemplo sys_bIsPulseChannel0Active) para el canal especificado, están a TRUE. No se puede ejecutar ninguna otra instrucción del contador de alta velocidad o de salida de pulsos mientras que está bandera esté a TRUE.

  • Si tanto el programa principal como el programa de interrupción contienen código para el mismo canal, asegurarse de que no se ejecutan simultáneamente.

  • Para poner la salida del PLC a FALSE que se había puesto a TRUE al ejecutar la instrucción, utilizar una instrucción de RST o MOVE.

  • Para cancelar la ejecución de la instrucción, poner a TRUE el bit 3 del registro de datos que almacena el código de control del contador de alta velocidad (sys_wHscOrPulseControlCode). La bandera de control del contador de alta velocidad pasa a FALSE. Para habilitar la ejecución de la instrucción del contador de alta velocidad, poner el bit 3 a FALSE.

  • El estado de la bandera de control del contador de alta velocidad o de la bandera de control de la salida de pulsos puede cambiar dentro del ciclo de scan.

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)
  • si el número de canal o los valores de la tabla de datos están fuera del rango permisible
  • si el contador de alta velocidad no se ha activado en los registros del sistema
sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • si el número de canal o los valores de la tabla de datos están fuera del rango permisible
  • si el contador de alta velocidad no se ha activado en los registros del sistema

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
		out_0: BOOL:=FALSE;
			(*output Y0 of PLC*)
	END_VAR
	VAR 
		start: BOOL:=FALSE;
			(*start condition*)
	END_VAR

Cuerpo de la POU

Cuando la variable start está ajustada a TRUE, se ejecuta la función.

Cuerpo LD

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

Cuerpo en ST

IF DF(start) then
    F166_HighSpeedCounter_Set(n_diHscChannel := 0, 
      s_diTargetValue := 10, 
      d_Y => out_0);
END_IF;
NOTA
Asignar un número a la variable de entrada (por ejemplo, Monitorizar > Monitorizar Cabecera, hacer click en la variable, introducir el valor, pulsar <Enter>) o sustituir las variables de entrada por números.

Modificado el: 2023-04-17Comentarios sobre esta páginaLínea directa de Panasonic