Procesar dosificación (Process Dosing, PDOSE)
Esta información se aplica a los controladores CompactLogix 5380P, ControlLogix 5580P y ControlLogix 5590P.
La instrucción Procesar dosificación (Process Dosing, PDOSE) controla la adición de un ingrediente que utiliza un medidor de flujo o una báscula para medir la cantidad del ingrediente agregado. El medidor de flujo puede proporcionar un caudal analógico, una cantidad analógica (total) o un conteo de pulsos con rollover. Si se utiliza un medidor de flujo que genera pulsos, se debe utilizar una tarjeta de conteo para determinar el conteo de pulsos (o frecuencia). Esta instrucción está diseñada para funcionar bien con el módulo 1756-HSC (contador de alta velocidad) o 1756-CFM (caudalímetro configurable). La báscula puede estar en el tanque receptor e indicar un aumento en el peso, o en el surtidor e indicar una pérdida de peso. La báscula puede ser conectada mediante una entrada analógica, una red del dispositivo u otra conexión.
Utilice la instrucción PDOSE para:
- Proporcionar entradas para el régimen (régimen de flujo o cantidad por tiempo) y la cantidad (total o conteo de pulsos).
- Utilizar un conteo de pulsos como variable de proceso (process variable, PV) de cantidad, con un conteo de rollover configurable.IMPORTANTE: Se debe utilizar una tarjeta de conteo de pulsos con un caudalímetro que genere pulsos.
- Totalizar la PV del régimen de flujo para determinar la cantidad suministrada en caso que el medidor de flujo proporcione una señal de régimen pero sin la cantidad.
- Calcular el régimen de flujo de acuerdo a la cantidad diferenciándolo del tiempo cuando el medidor proporcione un conteo total o un conteo de pulsos, pero sin el régimen. Si el régimen de PV se calcula a partir de una cantidad de entrada, la instrucción PDOSE utiliza un filtro de retardo de primer orden en la señal de la PV del régimen calculada para reducir el impacto de la fluctuación, el tiempo de escaneado, el error de cuantificación o el ruido de la señal de entrada.
- Proporcionar una función de corte por régimen bajo que se utiliza para ignorar los valores del régimen de flujo cercanos a cero para lidiar con ruidos o con un error de calibración cero en la señal del régimen.
- Utilizar un medidor de flujo con totalizador integrado. Envía el comando borrar totalizador al medidor de flujo y comprueba el restablecimiento del total del medidor de flujo.
- Proporcionar salidas para controlar equipos asociados, como bombas y válvulas, para iniciar y detener el flujo.
- Monitorizar el estado de un equipo controlado, como bombas y válvulas.
- Monitorizar el estado de la comunicación de entrada del régimen o de la cantidad y proporciona indicaciones de una PV de régimen incierta o incorrecta.
- Proporcionar una entrada de programa o de operador de una cantidad a entregar (punto de ajuste) y calcular la cantidad que queda por entregar y el porcentaje completo durante la entrega.
- Proporcionar una entrada de programa o de operador de límites de tolerancia alta y baja. Permite que el programa o el operador inicien una comprobación de tolerancia luego de que la entrega se haya completado. Muestra una advertencia si se encuentra en el límite inferior de la tolerancia y permite al operador agregar flujo para compensar la escasez. El incremento se puede configurar como un incremento temporizado o como una función de avance lento del operador. Proporciona una alarma si se encuentra en el límite superior de la tolerancia e inhibe un flujo adicional.
- Cambiar automáticamente a un régimen de flujo de goteo reducido menor a medida que la cantidad suministrada se aproxima al punto de ajuste. Proporciona una entrada de programa o de operador de la cantidad de goteo. Proporciona salidas de ejecución, de goteo y detención al equipo controlado.
- Usar un valor de Punto de ajuste inferior (preact) para detener el flujo y considerar el material que se encuentra en la tubería, el tiempo que necesita el equipo para frenar y los retardos en la medición, el escaneado, la comunicación, etc. Proporciona una entrada de programa o de operador del valor de preact. Proporciona una corrección de Punto de ajuste inferior (preact) automática y opcional a partir del error de la entrega cuando se comprueba la tolerancia. La corrección automática permite a la preactividad conocer el valor correcto a lo largo del tiempo.
- Utilizar la instrucción Procesar origen de comando (PCMDSRC) estándar para proporcionar la propiedad para la entrada de la configuración y la aceptación de comandos.
- Proporcionar un escalamiento lineal del valor del peso de entrada desde unidades de tarjeta de entrada sin procesar a unidades de visualización de ingeniería.
- Proporcionar un cálculo del régimen de cambio de peso (diferenciación con respecto al tiempo) para generar un régimen de flujo inferido. El régimen calculado se filtra y tiene un corte bajo, de modo que el régimen se reporta con valor cero cuando el cambio de peso solo es consecuencia de ruido en la señal de peso de entrada.
- Proporcionar salidas para controlar equipos asociados, como bombas y válvulas, para iniciar y detener el flujo. El operador o el programa pueden iniciar la adición de ingredientes, luego pausarla y reanudarla según sea necesario.
- Monitorizar el estado de un equipo controlado, como bombas y válvulas. El flujo se detiene y se activa una alarma si el equipo tiene un fallo o si el equipo no responde como fue solicitado por el comando.
- Monitorizar la calidad de la entrada de la PV de peso y el estado de comunicación. Indica si la PV de peso es incorrecta o incierta. El flujo se detiene y se activa una alarma por una PV incorrecta o por una pérdida de comunicación.
- Proporcionar una función de supervisión continua que permita realizar una supervisión continua sin que sea necesario establecer un SP.
Idiomas disponibles
Diagrama de lógica de escalera

Diagrama de bloque de funciones

Texto estructurado
PDOSE (PDOSE tag, Inp_QtyPV, Inp_RatePV, 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. Consulte Conversiones de datos.
Operandos de configuración
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
PlantPAx Control | P_DOSING | etiqueta | Estructura de datos requerida para el funcionamiento adecuado de la instrucción. |
Inp_QtyPV | REAL | etiqueta | Cantidad procedente de la báscula o del medidor de flujo (EU o conteo de pulsos). |
Inp_RatePV | REAL | etiqueta | Régimen de flujo procedente del medidor de flujo (EU/Hora, ver Cfg_RateTime). |
BusObj | BUS_OBJ | etiqueta | Componente de bus. |
Estructura de P_DOSING
Los miembros públicos son miembros de etiqueta estándar y visible que son accesibles mediante programación. Los miembros privados y 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 | Visibilidad predeterminada del FBD | Cableado FBD requerido | Uso | Descripción |
|---|---|---|---|---|---|
EnableIn | BOOL | No visible | No requerido | Entrada | Habilitar entrada - Parámetro definido por el sistema El valor predeterminado es verdadero. |
Inp_InitializeReq | BOOL | No visible | No requerido | Entrada | 1 = Solicita la inicialización de la instrucción. Normalmente, la instrucción se inicializa en la primera ejecución de la instrucción. Utilizar esta solicitud cuando se necesite reinicializar. La instrucción borra este operando automáticamente. El valor predeterminado es verdadero. |
Inp_OwnerCmd | DINT | No visible | No requerido | Entrada | 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. El valor predeterminado es 0. |
Inp_RatePVBad | BOOL | No visible | No requerido | Entrada | 1 = Calidad de entrada de la PV del régimen = Incorrecta (fallo). El valor predeterminado es falso. |
Inp_RatePVUncertain | BOOL | No visible | No requerido | Entrada | 1 = Calidad de entrada de la PV del régimen = Incierta. El valor predeterminado es falso. |
Inp_QtyPVBad | BOOL | No visible | No requerido | Entrada | 1 = Calidad de entrada de la PV de cantidad = Incorrecta (fallo). El valor predeterminado es falso. |
Inp_QtyPVUncertain | BOOL | No visible | No requerido | Entrada | 1 = Calidad de entrada de la PV de cantidad = Incierta. El valor predeterminado es falso. |
Inp_RunFdbk | BOOL | Visible | No requerido | Entrada | 1 = El equipo controlado está entregando (en ejecución). El valor predeterminado es falso. |
Inp_DribbleFdbk | BOOL | No visible | No requerido | Entrada | 1 = El equipo controlado está entregando durante el goteo. El valor predeterminado es falso. |
Inp_StopFdbk | BOOL | Visible | No requerido | Entrada | 1 = Se confirma que el equipo controlado está detenido. El valor predeterminado es falso. |
Inp_CtrldEqpFault | BOOL | No visible | No requerido | Entrada | Objeto de equipo controlado o estado de E/S (I/O) 0 = Correcto, 1 = Fallo. El valor predeterminado es falso. |
Inp_Reset | BOOL | No visible | No requerido | Entrada | 1 = Restablecer los enclavamientos de restricción y las alarmas borradas. El valor predeterminado es falso. |
Inp_eRatePVSrcQ | SINT | No visible | No requerido | Entrada | Origen y calidad de la señal del régimen de flujo (enumerado): 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, introducida 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 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. El valor predeterminado es 0. |
Inp_eRatePVNotify | Estado de prioridad y confirmación de la alarma del objeto de la PV del régimen. 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. El valor predeterminado es 0. | ||||
Inp_eQtyPVSrcQ | SINT | No visible | No requerido | Entrada | Origen y calidad de la señal de cantidad (enumerado): 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 en el 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. El valor predeterminado es 0. |
Inp_eQtyPVNotify | SINT | No visible | No requerido | Entrada | Estado de prioridad y confirmación de la alarma del objeto de la PV de cantidad. 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. El valor predeterminado es 0. |
Inp_Hand | BOOL | No visible | No requerido | Entrada | 1 = Adquirir mano (normalmente cableado local), 0 = Liberar mano. El valor predeterminado es falso. |
Inp_Ovrd | BOOL | No visible | No requerido | Entrada | 1 = Adquirir anulación (lógica de programa de mayor prioridad), 0 = Liberar anulación. El valor predeterminado es falso. |
Inp_ExtInh | BOOL | No visible | No requerido | Entrada | 1 = Inhibir adquisición de externo, 0 = Permitir adquisición de externo. El valor predeterminado es falso. |
Cfg_AllowDisable | BOOL | No visible | No requerido | Entrada | 1 = Permitir al operador inhabilitar la alarma, 0 = No permitir al operador inhabilitar la alarma. El valor predeterminado es falso. |
Cfg_AllowShelve | BOOL | No visible | No requerido | Entrada | 1 = Permitir al operador archivar la alarma, 0 = No permitir al operador archivar la alarma. El valor predeterminado es falso. |
Cfg_HasEqpFdbk | BOOL | No visible | No requerido | Entrada | 1 = El equipo controlado proporciona retroalimentación de ejecución (goteo si se utiliza) y detención. El valor predeterminado es falso. |
Cfg_UseEqpFdbk | BOOL | No visible | No requerido | Entrada | 1 = Usar retroalimentación de ejecución / goteo / detención, 0 = Asumir el estado del equipo. El valor predeterminado es falso. |
Cfg_HasDribble | BOOL | No visible | No requerido | Entrada | 1 = Frenar hasta goteo antes de completarse, 0 = Ejecutar flujo completo hasta completarse. El valor predeterminado es falso. |
Cfg_HasRatePVNav | BOOL | No visible | No requerido | Entrada | 1 = Indica a HMI que un objeto analógico (pai, etc.) se utiliza para Inp_RatePV. El valor predeterminado es falso. |
Cfg_HasMonitoring | BOOL | No visible | No requerido | Entrada | 1 = Permite la monitorización continua sin necesidad de puntos de ajuste. El valor predeterminado es falso. |
Cfg_HasMoreObj | BOOL | No visible | No requerido | Entrada | 1 = Indica al HMI que un objeto con más información está disponible. El valor predeterminado es falso. |
Cfg_HasQtyPVNav | BOOL | No visible | No requerido | Entrada | 1 = Indica a HMI que un objeto analógico (pai, etc.) se utiliza para Inp_QtyPV. El valor predeterminado es falso. |
Cfg_AutoAdjPreact | BOOL | No visible | No requerido | Entrada | 1 = Habilitar el ajuste automático del Punto de ajuste inferior (preact) después de cada entrega. El valor predeterminado es falso. |
Cfg_LossInQty | BOOL | No visible | No requerido | Entrada | 1 = El flujo reduce la cantidad (transferencia de salida), 0 = El flujo aumenta la cantidad (transferencia de entrada). El valor predeterminado es falso. |
Cfg_SetTrack | BOOL | No visible | No requerido | Entrada | 1 = Cuando el propietario es programa, la configuración del operador hace un seguimiento de la configuración del programa. Cuando el propietario es operador, la configuración del programa realiza un seguimiento de las configuraciones del operador y las entradas virtuales coinciden con los valores de salida (las transiciones no tienen perturbaciones), 0 = Sin seguimiento. El valor predeterminado es verdadero. |
Cfg_ShedOnEqpFault | BOOL | No visible | No requerido | Entrada | 1 = Detiene la entrega y la alarma durante fallo de equipo; 0 = Solo alarma durante fallo de equipo. El valor predeterminado es verdadero. |
Cfg_HasOper | BOOL | No visible | No requerido | Entrada | 1 = Existe un operador (desbloqueado), se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_HasOperLocked | BOOL | No visible | No requerido | Entrada | 1 = Existe un operador bloqueado, se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_HasProg | BOOL | No visible | No requerido | Entrada | 1 = Existe un programa (desbloqueado), se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_HasProgLocked | BOOL | No visible | No requerido | Entrada | 1 = Existe un programa bloqueado, se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_HasExt | BOOL | No visible | No requerido | Entrada | 1 = Existe un externo, se puede seleccionar. El valor predeterminado es falso. |
Cfg_HasMaint | BOOL | No visible | No requerido | Entrada | 1 = Existe un mantenimiento, se puede seleccionar. El valor predeterminado es verdadero. |
Cfg_OvrdOverLock | BOOL | No visible | No requerido | Entrada | 1 = La anulación reemplaza al bloqueo de programa/operador, 0 = No se anula el bloqueo. El valor predeterminado es verdadero. |
Cfg_ExtOverLock | BOOL | No visible | No requerido | Entrada | 1 = El externo reemplaza al bloqueo de programa/operador, 0 = No se anula el bloqueo. El valor predeterminado es falso. |
Cfg_ProgPwrUp | BOOL | No visible | No requerido | Entrada | 1 = Se enciende en programa, 0 = Se enciende en operador. El valor predeterminado es falso. |
Cfg_ProgNormal | BOOL | No visible | No requerido | Entrada | Origen normal: 1 = Programa si no hay solicitudes, 0 = Operador si no hay solicitudes. El valor predeterminado es falso. |
Cfg_PCmdPriority | BOOL | No visible | No requerido | Entrada | Prioridad de comando. 1 = Los comandos de programa tienen prioridad, 0 = Los comandos de operador tienen prioridad. El valor predeterminado es falso. |
Cfg_PCmdProgAsLevel | BOOL | No visible | No requerido | Entrada | 1 = PCmd_Prog utilizado como nivel. El valor predeterminado es falso. |
Cfg_PCmdLockAsLevel | BOOL | No visible | No requerido | Entrada | 1 = PCmd_Lock utilizado como nivel (1 = Bloquear, 0 = Desbloquear). El valor predeterminado es falso. |
Cfg_ExtAcqAsLevel | BOOL | No visible | No requerido | Entrada | 1 = XCmd_Acq utilizado como nivel (1 = Adquirir, 0 = Liberar). El valor predeterminado es falso. |
Cfg_AutoAdjPercent | REAL | No visible | No requerido | Entrada | Porcentaje de error de entrega para ajustar automáticamente el Punto de ajuste inferior (preact). Válido = de 0,0 a 100,0 (%) El valor predeterminado es 10,0. |
Cfg_CountsPerEU | REAL | No visible | No requerido | Entrada | Número de conteos en Inp_QtyPV que equivalen a 1,0 unidad de ingeniería. Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 1,0. |
Cfg_EUQtyMult | REAL | No visible | No requerido | Entrada | Régimen para el multiplicador de Unidades de ingeniería de cantidad (por ejemplo, de gal a bbl.). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 1,0. |
Cfg_BumpTime | REAL | No visible | No requerido | Entrada | Tiempo de sacudida (llenado hasta el tope manual). Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 0,0. |
Cfg_ClearPulseTime | REAL | No visible | No requerido | Entrada | Tiempo para enviar un pulso a Out_ClearTot para borrar el totalizador externo. Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 1,0. |
Cfg_FaultTime | REAL | No visible | No requerido | Entrada | Tiempo para que la retroalimentación del equipo siga a la salida antes de un fallo. Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 10,0. |
Cfg_HiFlowRateLim | REAL | No visible | No requerido | Entrada | Límite de la alarma de régimen de flujo alto. Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 3,40E+38. |
Cfg_LoFlowRateLim | REAL | No visible | No requerido | Entrada | Límite de la alarma de régimen de flujo bajo. Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
Cfg_LoRateCutoff | REAL | No visible | No requerido | Entrada | Régimen por debajo del cual se debe reportar flujo cero (Inp_RatePV en unidades de ingeniería/tiempo, consulte Cfg_RateTime). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
Cfg_MaxQty | REAL | No visible | No requerido | Entrada | Cantidad máxima permitida para entregar (punto de ajuste). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 1,50E+38. |
Cfg_RateFiltTimeConst | REAL | No visible | No requerido | Entrada | Constante de tiempo de filtro (seg) para el régimen calculado. Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 0,1. |
Cfg_RateTime | REAL | No visible | No requerido | Entrada | Base de tiempo del índice de cambio (segundos), usar 1,0 para unidades/segundo, 60,0 para unidades/minuto, 3.600,0 para unidades/hora y 86.400,0 para unidades/día. Válido = cualquier punto flotante mayor que cero. El valor predeterminado es 1,0 |
Cfg_Rollover | REAL | No visible | No requerido | Entrada | Rollover de cantidad (por ejemplo, conteo máximo para entrada de pulsos). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
Cfg_SettleTime | REAL | No visible | No requerido | Entrada | Tiempo para permitir que el flujo se detenga antes de habilitar la comprobación de tolerancia. Válido = de 0,0 a 2147483,0 segundos. El valor predeterminado es 1,0. |
Cfg_VirtualRate | REAL | No visible | No requerido | Entrada | Régimen al que se debe entregar cuando se ejecuta en modo virtual (Unidades de ingeniería/tiempo de régimen). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 1,0. |
Cfg_VirtualDribbleRate | REAL | No visible | No requerido | Entrada | Régimen al que se debe realizar el goteo cuando se ejecuta en modo virtual (Unidades de ingeniería/tiempo de régimen). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,1. |
Cfg_eKeepSP | SINT | No visible | No requerido | Entrada | Propiedad del punto de ajuste (enumeración): 0 = sigue a CmdSrc, 1 = Operador, 2 = Programa, 3 = Externo. El valor predeterminado es 0. |
Cfg_eKeepStart | SINT | No visible | No requerido | Entrada | Propiedad de los comandos de inicio (enumeración): 0 = sigue a CmdSrc, 1 = Operador, 2 = Programa, 3 = Externo. El valor predeterminado es 0. |
Cfg_eKeepTol | SINT | No visible | No requerido | Entrada | Comandos de propiedad de la tolerancia (enumeración): 0 = sigue a CmdSrc, 1 = Operador, 3 = Externo. El valor predeterminado es 0. |
Cfg_eKeepDribblePreact | SINT | No visible | No requerido | Entrada | Propiedad de goteo\preactividad (enumeración): 0 = sigue a CmdSrc, 1 = Operador, 2 = Programa, 3 = Externo. El valor predeterminado es 0. |
Cfg_HasHistTrend | SINT | No visible | No requerido | Entrada | Tiene tendencia histórica. Esto permite la navegación a la plantilla de tendencia histórica del dispositivo desde el HMI. Valor de 0 = Sin tendencia histórica externa, 1 = Tendencia histórica de registro de datos, 2 = Tendencia histórica de Historian. El valor predeterminado es 0. |
Cfg_QtyDecPlcs | SINT | No visible | No requerido | Entrada | Número de posiciones decimales para la visualización de la cantidad. Válido = 0,1,2,3,4,5,6. El valor predeterminado es 2. |
Cfg_RateDecPlcs | SINT | No visible | No requerido | Entrada | Número de posiciones decimales para la visualización del régimen. Válido = 0,1,2,3,4,5,6. El valor predeterminado es 2. |
Cfg_CnfrmReqd | SINT | No visible | No requerido | Entrada | 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. |
PCmd_Bump | BOOL | No visible | No requerido | Entrada | Comando de programa para realizar una entrega con perturbaciones si se encuentra en el límite inferior de la tolerancia. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_ClearTot | BOOL | No visible | No requerido | Entrada | Comando de programa para borrar la cantidad del totalizador. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_StartTot | BOOL | No visible | No requerido | Entrada | Comando de programa para iniciar el totalizador. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_StopTot | BOOL | No visible | No requerido | Entrada | Comando de programa para detener el totalizador. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_StartFlow | BOOL | No visible | No requerido | Entrada | Comando de programa para iniciar la entrega. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_StopFlow | BOOL | No visible | No requerido | Entrada | Comando de programa para detener/pausar la entrega. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_CheckTol | BOOL | No visible | No requerido | Entrada | Comando de programa para comprobar tolerancias. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Lock | BOOL | No visible | No requerido | Entrada | 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_Normal | BOOL | No visible | No requerido | Entrada | Comando de programa para seleccionar el origen de comando Normal (operador o programa). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Oper | BOOL | No visible | No requerido | Entrada | 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 | No visible | No requerido | Entrada | 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_Unlock | BOOL | No visible | No requerido | Entrada | 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_Reset | BOOL | No visible | No requerido | Entrada | Comando de programa para restablecer todas las alarmas que requieren que se restablezcan. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Virtual | BOOL | No visible | No requerido | Entrada | Comando de programa para seleccionar la operación virtual (virtualizada). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PCmd_Physical | BOOL | No visible | No requerido | Entrada | Comando de programa para seleccionar la operación física (no virtualizada). La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
PSet_Owner | DINT | No visible | No requerido | Entrada | El propietario del programa solicita el ID (distinto a cero) o su liberación (cero). El valor predeterminado es 0. |
PSet_DribbleQty | REAL | No visible | No requerido | Entrada | Configuración de programa de la cantidad para el goteo (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
PSet_Preact | REAL | No visible | No requerido | Entrada | Configuración de programa de la cantidad antes del total para detener el flujo (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
PSet_SP | REAL | No visible | No requerido | Entrada | Configuración de programa de la cantidad total para entregar en Unidades de ingeniería. Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
PSet_TolHi | REAL | No visible | No requerido | Entrada | Configuración de programa de límite de tolerancia alta (cantidad correcta > SP). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
PSet_TolLo | REAL | No visible | No requerido | Entrada | Configuración de programa de límite de tolerancia baja (cantidad correcta < SP). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
XCmd_Bump | BOOL | No visible | No requerido | Entrada | Comando externo para sacudir la entrega por debajo de la tolerancia. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_ClearTot | BOOL | No visible | No requerido | Entrada | Comando externo para borrar la cantidad del totalizador. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_StartTot | BOOL | No visible | No requerido | Entrada | Comando externo para iniciar el totalizador. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_StopTot | BOOL | No visible | No requerido | Entrada | Comando externo para detener el totalizador. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_StartFlow | BOOL | No visible | No requerido | Entrada | Comando externo para iniciar la entrega. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_StopFlow | BOOL | No visible | No requerido | Entrada | Comando externo para detener/poner en pausa la entrega. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_CheckTol | BOOL | No visible | No requerido | Entrada | Comando externo para comprobar tolerancias. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
XCmd_Reset | BOOL | No visible | No requerido | Entrada | Comando externo para borrar los enclavamientos de restricción y las alarmas borradas. El valor predeterminado es falso. |
XCmd_Acq | BOOL | No visible | No requerido | Entrada | 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 | No visible | No requerido | Entrada | 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_ResetAckAll | BOOL | No visible | No requerido | Entrada | 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. |
XSet_DribbleQty | REAL | No visible | No requerido | Entrada | Configuración de externo de cantidad de goteo (Unidades de ingeniería). El valor predeterminado es 0,0. |
XSet_Preact | REAL | No visible | No requerido | Entrada | Configuración de externo de la cantidad antes del total para detener el flujo (Unidades de ingeniería). El valor predeterminado es 0,0. |
XSet_SP | REAL | No visible | No requerido | Entrada | Configuración de externo de la cantidad total para entregar (Unidades de ingeniería). El valor predeterminado es 0,0. |
XSet_TolHi | REAL | No visible | No requerido | Entrada | Configuración externa de límite de tolerancia alta (cantidad correcta > SP). El valor predeterminado es 0,0. |
XSet_TolLo | REAL | No visible | No requerido | Entrada | Configuración externa de límite de tolerancia baja (cantidad correcta < SP). El valor predeterminado es 0,0. |
Miembros de salida públicos | Tipo de datos | Visibilidad predeterminada del FBD | Cableado FBD requerido | Uso | Descripción |
|---|---|---|---|---|---|
EnableOut | BOOL | No visible | No requerido | Salida | Habilitar salida – Parámetro definido por el sistema |
Out_ClearTot | BOOL | Visible | No requerido | Salida | 1 = Restablecer el totalizador externo (por ejemplo, medidor de flujo del equipo integrado). |
Out_RunTot | BOOL | Visible | No requerido | Salida | 1 = Ejecutar totalizador externo (por ejemplo, medidor de flujo del equipo integrado). |
Out_RunFlow | BOOL | Visible | No requerido | Salida | 1 = Entregar con flujo máximo (rápido). |
Out_StopFlow | BOOL | Visible | No requerido | Salida | 1 = Detener el equipo de entrega. |
Out_DribbleFlow | BOOL | Visible | No requerido | Salida | 1 = Entregar con flujo de goteo (lento). |
Out_Reset | BOOL | No visible | No requerido | Salida | 1 = El comando Restablecer (Reset) se ha recibido y aceptado. |
Out_OwnerSts | DINT | No visible | No requerido | Salida | Estado del origen del comando, handshake del comando del propietario y estado de preparado. 0 = Ninguno, .10 = Bloqueo de operador, .11 = Desbloqueo de operador, .12 = Bloqueo de programa, .13 = Desbloqueo de programa, .14 = Adquirir mantenimiento, .15 = Liberar mantenimiento, .16 = Adquirir externo, .17 = Liberar externo, .18 = Tiene mantenimiento, .19 = Bloqueo de anulación de externo, .20 = Tiene externo, .21 = Tiene operador, .22 = Tiene programa, .30 = No está listo. |
Sts_Initialized | BOOL | No visible | No requerido | Salida | 1 = La instrucción está inicializada. Utilizar Inp_InitializeReq para reinicializar. |
Sts_CalcQty | BOOL | No visible | No requerido | Salida | 1 = Integrar Inp_RatePV para obtener la cantidad, 0 = Utilizar Inp_QtyPV. |
Sts_CalcRate | BOOL | No visible | No requerido | Salida | 1 = Diferenciar Inp_QtyPV para obtener el régimen, 0 = Utilizar Inp_RatePV. |
Sts_Cleared | BOOL | Visible | No requerido | Salida | 1 = Borrado del totalizador finalizado. |
Sts_TotRunning | BOOL | Visible | No requerido | Salida | 1 = Totalizador en ejecución, 0 = Totalizador detenido. |
Sts_FlowStarting | BOOL | No visible | No requerido | Salida | 1 = El flujo se está iniciando (Out_Run está activado, la retroalimentación no muestra la ejecución). |
Sts_FlowRunning | BOOL | Visible | No requerido | Salida | 1 = Flujo en ejecución (Out_Run está activado, la retroalimentación muestra en la ejecución). |
Sts_FlowStopping | BOOL | No visible | No requerido | Salida | 1 = El flujo se está deteniendo (Out_Stop está activado, la retroalimentación no muestra el estado detenido). |
Sts_FlowStopped | BOOL | Visible | No requerido | Salida | 1 = El flujo está detenido (Out_Stop está activado, la retroalimentación muestra el estado detenido). |
Sts_DribbleStarting | BOOL | No visible | No requerido | Salida | 1 = El goteo se está iniciando (Out_Dribble está activado, la retroalimentación no muestra el goteo). |
Sts_FlowDribble | BOOL | Visible | No requerido | Salida | 1 = El flujo está realizando el goteo (Out_Dribble está activado, la retroalimentación muestra el goteo). |
Sts_Bumping | BOOL | No visible | No requerido | Salida | 1 = El flujo con perturbación está activo. |
Sts_InTol | BOOL | No visible | No requerido | Salida | 1 = El total entregado se encuentra dentro de las tolerancias. |
Sts_Complete | BOOL | Visible | No requerido | Salida | 1 = Total entregado > (punto de ajuste - punto de ajuste inferior (preact)). |
Sts_Virtual | BOOL | No visible | No requerido | Salida | 1 = La instrucción continúa generando salidas al equipo de control, pero se omiten las entradas de cantidad y velocidad de flujo, y se utiliza una velocidad de flujo simulada. 0 = La instrucción funciona normalmente. |
Sts_bSrc | INT | No visible | No requerido | Salida | 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_eCmd | SINT | No visible | No requerido | Salida | Comando de dosificación 0 = Ninguno, 1 = Borrar Totalizador, 2 = Iniciar Totalizador, 3 = Iniciar flujo, 4 = Iniciar goteo, 5 = Perturbación, 6 = Detener flujo, 7 = Detener Totalizador. |
Sts_eFdbk | SINT | No visible | No requerido | Salida | Retroalimentación del equipo 0 = Ninguna/transición, 1 = Flujo detenido, 2 = Flujo en ejecución, 3 = Flujo realizando un Control de flujo reducido (dribble), 4 = Virtualizado. |
Sts_eFault | SINT | No visible | No requerido | Salida | Estado de fallo de objeto 0 = Ninguno, 1 = Error: configuración incorrecta, 15 = Fallo de equipo. |
Sts_eNotifyAll | SINT | No visible | No requerido | Salida | 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_eNotify | SINT | No visible | No requerido | Salida | Todos los valores enumerados de 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_eNotifyEqpFault | SINT | No visible | No requerido | Salida | Valores enumerados del estado de alarma de Fallo del equipo: 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_eNotifyHiFlowRate | SINT | No visible | No requerido | Salida | Valores enumerados del estado de alarma de Régimen de flujo alto: 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_eNotifyLoFlowRate | SINT | No visible | No requerido | Salida | Valores enumerados del estado de alarma de Régimen de flujo bajo: 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_eNotifyOverTol | SINT | No visible | No requerido | Salida | Valores enumerados del estado de alarma si se encuentra en el límite superior de la tolerancia: 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_eNotifyUnderTol | SINT | No visible | No requerido | Salida | Valores enumerados del estado de alarma si se encuentra en el límite inferior de la tolerancia: 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_eNotifyZeroFault | SINT | No visible | No requerido | Salida | Valores enumerados del estado de alarma de Fallo cero: 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_eSrc | INT | No visible | No requerido | Salida | 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_eSts | SINT | No visible | No requerido | Salida | Estado de dosificación: 0 = Encendido/restablecer/desconocido, 1 = Detenido, 2 = Ejecución de totalizador, 3 = Ejecución de flujo, 4 = Ejecución de goteo, 5 = Flujo de perturbación. 6 = Flujo iniciándose, 7 = Goteo iniciándose, 8 = Flujo deteniéndose, 15 = Fuera de servicio. |
Sts_UnackAlmCount | SINT | No visible | No requerido | Salida | Conteo de alarmas no confirmadas. |
Sts_Available | BOOL | No visible | No requerido | Salida | 1 = Dosificación disponible para control mediante automatización (programa). |
Sts_MaintByp | BOOL | No visible | No requerido | Salida | 1 = Hay activa una omisión de mantenimiento, mostrar icono. |
Sts_NotRdy | BOOL | No visible | No requerido | Salida | 1 = Objeto no está listo, consulte los bits de detalles para conocer el motivo. |
Sts_NrdyCfgErr | BOOL | No visible | No requerido | Salida | 1 = Objeto no está listo: error de configuración. |
Sts_NrdyEqpFault | BOOL | No visible | No requerido | Salida | 1 = Objeto no está listo: Fallo de equipo externo (la restricción o el fallo requieren restablecimiento). |
Sts_NrdyOoS | BOOL | No visible | No requerido | Salida | 1 = El objeto no está listo: fuera de servicio. |
Sts_NrdyPVBad | BOOL | No visible | No requerido | Salida | 1 = Objeto no está listo: Mala calidad de la PV o fallo de comunicación. |
Sts_Err | BOOL | No visible | No requerido | Salida | 1 = Error en la configuración: Consulte los bits de detalles (Sts_Errxxx) para conocer el motivo. |
Sts_ErrAlm | BOOL | No visible | No requerido | Salida | 1 = Error en la configuración: tiempo de activación mínimo de alarma, tiempo de restricción, gravedad. |
Sts_ErrBumpTime | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_BumpTime inválido. |
Sts_ErrClearPulseTime | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_ClearPulseTime inválido. |
Sts_ErrCountsPerEU | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_CountsPerEU inválido. |
Sts_ErrCutoff | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_Cutoff inválido. |
Sts_ErrEUQtyMult | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_EUQtyMult inválido. |
Sts_ErrFaultTime | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_FaultTime inválido. |
Sts_ErrRateTime | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_RateTime inválido. |
Sts_ErrLim | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_MaxQty inválido. |
Sts_ErrRollover | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_Rollover inválido. |
Sts_ErrRateFiltTimeConst | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_RateFiltTimeConst inválido. |
Sts_ErrSettleTime | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_SettleTime inválido. |
Sts_ErrVirtual | BOOL | No visible | No requerido | Salida | 1 = Error: Cfg_VirtualDribbleRate o Cfg_VirtualRate no válidos. |
Sts_Hand | BOOL | No visible | No requerido | Salida | 1 = Se selecciona mano (reemplaza a fuera de servicio, mantenimiento, anulación, externo, programa, operador). |
Sts_OoS | BOOL | No visible | No requerido | Salida | 1 = Se selecciona fuera de servicio (reemplaza a mantenimiento, anulación, externo, programa, operador). |
Sts_Maint | BOOL | No visible | No requerido | Salida | 1 = Se selecciona mantenimiento (reemplaza a anulación, externo, programa, operador). |
Sts_Ovrd | BOOL | No visible | No requerido | Salida | 1 = Se selecciona anulación (reemplaza a externo, programa, operador). |
Sts_Ext | BOOL | No visible | No requerido | Salida | 1 = Se selecciona externo (reemplaza a programa y operador). |
Sts_Prog | BOOL | No visible | No requerido | Salida | 1 = Se selecciona programa. |
Sts_ProgLocked | BOOL | No visible | No requerido | Salida | 1 = Se selecciona programa y se bloquea. |
Sts_Oper | BOOL | No visible | No requerido | Salida | 1 = Operador está seleccionado. |
Sts_OperLocked | BOOL | No visible | No requerido | Salida | 1 = Se selecciona operador y se bloquea. |
Sts_ProgOperSel | BOOL | No visible | No requerido | Salida | Estado de la selección de programa/operador (enclavamiento): 1 = Programa, 0 = Operador. |
Sts_ProgOperLock | BOOL | No visible | No requerido | Salida | Estado de bloqueo de programa/operador (enclavamiento), 1 = Bloqueado, 0 = Desbloqueado. |
Sts_Normal | BOOL | No visible | No requerido | Salida | 1 = La selección es igual a Normal (programa u operador). |
Sts_ExtReqInh | BOOL | No visible | No requerido | Salida | 1 = Solicitud de externo inhibida, no se puede acceder a externo desde el estado actual. |
Sts_ProgReqInh | BOOL | No visible | No requerido | Salida | 1 = Solicitud de programa inhibida, no se puede acceder a programa desde el estado actual. |
Sts_MAcqRcvd | BOOL | No visible | No requerido | Salida | 1 = El comando de adquisición de mantenimiento ha recibido este escaneado. |
Sts_Alm | BOOL | Visible | No requerido | Salida | 1 = Una alarma está activa. |
Sts_AlmInh | BOOL | No visible | No requerido | Salida | 1 = Una o más alarmas se han restringido, inhabilitado o suprimido. |
Sts_EqpFault | BOOL | No visible | No requerido | Salida | 1 = Fallo de equipo detectado. |
Sts_HiFlowRate | BOOL | No visible | No requerido | Salida | 1 = Alarma de régimen de flujo alto. |
Sts_LoFlowRate | BOOL | No visible | No requerido | Salida | 1 = Alarma de régimen de flujo bajo. |
Sts_LoRateCutoff | BOOL | No visible | No requerido | Salida | 1 = Régimen de PV por debajo del régimen de corte bajo, se asume que el flujo es cero. |
Sts_OverTol | BOOL | No visible | No requerido | Salida | 1 = Entrega fuera de la tolerancia alta. |
Sts_UnderTol | BOOL | No visible | No requerido | Salida | 1 = Entrega fuera de la tolerancia baja. |
Sts_ZeroFault | BOOL | No visible | No requerido | Salida | 1 = El totalizador no se borró o el flujo es inesperado. |
Sts_QtyBad | BOOL | No visible | No requerido | Salida | 1 = El valor de cantidad es incorrecto (fallo de PV). |
Sts_QtyUncertain | BOOL | No visible | No requerido | Salida | 1 = El valor de cantidad es incierto. |
Sts_RateBad | BOOL | No visible | No requerido | Salida | 1 = El valor de régimen es incorrecto (fallo de PV). |
Sts_RateUncertain | BOOL | No visible | No requerido | Salida | 1 = El valor de régimen es incierto. |
Sts_RdyAck | BOOL | No visible | No requerido | Salida | 1 = Una alarma está lista para confirmarse. |
Sts_RdyReset | BOOL | No visible | No requerido | Salida | 1 = Una condición de alarma enclavada o restringida está lista para ser restablecida. |
Val_SP | REAL | Visible | No requerido | Salida | Cantidad a entregar (punto de ajuste) (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. |
Val_Remain | REAL | Visible | No requerido | Salida | Cantidad pendiente de entrega para alcanzar el punto de ajuste (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. |
Val_PercentComplete | REAL | Visible | No requerido | Salida | Porcentaje completo (para la barra de progreso en HMI) Válido = de 0,0 a 100,0. |
Val_QtyPV | REAL | No visible | No requerido | Salida | Cantidad de la báscula o del medidor de flujo (Unidades de ingeniería o conteo de pulsos). Válido = de 0,0 a flotante positivo máximo. |
Val_Qty | REAL | Visible | No requerido | Salida | Cantidad realmente entregada (salida del totalizador) (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. |
Val_RatePV | REAL | No visible | No requerido | Salida | Régimen de flujo del medidor de flujo (Unidades de ingeniería/tiempo, consulte Cfg_RateTime). Válido = de 0,0 a flotante positivo máximo. |
Val_Rate | REAL | Visible | No requerido | Salida | Régimen de entrega actual (Unidades de ingeniería/tiempo) (consulte Cfg_RateTime). Válido = de 0,0 a flotante positivo máximo. |
Val_DribbleQty | REAL | Visible | No requerido | Salida | Cantidad a entregar a régimen bajo (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. |
Val_Preact | REAL | Visible | No requerido | Salida | Cantidad antes del punto de ajuste en el que se detendrá el flujo (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. |
Val_TolHi | REAL | Visible | No requerido | Salida | Cantidad permitida > Punto de ajuste (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. |
Val_TolLo | REAL | Visible | No requerido | Salida | Cantidad permitida < Punto de ajuste (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. |
Val_Owner | DINT | No visible | No requerido | Salida | ID del propietario del objeto actual (0 = sin propietario). |
SrcQ | SINT | No visible | No requerido | Salida | Origen y calidad del valor o del estado primario (enumerado): 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 en el 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 no válida |
SrcQ_IO | SINT | No visible | No requerido | Salida | Origen y calidad de la entrada o de la salida primaria (enumerada): 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 en el 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 no válida |
XRdy_Acq | BOOL | No visible | No requerido | Salida | 1 = Listo para XCmd_Acq, habilitar el botón de HMI. |
XRdy_Rel | BOOL | No visible | No requerido | Salida | 1 = Listo para XCmd_Rel, habilitar el botón de HMI. |
XRdy_Reset | BOOL | No visible | No requerido | Salida | 1 = Listo para XCmd_Reset, habilitar el botón de HMI. |
XRdy_ResetAckAll | BOOL | No visible | No requerido | Salida | 1 = Listo para XCmd_ResetAckAll, habilitar el botón de HMI. |
Miembros de entrada privados | Tipo de datos | Descripción |
|---|---|---|
CmdSrc | P_COMMAND_SOURCE | Selección del origen de comando / control. |
MCmd_Acq | BOOL | Comando de mantenimiento para adquirir la propiedad (de operador/programa/externo/anulación a mantenimiento). 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_OoS | BOOL | Comando de mantenimiento para seleccionar fuera de servicio. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
MCmd_Physical | BOOL | Comando de mantenimiento para seleccionar la operación física (no virtualizada) 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_Virtual | BOOL | Comando de mantenimiento para seleccionar la operación virtual (virtualizada) El valor predeterminado es falso. |
OCmd_Bump | BOOL | Comando de operador para sacudir la entrega por debajo de la tolerancia. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_CheckTol | BOOL | Comando de operador para comprobar las tolerancias. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_ClearTot | BOOL | Comando de operador para borrar la cantidad del totalizador. 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_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_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_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. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_StartFlow | BOOL | Comando de operador para iniciar la entrega. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_StartTot | BOOL | Comando de operador para iniciar el totalizador. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_StopFlow | BOOL | Comando de operador para detener/pausar la entrega. La instrucción borra este operando automáticamente. El valor predeterminado es falso. |
OCmd_StopTot | BOOL | Comando de operador para detener el totalizador. 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. |
OSet_DribbleQty | REAL | Configuración de operador de la cantidad de goteo (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
OSet_Preact | REAL | Configuración de operador de la cantidad previa al total en la que se debe detener el flujo (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
OSet_SP | REAL | Configuración de operador de la cantidad total a entregar (Unidades de ingeniería). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
OSet_TolHi | REAL | Configuración de operador de límite de tolerancia alta (cantidad correcta > SP). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
OSet_TolLo | REAL | Configuración de operador de límite de tolerancia baja (cantidad correcta < SP). Válido = de 0,0 a flotante positivo máximo. El valor predeterminado es 0,0. |
Miembros de salida privados | Tipo de datos | Descripción |
|---|---|---|
HMI_BusObjIndex | DINT | Régimen de objeto de bus HMI El valor predeterminado es 0. |
MRdy_Acq | BOOL | 1 = Listo para MCmd_Acq, habilitar el botón de HMI. |
MRdy_IS | BOOL | 1 = Listo para MCmd_IS, habilitar el botón de HMI. |
MRdy_OoS | BOOL | 1 = Listo para MCmd_OoS, habilitar el botón de HMI. |
MRdy_Physical | BOOL | 1 = Listo para MCmd_Physical, habilitar botón de HMI. |
MRdy_Rel | BOOL | 1 = Listo para MCmd_Rel, habilitar el botón de HMI. |
MRdy_Virtual | BOOL | 1 = Listo para MCmd_Virtual, habilitar botón de HMI. |
ORdy_Bump | BOOL | 1 = Listo para OCmd_Bump (habilitar el botón de HMI). |
ORdy_CheckTol | BOOL | 1 = Listo para OCmd_CheckTol (habilitar el botón de HMI). |
ORdy_ClearTot | BOOL | 1 = Listo para OCmd_ClearTot (habilitar el botón de HMI). |
ORdy_DribblePreact | BOOL | 1 = Listo para OSet_DribblePreact (habilita el campo de entrada de HMI). |
ORdy_Lock | BOOL | 1 = Listo para OCmd_Lock, habilitar el botón de HMI. |
ORdy_Normal | BOOL | 1 = Listo para OCmd_Normal, habilitar el 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_Reset | BOOL | 1 = Listo para OCmd_Reset (habilitar el botón de HMI). |
ORdy_ResetAckAll | BOOL | 1 = Listo para OCmd_ResetAckAll (habilitar el botón de HMI). |
ORdy_SP | BOOL | 1 = Listo para OSet_SP (habilitar el campo de entrada HMI). |
ORdy_StartFlow | BOOL | 1 = Listo para OCmd_StartFlow (habilitar el botón de HMI). |
ORdy_StartTot | BOOL | 1 = Listo para OCmd_StartTot (habilitar el botón de HMI). |
ORdy_StopFlow | BOOL | 1 = Listo para OCmd_StopFlow (habilitar el botón de HMI). |
ORdy_StopTot | BOOL | 1 = Listo para OCmd_StopTot (habilitar el botón de HMI). |
ORdy_Tol | BOOL | 1 = Listo para OSet_Tol (habilitar el campo de entrada HMI). |
ORdy_Unlock | BOOL | 1 = Listo para OCmd_Unlock, habilitar el botón de HMI. |
Sts_ErrInpSrc | BOOL | 1 = Error: Origen de entrada inválido. Ninguna PV de régimen o de cantidad conectada |
Miembros InOut públicos | Tipo de datos | Visibilidad predeterminada del FBD | Cableado FBD requerido | Uso | Descripción |
|---|---|---|---|---|---|
Inp_QtyPV | REAL | Visible | Requerido | InOut | Cantidad de la báscula o del medidor de flujo (Unidades de ingeniería o conteo de pulsos). Válido = de 0,0 a flotante positivo máximo. |
Inp_RatePV | REAL | Visible | Requerido | InOut | Régimen de flujo del medidor de flujo (Unidades de ingeniería/tiempo, consulte Cfg_RateTime). Válido = de 0,0 a 2147483,0 segundos. |
BusObj | BUS_OBJ | Visible | Requerido | InOut | Componente de bus |
Estructura de BUS_OBJ
Utilice los parámetros InOut para vincular la Instrucción a etiquetas externas que contengan los datos necesarios para que la instrucción funcione. Estas etiquetas externas deben ser del tipo de datos mostrado o deben ser NULAS (NULL). Todos los parámetros públicos InOut para esta instrucción pueden ser NULOS (NULL).
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_EqpFault | Alm_EqpFault | Fallo de equipo. Se activa cuando la entrada Inp_CtrldEqpFault es verdadera o cuando las señales de retroalimentación del equipo no hacen el seguimiento del estado del equipo solicitado por el comando dentro del tiempo configurado. Si un fallo del equipo se configura como un fallo de restricción, el flujo se detiene y se requiere un restablecimiento para reanudar el flujo. |
Sts_HiFlowRate | Alm_HiFlowRate | Por encima del límite alto. Se activa cuando el régimen de flujo supera el límite del régimen de flujo alto, por un periodo de tiempo configurado. |
Sts_LoFlowRate | Alm_LoFlowRate | Por debajo del límite bajo. Se activa cuando el régimen de flujo no supera el límite del régimen de flujo bajo, por un periodo de tiempo configurado. |
Sts_OverTol | Alm_OverTol | Por encima del límite superior de la tolerancia. Se activa cuando se realiza una comprobación de tolerancia y la cantidad entregada supera el punto de ajuste por encima del umbral de tolerancia alta. |
Sts_UnderTol | Alm_UnderTol | Por debajo del límite inferior de la tolerancia. Se activa cuando se realiza una comprobación de tolerancia y la cantidad entregada no supera el punto de ajuste por encima del umbral de tolerancia baja. |
Sts_ZeroFault | Alm_ZeroFault | Fallo cero. Se activa si la dosificación no se ha borrado o si la dosificación se ha borrado pero luego registra el flujo antes de que el flujo reciba el comando para comenzar. |
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:
Tag.@Alarms.AlarmName.AlarmElement
PDOSETag.@Alarms.AlarmName.AlarmElement
La instrucción PDOSE gestiona las condiciones de alarma descritas en los siguientes casos de uso y condiciones:
- Fallo de equipo - se activa cuando la entrada Inp_CtrldEqpFault es verdadera o cuando las señales de retroalimentación del equipo no hacen el seguimiento del estado del equipo solicitado por el comando dentro del tiempo configurado. Si un fallo del equipo se configura como un fallo de restricción, el flujo se detiene y se requiere un restablecimiento para reanudar el flujo.
- Por encima del límite alto - se activa cuando el régimen de flujo supera el límite del régimen de flujo alto, por un periodo de tiempo configurado.
- Por debajo del límite bajo - se activa cuando el régimen de flujo no supera el límite del régimen de flujo bajo, por un periodo de tiempo configurado.
- Por encima del límite superior de la tolerancia- se activa cuando se realiza una comprobación de tolerancia y la cantidad entregada supera el punto de ajuste por encima del umbral de tolerancia alta.
- Por debajo del límite inferior de la tolerancia - se activa cuando se realiza una comprobación de tolerancia y la cantidad entregada no supera el punto de ajuste por encima del umbral de tolerancia baja.
- Fallo cero - Se activa si la dosificación no se ha borrado o si la dosificación se ha borrado pero luego registra el flujo antes de que el flujo reciba el comando para comenzar.
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 PDOSE.

Operación
Este diagrama muestra la funcionalidad de la instrucción PDOSE:

El comando de operador solicita confirmación
La instrucción PDOSE habilita estas solicitudes de comando del operador:
- OCmd _Bump
- OCmd_CheckTol
- OCmd_ClearTot
- OCmd_StartFlow
- OCmd_StartTot
- OCmd_StopFlow
- OCmd_StopTot
- OSet_DribbleQty
- OSet_Preact
- OSet_SP
- OSet_TolHi
- OSetTolLo
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 de OCmd_CmdCnfrm=1 y/o la cancelación. Cuando 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. Utilice PCmd_Virtual o MCmd_Virtual para habilitar la virtualización. Después de finalizar la virtualización, utilice PCmd_Physical o MCmd_Physical para volver al funcionamiento normal (dispositivo físico).
Cuando la virtualización está activa, la instrucción continúa generando salidas para controlar el equipo, pero se ignoran las entradas de cantidad de flujo y caudal y se utiliza un caudal simulado. La instrucción puede emular un régimen en el que se debe realizar el goteo y un régimen al que se debe entregar cuando se ejecuta en modo virtual.
ADVERTENCIA:
Para evitar arrancar el equipo durante la virtualización, las instrucciones de equipo descendente deben ponerse en virtual para que sus salidas se mantengan en el estado seguro. En caso contrario, podrían ocasionarse daños personales o daños en el equipo.
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 (
FactoryTalk View
) y para el cuadro de diálogo de configuración de Logix Designer
. Las cadenas están establecidas para las propiedades extendidas de los elementos de etiqueta. Configure las cadenas solo en 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
- Más información
- PV de cantidad de entrada
- PV de Régimen de entrada
- Unidades de PV de cantidad
- Unidades de PV de régimen
- Texto de la alarma de fallo de equipo
- Texto de la alarma de régimen de flujo alto
- Texto de la alarma de régimen de flujo bajo
- Texto de la alarma si se encuentra en el límite superior de la tolerancia
- Texto de la alarma si se encuentra en el límite inferior de la tolerancia
- Texto de la alarma de fallo cero
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. Este es el origen del comando de mayor prioridad. |
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. Este es el origen del comando de menor prioridad. |
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 es el predeterminado del 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. Por 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 PDOSE
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. Cualquier comando que se reciba antes del primer escaneo es descartado. |
Primera ejecución de instrucción | Cualquier comando recibido antes del primer escaneo es descartado. |
La condición de entrada de renglón es falsa | Cualquier comando que se reciba es descartado. Todas las alarmas se han borrado. El origen del comando se notifica como Programa fuera de servicio. El régimen mostrado se establece en cero. Las salidas al equipo controlado están desactivadas. Otros parámetros de salida (valores y estado) mantienen su último valor. |
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. Cualquier comando que se reciba antes del primer escaneo es descartado. |
Primera ejecución de instrucción | Cualquier comando recibido antes del primer escaneo es descartado. |
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. 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 | Consulte Pre-escaneado en la tabla Diagrama de bloque de funciones. |
Primera ejecución de instrucción | Consulte la primera ejecución de la instrucción en la tabla Diagrama de bloque de funciones. |
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
Este ejemplo muestra una entrada de un medidor de flujo (I_PDT_2) que está conectada a un bloque P_AInAdv para la conversión de la presión diferencial en flujo. La PV que representa el flujo (Valor desde P_AInAdv) es la entrada para la instrucción PDOSE (Inp_RatePV). La instrucción PDOSE (Inp_RatePVBad) también utiliza Sts_PVBad para el valor de flujo. Las salidas de la instrucción PDOSE (Out_RunFlow y Out_DribbleFLow) se utilizan como entradas a un motor de dos velocidades (P_Motor2Spd). RunFlow y DribbleFlow están conectados a PCmd_RunFast y PCmd_RunSlow, respectivamente. Las salidas de estado del motor para Detenido (Sts_Stopped), Marcha lenta (Sts_RunningSlow) y Marcha rápida (Sts_RunningFast) se reconectan al bloque PDOSE como entradas Inp_StopFdbk, Inp_DribbleFdbk e Inp_RunFdbk.
Diagrama de lógica de escalera


Diagrama de bloque de funciones


Texto estructurado
FI_01.Inp_PVData:=I_PDT_2;
PAI(FI_01,0);
FQIC_01.Inp_RatePVBad:=FI_01.Sts_PVBad;
PDOSE(FQIC_01, 0, FI_01.Val, 0);
PMTR_01.PCmd_Start1:=FQIC_01.Out_DribbleFlow;
PMTR_01.PCmd_Start2:=FQIC_01.Out_RunFlow;
PMTR_01.PCmd_Stop:=FQIC_01.Out_StopFlow;
PMTR(PMTR_01, 0, 0, 0, 0, 0);
FQIC_01.Inp_DribbleFdbk:=PMTR_01.Sts_Running1;
FQIC_01.Inp_RunFdbk:=PMTR_01.Sts_Running2;
FQIC_01.Inp_StopFdbk:=PMTR_01.Sts_Stopped;
Entregue su opinión