Procesar salida discreta (Process Discrete Output, PDO)
Esta información se aplica a los controladores CompactLogix 5380P, ControlLogix 5580P y ControlLogix 5590P.
La instrucción Procesar salida discreta (PDO) acciona una salida discreta (verdadera/falsa), supervisa las entradas discretas que sirven de retroalimentación de un dispositivo que es accionado por la salida discreta y comprueba las condiciones de alarma. Utilice la instrucción PDO para un canal de un módulo de salida discreta. Utilice la instrucción PDO con cualquier señal discreta (BOOL).
La instrucción PDO:
- Controla una salida discreta, con etiquetas de texto configurables para los estados activado y desactivado de la salida.
- Proporciona los comandos de operador, programa y externo para establecer los estados de salida en activado o desactivado, para enviar un pulso de activación a la salida una vez, para enviar un pulso de desactivación a la salida una vez o para establecer la salida como una operación de pulsos continuos. Los tiempos de pulso (tiempo-activado y tiempo-desactivado) son configurables.
- Monitoriza dos entradas de retroalimentación discretas, controlando la posición real del dispositivo.
- Detecta si no es posible alcanzar el estado de destino, luego de un tiempo configurable, y activa la alarma de fallo cuando se utilizan las entradas de retroalimentación. De manera opcional, cambia al estado desactivado cuando se produce un fallo de retroalimentación.
- Monitoriza las condiciones de permiso que permiten habilitar el estado Activado del dispositivo.
- Monitoriza las condiciones de enclavamiento que hacen que el dispositivo vuelva a su estado Desactivado.
- Proporciona la virtualización de un dispositivo que funciona normalmente, mientras retiene la salida al dispositivo real desactivado, para utilizar en las pruebas o en el entrenamiento del operador.
- Monitoriza el estado de E/S (I/O) y las alarmas en un fallo de E/S (I/O). De manera opcional, se cambia al estado desactivado cuando se produce una condición de fallo de E/S (I/O).
- Opera en los orígenes de los comandos de operador, programa, externo, anulación, mantenimiento, fuera de servicio y mano.
- Proporciona un estado Disponible, cuando se encuentra en el origen del comando de programa funcionando normalmente, que podrá ser utilizado por una lógica de automatización de nivel superior para determinar si la lógica es capaz de manipular la salida discreta.
Idiomas disponibles
Diagrama de lógica de escalera

Diagrama de bloque de funciones

Texto estructurado
PDO(Etiqueta PDO, BusObj);
Operandos
IMPORTANTE:
Puede ocurrir un funcionamiento inesperado si:
- Los operandos de etiqueta de salida se sobrescriben.
- Los miembros de un operando de estructura se sobrescriben.
- A no ser que se especifica, los operandos de estructura son compartidos por varias instrucciones.
Existen reglas de conversión de datos para utilizar diversos tipos de datos numéricos en una instrucción. Ver Conversión de Datos.
Operandos de configuración
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
PlantPAx Control | P_DISCRETE_OUTPUT | etiqueta | Estructura de datos requerida para el funcionamiento adecuado de la instrucción. |
BusObj | BUS_OBJ | etiqueta | Componente de bus. Puede ser nulo. |
Estructura de P_DISCRETE_OUTPUT
Los miembros públicos son miembros de etiqueta estándar y visible que son accesibles mediante programación. Los miembros privados u ocultos se usan en las plantillas de HMI y no son accesibles mediante programación. Los miembros privados se muestran en tablas independientes luego de los miembros públicos.
Miembros de entrada pública | Tipo de datos | Descripción |
|---|---|---|
EnableIn | BOOL | Habilita la entrada. Diagrama de lógica de escalera: Corresponde a la condición del renglón. El valor predeterminado es verdadero. |
Inp_InitializeReq | BOOL | 1 = Solicita la inicialización de la instrucción. Normalmente, la instrucción se inicializa en la primera ejecución de la instrucción. Utilice esta solicitud para reinicializar. La instrucción borra este operando automáticamente. El valor predeterminado es verdadero. |
Inp_OwnerCmd | DINT | Comando del dispositivo Propietario. 0 = Ninguno, Inp_OwnerCmd.10 = Bloqueo de operador, Inp_OwnerCmd.11 = Desbloqueo de Operador, Inp_OwnerCmd.12 = Bloqueo de Programa, Inp_OwnerCmd.13 = Desbloqueo de programa, Inp_OwnerCmd.14 = Adquirir mantenimiento, Inp_OwnerCmd.15 = Liberar Mantenimiento, Inp_OwnerCmd.16 = Adquirir Externo, Inp_OwnerCmd.17 = Liberar Externo, Inp_OwnerCmd.29 = Eco. El valor predeterminado es 0. |
Inp_OnFdbkData | BOOL | Retroalimentación del dispositivo Activada. 1 = Se confirma que el dispositivo está Activado. El valor predeterminado es falso. |
Inp_OffFdbkData | BOOL | Retroalimentación del dispositivo Desactivada. 1 = Se confirma que el dispositivo está Desactivado. El valor predeterminado es falso. |
Inp_IOFault | BOOL | Indica que los datos de E/S (I/O) no son precisos. 0 = Los datos de E/S (I/O) son correctos, 1 = Los datos de E/S (I/O) son incorrectos, lo que provoca un fallo. Esta entrada establece Sts_IOFault, si el dispositivo no es virtual, lo que enciende la alarma de error de E/S (I/O). El valor predeterminado es falso. |
Inp_PermOK | BOOL | 1 = Activación de permisivos correcta, el dispositivo se puede activar. El valor predeterminado es verdadero. |
Inp_NBPermOK | BOOL | 1 = Activación no evitable de permisivos correcta, el dispositivo se puede activar. El valor predeterminado es verdadero. |
Inp_IntlkOK | BOOL | 1 = Enclavamientos correctos, el dispositivo se puede activar y mantenerse activado. El valor predeterminado es verdadero. |
Inp_NBIntlkOK | BOOL | 1 = Enclavamientos no evitables correctos, el dispositivo se puede activar y mantenerse activado. El valor predeterminado es verdadero. |
Inp_IntlkAvailable | BOOL | 1 = Disponibilidad de enclavamiento correcta. El valor predeterminado es falso. |
Inp_IntlkTripInh | BOOL | 1 = Estado de activación de enclavamiento inhibido El valor predeterminado es falso. |
Inp_RdyReset | BOOL | 1 = El objeto relacionado, restablecido por este objeto, está listo para ser restablecido. El valor predeterminado es falso. |
Inp_Hand | BOOL | 1 = Adquirir mano (normalmente establecido siempre en local), 0 = Liberar mano. El valor predeterminado es falso. |
Inp_Ovrd | BOOL | 1 = Adquirir anulación (lógica de programa de mayor prioridad), 0 = Liberar anulación El valor predeterminado es falso. |
Inp_OvrdCmd | SINT | Comando de anulación de dispositivo: 0 = Ninguno, 1 = Desactivado, 2 = Activado, 3 = Pulso desactivado, 4 = Pulso activado, 5 = Pulso continuo. El valor predeterminado es 0. |
Inp_ExtInh | BOOL | 1 = Inhibir la adquisición de externo, 0 = Permitir la adquisición de externo. El valor predeterminado es falso. |
Inp_HornInh | BOOL | 1 = Inhibir alerta audible, 0 = Permitir alerta audible. El valor predeterminado es falso. |
Inp_Reset | BOOL | 1 = Restablecer los enclavamientos de restricción y las alarmas borradas. El valor predeterminado es falso. |
Cfg_HornOnChange | BOOL | 0 = Bocina solo al activar. 1 = Bocina en cualquier cambio de estado. El valor predeterminado es falso. |
Cfg_ExtOffPrio | BOOL | 1 = XCmd_Off en cualquier momento, 0 = XCmd_Off solo cuando se selecciona Externo. El valor predeterminado es falso. |
Cfg_XCmdResets | BOOL | 1 = El nuevo dispositivo XCmd restablece los enclavamientos de restricción y las alarmas borradas, 0 = Se requiere XCmdReset. El valor predeterminado es falso. |
Cfg_AllowDisable | BOOL | 1 = Permite que el mantenimiento deshabilite las alarmas. El valor predeterminado es verdadero. |
Cfg_AllowShelve | BOOL | 1 = Permite al operador archivar alarmas. El valor predeterminado es verdadero. |
Cfg_HasPulse | BOOL | 1 = Habilitar funciones de pulso, 0 = Solo Activado/Desactivado. El valor predeterminado es falso. |
Cfg_CompletePulse | BOOL | 1 = Finalizar el pulso en curso cuando se ordene el comando de activación o desactivación, 0 = Cambiar inmediatamente al estado Activado o Desactivado solicitado en el comando. El valor predeterminado es falso. |
Cfg_FdbkFail | BOOL | 1 = Ambas retroalimentaciones Activadas son inválidas, 0 = Ambas retroalimentaciones Desactivadas son inválidas. El valor predeterminado es falso. |
Cfg_HasOnFdbk | BOOL | 1 = El dispositivo proporciona una señal de retroalimentación Activada. El valor predeterminado es falso. |
Cfg_HasOffFdbk | BOOL | 1 = El dispositivo proporciona una señal de retroalimentación Desactivada. El valor predeterminado es falso. |
Cfg_UseOnFdbk | BOOL | 1 = Utilizar la retroalimentación del dispositivo Activada para la comprobación de fallos. El valor predeterminado es falso. |
Cfg_UseOffFdbk | BOOL | 1 = Utilizar la retroalimentación del dispositivo Desactivada para la comprobación de fallos. El valor predeterminado es falso. |
Cfg_OperOffPrio | BOOL | 1 = OCmd_Off tiene prioridad, se acepta en cualquier momento, 0 = OCmd_Off solo en los orígenes de los comandos de operador y mantenimiento. El valor predeterminado es falso. |
Cfg_OCmdResets | BOOL | 1 = El comando del estado operador nuevo restablece el fallo, 0 = Se requiere restablecimiento para borrar fallo. El valor predeterminado es falso. |
Cfg_ShedOnIOFault | BOOL | 1 = Ir a estado Desactivado y a alarma en caso de fallo de E/S (I/O), 0 = Solo la alarma en fallo de E/S (I/O). Importante : Si una condición está configurada para que el dispositivo pase al estado Desactivado en caso de fallo, es necesario restablecer el dispositivo para borrar el fallo de restricción para mandar el dispositivo a un estado diferente al de Desactivado.El valor predeterminado es verdadero. |
Cfg_ShedOnFail | BOOL | 1 = Ir a estado Desactivado y a alarma en Fallo para alcanzar la posición, 0 = Solo la alarma en fallo. Importante : Si una condición está configurada para que el dispositivo pase al estado Desactivado en caso de fallo, es necesario restablecer el dispositivo para borrar el fallo de restricción para mandar el dispositivo a un estado diferente al de Desactivado.El valor predeterminado es verdadero. |
Cfg_HasPermObj | BOOL | 1 = Indica al HMI que un objeto de permisivo (por ejemplo, P_Perm) se utiliza para Inp_PermOK y se habilita la navegación a la presentación del objeto de permisivo. Importante : El nombre del objeto de permiso en el controlador debe ser el nombre de esta instrucción con el sufijo _Perm. Por ejemplo, si la instrucción PDO tiene el nombre PDOut123, el objeto de permiso debe llamarse PDOut123_Perm.El valor predeterminado es falso. |
Cfg_HasIntlkObj | BOOL | 1 = Indica al HMI que un objeto de enclavamiento (por ejemplo, P_Intlk) se utiliza para Inp_IntlkOK y la navegación a la presentación del objeto de enclavamiento está habilitada. Importante : El nombre del objeto de enclavamiento en el controlador debe ser el nombre de este objeto PDO con el sufijo _Intlk. Por ejemplo, si la instrucción PDO tiene el nombre PDOut123, su objeto de enclavamiento debe llamarse PDOut123_Intlk.El valor predeterminado es falso. |
Cfg_HasMoreObj | BOOL | 1 = Indica al HMI que un objeto con más información está disponible. El valor predeterminado es falso. |
Cfg_HasOper | BOOL | 1 = Existe un operador (desbloqueado), se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_HasOperLocked | BOOL | 1 = Existe un operador bloqueado, se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_HasProg | BOOL | 1 = Existe un programa (desbloqueado), se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_HasProgLocked | BOOL | 1 = Existe un programa bloqueado, se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_HasExt | BOOL | 1 = Existe un externo, se puede seleccionar. El valor predeterminado es falso. |
Cfg_HasMaint | BOOL | 1 = Existe un mantenimiento, se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_HasMaintOoS | BOOL | 1 = Existe un mantenimiento fuera de servicio, se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_OvrdOverLock | BOOL | 1 = Anulación reemplaza a Bloqueo de programa/operador, 0 = No anular el bloqueo. El valor predeterminado es verdadero. |
Cfg_ExtOverLock | BOOL | 1 = Externo reemplaza el bloqueo de programa/operador, 0 = No anular el bloqueo. El valor predeterminado es falso. |
Cfg_ProgPwrUp | BOOL | 1 = Se enciende en programa, 0 = Se enciende en operador. El valor predeterminado es falso. |
Cfg_ProgNormal | BOOL | Origen normal: 1 = Programa si no hay solicitudes; 0 = Operador si no hay solicitudes. El valor predeterminado es falso. |
Cfg_PCmdPriority | BOOL | Prioridad de comando. 1 = Los comandos de programa ganan, 0 = Los comandos de operador ganan. El valor predeterminado es falso. |
Cfg_PCmdProgAsLevel | BOOL | 1 = PCmd_Prog utilizado como Nivel. El valor predeterminado es falso. |
Cfg_PCmdLockAsLevel | BOOL | 1 = PCmd_Lock utilizado como nivel (1 = Bloquear, 0 = Desbloquear). El valor predeterminado es falso. |
Cfg_ExtAcqAsLevel | BOOL | 1 = XCmd_Acq utilizado como nivel (1 = Adquirir, 0 = Liberar). El valor predeterminado es falso. |
Cfg_OvrdPermIntlk | BOOL | 1 = La anulación ignora los permisos/enclavamientos evitables, 0 = Utilizar siempre permisos/enclavamientos. El valor predeterminado es falso. |
Cfg_OnDly | REAL | Retardo antes de Activar inicialmente la salida (segundos). Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 0. |
Cfg_OffDly | REAL | Retardo antes de Desactivar inicialmente la salida (segundos). Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 0,0. |
Cfg_OnPulseTime | REAL | Tiempo de activación de salida para la activación del pulso o pulso continuo (segundos). Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 0,5. |
Cfg_OffPulseTime | REAL | Tiempo de desactivación de salida para pulso desactivado o pulso continuo (segundos). Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 0,5. |
Cfg_OnFailTime | REAL | Tiempo después de que la salida Activada active la retroalimentación antes de un fallo (segundos). Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 10,0. |
Cfg_OffFailTime | REAL | Tiempo después de que la salida Desactivada desactive la retroalimentación antes de un fallo (segundos). Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 10,0 |
Cfg_StartHornTime | REAL | Tiempo en segundos del sonido audible en la activación solicitada en el comando. Válido = de 0,0 a 1000,0 segundos, 0,0 = deshabilitado. El valor predeterminado es 0,0. |
Cfg_VirtualFdbkTime | REAL | Retardo para el reenvío del estado Activado/Desactivado cuando el dispositivo es tratado como virtual (segundos). Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 2,0. |
Cfg_CnfrmReqd | SINT | Se requiere confirmación del comando de operador. Representa el tipo de confirmación de comando requerido. 0 = Ninguno, 1 = Se requiere confirmación de comando, 2 = Se requiere una firma electrónica del ejecutante, 3 = Se requiere la firma electrónica del ejecutor y del aprobador. El valor predeterminado es 0. |
PSet_Owner | DINT | El propietario del programa solicita el ID (distinto a cero) o su liberación (cero). El valor predeterminado es 0. |
PCmd_Virtual | BOOL | Comando de programa para seleccionar la operación del dispositivo Virtual (simulado). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Physical | BOOL | Comando de programa para seleccionar la operación del dispositivo Físico (no simulado). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_On | BOOL | Comando de programa para activar el dispositivo. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Off | BOOL | Comando de programa para desactivar el dispositivo. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_OnPulse | BOOL | Comando de programa para enviar un pulso de activación al dispositivo (que está desactivado) una vez. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_OffPulse | BOOL | Comando de programa para enviar un pulso de desactivación al dispositivo (que está activado) una vez. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_ContPulse | BOOL | Comando de programa para enviar un pulso al dispositivo de forma continua (intermitente). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Oper | BOOL | Comando de programa para seleccionar el operador (de programa a operador). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Prog | BOOL | Comando de programa para seleccionar el programa (de operador a programa). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Lock | BOOL | Comando de programa para bloquear el programa (inhabilitar al operador). La instrucción borra este operando automáticamente si Cfg_PCmdLockAsLevel = 0. El valor predeterminado es falso. |
PCmd_Unlock | BOOL | Comando de programa para desbloquear programa (permitir que se pueda adquirir el operador). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Normal | BOOL | Comando de programa para seleccionar Normal (operador o programa). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Reset | BOOL | Comando de programa para borrar todas las alarmas y las condiciones de restricción enclavada que deben ser restablecidas. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_Acq | BOOL | Comando externo para adquirir la propiedad (de operador/programa/anulación/mantenimiento a externo). La instrucción borra este operando automáticamente si Cfg_ExtAcqAsLevel = 0. El valor predeterminado es falso. |
XCmd_Rel | BOOL | Comando externo para liberar la propiedad si Cfg_ExtAcqAsLevel = 0 (de externo a operador/programa/anulación/mantenimiento). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_On | BOOL | Comando externo para activar el dispositivo. La instrucción borra este operando automáticamente. |
XCmd_Off | BOOL | Comando externo para desactivar el dispositivo. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_OnPulse | BOOL | Comando externo para enviar un pulso de activación al dispositivo (que está desactivado) una vez. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_OffPulse | BOOL | Comando externo para enviar un pulso de desactivación al dispositivo (que está activado) una vez. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_ContPulse | BOOL | Comando externo para enviar un pulso al dispositivo de forma continua (parpadeo). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_Reset | BOOL | Comando externo para restablecer todas las alarmas y las condiciones enclavadas que se pierden. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_ResetAckAll | BOOL | Comando externo para confirmar y restablecer todas las alarmas y las condiciones enclavadas que se pierden. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
Miembros de salida públicos | Tipo de datos | Descripción |
|---|---|---|
EnableOut | BOOL | Habilita la salida. Este estado de salida siempre refleja el estado de la entrada EnableIn. |
Out_CVData | BOOL | Salida primaria. 1 = Activado, 0 = Desactivado. |
Out_HornData | BOOL | 1 = Sonido audible antes del cambio de estado solicitado por el comando. |
Out_Reset | BOOL | 1 = El comando Restablecer (Reset) se ha recibido y aceptado. |
Out_OwnerSts | DINT | Estado del origen del comando, handshake del comando del propietario y estado de preparado. 0 = Ninguno, Out_OwnerSts,10 = Bloqueo de operador, Out_OwnerSts.11 = Desbloqueo de operador, Out_OwnerSts.12 = Bloqueo de programa, Out_OwnerSts,13 = Desbloqueo de programa, Out_OwnerSts,14 = Adquirir mantenimiento, Out_OwnerSts.15 = Liberar mantenimiento, Out_OwnerSts.16 = Adquirir externo, Out_OwnerSts.17 = Liberar externo, Out_OwnerSts,18 = Tiene mantenimiento, Out_OwnerSts,19 = Bloqueo de anulación externa, Out_OwnerSts.20 = Tiene externo. Out_OwnerSts.21 = Tiene operador Out_OwnerSts.22 = Tiene operador bloqueado Out_OwnerSts.23 = Tiene programa Out_OwnerSts.24 = Tiene programa bloqueado Out_OwnerSts.29 = Eco Out_OwnerSts,30 = No está listo. |
Sts_Initialized | BOOL | 1 = La instrucción se inicializa. Utilice Inp_InitializeReq para reinicializar. |
Sts_Out | BOOL | 1 = Salida Activada (energizada), 0 = Salida Desactivada (desenergizada). |
Sts_Pulsing | BOOL | 1 = La salida está en una secuencia de pulsos. |
Sts_FdbkOff | BOOL | 1 = La retroalimentación del dispositivo muestra el dispositivo en estado Desactivado. |
Sts_FdbkOn | BOOL | 1 = La retroalimentación del dispositivo muestra el dispositivo en estado Activado. |
Sts_FdbkFail | BOOL | 1 = Las retroalimentaciones se encuentran en un estado inválido (no está Activado, Desactivado ni en Transición). |
Sts_Horn | BOOL | 1 = La alerta audible (bocina) está activa. |
Sts_Virtual | BOOL | 1 = La instrucción trata al dispositivo como virtual. La instrucción actúa como normal, pero la salida se mantiene desactivada (Out_CVData = 0). 0 = La instrucción opera el dispositivo normalmente. |
SrcQ_IO | SINT | Origen y calidad del valor enumerado de entrada o salida primarias: 0 = Correcto, en directo, correcto confirmado, 1 = Correcto, en directo, se asume correcto, 2 = Correcto, sin retroalimentación, se asume correcto, 8 = Prueba, virtualizada, 9 = Prueba, lazo invertido, 10 = Prueba, introducido manualmente, 16 = Incierto, en directo, especificación desactivada, 17 = Incierto, sustituido en el dispositivo o bus, 18 = Incierto, sustituido en la instrucción, 19 = Incierto, usando el último valor correcto conocido, 20 = Incierto, usando el valor de reemplazo, 32 = Incorrecto, fallo de señal, 33 = Incorrecto, fallo de canal, 34 = Incorrecto, fallo del módulo o de la comunicación, 35 = Incorrecto, configuración inválida. |
SrcQ | SINT | Origen y calidad del valor primario o del valor enumerado de estado: 0 = Correcto, en directo, correcto confirmado, 1 = Correcto, en directo, se asume correcto, 2 = Correcto, sin retroalimentación, se asume correcto, 8 = Prueba, virtualizada, 9 = Prueba, lazo invertido, 10 = Prueba, introducido manualmente, 16 = Incierto, en directo, especificación desactivada, 17 = Incierto, sustituido en el dispositivo o bus, 18 = Incierto, sustituido en la instrucción, 19 = Incierto, usando el último valor correcto conocido, 20 = Incierto, usando el valor de reemplazo, 32 = Incorrecto, fallo de señal, 33 = Incorrecto, fallo de canal, 34 = Incorrecto, fallo del módulo o de la comunicación, 35 = Incorrecto, configuración inválida. |
Sts_eCmd | SINT | Comando del dispositivo: 0 = Ninguno, 1 = Desactivado, 2 = Activado, 3 = Pulso desactivado, 4 = Pulso activado, 5 = Pulso continuo. |
Sts_eFdbk | SINT | Retroalimentación de dispositivo: 0 = Transición, 1 = Desactivado, 2 = Activado, 3 = No válido. |
Sts_eSts | SINT | Estado del dispositivo: 0 = Desactivado, 1 = Activado, 2 = Pulso desactivado, 3 = Pulso activado, 4 = Pulso continuo, 5= Apagar, 6 = Encender, 7 = Bocina 8 = Fuera de servicio. |
Sts_eFault | SINT | Estado de fallo del dispositivo: 0 = Ninguno, 1 = Fallo de retroalimentación, 2 = Fallo de E/S (I/O), 3 = Error de configuración. |
Sts_eState | SINT | Estado de lógica interna (para animar la STD en la plantilla). |
Sts_eNotify | SINT | Valores enumerados del estado de la alarma: 0 = No en la alarma, confirmado, 1 = No en la alarma, no confirmada o se requiere restablecimiento, 2 = Alarma de gravedad baja, confirmada, 3 = Alarma de gravedad baja, no confirmada, 4 = Alarma de gravedad media, confirmada, 5 = Alarma de gravedad media, no confirmada, 6 = Alarma de gravedad alta, confirmada, 7 = Alarma de gravedad alta, no confirmada, 8 = Alarma de gravedad urgente, confirmada, 9 = Alarma de gravedad urgente, no confirmada. |
Sts_eNotifyAll | SINT | Todos los valores enumerados de estado de la alarma que incluyen objetos relacionados: 0 = No en la alarma, confirmado, 1 = No en la alarma, no confirmada o se requiere restablecimiento, 2 = Alarma de gravedad baja, confirmada, 3 = Alarma de gravedad baja, no confirmada, 4 = Alarma de gravedad media, confirmada, 5 = Alarma de gravedad media, no confirmada, 6 = Alarma de gravedad alta, confirmada, 7 = Alarma de gravedad alta, no confirmada, 8 = Alarma de gravedad urgente, confirmada, 9 = Alarma de gravedad urgente, no confirmada. |
Sts_eNotifyIOFault | SINT | Valores enumerados de estado de alarma IOFault: 0 = No en la alarma, confirmado, 1 = No en la alarma, no confirmada o se requiere restablecimiento, 2 = Alarma de gravedad baja, confirmada, 3 = Alarma de gravedad baja, no confirmada, 4 = Alarma de gravedad media, confirmada, 5 = Alarma de gravedad media, no confirmada, 6 = Alarma de gravedad alta, confirmada, 7 = Alarma de gravedad alta, no confirmada, 8 = Alarma de gravedad urgente, confirmada, 9 = Alarma de gravedad urgente, no confirmada. |
Sts_eNotifyOnFail | SINT | Valores enumerados del estado de la alarma con fallo activado (OnFail): 0 = No en la alarma, confirmado, 1 = No en la alarma, no confirmada o se requiere restablecimiento, 2 = Alarma de gravedad baja, confirmada, 3 = Alarma de gravedad baja, no confirmada, 4 = Alarma de gravedad media, confirmada, 5 = Alarma de gravedad media, no confirmada, 6 = Alarma de gravedad alta, confirmada, 7 = Alarma de gravedad alta, no confirmada, 8 = Alarma de gravedad urgente, confirmada, 9 = Alarma de gravedad urgente, no confirmada. |
Sts_eNotifyOffFail | SINT | Valores enumerados del estado de la alarma con fallo desactivado (OffFail): 0 = No en la alarma, confirmado, 1 = No en la alarma, no confirmada o se requiere restablecimiento, 2 = Alarma de gravedad baja, confirmada, 3 = Alarma de gravedad baja, no confirmada, 4 = Alarma de gravedad media, confirmada, 5 = Alarma de gravedad media, no confirmada, 6 = Alarma de gravedad alta, confirmada, 7 = Alarma de gravedad alta, no confirmada, 8 = Alarma de gravedad urgente, confirmada, 9 = Alarma de gravedad urgente, no confirmada. |
Sts_eNotifyIntlkTrip | SINT | Valores enumerados del estado de la alarma IntlkTrip: 0 = No en la alarma, confirmado, 1 = No en la alarma, no confirmada o se requiere restablecimiento, 2 = Alarma de gravedad baja, confirmada, 3 = Alarma de gravedad baja, no confirmada, 4 = Alarma de gravedad media, confirmada, 5 = Alarma de gravedad media, no confirmada, 6 = Alarma de gravedad alta, confirmada, 7 = Alarma de gravedad alta, no confirmada, 8 = Alarma de gravedad urgente, confirmada, 9 = Alarma de gravedad urgente, no confirmada. |
Sts_UnackAlmCount | DINT | Conteo de alarmas no confirmadas. |
Sts_eSrc | INT | Valores enumerados del origen del comando actual: 0 = La lógica no se está usando, 4 = Mano, 8 = Mantenimiento, 16 = Anulación, 32 = Programa, 33 = Programa bloqueado, 34 = Programa predeterminado (Normal), 64 = Operador, 65 = Operador bloqueado, 66 = Operador predeterminado (Normal), 128 = Mantenimiento fuera de servicio, 129 = Fuera de servicio programado (falso para renglón), 256 = Externo. |
Sts_bSrc | INT | Activa la selección del mapa de bits (para tótem de HMI con selección de solicitud de origen de comando): Sts_bSrc.0: Mano, Sts_bSrc.1: Fuera de servicio programado (falso para renglón), Sts_bSrc.2: Mantenimiento fuera de servicio, Sts_bSrc.3: Mantenimiento, Sts_bSrc.4: Anulación, Sts_bSrc.5: Externo, Sts_bSrc.6: Programa bloqueado, Sts_bSrc.7: Programa, Sts_bSrc.8: Operador bloqueado, Sts_bSrc.9: Operador. |
Sts_Available | BOOL | 1 = Salida discreta disponible para control por parte de la automatización (Programa). |
Sts_IntlkAvailable | BOOL | 1 = Disponibilidad de enclavamiento correcta. Programa puede adquirir el dispositivo y está disponible para el control cuando los enclavamientos son correctos. |
Sts_Bypass | BOOL | 1 = Los enclavamientos evitables se evitan. |
Sts_BypActive | BOOL | 1 = Omisión de enclavamiento activa (evitada o mantenimiento). |
Sts_MaintByp | BOOL | 1 = El dispositivo tiene una función de omisión de mantenimiento activa. |
Sts_NotRdy | BOOL | 1 = El dispositivo no está listo, para HMI utilizar los bits de detalles ocultos para ver el motivo (Sts_Nrdyxxx). |
Sts_NrdyOoS | BOOL | 1 = El dispositivo no está listo: Dispositivo deshabilitado por mantenimiento. |
Sts_NrdyCfgErr | BOOL | 1 = El dispositivo no está listo: Error de configuración. |
Sts_NrdyIntlk | BOOL | 1 = El dispositivo no está listo: El enclavamiento no es correcto. |
Sts_NrdyPerm | BOOL | 1 = El dispositivo no está listo: El permisivo no es correcto. |
Sts_NrdyPrioOff | BOOL | 1 = El dispositivo no está listo: Es necesario restablecer el comando de desactivación de la prioridad de externo u operador. |
Sts_NrdyFail | BOOL | 1 = El dispositivo no está listo: Fallo de dispositivo (la restricción requiere restablecer). |
Sts_NrdyIOFault | BOOL | 1 = El dispositivo no está listo: Fallo de E/S (I/O) (la restricción requiere Restablecer). |
Sts_Err | BOOL | 1 = Error en la configuración: Consulte los bits de detalles (Sts_Errxxx) para conocer el motivo. |
Sts_ErrOnDly | BOOL | 1 = Error en la configuración: El valor preestablecido del temporizador OnDelay no es válido (usar de 0,0 a 2147483,0). |
Sts_ErrOffDly | BOOL | 1 = Error en la configuración: El valor preestablecido del temporizador OffDelay no es válido (usar de 0,0 a 2147483,0). |
Sts_ErrOnPulseTime | BOOL | 1 = Error en la configuración: El valor preestablecido del temporizador OnPulse no es válido (usar de 0,0 a 2147483,0). |
Sts_ErrOffPulseTime | BOOL | 1 = Error en la configuración: El valor preestablecido del temporizador OffPulse no es válido (usar de 0,0 a 2147483,0). |
Sts_ErrOnFailTime | BOOL | 1 = Error en la configuración: El valor preestablecido del temporizador OnFail no es válido (usar de 0,0 a 2147483,0). |
Sts_ErrOffFailTime | BOOL | 1 = Error en la configuración: El valor preestablecido del temporizador OffFail no es válido (usar de 0,0 a 2147483,0). |
Sts_ErrStartHornTime | BOOL | 1 = Error en la configuración: Temporizador de inicio de bocina no es válido (usar de 0,0 a 1000,0). |
Sts_ErrVirtualFdbkTime | BOOL | 1 = Error en la configuración: El temporizador de retroalimentación virtual no es válido (use de 0 a 2147483,0). |
Sts_ErrAlm | BOOL | 1 = Error en la configuración de alarma basada en etiquetas. |
Sts_Hand | BOOL | 1 = Se selecciona mano (reemplaza a fuera de servicio, mantenimiento, anulación, externo, programa, operador). |
Sts_OoS | BOOL | 1 = Se selecciona fuera de servicio (reemplaza a mantenimiento, anulación, externo, programa, operador). |
Sts_Maint | BOOL | 1 = Se selecciona mantenimiento (reemplaza a anulación, externo, programa, operador). |
Sts_Ovrd | BOOL | 1 = Se selecciona anulación (reemplaza a externo, programa, operador). |
Sts_Ext | BOOL | 1 = Se selecciona externo (reemplaza a programa y operador). |
Sts_Prog | BOOL | 1 = Se selecciona programa. |
Sts_ProgLocked | BOOL | 1 = Se selecciona programa y se bloquea. |
Sts_Oper | BOOL | 1 = Operador está seleccionado. |
Sts_OperLocked | BOOL | 1 = Se selecciona operador y se bloquea. |
Sts_ProgOperSel | BOOL | Estado de la selección de programa/operador (enclavamiento): 1 = Programa, 0 = Operador. |
Sts_ProgOperLock | BOOL | Estado de bloqueo de programa/operador (enclavamiento), 1 = Bloqueado, 0 = Desbloqueado. |
Sts_Normal | BOOL | 1 = La selección es igual a Normal (programa u operador). |
Sts_ExtReqInh | BOOL | 1 = Solicitud de externo inhibida, no se puede acceder a externo desde el estado actual. |
Sts_ProgReqInh | BOOL | 1 = Solicitud de programa inhibida, no se puede acceder a programa desde el estado actual. |
Sts_MAcqRcvd | BOOL | 1 = El comando de adquisición de mantenimiento ha recibido este escaneado. |
Sts_Alm | BOOL | 1 = Una alarma está activa. |
Sts_AlmInh | BOOL | 1 = Una o más alarmas se han restringido, inhabilitado o suprimido. |
Sts_IOFault | BOOL | Estado de fallo de E/S (I/O): 0 = Correcto, 1 = Incorrecto. Hay una alarma discreta predefinida basada en etiquetas para el estado. Establezca los miembros de configuración estándar de la alarma discreta basada en etiquetas. Acceda a los elementos de alarma utilizando este formato: PDOTag.@Alarms.Alm_IOFault.AlarmElement |
Sts_OnFail | BOOL | 1 = El dispositivo no puede ser Encendido. Hay una alarma discreta predefinida basada en etiquetas para el estado. Establezca los miembros de configuración estándar de la alarma discreta basada en etiquetas. Acceda a los elementos de alarma utilizando este formato: PDOTag.@Alarms.Alm_OnFail.AlarmElement |
Sts_OffFail | BOOL | 1 = El dispositivo no puede ser Apagado. Hay una alarma discreta predefinida basada en etiquetas para el estado. Establezca los miembros de configuración estándar de la alarma discreta basada en etiquetas. Acceda a los elementos de alarma utilizando este formato: PDOTag.@Alarms.Alm_OffFail.AlarmElement |
Sts_IntlkTrip | BOOL | 1 = Dispositivo desactivado mediante un enclavamiento incorrecto. Hay una alarma discreta predefinida basada en etiquetas para el estado. Establezca los miembros de configuración estándar de la alarma discreta basada en etiquetas. Acceda a los elementos de alarma utilizando este formato: PDOTag.@Alarms.Alm_IntlkTrip.AlarmElement |
Sts_RdyAck | BOOL | 1 = Una alarma está lista para confirmarse. |
Sts_RdyReset | BOOL | 1 = Una condición de alarma enclavada o restringida está lista para ser restablecida. |
XRdy_Acq | BOOL | 1 = Listo para XCmd_Acq, habilitar el botón de HMI. |
XRdy_Rel | BOOL | 1 = Listo para XCmd_Rel, habilitar el botón de HMI. |
XRdy_On | BOOL | 1 = Listo para XCmd_On, habilitar botón de HMI. |
XRdy_Off | BOOL | 1 = Listo para XCmd_Off, habilitar botón de HMI. |
XRdy_OnPulse | BOOL | 1 = Listo para XCmd_OnPulse, habilitar botón de HMI. |
XRdy_OffPulse | BOOL | 1 = Listo para XCmd_OffPulse, habilitar botón de HMI. |
XRdy_ContPulse | BOOL | 1 = Listo para XCmd_ContPulse, habilitar botón de HMI. |
XRdy_Reset | BOOL | 1 = Listo para XCmd_Reset, habilitar el botón de HMI. |
XRdy_ResetAckAll | BOOL | 1 = Listo para XCmd_ResetAckAll, habilitar el botón de HMI. |
Val_Owner | DINT | ID del propietario del objeto actual (0 = sin propietario). |
Miembros de entrada privados | Tipo de datos | Descripción |
|---|---|---|
CmdSrc | P_COMMAND_SOURCE | Selección del origen de comando / control. |
MCmd_Bypass | BOOL | Comando de mantenimiento para evitar todos los enclavamientos y permisos evitables. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
MCmd_Check | BOOL | Comando de mantenimiento para comprobar (no evitar) todos los enclavamientos. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
MCmd_OoS | BOOL | Comando de mantenimiento para seleccionar fuera de servicio. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
MCmd_IS | BOOL | Comando de mantenimiento para seleccionar en servicio. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
MCmd_Acq | BOOL | Comando de mantenimiento para adquirir la propiedad (de operador/programa/anulación a mantenimiento). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
MCmd_Rel | BOOL | Comando de mantenimiento para liberar la propiedad (de mantenimiento a operador/programa/externo/anulación). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
MCmd_Physical | BOOL | Comando de mantenimiento para seleccionar la operación del dispositivo Físico (no simulado). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
MCmd_Virtual | BOOL | Comando de mantenimiento para seleccionar la operación del dispositivo Virtual (simulado). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_On | BOOL | Comando de operador para encender el dispositivo. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_Off | BOOL | Comando de operador para apagar el dispositivo. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_OnPulse | BOOL | Comando de operador para enviar un pulso de activación al dispositivo (que está desactivado) una vez. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_OffPulse | BOOL | Comando de operador para enviar un pulso de desactivación al dispositivo (que está activado) una vez. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_ContPulse | BOOL | Comando de programa para enviar un pulso al dispositivo de forma continua (intermitente). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_Oper | BOOL | Comando de operador para seleccionar operador (de programa a operador). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_Prog | BOOL | Comando de operador para seleccionar programa (de operador a programa). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_Lock | BOOL | Comando de operador para bloquear al operador (inhabilitar programa). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_Unlock | BOOL | Comando de operador para desbloquear/liberar (permitir que se pueda adquirir programa) la propiedad. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_Normal | BOOL | Comando de operador para seleccionar Normal (operador o programa). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_Reset | BOOL | Comando de operador para restablecer todas las alarmas que requieren que se restablezcan. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_ResetAckAll | BOOL | Comando de operador para restablecer todas las alarmas y las condiciones de restricción enclavada. El uso de OCmd_ResetAckAll está restringido a HMI. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
Miembros de salida privados | Tipo de datos | Descripción |
|---|---|---|
HMI_BusObjIndex | DINT | El índice de este objeto en la matriz de bus, para ser utilizado por la pantalla HMI. El valor predeterminado es 0. |
MRdy_Bypass | BOOL | 1 = Listo para MCmd_Bypass, habilitar botón de HMI. |
MRdy_Check | BOOL | 1 = Listo para MCmd_Check, habilitar botón de HMI. |
MRdy_OoS | BOOL | 1 = Listo para MCmd_OoS, habilitar el botón de HMI. |
MRdy_IS | BOOL | 1 = Listo para MCmd_IS, habilitar el botón de HMI. |
MRdy_Acq | BOOL | 1 = Listo para MCmd_Acq, habilitar el botón de HMI. |
MRdy_Rel | BOOL | 1 = Listo para MCmd_Rel, habilitar el botón de HMI. |
MRdy_Physical | BOOL | 1 = Listo para MCmd_Physical, habilitar botón de HMI. |
MRdy_Virtual | BOOL | 1 = Listo para MCmd_Virtual, habilitar botón de HMI. |
ORdy_Oper | BOOL | 1 = Listo para OCmd_Oper, habilitar el botón de HMI. |
ORdy_Prog | BOOL | 1 = Listo para OCmd_Prog, habilitar el botón de HMI. |
ORdy_Lock | BOOL | 1 = Listo para OCmd_Lock, habilitar el botón de HMI. |
ORdy_Unlock | BOOL | 1 = Listo para OCmd_Unlock, habilitar el botón de HMI. |
ORdy_Normal | BOOL | 1 = Listo para OCmd_Normal, habilitar el botón de HMI. |
ORdy_On | BOOL | 1 = Listo para OCmd_On, habilitar botón de HMI. |
ORdy_Off | BOOL | 1 = Listo para OCmd_Off, habilitar botón de HMI. |
ORdy_OnPulse | BOOL | 1 = Listo para OCmd_OnPulse, habilitar botón de HMI. |
ORdy_OffPulse | BOOL | 1 = Listo para OCmd_OffPulse, habilitar botón de HMI. |
ORdy_ContPulse | BOOL | 1 = Listo para OCmd_ContPulse, habilitar botón de HMI. |
ORdy_Reset | BOOL | 1 = Una condición de alarma enclavada o restringida está lista para ser restablecida. |
ORdy_ResetAckAll | BOOL | 1 = Una condición de alarma enclavada o restringida está lista para el restablecimiento o confirmación. |
Miembros InOut públicos | Tipo de datos | Descripción |
|---|---|---|
BusObj | BUS_OBJ | Componente de bus |
Estructura de BUS_OBJ
La estructura BUS_OBJ vincula la instrucción de salida discreta con otros dispositivos e instrucciones en un control complejo, por lo general dentro de una jerarquía. Un objeto de bus activa la información de estado y alarma de dispositivos de nivel inferior a dispositivos de mayor nivel, y genera ventiladores de comandos de control de mayor nivel a dispositivos de menor nivel. Los elementos se vinculan con el bus haciendo referencia a un solo miembro de la matriz BUS_OBJ asociada con el bus.
Este parámetro vincula la instrucción a una etiqueta externa que contiene los datos necesarios para que la instrucción funcione. La etiqueta externa debe ser del tipo de datos mostrado o debe ser NULA. Si es NULO (NULL), las funciones de Bus de esta instrucción no están disponibles
Miembros | Tipo de datos | Descripción |
|---|---|---|
Inp_Cmd | DINT | Entrada para afirmar los comandos |
Out_Cmd | DINT | Comandos resultantes |
Inp_CmdLLH | DINT | Entrada de comandos de nivel normalmente alto |
Out_CmdLLH | DINT | Comandos altos de nivel de línea resultantes |
Inp_Sts | DINT | Entrada para afirmar los estados |
Out_Sts | DINT | Estado resultante |
Inp_CmdAck | DINT | Entrada para afirmar una confirmación de comando |
Out_CmdAck | DINT | Confirmaciones de comandos resultantes |
Inp_SeverityMax | DINT | Entrada: gravedad de alarma máxima |
Out_SeverityMax | DINT | Resultantes de la gravedad de alarma máxima |
Cfg_CmdMask | DINT | Máscara de propagación para los comandos |
Cfg_CmdLLHMask | DINT | Máscara de propagación para los comandos altos de nivel de línea |
Cfg_StsMask | DINT | Máscara de propagación para el estado |
Ref_Index | DINT | Índice de matriz de bus |
Alarmas
Las alarmas basadas en etiquetas discretas se definen para estos miembros.
Miembro | Nombre de alarma | Descripción |
Sts_IOFault | Alm_IOFault | Fallo de E/S (I/O). Se activa cuando la entrada Inp_IOFault es verdadera. Utilice esta entrada para indicar a la instrucción que una conexión con el módulo está en fallo. Esta entrada también indica si un módulo informa una pérdida de potencia de campo/que no tiene carga/que hay un cortocircuito en su E/S (I/O). Si el fallo de E/S (I/O) se configura como un fallo de restricción, el dispositivo recibe el comando Desactivado (Off) y no se le puede dar la orden de pasar a otro estado hasta que se restablezca. |
Sts_OnFail | Alm_OnFail | El dispositivo no puede ser Activado (la retroalimentación Activada no ha sido confirmada en un periodo de tiempo configurado). Se activa cuando el dispositivo solicita el comando Activado (On), pero la retroalimentación del dispositivo no confirma que el dispositivo está realmente Activado dentro del tiempo de fallo configurado (Cfg_OnFailTime). Si el fallo se configura como un fallo de restricción, el dispositivo estará desactivado y no podrá recibir el comando de activado hasta que se restablezca. |
Sts_OffFail | Alm_OffFail | El dispositivo no puede estar desactivado (la Retroalimentación desactivada no se ha confirmado en el periodo de tiempo configurado). Aumenta cuando el dispositivo recibe el comando de desactivación, pero la retroalimentación del dispositivo no confirma que el dispositivo esté realmente desactivado dentro del tiempo de fallo configurado (Cfg_OffFailTime). |
Sts_IntlkTrip | Alm_IntlkTrip | Alarma de activación de enclavamiento. Se activa cuando una condición de enclavamiento incorrecta genera que el dispositivo cambie del estado Activado (On) o de un estado de pulso a un estado Desactivado (Off). Si los enclavamientos no se han evitado, la condición incorrecta de un enclavamiento evitable o de un enclavamiento no evitable inicia una activación del enclavamiento. Si se evitan los enclavamientos, solo una condición incorrecta de un enclavamiento no evitable inicia una activación de enclavamiento. |
Marque la alarma como usada o no usada y establezca los miembros de configuración estándar de la alarma discreta basada en etiquetas. Acceda a los elementos de alarma utilizando este formato:
PDOTag.@Alarms.AlarmName.AlarmElement
La instrucción PDO gestiona las condiciones de alarma descritas en estos cuatro casos de uso y condiciones:
- Estado de fallo de E/S (I/O) - se activa cuando la entrada Fallo de E/S (I/O) es verdadera. Esta entrada generalmente indica a la instrucción que los datos de E/S (I/O) no son precisos y no son confiables para utilizar en la aplicación. Si el fallo de E/S (I/O) se configura como un fallo de restricción, el dispositivo recibe el comando Desactivado (Off) y no se le puede dar la orden de pasar a otro estado hasta que se restablezca.
- Estado de activación de enclavamiento: si los enclavamientos no se evitan, una condición incorrecta de un enclavamiento evitable o de un enclavamiento no evitable inicia una activación de enclavamiento. Si se evitan los enclavamientos, solo una condición incorrecta de un enclavamiento no evitable inicia una activación de enclavamiento.
- Estado de fallo de retroalimentación Desactivada - se activa cuando el dispositivo solicita el comando Desactivado (Off), pero la retroalimentación del dispositivo no confirma que el dispositivo está realmente Desactivado dentro del tiempo de fallo configurado.
- Estado de fallo de retroalimentación Activada - se activa cuando el dispositivo solicita el comando Activado (On), pero la retroalimentación del dispositivo no confirma que el dispositivo está realmente Activado dentro del tiempo de fallo configurado. Si el fallo se configura como un fallo de restricción, el dispositivo estará desactivado y no podrá recibir el comando de activado hasta que se restablezca.
Hay comandos de programa, operador y externo que habilitan la opción de Restablecer y Restablecer y confirmar de todas las alarmas de la instrucción (Grupo de alarmas) al mismo tiempo. En este diagrama se muestra cómo interactúan los comandos con la instrucción PDO.

Operación
El siguiente diagrama ilustra la funcionalidad de la instrucción PDO:



El comando de operador solicita confirmación
La instrucción PDO habilita las solicitudes de comando del operador OCmd_Off, OCmd_On, OCmd_OffPulse, OCmd_OnPulse y OCmd_ContPulse. Es posible que la seguridad ejecutada requiera confirmar o cancelar la solicitud antes de la ejecución del comando seleccionado. La instrucción comprueba las reglas de seguridad que inspeccionan Cfg_CnfrmReqd. Si Cfg_CnfrmReqd=0 no se necesita ninguna confirmación y la solicitud se ejecuta de inmediato. Si Cfg_CnfrmReqd=1 la instrucción espera la confirmación antes de ejecutarse. Si Cfg_CnfrmReqd=2 o 3, se necesita una firma electrónica antes de habilitar la confirmación y la cancelación.
Virtualización
Utilice la virtualización para poner a prueba la instrucción y la formación del operador. Configure el operando Inp_Virtual en 1 para habilitar la virtualización. Después de finalizar la virtualización, configure el operando Inp_Virtual en 0 para volver a funcionar con normalidad.
Cuando la virtualización está activa la salida de la salida discreta se mantiene en 0, se proporciona retroalimentación virtual de un dispositivo y se ignoran los fallos de E/S (I/O). La configuración del operando Cfg_VirtualFdbkTime retarda el eco del estado de Activado/Desactivado del dispositivo. Manipule la instrucción para que funcione como si estuviera presente una salida discreta de trabajo.
Inicialización
Normalmente, la instrucción se inicializa en la primera ejecución de la instrucción. Solicite la reinicialización estableciendo Inp_InitializeReq = 1. Para que la inicialización sea correcta, al añadir la instrucción mientras realiza una edición en línea del código, asegúrese de que Inp_InitializeReq = 1 (valor predeterminado).
Configuración de cadenas para HMI
Configure las cadenas para las plantillas de HMI, como se ve en
FactoryTalk View
, y para el cuadro de diálogo de configuración. Las cadenas están establecidas para las propiedades extendidas de los elementos de etiqueta. Configure las cadenas solo en la aplicación Logix Designer.- Descripción
- Etiqueta para el símbolo gráfico
- Biblioteca de visualización para la llamada de presentación de la plantilla de HMI
- Nombre de la instrucción
- Nombre del área
- Enlace URL
- Ruta de acceso a un objeto con más información
- Estado de destino 0
- Estado de destino 1
- Estado de transición 0
- Estado de transición 1
- Botón de comando desactivado
- Botón de comando activado
- Botón de comando de pulso desactivado
- Botón de comando de pulso activado
- Botón de comando de pulso continuo
- Nombre de la alarma de Fallo de E/S (I/O) (IOFault)
- Nombre de la alarma de IntlkTrip
- Nombre de la alarma de Fallo activado (On Fail)
- Nombre de alarma de fallo desactivado (Off Fail)
Origen de comando
La instrucción usa estos orígenes de comando. Los orígenes de comando se priorizan del más alto al más bajo en esta tabla.
Origen de comando | Descripción |
Mano | La lógica programada u otra lógica fuera de la instrucción controlan el dispositivo. La instrucción hace el seguimiento del estado del dispositivo para una transferencia sin perturbaciones hasta uno de los otros orígenes de comando. (Origen de comando de prioridad máxima) |
Fuera de servicio | La instrucción está deshabilitada y no tiene propietario. |
Mantenimiento | Mantenimiento controla el dispositivo y reemplaza al control de operador, programa, externo y anulación. Se aceptan los comandos y las configuraciones del operador del HMI. |
Anulación | La lógica de prioridad controla el dispositivo y reemplaza al control de operador, programa y externo. Se acepta la entrada de anulación (Inp_Ovrd). |
Externo | La lógica externa (por ejemplo, control de pruebas piloto de campo o SCADA ascendente) controla el dispositivo. Se aceptan comandos externos (XCmd_). |
Programa bloqueado | La lógica del programa controla el dispositivo. Se aceptan los comandos del programa (PCmd_). El operador no puede asumir el control del programa. La anulación no puede asumir el control de programa a menos que Cfg_OvrdOverLock = 1. |
Programa | La lógica del programa controla el dispositivo. Se aceptan los comandos del programa (PCmd_). |
Operador bloqueado | El operador controla el dispositivo. Se aceptan los comandos del operador (OCmd_) desde el HMI. Programa no puede asumir el control de operador. Anulación no puede tomar el control del operador a menos que Cfg_OvrdOverLock = 1. |
Operador | El operador controla el dispositivo. Se aceptan los comandos del operador (OCmd_) desde el HMI. (Origen de comando de prioridad más baja) |
La instrucción habilita o deshabilita estas operaciones:
- Existe un mantenimiento fuera de servicio
- Existe un mantenimiento
- Existe un externo
- Existe un programa (desbloqueado)
- Existe un programa (bloqueado)
- Existe un operador (desbloqueado)
- Existe un operador bloqueado
- PCmd_Lock utilizado como Nivel (1 = Bloquear, 0 = Desbloquear)
La instrucción comprueba si hay configuraciones de control inválidas y fuerza la configuración válida más cercana.
El modelo de control de núcleo arbitra el origen de los comandos y los parámetros que acepta la función receptora. El modelo de control del núcleo determina si el origen es:
- Una entidad programática que reside completamente en el entorno de procesamiento, o
- Una entidad de interfaz externa que emite comandos y parámetros externa y asincrónicamente al entorno de procesamiento.
El bloqueo de un origen de control impide que el otro origen de control adquiera privilegio.
Modelo de origen de comando de núcleo
El modelo de control de núcleo consta de estos orígenes de control:
- Oper
- OperLocked
- Prog
- ProgLocked
El modelo de control se establece de forma predeterminada en esta configuración. Es posible que haya otros orígenes de control presentes en el modelo, pero actúan como orígenes de control de anulación que actúan de manera independiente de la máquina de estados del operador/programa base.
Habilitar orígenes de control como Configuración
Los orígenes de control individual pueden ser habilitados o deshabilitados por el usuario. La configuración predeterminada utiliza el modelo base completo; al encender el entorno de procesamiento, el origen del control será la opción predeterminada designada. Algunas combinaciones de orígenes de control habilitados se muestran desautorizadas, ya que son innecesarias o pueden crear cambios no deseados.
Encendido de programa
La configuración permite al usuario especificar si operador o programa van a ser los predeterminados de encendido.
Prioridad de programa
La configuración permite al usuario especificar si los comandos de operador o programa tienen prioridad cuando se afirman simultáneamente.
Restablecimiento automático de los comandos
Todos los comandos se consideran enclavados por única vez. Esto significa que todos los comandos se borran automáticamente cuando la instrucción los ejecuta y los procesa.
Cambiar los estados de destino
Bajo ciertas configuraciones, el origen del comando de destino para algunos comandos puede cambiar. Esto concuerda con la intención del comando. Ejemplo: Si Prog está deshabilitado, el destino del comando OCmd_Prog se direcciona al estado ProgLocked en lugar de al estado Prog. Esto mantiene la intención del comando OCmd_Prog: la entidad del operador desea que la función esté en control del programa. Si se eliminara el comando, no habría forma de lograrlo. Esto solo se hace en configuraciones en las que esto no causaría ningún conflicto ni condición de carrera, pero sirve para conservar toda la funcionalidad del usuario que sea práctica.
Orígenes de comando de mayor prioridad
Estos orígenes de comando de mayor prioridad funcionan de manera independiente dentro del modelo:
- Externo
- Anulación
- Mantenimiento
- Fuera de servicio
- En servicio (In-Service)
- Mano
Monitorizar la instrucción PDO
Utilice la plantilla del operador de la biblioteca de procesos PlantPAx para la monitorización.
Afecta a las marcas de estado matemáticas
No.
Fallos mayores/menores
No es específico para esta instrucción. Consulte el Índice a través de matrices para ver si hay fallos de indexación de matrices.
Ejecución
Diagrama de lógica de escalera
Condición/estado | Acción realizada |
Pre-escaneado | La condición de salida de renglón se borra a falsa. Sts_eSrc está configurado en 0. Sts_bSrc está establecido en 0. |
Primera ejecución de instrucción | Todos los comandos que se borran automáticamente en cada ejecución son borrados e ignorados. Inp_OvrdCmd está configurado en 0 (sin comando). La selección de programa/operador se establece en la configuración (Cfg_ProgPwrUp). La selección de bloqueo de programa u operador está configurada como desbloqueada. El estado adquirido/liberado de mantenimiento no se modifica y persiste durante el encendido del controlador o la transición PROG-to-RUN. PSet_Owner y Val_Owner están configuradas en 0. Si se proporciona retroalimentación, Out_CVData y Sts_Out se establecen en consecuencia o de lo contrario se borran. |
La condición de entrada de renglón es falsa | La condición de salida de renglón se borra a falsa. La instrucción está fuera de servicio si Inp_Hand=0. Se desactiva la salida y se borran todas las condiciones de alarma. Se restablecen las alarmas enclavadas. El procesamiento de la selección del origen del comando continúa, excepto que los comandos de programa y operador son ignorados y borrados y todos los bits de estado de propiedad (Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog y Sts_Oper) cambian a 0. Cuando la condición de entrada de renglón se convierte en verdadera, la selección de programa/operador se establece en función de la configuración (Cfg_ProgPwrUp). |
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. La instrucción se ejecuta. |
Post-escaneado | La condición de salida de renglón se borra a falsa. |
Diagrama de bloque de funciones
Condición/estado | Acción realizada |
Pre-escaneado | El valor de EnableOut se borra a falso. Sts_eSrc está configurado en 0. Sts_bSrc está establecido en 0. |
Primera ejecución de instrucción | Todos los comandos que se borran automáticamente en cada ejecución son borrados e ignorados. Inp_OvrdCmd está configurado en 0 (sin comando). La selección de programa/operador se establece en la configuración (Cfg_ProgPwrUp). La selección de bloqueo de programa u operador está configurada como desbloqueada. El estado adquirido/liberado de mantenimiento no se modifica y persiste durante el encendido del controlador o la transición PROG-to-RUN. PSet_Owner y Val_Owner están configuradas en 0. Si se proporciona retroalimentación, Out_CVData y Sts_Out se establecen en consecuencia o de lo contrario se borran. |
Primer escaneado de instrucción | Consulte la primera ejecución de la instrucción en la tabla Diagrama de bloque de funciones. |
EnableIn es falso | El valor de EnableOut se borra a falso. La instrucción está fuera de servicio si Inp_Hand=0. Se desactiva la salida y se borran todas las condiciones de alarma. Se restablecen las alarmas enclavadas. El procesamiento de la selección del origen del comando continúa, excepto que los comandos de programa y operador son ignorados y borrados y todos los bits de estado de propiedad (Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog y Sts_Oper) cambian a 0. Cuando la condición de entrada de renglón se convierte en verdadera, la selección de programa/operador se establece en función de la configuración (Cfg_ProgPwrUp). |
EnableIn es verdadero | El valor de EnableOut se establece en verdadero. La instrucción se ejecuta. |
Post-escaneado | Los bits EnableIn y EnableOut se establecen en falsos. |
Texto estructurado
En Texto estructurado, EnableIn siempre es verdadero durante un escaneado normal. La instrucción se ejecuta cuando se encuentra en la ruta de control activada por la lógica.
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Consultar Pre-escaneado en la tabla Diagrama de lógica de escalera. |
Primera ejecución de instrucción | Consultar la primera ejecución de la instrucción en la tabla Diagrama de lógica de escalera. |
EnableIn es verdadero | Consultar EnableIn es verdadero en la tabla Diagrama de bloque de funciones. |
Post-escaneado | Consulte Post-escaneado en la tabla Diagrama de bloque de funciones. |
Ejemplo
Use la instrucción PDO para controlar una cubierta de calentamiento en un filtro de ventilación. En este caso, se utiliza la cubierta de calentamiento para mantener el filtro de ventilación seco cuando existe una posible acumulación de condensación. La cubierta de calentamiento del filtro de ventilación no proporciona retroalimentación sobre su estado. En condiciones normales de funcionamiento, la secuencia de control configurada en el controlador activa o desactiva la cubierta de calentamiento del filtro de ventilación. Desactivar siempre el filtro de ventilación en el enclavamiento asociado con el estado de la secuencia de control de la cubierta de calentamiento.
La secuencia de control emite un solo bit para el estado deseado del filtro de ventilación. El operando PCmd_On está conectado a este bit para activar y desactivar el filtro de ventilación. El operando Cfg_PCmdOnAsLevel está configurado en 1, lo que indica que la instrucción actúa sobre PCmd_On en función del valor (nivel) en lugar de actuar solo en la transición a verdadero (límite) para que PCmd_On pueda ser usado para solicitar tanto el estado Activado como el estado Desactivado. Se puede escribir la secuencia de control para configurar los bits de comando PCmd_On y PCmd_Off directamente (por ejemplo, usando texto estructurado dentro de un SFC), en cuyo caso Cfg_PCmdOnAsLevel podría dejarse en su valor predeterminado de 0 para que la instrucción borre los comandos una vez que hayan sido ejecutados. El operando Cfg_ProgNormal se configura en 1 para indicar que el estado de funcionamiento normal del controlador es programa, lo que significa que normalmente es controlado por la secuencia de control. El estado de la secuencia está conectado al operando Inp_IntlkOK, de manera que la salida a la cubierta de calentamiento del filtro de ventilación esté siempre desactivada cuando el soporte no esté funcionando adecuadamente, incluso si la instrucción no se encuentra en el modo Programa. Los operandos Cfg_HasOnFdbk y Cfg_HasOffFdbk se configuran en 0 para indicar que la cubierta de calentamiento del filtro de ventilación no ofrece retroalimentación sobre su estado.
El ejemplo se muestra en los tres idiomas.
Diagrama de lógica de escalera

Diagrama de bloque de funciones

Texto estructurado
JV9010.Inp_IntlkOK := Status_OK;
JV9010.PCmd_On := YV9010;
PDO(JV9010, 0);
O_JV9010 := JV9010.Out_CVData;
Entregue su opinión