Procesamiento de retroalimentación PAO
La instrucción Procesar salida analógica (Process Analog Output, PAO) evalúa las señales de retroalimentación de los interruptores de límite proporcionadas por el dispositivo. La instrucción informa que el dispositivo está abierto en una de estas condiciones:
- La instrucción está en virtual y el interruptor de límite abierto está usado y activado.
- La instrucción no es virtual, el interruptor de límite abierto no está usado, el límite cerrado está usado pero no está activado.
- La instrucción es virtual y Val_Pos > Cfg_MaxClosedPos.
- No hay un interruptor de límite en uso y Val_Pos > Cfg_MaxClosedPos.
La instrucción informa que el dispositivo está cerrado en una de las siguientes condiciones:
- La instrucción no es virtual, el interruptor de límite cerrado está usado y activado.
- La instrucción no es virtual, el interruptor de límite abierto está usado y no está activado, el interruptor de límite cerrado no está usado.
- La instrucción está en virtual y Val_Pos ≤ Cfg_MaxClosedPos.
- No hay un interruptor de límite en uso y Val_Pos ≤ Cfg_MaxClosedPos.
En este diagrama se muestra la lógica de la instrucción utilizada en el procesamiento de la retroalimentación de los interruptores de límite y la posición confirmada del dispositivo/accionador.

Estos diagramas muestran la lógica del fallo de E/S (I/O), el fallo del dispositivo y la desviación de las condiciones de la alarma fuera de rango:



Salida de pulsos
La instrucción PAO se puede utilizar en conexión con un dispositivo accionado por pulsos, normalmente una válvula, si la instrucción está configurada para salidas de pulso (Cfg_HasPulseOut=1). La instrucción genera pulsos con duración modulada por el error de posición, diferencia (Val_Dev) entre la posición deseada calculada por la instrucción (Val_CVOut) y la posición real confirmada por el dispositivo (Val_Pos). La posición real es provista por el dispositivo a través de la retroalimentación (Inp_PosFdbk) o simulada por la instrucción si la retroalimentación física no está disponible o no se utiliza.
Los pulsos se generan en ciclos, un pulso por ciclo. Los pulsos no pueden ser demasiado cortos ni demasiado largos para minimizar el desgaste del equipo, el dispositivo o el accionador. Estas limitaciones de tiempo se definen por el usuario como Cfg_MinOnTime y Cfg_MaxOnTime. La duración del ciclo Cfg_CycleTime también está definida por el usuario.
La instrucción utiliza tres parámetros asociados al comportamiento asumido del dispositivo o del accionador, la velocidad a la que se mueve el dispositivo al abrir Cfg_OpenRate, la velocidad a la que se mueve el dispositivo al cerrar Cfg_CloseRate y el retardo Cfg_DeadTime en la reacción del dispositivo o del accionador cuando se le ordena al dispositivo o al accionador que se abra o se cierre. Si el dispositivo o el accionador responde al pulso de apertura o cierre con retardo, por ejemplo, debido a la fricción estática, deberá compensar por el retardo introduciendo Cfg_DeadTime. Un retardo no compensado da como resultado un error de posición de estado estable.
IMPORTANTE:
Si no se establecen valores correctos para Cfg_OpenRate, Cfg_CloseRate y Cfg_DeadTime pueden producirse movimientos no deseados del dispositivo o del accionador.
La lógica de pulsación proporciona funcionalidad de un lazo de control de posición. El ancho del pulso se calcula para un ciclo.
Para Val_Dev /DIAGRAM_PATH_SPECIFIER>0 el tiempo de pulso abierto se calcula de la siguiente manera:
PulseDuration = mín(Val_Dev/Cfg_OpenRate + Cfg_DeadTime, Cfg_MaxOnTime),
Val_OpenTime = PulseDuration, para PulseDuration ≥ Cfg_MinOnTime,
Val_OpenTime = 0, para PulseDuration < Cfg_MinOnTime.
Para Val_Dev <0 el tiempo de cierre de pulsos se calcula de la siguiente manera:
PulseDuration = mín(-Val_Dev/Cfg_CloseRate + Cfg_DeadTime, Cfg_MaxOnTime),
Val_CloseTime = PulseDuration, para PulseDuration ≥ Cfg_MinOnTime,
Val_CloseTime = 0, para PulseDuration < Cfg_MinOnTime.
Estos diagramas muestran ejemplos de la respuesta del dispositivo/accionador al avanzar en la posición deseada, Val_CVOut, para distintos ajustes de los parámetros de configuración.
Este diagrama muestra a OpenTime durante un ciclo que resulta de la configuración real de los parámetros de la instrucción. Se muestran tres casos con relaciones distintas entre las Cfg_OpenRate introducidas en comparación con el régimen de apertura real del dispositivo/accionador.

Cuando el dispositivo comienza a moverse o invierte la dirección, la instrucción retarda los Val_Pos calculados por el tiempo muerto configurado (Cfg_DeadTime).
Esta figura muestra a OpenTime en un ciclo que resulta de la configuración real de los parámetros de la instrucción y un dispositivo o accionador que responde al comando con retardo. El diagrama muestra dos casos: retardo ignorado y retardo compensado.

Las figuras siguientes muestran una secuencia de pulsos para varios ajustes de parámetros de instrucción y el comportamiento del accionador. En este diagrama, la velocidad constante del accionador es igual a Cfg_OpenRate o Cfg_CloseRate cuando está en movimiento.

Cuando la velocidad configurada Cfg_OpenRate es más rápida que la velocidad física del dispositivo y el dispositivo proporciona la retroalimentación de la posición, la respuesta de posición difiere. El pulso de apertura se acorta cuando se acerca a la posición deseada hasta que viola el valor A tiempo mínimo configurado (Cfg_MinOnTime), evitando que la instrucción siga enviando pulsos.
No utilice la función de pulso de la instrucción cuando no se utiliza la retroalimentación de posición, Val_Pos es calculada por la instrucción y la velocidad configurada Cfg_OpenRate difiere de la velocidad física del dispositivo.

IMPORTANTE:
El tiempo de escaneado de la instrucción debe ser mucho más corto que el de Cfg_CycleTime. Si no se cumple esta recomendación, se puede producir un movimiento no deseado del dispositivo o del accionador.
Estas figuras muestran cómo un tiempo de escaneado mayor afecta a los movimientos del dispositivo o del accionador provocados por las salidas de pulsos de la instrucción.


La relación entre las configuraciones de límite asociadas y la posición del dispositivo o del accionador se muestra en la figura a continuación para las señales provistas por los interruptores de límite normalmente abiertos.

Simulación de la retroalimentación de posición
Cuando la retroalimentación de posición Inp_PosFdbk no está disponible, se calcula la posición Val_Pos. En virtual, o si la retroalimentación de posición no está disponible, la retroalimentación de posición se calcula a partir de la última posición de escaneado, el tiempo de escaneado real y la velocidad de apertura (cerrado) configurada:
Val_Pos = Val_Pos + ScanTime*Cfg_OpenRate cuando se abre,
Val_Pos = Val_Pos - ScanTime*Cfg_CloseRate cuando se cierra,
Val_Pos = máx(mín(Val_Pos,Cfg_CVEUMax),Cfg_CVEUMin).
Cuando no está en virtual y cuando la retroalimentación de posición no está disponible, la instrucción depende de la disponibilidad del interruptor de límite para restablecer la posición calculada cuando se alcanzan los límites. Val_Pos está configurado en Cfg_CVEUMax si el interruptor de límite Abierto está activado y el interruptor de límite Cerrado no está activo o no está en uso. Val_Pos está configurado en Cfg_CVEUMin si el interruptor de límite Cerrado está activado y el interruptor de límite Abierto no está activo o no está en uso.
Sacudida (Bumping)
La instrucción puede solicitar al dispositivo que incremente su posición sin la retroalimentación de posición. El usuario solicita una sacudida para emitir un pulso en la salida. Se activa la salida de pulsos por un tiempo configurable Cfg_BumpTime ≤ Cfg_CycleTime, tal como se muestra en la siguiente figura.
La instrucción está lista para ejecutar el comando abrir con sacudida o cerrar con sacudida cuando:
- El temporizador de perturbaciones es mayor que cero (cero deshabilita la función de perturbaciones) y
- La retroalimentación de posición es infinita, no es un número, hay un fallo de E/S (I/O) o hay un fallo del dispositivo y
- El dispositivo se encuentra en el modo de operador o mantenimiento y
- La operación de perturbaciones anterior no está activa y
- El dispositivo no está al final del recorrido o el interruptor de límite no está en uso para la dirección de destino del recorrido.

El comando de operador solicita confirmación
La instrucción PAO permite a un operador utilizar la configuración del operador OSet_CV y las solicitudes de comandos OCmd_BumpOpen, OCmd_BumpClose. 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 de OCmd_CmdCncl=1. Si Cfg_CnfrmReqd=2 o 3, se necesita una firma electrónica antes de habilitar la confirmación y la cancelación.
Entregue su opinión