Selección mejorada (ESEL)

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 Selección mejorada (Enhanced Select, ESEL) permite seleccionar una de hasta seis entradas. Las opciones de selección son:
  • Selección manual (mediante operador o programa)
  • Selección alta
  • Selección baja
  • Selección media
  • Selección promedia (promediado)
Idiomas disponibles
Diagrama de lógica de escalera
Esta instrucción no está disponible en la lógica de diagrama de escalera.
Bloque de funciones
ESEL_FBD_avail_v31
Texto estructurado
ESEL(ESEL_tag);
Operandos
Bloque de funciones
Operando
Tipo
Formato
Descripción
Etiqueta ESEL
SELECT_ENHANCED
Estructura
Estructura ESEL
Estructura de SELECT_ENHANCED
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.
In1
REAL
La primera entrada de señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
In2
REAL
La segunda entrada de señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
In3
REAL
La tercera entrada de señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
In4
REAL
La cuarta entrada de señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
In5
REAL
La quinta entrada de señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
In6
REAL
La sexta entrada de señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
In1Fault
BOOL
Indicador de estado incorrecto de In1. Si In1 se lee desde una entrada analógica, In1Fault normalmente se controla mediante el estado de fallo en la entrada analógica. Si todas las entradas de InnFault son verdaderas, la instrucción establece el bit correspondiente en Status, el algoritmo de control no se ejecuta y Out no se actualiza.
Valor predeterminado = falso
In2Fault
BOOL
Indicador de estado incorrecto de In2. Si In2 se lee desde una entrada analógica, In2Fault normalmente se controla mediante el estado de fallo en la entrada analógica. Si todas las entradas de InnFault son verdaderas, la instrucción establece el bit correspondiente en Status, el algoritmo de control no se ejecuta y Out no se actualiza.
Valor predeterminado = falso
In3Fault
BOOL
Indicador de estado incorrecto de In3. Si In3 se lee desde una entrada analógica, In3Fault normalmente se controla mediante el estado de fallo en la entrada analógica. Si todas las entradas de InnFault son verdaderas, la instrucción establece el bit correspondiente en Status, el algoritmo de control no se ejecuta y Out no se actualiza.
Valor predeterminado = falso
In4Fault
BOOL
Indicador de estado incorrecto de In4. Si In4 se lee desde una entrada analógica, In4Fault normalmente se controla mediante el estado de fallo en la entrada analógica. Si todas las entradas de InnFault son verdaderas, la instrucción establece el bit correspondiente en Status, el algoritmo de control no se ejecuta y Out no se actualiza.
Valor predeterminado = falso
In5Fault
BOOL
Indicador de estado incorrecto de In5. Si In5 se lee desde una entrada analógica, In5Fault normalmente se controla mediante el estado de fallo en la entrada analógica. Si todas las entradas de InnFault son verdaderas, la instrucción establece el bit correspondiente en Status, el algoritmo de control no se ejecuta y Out no se actualiza.
Valor predeterminado = falso
In6Fault
BOOL
Indicador de estado incorrecto de In6. Si In6 se lee desde una entrada analógica, In6Fault normalmente se controla mediante el estado de fallo en la entrada analógica. Si todas las entradas de InnFault son verdaderas, la instrucción establece el bit correspondiente en Status, el algoritmo de control no se ejecuta y Out no se actualiza.
Valor predeterminado = falso
InsUsed
DINT
Número de entradas utilizadas. Define el número de entradas que utiliza la instrucción. La instrucción solo considera In1 mediante In
InsUsed
en los modos selección alta, selección baja, selección media y selección promedia. Si este valor no es válido, la instrucción establece el bit correspondiente en Status. La instrucción no actualiza Out si InsUsed no es válido, si la instrucción no se encuentra en modo de selección manual y si Override está borrado.
Válido = de 1 a 6
Valor predeterminado = 1
Selector Mode
DINT
Entrada del modo de selector. Este valor determina la acción de la instrucción.
0 = Selección manual
1 = Selección alta
2 = Selección baja
3 = Selección media
4 = Selección promedia
Si este valor no es válido, la instrucción establece el bit correspondiente en Status y no actualiza Out.
Válido = de 0 a 4
Valor predeterminado = 0
ProgSelector
DINT
Entrada del selector de programa. Cuando el modo del selector es manual y la instrucción se encuentra en Control de programa, ProgSelector determina cuál es la entrada (In1-In6) que debe moverse a Out. Si ProgSelector = 0, la instrucción no actualiza Out. Si ProgSelector no es válido, la instrucción establece el bit correspondiente en Status. Si no es válido y si la instrucción se encuentra en control del programa, si el modo del selector es selección manual o si Override está establecido, la instrucción no realiza la actualización. Out.
Válido = de 0 a 6
Valor predeterminado = 0
OperSelector
DINT
Entrada del selector de operador. Cuando el modo del selector es manual y la instrucción se encuentra en Control de operador, OperSelector determina cuál es la entrada (In1-In6) que debe moverse a Out. Si OperSelector = 0, la instrucción no actualiza Out. Si OperSelector no es válido, la instrucción establece el bit correspondiente en Status. Si no es válido y si la instrucción se encuentra en control del operador, si el modo del selector es selección manual o si Override está establecido, la instrucción no actualiza Out.
Válido = de 0 a 6
Valor predeterminado = 0
ProgProgReq
BOOL
Solicitud de programa del programa. El programa de usuario lo establece en verdadero para solicitar Control de programa. Se ignora si ProgOperReq es verdadero. Si se mantiene en verdadero y ProgOperReq en falso, se bloquea la instrucción al control de programa.
El valor predeterminado es falso.
ProgOperReq
BOOL
Solicitud de operador del programa. El programa de usuario lo establece en verdadero para solicitar Control de operador. Si se mantiene este valor en verdadero, se bloquea la instrucción al control de operador.
El valor predeterminado es falso.
ProgOverrideReq
BOOL
Solicitud de anulación de programa. El programa de usuario lo establece en verdadero para solicitar al dispositivo que pase al modo Anular. En modo Override, la instrucción actuará como una selección manual.
El valor predeterminado es falso.
OperProgReq
BOOL
Solicitud de programa del operador. La interfaz de operador lo establece en verdadero para solicitar el Control de programa. La instrucción borra la entrada a falsa.
El valor predeterminado es falso.
OperOperReq
BOOL
Solicitud de operador del operador. La interfaz de operador lo establece en verdadero para solicitar el Control de operador. La instrucción borra la entrada a falsa.
El valor predeterminado es falso.
ProgValueReset
BOOL
Restablecer los valores de control del programa. Cuando es verdadero, todas las entradas de solicitud del programa se desactivan en falso en cada ejecución de la instrucción.
El valor predeterminado es falso.
Parámetro de salida
Tipo de datos
Descripción
EnableOut
BOOL
Indica si la instrucción está habilitada. Se establece en falso si Out produce un desbordamiento.
Salida
REAL
La salida calculada del algoritmo.
SelectedIn
DINT
Número de entrada seleccionada. La instrucción utiliza este valor para mostrar el número de la entrada que se está colocando actualmente en la salida. Si el modo de selector es selección promedia, la instrucción establece SelectedIn = 0.
ProgOper
BOOL
Indicador de control de programa/operador. Se establece en verdadero al estar en el Control de programa. Se borra a falso cuando se encuentra en Operatorcontrol.
Anulación
BOOL
Modo Anular. Se establece en verdadero cuando la instrucción se encuentra en modo Anular.
Estado
DINT
Estado del bloque de funciones.
InstructFault (Status.0)
BOOL
La instrucción detectó uno de los siguientes errores de ejecución. No se trata de un error mayor o menor del controlador. Se comprueban los bits de estado restantes para determinar lo que ha ocurrido.
InsFaulted (Status.1)
BOOL
Las entradas InnFault para todas las entradas Inn utilizadas son verdaderas.
InsUsedInv (Status.2)
BOOL
Valor de InsUsed no válido.
SelectorModeInv (Status.3)
BOOL
Valor de SelectorMode no válido.
ProgSelectorInv (Status.4)
BOOL
Valor de ProgSelector no válido.
OperSelectorInv (Status.5)
BOOL
Valor de OperSelector no válido.
Texto estructurado
Operando
Tipo
Formato
Descripción
Etiqueta ESEL
SELECT_ENHANCED
estructura
Estructura ESEL
Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Descripción
La instrucción ESEL funciona de la forma siguiente:
Condición
Action
SelectorMode = 0 (selección manual) o
Override es verdadero, ProgOper es falso y OperSelector no es igual a 0
Out = In[OperSelector]
SelectedIn = OperSelector
SelectorMode = 0 (selección manual) o
Override es verdadero, ProgOper es verdadero y ProgSelector no es igual a 0
Out = In[ProgSelector]
SelectedIn = ProgSelector
SelectorMode = 1 (selección alta) y
Override es falso
Out = máximo de In[InsUsed]
SelectedIn = índice al valor de entrada máximo
SelectorMode = 2 (selección baja) y
Override es falso
Out = mínimo de In[InsUsed]
SelectedIn = índice al valor de entrada mínimo
SelectorMode = 3 (selección media) y
Override es falso
Out = mediana de In[InsUsed]
SelectedIn = índice al valor de entrada medio
SelectorMode = 4 (selección promedio) y
Override es falso
Out = promedio de In[InsUsed]
SelectedIn = 0
Para SelectorMode de 1 a 4, una indicación de estado incorrecto para cualquiera de las entradas provoca que la entrada incorrecta se ignore en la selección. Por ejemplo, si SelectorMode = 1 (selección alta) y si In6 tenía el valor más alto pero un estado incorrecto, la siguiente entrada más alta con estado correcto se mueve a la salida.
Para el modo de selección alto o bajo, si dos entradas son iguales y son altas o bajas, la instrucción envía la primera entrada encontrada. Para el modo de selección media, el valor medio siempre representa un valor seleccionado de las entradas disponibles. Si hay más de un valor que puede ser medio, la instrucción envía la primera entrada encontrada.
Cambiar entre Control de programa y Control de operador
En el siguiente diagrama se muestra cómo cambia la instrucción ESEL entre Control de programa y Control de operador.
ESEL Switch between program and operator control
(1) Puede bloquear la instrucción en Control de operador dejando ProgOperReq en verdadero.
(2) Puede bloquear la instrucción en Control de programa dejando ProgProgReq en verdadero mientras ProgOperReq es falso.
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
Si la función está habilitada y se detecta un desbordamiento, se producirá un fallo menor (Tipo de fallo: 4, Código de fallo: 4).
Ejecución
Bloque de funciones
Condición/estado
Acción realizada
Pre-escaneado
Los bits EnableIn y EnableOut se establecen en falsos.
Tag.EnableIn es falso
Los bits EnableIn y EnableOut se establecen en falsos.
Tag.EnableIn es verdadero
Los bits EnableIn y EnableOut se establecen en verdaderos.
La instrucción se ejecuta
Primera ejecución de instrucción
La instrucción está establecida en Control de operador.
Primer escaneado de instrucción
N/A
Post-escaneado
Los bits EnableIn y EnableOut se establecen en falsos.
Texto estructurado
Condición/estado
Acción realizada
Pre-escaneado
Consulte Pre-escaneado en la tabla Bloque de funciones.
Ejecución normal
Consultar Tag.EnableIn es verdadero en la tabla Bloque de funciones.
Post-escaneado
Consulte Post-escaneado en la tabla Bloque de funciones.
Ejemplo
Esta instrucción ESEL selecciona In1, In2 o In3 en función de SelectorMode. En este ejemplo, SelectorMode = 1, que significa selección alta. La instrucción determina cuál es el valor de entrada más grande y establece Out = In mayor.
Bloque de funciones
ESEL_FBD_ex_v31
Texto estructurado
ESEL_01.In1 := analog_input1;
ESEL_01.In2 := analog_input2;
ESEL_01.In3 := analog_input3;
ESEL_01.SelectorMode := 1;
ESEL(ESEL_01);
selected_value := ESEL_01.Out;
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal