Generador de función (Function Generator, FGEN)

Esta información corresponde a los controladores
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370,
GuardLogix
5570,
Compact GuardLogix
5380,
CompactLogix
5380,
ControlLogix
5580,
GuardLogix
5580 y ControlLogix 5590.
La instrucción Generador de función (Function Generator, FGEN) convierte una entrada basándose en una función lineal por piezas.
Idiomas disponibles
Diagrama de lógica de escalera
FGEN LD instruction linear function
Bloque de funciones
Texto estructurado
FGEN(FGEN_tag,X1,Y1,X2,Y2);
Operandos
Diagrama de lógica de escalera
Operando
Tipo
Formato
Descripción
FGEN tag
FUNCTION_
GENERATOR
estructura
Estructura FGEN
In
REAL
etiqueta / inmediato
La entrada de la señal analógica a la instrucción.
Válido = cualquier punto flotante
X1
REAL
matriz
Matriz del eje X, tabla uno. Combine con la matriz del eje Y, tabla uno, para definir los puntos de la primera curva lineal por piezas.
Válido = cualquier punto flotante
Y1
REAL
matriz
Matriz del eje Y, tabla uno. Combine con la matriz del eje X, tabla uno, para definir los puntos de la primera curva lineal por piezas.
Válido = cualquier punto flotante
X2
REAL
matriz
(opcional)
Matriz del eje X, tabla dos. Combine con la matriz del eje Y, tabla dos, para definir los puntos de la segunda curva lineal por piezas.
Válido = cualquier punto flotante
Y2
REAL
matriz
(opcional)
Matriz del eje Y, tabla dos. Combine con la matriz del eje X, tabla dos, para definir los puntos de la segunda curva lineal por piezas.
Válido = cualquier punto flotante
Bloque de funciones
Operando
Tipo
Formato
Descripción
FGEN tag
FUNCTION_
GENERATOR
estructura
Estructura FGEN
X1
REAL
matriz
Matriz del eje X, tabla uno. Combine con la matriz del eje Y, tabla uno, para definir los puntos de la primera curva lineal por piezas.
Válido = cualquier punto flotante
Y1
REAL
matriz
Matriz del eje Y, tabla uno. Combine con la matriz del eje X, tabla uno, para definir los puntos de la primera curva lineal por piezas.
Válido = cualquier punto flotante
X2
REAL
matriz
(opcional)
Matriz del eje X, tabla dos. Combine con la matriz del eje Y, tabla dos, para definir los puntos de la segunda curva lineal por piezas.
Válido = cualquier punto flotante
Y2
REAL
matriz
(opcional)
Matriz del eje Y, tabla dos. Combine con la matriz del eje X, tabla dos, para definir los puntos de la segunda curva lineal por piezas.
Válido = cualquier punto flotante
Texto estructurado
Operando
Tipo
Formato
Descripción
FGEN tag
FUNCTION_
GENERATOR
estructura
Estructura FGEN
X1
REAL
matriz
Matriz del eje X, tabla uno. Combine con la matriz del eje Y, tabla uno, para definir los puntos de la primera curva lineal por piezas.
Válido = cualquier punto flotante
Y1
REAL
matriz
Matriz del eje Y, tabla uno. Combine con la matriz del eje X, tabla uno, para definir los puntos de la primera curva lineal por piezas.
Válido = cualquier punto flotante
X2
REAL
matriz
(opcional)
Matriz del eje X, tabla dos. Combine con la matriz del eje Y, tabla dos, para definir los puntos de la segunda curva lineal por piezas.
Válido = cualquier punto flotante
Y2
REAL
matriz
(opcional)
Matriz del eje Y, tabla dos. Combine con la matriz del eje X, tabla dos, para definir los puntos de la segunda curva lineal por piezas.
Válido = cualquier punto flotante
Consulte
Sintaxis de texto estructurado
para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Estructura de FUNCTION_GENERATOR
Parámetro de entrada
Tipo de datos
Descripción
EnableIn
BOOL
Habilita la entrada. Si no está en falso, la instrucción no se ejecuta y las salidas no se actualizan.
El valor predeterminado es verdadero.
In
REAL
La entrada de la señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
XY1Size
DINT
Número de puntos de la curva lineal por piezas que usar de la tabla uno. Si el valor es inferior a uno y se borra Select, la instrucción establece el bit correspondiente en Status y no se modifica la salida.
Válido = de 1 a (el menor de los tamaños de las matrices X1 e Y1)
Valor predeterminado = 1
XY2Size
DINT
Número de puntos de la curva lineal por piezas que usar de la tabla dos. Si el valor es inferior a uno y se establece Select, la instrucción establece el bit correspondiente en Status y no se modifica la salida.
Válido = de 0 a (el menor de los tamaños de las matrices X2 e Y2)
Valor predeterminado = 0
Select
BOOL
Esta entrada determina qué tabla usar. Cuando se borra, la instrucción utiliza la tabla uno; cuando se establece, la instrucción utiliza la tabla dos.
Está borrado de forma predeterminada.
Parámetro de salida
Tipo de datos
Descripción
EnableOut
BOOL
Indica si la instrucción está habilitada. Se establece en falso si se produce un desbordamiento.
Out
REAL
Salida de la instrucción.
Status
DINT
Estado del bloque de funciones.
InstructFault (Status.0)
BOOL
La instrucción generó un fallo.
XY1SizeInv (Status.1)
BOOL
El tamaño de la tabla 1 no es válido o no es compatible con el tamaño de la matriz.
XY2SizeInv (Status.2)
BOOL
El tamaño de la tabla 2 no es válido o no es compatible con el tamaño de la matriz.
XisOutofOrder (Status.3)
BOOL
Los parámetros X no están ordenados.
Descripción
La siguiente ilustración muestra cómo la instrucción FGEN convierte una curva de doce segmentos.
FGEN Graph
Los parámetros del eje X deben seguir la relación:
X[1] < X[2] < X[3] < ... < X[XY<n>Size],
donde XY<n>Size > 1 y es un número de puntos en la curva lineal por piezas y donde n es 1 o 2 para la tabla seleccionada. Debe crear elementos del eje X ordenados en las matrices X.
La entrada Select determina qué tabla usar para la instrucción. Cuando la instrucción se está ejecutando en una tabla, puede modificar los valores de la otra tabla. Cambie el estado de Select para ejecutar con la otra tabla.
Antes de calcular Out, se escanean los parámetros del eje X. Si no se ordenan en orden ascendente, se establece el bit correspondiente en Status y Out permanece inalterado. Asimismo, si XY1Size o XY2Size no es válido, la instrucción establece el bit correspondiente en Status y deja Out inalterado.
La instrucción usa este algoritmo para calcular Out basándose en In:
  • Cuando In Less than or equal to X[1], se establece Out = Y[1]
  • Cuando In > X[XY<n>Size], se establece Out = Y[XY<n>Size]
  • Cuando X[n] < In Less than or equal to X[n+1], se calcula Out = ((Y[n+1]-Yn)/ (X[n+1]-Xn))*(In-Xn)+Yn
Afecta a las marcas de estado matemáticas
No
Fallo mayor/menor
No es específico para esta instrucción. Consulte Atributos comunes para ver los fallos relacionados con el operando.
Ejecución
Diagrama de lógica de escalera
Condición
Acción de bloque de funciones
Pre-escaneado
La condición de salida de renglón se borra a falsa.
La condición de entrada de renglón es falsa
Establecer la condición de salida de renglón a condición de entrada de renglón.
La condición de entrada de renglón es verdadera
Establecer la condición de salida de renglón a condición de entrada de renglón.
Ejecutar el algoritmo FGEN.
Post-escaneado
La condición de salida de renglón se borra a falsa.
Diagrama de bloque de funciones
Condición
Acción de bloque de funciones
Pre-escaneado
Los bits EnableIn y EnableOut se establecen en falso.
EnableIn es falso
Los bits EnableIn y EnableOut se establecen en falso.
EnableIn es verdadero
Los bits EnableIn y EnableOut se establecen en verdaderos. Ejecutar el algoritmo FGEN.
Primera ejecución de instrucción
N/A
Primer escaneado de instrucción
Establezca el Out interno en 0,0
Ejecutar el algoritmo FGEN.
Post-escaneado
Los bits EnableIn y EnableOut se establecen en falso.
Texto estructurado
Condición/estado
Acción realizada
Pre-escaneado
Los bits EnableIn y EnableOut se establecen en falso.
Ejecución normal
Los bits EnableIn y EnableOut se establecen en verdaderos.
Ejecutar el algoritmo FGEN.
Post-escaneado
Los bits EnableIn y EnableOut se establecen en falso.
Ejemplos
Ejemplo 1
En este ejemplo, la instrucción FGEN caracteriza una señal de flujo que se totaliza a continuación mediante el uso de una instrucción TOT. Las matrices FGEN_01X1 y FGEN_01Y1 son matrices de tipo REAL de 10 elementos cada una para admitir una curva de hasta 9 segmentos. Puede usar matrices de cualquier tamaño para admitir una curva del número de segmentos que quiera.
Bloque de funciones
Diagrama de lógica de escalera
Ejemplo 2
Este ejemplo pasa parámetros opcionales a la instrucción FGEN.
Bloque de funciones
Diagrama de lógica de escalera
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal