Dispositivo de 2 estados discreto (D2SD)

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 Dispositivo discreto de 2 estados (Discrete 2-State Device, D2SD) controla un dispositivo discreto que solo tiene dos posibles estados (como encendido/apagado o abierto/cerrado).
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
D2SD_FB_avail_v31
Texto estructurado
D2SD(D2SD_tag)
Operandos
Existen reglas de conversión de datos para utilizar tipos de datos mixtos en una instrucción. Consulte Conversiones de datos.
Texto estructurado
Operando
Tipo
Formato
Descripción
D2SD tag
DISCRETE_2STATE
Estructura
Estructura de D2SD
Consulte
Sintaxis de texto estructurado
para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Bloque de funciones
Operando
Tipo
Formato
Descripción
D2SD tag
DISCRETE_2STATE
Estructura
Estructura de D2SD
Estructura de DISCRETE_2STATE
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.
ProgCommand
BOOL
Se utiliza para determinar el CommandStatus cuando el dispositivo está en el Control Programa. Si es verdadero, el dispositivo recibe la orden de entrar en el estado 1; cuando es falso, de entrar en el estado 0.
El valor predeterminado es falso.
Oper0Req
BOOL
Solicitud de estado 0 de operador. Establecido por la interfaz de operador para colocar el dispositivo en el estado 0 cuando está en el Control de operador.
El valor predeterminado es falso.
Oper1Req
BOOL
Solicitud de estado 1 de operador. Establecido por la interfaz de operador para colocar el dispositivo en el estado 1 cuando está en el Control de operador.
El valor predeterminado es falso.
State0Perm
BOOL
Estado 0 permitido. Salvo que esté activado el modo Mano o Anular, esta entrada se debe establecer para que el dispositivo pueda ponerse en el estado 0. Esta entrada no tiene ningún efecto para un dispositivo que ya esté en el estado 0.
El valor predeterminado es verdadero.
State1Perm
BOOL
Estado 1 permitido. Salvo que esté activado el modo Mano o Anular, esta entrada se debe establecer para que el dispositivo pueda ponerse en el estado 1. Esta entrada no tiene ningún efecto para un dispositivo que ya esté en el estado 1.
El valor predeterminado es verdadero.
FB0
BOOL
La primera entrada de retroalimentación disponible para la instrucción D2SD.
El valor predeterminado es falso.
FB1
BOOL
La segunda entrada de retroalimentación disponible para la instrucción D2SD.
El valor predeterminado es falso.
HandFB
BOOL
Entrada de retroalimentación de mano. Esta entrada es de una estación de mano/apagado/automática de campo y muestra el estado solicitado del dispositivo de campo. Si es verdadero, al dispositivo de campo se le solicita que entre en el estado 1; cuando es falso, que entre en el estado 0.
El valor predeterminado es falso.
FaultTime
REAL
Valor de tiempo de fallo. Configure el valor en segundos del tiempo que se permite el dispositivo para alcanzar un nuevo estado solicitado. Se establece FaultTime = 0 para deshabilitar el temporizador de fallo. Si este valor no es válido, la instrucción supone un valor cero y establece el bit correspondiente en Status.
Válido = cualquier flotante Greater than or equal to 0,0
Valor predeterminado = 0,0
FaultAlarmLatch
BOOL
Entrada de enclavamiento de alarma de fallo. Si es verdadero y FaultAlarm también es verdadero, enclava FaultAlarm. Para desenclavar FaultAlarm, se establece FaultAlmUnlatch como verdadero o se borra FaultAlarmLatch como falso.
El valor predeterminado es falso.
FaultAlmUnLatch
BOOL
Entrada de desbloqueo de alarma de fallo. Se establece FaultAlmUnLatch cuando FaultAlarmLatch se establece para desbloquear FaultAlarm. La instrucción borra la entrada a falsa.
El valor predeterminado es falso.
OverrideOnInit
BOOL
Solicitud de anulación de inicialización. Si este bit es verdadero, entonces durante el primer escaneado de la instrucción, el dispositivo de 2 estados se coloca en el Control de operador, el Override se establece en verdadero y Hand se borra a falso. Si ProgHandReq es verdadero, Override se borra a falso y Hand se establece en verdadero.
El valor predeterminado es falso.
OverrideOnFault
BOOL
Solicitud de anulación de fallo. Se establece OverrideOnFault como verdadero si el dispositivo debe pasar al modo Anular y ponga OverrideState en alarma de fallo. Después de eliminar la alarma de fallo, el dispositivo de 2 estados se coloca en el Control de operador.
El valor predeterminado es falso.
OutReverse
BOOL
Invertir el estado predeterminado de salida. El estado predeterminado de Out se borra a falso cuando recibe la orden de entrar en el estado 0 y se establece en verdadero con la orden de entrar en el estado 1. Cuando OutReverse es verdadero, Out se establece en verdadero cuando recibe la orden de entrar en el estado 0 y se borra a falso con la orden de entrar en el estado 1.
El valor predeterminado es falso.
OverrideState
BOOL
Entrada del estado en el modo Anular. Configure este valor para especificar el estado del dispositivo cuando éste está en el modo Anular. Si el valor es verdadero, indica que el dispositivo debe ir al estado 1; falso indica que el dispositivo debe ir al estado 0.
El valor predeterminado es falso.
FB0State0
BOOL
Entrada de la Retroalimentación 0 en el estado 0. Configure el estado del FB0 cuando el dispositivo está en el estado 0.
El valor predeterminado es falso.
FB0State1
BOOL
Entrada de la Retroalimentación 0 en el estado 1. Configure el estado del FB0 cuando el dispositivo está en el estado 1.
El valor predeterminado es falso.
FB1State0
BOOL
Entrada de la Retroalimentación 1 en el estado 0. Configure el estado del FB1 cuando el dispositivo está en el estado 0.
El valor predeterminado es falso.
FB1State1
BOOL
Entrada de la Retroalimentación 1 en el estado 1. Configure el estado del FB1 cuando el dispositivo está en el estado 1.
El valor predeterminado es falso.
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. Se ignora si ProgHandReq es verdadero.
El valor predeterminado es falso.
ProgHandReq
BOOL
Solicitud de Mano de programa. El programa de usuario lo establece en verdadero para solicitar al dispositivo que pase al modo 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 borran a falsas cada vez que se ejecuta 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.
Out
BOOL
La salida de la instrucción de 2 estados.
Device0State
BOOL
Salida del estado 0 del dispositivo. Se establece en verdadero cuando el dispositivo recibe la orden de pasar al estado 0 y las retroalimentaciones indican que el dispositivo está realmente en el estado 0.
Device1State
BOOL
Salida del estado 1 del dispositivo. Se establece en verdadero cuando el dispositivo recibe la orden de pasar al estado 1 y las retroalimentaciones indican que el dispositivo está realmente en el estado 1.
CommandStatus
BOOL
Salida del estado del comando. Se establece en verdadero cuando el dispositivo recibe la orden de pasar al estado 1 y en borrado cuando el dispositivo recibe la orden de pasar al estado 0.
FaultAlarm
BOOL
Salida de alarma de fallo. Se establece en verdadero si el dispositivo recibe la orden de pasar a un nuevo estado y FaultTime ha expirado sin que las retroalimentaciones haya indicado que se ha alcanzado realmente el nuevo estado. También se establece en verdadero si, tras alcanzar el estado ordenado, las retroalimentaciones indican de repente que el dispositivo ya no está en dicho estado.
ModeAlarm
BOOL
Salida de alarma de modo. Se establece en verdadero si el dispositivo está en el Control de operador y un comando de programa cambia a un estado que es diferente del estado ordenado actualmente por el operador. El objetivo de esta alarma es recordar que se dejó un dispositivo en Control de operador.
ProgOper
BOOL
Indicador de control de programa/operador. Verdadero cuando está en modo Control de programa. Falso cuando está en modo Control de operador.
Override
BOOL
Modo Anular. Es verdadero cuando el dispositivo está en modo Anular.
Hand
BOOL
Modo Mano. Es verdadero cuando el dispositivo está en modo Mano.
Status
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.
FaultTimeInv (Status.1)
BOOL
Valor de FaultTime no válido. La instrucción establece FaultTime = 0.
OperReqInv (Status.2)
BOOL
Ambos bits de solicitud de estado de operador son verdaderos.
Descripción
La instrucción D2SD controla un dispositivo discreto que solo tiene dos posibles estados (como encendido/apagado o abierto/cerrado). Los dispositivos discretos normales de esta naturaleza incluyen motores, bombas y válvulas de solenoide.
Monitorización de la instrucción D2SD
Hay una placa frontal de operador disponible para la instrucción D2SD.
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
No es específico para esta instrucción. Consulte Atributos comunes para ver los fallos relacionados con el operando.
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
Se establece ProgOper en el modo Operador. Se establece CommandStatus en falso.
Primer escaneado de instrucción
Se establece EnableOut a verdadero.
ModeAlarm y las entradas de solicitud de operador se borran a falso.
Si ProgValueReset es verdadero, todas las entradas de solicitud de programa se borran a falsas.
Cuando OverrideOnInit es verdadero, ProgOper se borra a falso (Control de operator).
Si se borra ProgHandReq y se establece OverrideOnInit, se borra Manual y se establece Anular (modo Anular).
Si ProgHandReq está establecido, se establece Manual y se borra Anular (modo Manual).
Post-escaneado
Los bits EnableIn y EnableOut se establecen en falsos.
Texto estructurado
En Texto estructurado, EnableIn siempre es verdadero durante un escaneado normal. Por tanto, si la instrucción se encuentra en la ruta de control activada por la lógica, se ejecutará.
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.
Ejemplos
La instrucción SD se usa normalmente para controlar dispositivos de encendido-apagado o abierto-cerrado, como bombas o válvulas de solenoide. En este ejemplo, la instrucción D2SD controla una válvula de solenoide que añade jarabe de maíz a un tanque por lotes. Mientras la instrucción D2SD esté en Control de programa, la válvula se abre cuando se establece la entrada AddSyrup. El operador también puede establecer el Control de operador de la válvula para abrirla o cerrarla si fuera necesario. La válvula de solenoide en este ejemplo tiene interruptores de final de carrera que indican cuando la válvula está completamente cerrada o abierta. Estos interruptores están conectados a las entradas de retroalimentación FB0 y FB1. Esto permite que la instrucción D2SD genere una FaultAlarm si la válvula de solenoide no alcanza el estado ordenado dentro del FaultTime configurado.
Bloque de funciones
D2SD_FB_ex_v31
Texto estructurado
SyrupController.ProgCommand := AddSyrup;
SyrupController.FB0 := SyrupValveClosedLimitSwitch;
SyrupController.FB1 := SyrupValveOpenedLimitSwitch;
D2SD(SyrupController);
SyrupValve := SyrupController.Out;
Cambiar entre Control de programa y Control de operador
En el siguiente diagrama se muestra cómo cambia la instrucción D2SD entre Control de programa y Control de operador.
D2SD_program_operator control
(1) Si ProgOperReq es verdadero, la instrucción permanece en el modo Control de operador.
Estado ordenado en Control de programa
En el siguiente diagrama se muestra cómo funciona la instrucción D2SD en Control de programa.
D2SD_program_operator control 2
Estado ordenado en Control de operador
En el siguiente diagrama se muestra cómo funciona la instrucción D2SD en Control de operador.
D2SD_program_operator control 3
Si ambos Oper0Req y Oper1Req son verdaderos:
  • La instrucción establece el bit correspondiente en Status como verdadero.
  • Si Override y Hand son falsos, la instrucción mantiene el estado anterior.
Después de cada ejecución de instrucción, la instrucción:
  • Borra todas las entradas de solicitud de operador a falsas.
  • Si ProgValueReset es verdadero, borra todas las entradas de solicitud de programa a falsas.
Modo Mano o Anular
En la siguiente tabla se describe cómo determina la instrucción D2SD si se debe funcionar en el modo Mano o Anular.
ProgHandReq
ProgOverrideReq
FaultAlarm y OverrideOnFault
Descripción
verdadero
verdadero o falso
verdadero o falso
Modo Manual
Manual se establece en verdadero
Anular se borra a falso
falso
verdadero
verdadero o falso
Modo Anular
Manual se borra a falso
Anular se establece en verdadero
falso
verdadero o falso
verdadero
Modo Anular
Manual se borra a falso
Anular se establece en verdadero
Cuando la instrucción está en el modo Anular, CommandStatus = OverrideState.
Cuando la instrucción está en el modo Mano, CommandStatus = HandFB.
Estado de la salida
El estado de salida D2SD se basa en el estado del estado de comando.
CommandStatus
Estado de la salida
falso
Si OutReverse es falso, Out se borra a falso
Si OutReverse es verdadero, Out se establece en verdadero
verdadero
Si OutReverse es falso, Out se establece en falso
Si OutReverse es verdadero, Out se borra y se establece en falso
falso y
FB0 = FB0State0 y
FB1 = FB1State0
El temporizador de fallo se detiene y se borra a 0
Device0State se establece en verdadero
verdadero y
FB0 = FB0State1 y
FB1 = FB1State1
El temporizador de fallo se detiene y se borra a 0
Device1State se establece en verdadero
Condiciones de alarma de fallo
La instrucción D2SD comprueba estas condiciones de alarma de fallo.
Condición de alarma de fallo
resultante de
Reglas
El estado del dispositivo recibió la orden de cambiarse, pero la retroalimentación no indicó que se alcanzase el estado deseado durante FaultTime
Inicia el temporizador de fallo cuando CommandStatus
n
Not equal to sign CommandStatus
n-1
Se establece FaultAlarm cuando finalice el temporizador de fallo y FaultTime> 0,0
El dispositivo dejó un estado de forma imprevista (según la retroalimentación) sin que recibiese la orden
Establecer FaultAlarm en verdadero cuando el temporizador de fallo no esté contando el tiempo y se cumpla una de las siguientes condiciones:
CommandStatus es falso y Device0State es falso
CommandStatus es verdadero y Device1State es falso
FaultAlarm se borra a falso si se cumple una de las condiciones siguientes:
  • CommandStatus es falso y Device0State es verdadero
  • CommandStatus es verdadero y Device1State es verdadero
  • FaultTime Less than or equal to 0
FaultAlarm no se puede borrar a falso si FaultAlarmLatch es verdadero, salvo que FaultAlmUnlatch sea verdadero y no haya presente ningún fallo.
Condiciones de alarma de modo
La alarma de modo recuerda al operador que se ha dejado un dispositivo en Control de operador. La alarma de modo solo se activa cuando estando en el modo Control de operador, el programa intenta cambiar el estado del dispositivo desde el estado ordenado del operador. La alarma no se activa si un operador activa el modo Control de operador para un dispositivo y cambia el estado. La instrucción D2SD comprueba las condiciones de alarma de modo utilizando estas reglas.
ModeAlarm
Cuando
Verdadera
ProgCommand
n
Not equal to sign ProgCommandn-1 y
ProgCommand
n
Not equal to sign CommandStatus
Falsa
ProgCommand = CommandStatus o
el dispositivo está en el modo de control Anular, Manual o Programa
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal