Procesar grupo de motores avance/retardo/en espera (PLLS)

Esta información se aplica a los controladores CompactLogix 5380P, ControlLogix 5580P y ControlLogix 5590P.
La instrucción Procesar grupo de motores avance/retardo/en espera (PLLS) proporciona el control de un grupo de motores en paralelo, como un conjunto de bombas con un origen de entrada y un destino de descarga comunes. El número de motores a ejecutar depende de la demanda del sistema. El grupo se puede configurar para que conste de 2 a 30 motores. La demanda mínima se puede establecer en un valor mínimo de 0, de modo que todos los motores se detengan con una demanda mínima. El valor máximo que se puede establecer para la demanda máxima es la cantidad de bombas que tenga el grupo.
Utilice la instrucción PLLS para:
  • Controlar y monitorizar un grupo de 2 a 30 motores.
  • Iniciar y detener un grupo usando la funcionalidad de operador, programa y anulación.
  • Permitir que el operador o el programa especifiquen una demanda (el número de motores que ejecutar).
  • Configurar la demanda máxima (de 1 al número de motores en el grupo).
  • Configurar la demanda mínima (de 0 a la máxima demanda).
  • Configurar la detención del último motor que se ha iniciado o el primer motor que se ha iniciado (primero en activar-último en desactivar o último en activar-último en desactivar).
  • Configurar el retardo entre los inicios y configurar el retardo entre las detenciones.
  • Utilizar los comandos Iniciar (Start) y Detener (Stop) para iniciar o detener los motores como un grupo. El retardo entre los inicios o las detenciones se puede configurar para secuenciar los motores.
  • Iniciar o detener los motores según sea necesario para cumplir con la demanda introducida.
  • Identificar (y, opcionalmente, activar una alarma) cuando no haya suficientes motores disponibles para iniciar (en modo programa y listos para ejecutar) para satisfacer las demandas dadas.
  • Identificar (y, opcionalmente, activar una alarma) cuando no haya suficientes motores disponibles para detener (en modo programa y listos para detener) para satisfacer las demandas dadas.
  • Capacidad para rotar la lista de motores (degradar el primero y promover el resto).
  • Monitorizar las condiciones de permiso para permitir el inicio del grupo de motores.
  • Monitorizar las condiciones de enclavamiento para detener o evitar que se inicie el grupo de motores.
  • Alarma si las condiciones de enclavamiento hacen que se detenga el grupo.
  • Utilizar el camino de navegación de HMI para Alarma inhibida, Configuración incorrecta, No está listo y Omisión de mantenimiento activa.
  • Utilizar el estado Disponible en la lógica de automatización para determinar si el grupo de motores se puede controlar mediante otros objetos.
Idiomas disponibles
Diagrama de lógica de escalera
PLLS_available_ladder
Diagrama de bloque de funciones
PLLS_available_FBD
Texto estructurado
PLLS (PLLS tag, Ref_Motors tag, BusObj tag);
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
En esta tabla se describen los operandos de configuración PLLS.
Operando
Tipo
Formato
Descripción
PlantPAx Control
P_LEAD_LAG_STANDBY
etiqueta
Estructura de datos requerida para el funcionamiento adecuado de la instrucción.
Ref_Motors
P_LEAD_LAG_STANDBY_MOTOR
etiqueta
Matriz de interfaz del motor.
BusObj
BUS_OBJ
etiqueta
Componente de bus.
Estructura de P_LEAD_LAG_STANDBY
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.
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
Habilita la entrada. Diagrama de lógica de escalera. Corresponde a la condición de entrada de renglón.
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. Utilice esta solicitud cuando sea necesario 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_PermOK
BOOL
Visible
No requerido
Entrada
1 = Permisivos de arranque correctos, el grupo puede arrancar.
El valor predeterminado es verdadero.
Inp_NBPermOK
BOOL
Visible
No requerido
Entrada
1 = Permisivos de arranque no evitables correctos, el grupo puede arrancar.
El valor predeterminado es verdadero.
Inp_IntlkOK
BOOL
Visible
No requerido
Entrada
1 = Enclavamientos correctos, el grupo puede arrancar/ponerse en marcha.
El valor predeterminado es verdadero.
Inp_NBIntlkOK
BOOL
Visible
No requerido
Entrada
1 = Enclavamientos no evitables correctos, el grupo puede arrancar/ponerse en marcha.
El valor predeterminado es verdadero.
Inp_IntlkAvailable
BOOL
Visible
No requerido
Entrada
1 = Disponibilidad de enclavamiento correcta.
El valor predeterminado es falso.
Inp_IntlkTripInh
BOOL
Visible
No requerido
Entrada
1 = Estado de activación de enclavamiento inhibido.
El valor predeterminado es falso.
Inp_RdyReset
BOOL
Visible
No requerido
Entrada
1 = El objeto relacionado, restablecido por este objeto, está listo para ser restablecido.
El valor predeterminado es falso.
Inp_Hand
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Inp_Ovrd
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Inp_OvrdDemand
DINT
Visible
No requerido
Entrada
Configuración del modo de anulación para el número de motores que se deben ejecutar (MinDemand.. MaxDemand).
El valor predeterminado es 0.
Inp_OvrdCmd
DINT
Visible
No requerido
Entrada
Comando de modo de anulación: 0 = Ninguno, 1 = Grupo de detención, 2 = Grupo de inicio, 3 = Rotar asignaciones.
El valor predeterminado es 0.
Inp_ExtInh
BOOL
Visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Inp_Reset
BOOL
No visible
No requerido
Entrada
1 = Restablecer todas las condiciones de fallo y alarmas retenidas.
El valor predeterminado es falso.
Cfg_AllowDisable
BOOL
No visible
No requerido
Entrada
1 = Permite que el mantenimiento deshabilite las alarmas.
El valor predeterminado es verdadero.
Cfg_AllowShelve
BOOL
No visible
No requerido
Entrada
1 = Permite al operador archivar alarmas.
El valor predeterminado es verdadero.
Cfg_NumMotors
DINT
No visible
No requerido
Entrada
Número de motores en este Grupo Avance / Retardo / En Espera. Válido = de 2 a 30.
El valor predeterminado es 3.
Cfg_MaxDemand
DINT
No visible
No requerido
Entrada
Número máximo de motores a ejecutar. Válido = de 1 a Cfg_NumMotors.
El valor predeterminado es 2.
Cfg_MinDemand
DINT
No visible
No requerido
Entrada
Número mínimo de motores a ejecutar. Válido = de 0 al Cfg_MaxDemand.
El valor predeterminado es 0.
Cfg_StartDly
REAL
No visible
No requerido
Entrada
Tiempo (segundos) después del inicio o la detención hasta que el siguiente inicio esté permitido (0..2 M segundos). Válido = de 0,0 a 2147483,0.
El valor predeterminado es 10,0.
Cfg_StopDly
REAL
No visible
No requerido
Entrada
Tiempo (segundos) después del inicio o la detención hasta que la siguiente detención esté permitida (0..2 M segundos). Válido = de 0,0 a 2147483,0.
El valor predeterminado es 10,0.
Cfg_FirstOnFirstOff
BOOL
No visible
No requerido
Entrada
1 = El primer motor iniciado es el primer motor detenido, 0 = El primer motor iniciado es el último detenido.
El valor predeterminado es falso.
Cfg_AllowRotate
BOOL
No visible
No requerido
Entrada
1 = Comando Permitir rotación (primer ciclo) para rotar las asignaciones del motor.
El valor predeterminado es verdadero.
Cfg_RotateOnStop
BOOL
No visible
No requerido
Entrada
1 = Rotar (del primer ciclo al final de la lista) al detener todos los motores.
El valor predeterminado es verdadero.
Cfg_HasPermObj
BOOL
No visible
No requerido
Entrada
1 = Indica a HMI que un objeto está conectado a entradas de permisos.
El valor predeterminado es falso.
Cfg_HasIntlkObj
BOOL
No visible
No requerido
Entrada
1 = Indica a HMI que un objeto está conectado a las entradas de enclavamiento.
El valor predeterminado es falso.
Cfg_HasMoreObj
BOOL
No visible
No requerido
Entrada
1 = Indica a HMI que hay un objeto con más información disponible.
El valor predeterminado es falso.
Cfg_HasNav01
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 1.
El valor predeterminado es falso.
Cfg_HasNav02
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 2.
El valor predeterminado es falso.
Cfg_HasNav03
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 3.
El valor predeterminado es falso.
Cfg_HasNav04
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 4.
El valor predeterminado es falso.
Cfg_HasNav05
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 5.
El valor predeterminado es falso.
Cfg_HasNav06
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 6.
El valor predeterminado es falso.
Cfg_HasNav07
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 7.
El valor predeterminado es falso.
Cfg_HasNav08
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 8.
El valor predeterminado es falso.
Cfg_HasNav09
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 9.
El valor predeterminado es falso.
Cfg_HasNav10
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 10.
El valor predeterminado es falso.
Cfg_HasNav11
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 11.
El valor predeterminado es falso.
Cfg_HasNav12
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 12.
El valor predeterminado es falso.
Cfg_HasNav13
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 13.
El valor predeterminado es falso.
Cfg_HasNav14
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 14.
El valor predeterminado es falso.
Cfg_HasNav15
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 15.
El valor predeterminado es falso.
Cfg_HasNav16
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 16.
El valor predeterminado es falso.
Cfg_HasNav17
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 17.
El valor predeterminado es falso.
Cfg_HasNav18
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 18.
El valor predeterminado es falso.
Cfg_HasNav19
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 19.
El valor predeterminado es falso.
Cfg_HasNav20
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 20.
El valor predeterminado es falso.
Cfg_HasNav21
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 21.
El valor predeterminado es falso.
Cfg_HasNav22
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 22.
El valor predeterminado es falso.
Cfg_HasNav23
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 23.
El valor predeterminado es falso.
Cfg_HasNav24
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 24.
El valor predeterminado es falso.
Cfg_HasNav25
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 25.
El valor predeterminado es falso.
Cfg_HasNav26
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 26.
El valor predeterminado es falso.
Cfg_HasNav27
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 27.
El valor predeterminado es falso.
Cfg_HasNav28
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 28.
El valor predeterminado es falso.
Cfg_HasNav29
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 29.
El valor predeterminado es falso.
Cfg_HasNav30
BOOL
No visible
No requerido
Entrada
1 = habilitar un botón en el HMI que sea utilizado para realizar una llamada de presentación a la plantilla del motor 30.
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 la configuración del operador y las entradas virtuales coinciden con los valores de salida (las transiciones no tienen perturbaciones), 0 = Sin seguimiento.
El valor predeterminado es falso.
Cfg_SetTrackOvrdHand
BOOL
No visible
No requerido
Entrada
1 = La configuración de programa/operador hace un seguimiento de referencia de velocidad de anulación/mano.
El valor predeterminado es falso.
Cfg_OperStopPrio
BOOL
No visible
No requerido
Entrada
1 = OCmd_Stop en cualquier momento, 0 = OCmd_Stop solo cuando se seleccione el operador.
El valor predeterminado es falso.
Cfg_ExtStopPrio
BOOL
No visible
No requerido
Entrada
1 = XCmd_Stop en cualquier momento, 0 = XCmd_Stop solo cuando se seleccione el externo.
El valor predeterminado es falso.
Cfg_OCmdResets
BOOL
No visible
No requerido
Entrada
1 = El nuevo grupo OCmd restablece los enclavamientos de restricción y las alarmas borradas, 0 = Se requiere OCmdReset.
El valor predeterminado es falso.
Cfg_XCmdResets
BOOL
No visible
No requerido
Entrada
1 = El nuevo grupo XCmd restablece los enclavamientos de restricción y las alarmas borradas, 0 = Se requiere OCmdReset.
El valor predeterminado es falso.
Cfg_OvrdPermIntlk
BOOL
No visible
No requerido
Entrada
1 = La anulación ignora los permisos/enclavamientos evitables, 0 = Siempre usa los permisos/enclavamientos.
El valor predeterminado es falso.
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.
PSet_Demand
DINT
No visible
No requerido
Entrada
Configuración de programa para el número de motores que se deben ejecutar (MinDemand.. MaxDemand).
El valor predeterminado es 0.
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.
XSet_Demand
DINT
No visible
No requerido
Entrada
Configuración de externo para el número de motores que se deben ejecutar (MinDemand.. MaxDemand).
El valor predeterminado es 0.
PCmd_Start
BOOL
No visible
No requerido
Entrada
Comando de programa para iniciar el grupo de motores.
El valor predeterminado es falso.
PCmd_Stop
BOOL
No visible
No requerido
Entrada
Comando de programa para detener el grupo de motores.
El valor predeterminado es falso.
PCmd_Rotate
BOOL
No visible
No requerido
Entrada
Comando de programa para rotar asignaciones (del primer ciclo al final de la lista).
El valor predeterminado es falso.
PCmd_Prog
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
PCmd_Oper
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
PCmd_Lock
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
PCmd_Unlock
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
PCmd_Normal
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
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.
El valor predeterminado es falso.
XCmd_Start
BOOL
No visible
No requerido
Entrada
Comando externo para iniciar el grupo de motores.
El valor predeterminado es falso.
XCmd_Stop
BOOL
No visible
No requerido
Entrada
Comando externo para detener el grupo de motores.
El valor predeterminado es falso.
XCmd_Rotate
BOOL
No visible
No requerido
Entrada
Comando externo para rotar asignaciones (del primer ciclo al final de la lista).
El valor predeterminado es falso.
XCmd_Reset
BOOL
No visible
No requerido
Entrada
Comando externo para restablecer todas las alarmas que requieren que se restablezcan. 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.
Cfg_HasOper
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es verdadero.
Cfg_HasOperLocked
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es verdadero.
Cfg_HasProg
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es verdadero.
Cfg_HasProgLocked
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es verdadero.
Cfg_HasExt
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Cfg_HasMaint
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es verdadero.
Cfg_HasMaintOoS
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es verdadero.
Cfg_OvrdOverLock
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es verdadero.
Cfg_ExtOverLock
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Cfg_ProgPwrUp
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Cfg_ProgNormal
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Cfg_PCmdPriority
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Cfg_PCmdProgAsLevel
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Cfg_PCmdLockAsLevel
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
Cfg_ExtAcqAsLevel
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
XCmd_Acq
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
XCmd_Rel
BOOL
No visible
No requerido
Entrada
Selección del origen de comando / control.
El valor predeterminado es falso.
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
Habilita la salida. Este estado de salida siempre refleja el estado de la entrada EnableIn.
Val_Demand
DINT
Visible
No requerido
Salida
Número de motores a los que se la ha solicitado ser ejecutados.
Val_RotateRank
DINT
No visible
No requerido
Salida
Rango del motor (0 = Principal, etc.) que se degradará al rotar.
Val_RotateID
DINT
No visible
No requerido
Salida
Número de motor que se degradará al rotar.
Sts_eCmd
SINT
No visible
No requerido
Salida
Comando del grupo 0 = Ninguno, 1 = Detener, 2 = Iniciar.
Sts_Fdbk
SINT
No visible
No requerido
Salida
Retroalimentación del grupo 0...31 = Número de motores realmente en ejecución.
Sts_eSts
INT
No visible
No requerido
Salida
Estado confirmado del grupo: 0 = ?,
1 = Detenido,
2 = En ejecución,
3 = Deteniendo,
4 = En descenso,
5 = En aumento.
Sts_eFault
INT
No visible
No requerido
Salida
Estado de fallo de grupo:
0 = Ninguno,
1 = Error de configuración,
12 = Fallo al iniciar,
13 = Fallo al detener.
Sts_eNotifyAll
SINT
No visible
No requerido
Salida
Estado de prioridad mayor y confirmación de la alarma de este objeto + motores (enumeración).
Sts_Initialized
BOOL
No visible
No requerido
Salida
1 = La instrucción se inicializa. Utilice Inp_InitializeReq para reinicializar.
Sts_Stopped
BOOL
Visible
No requerido
Salida
1 = Grupo de motores a los que se la ha solicitado ser detenidos y todos los motores detenidos confirmados.
Sts_Running
BOOL
Visible
No requerido
Salida
1 = Grupo de motores a los que se la ha solicitado ser ejecutados.
Sts_Stopping
BOOL
Visible
No requerido
Salida
1 = Grupo de motores a los que se la ha solicitado ser detenidos y todos los motores que están confirmados como detenidos.
Sts_Incr
BOOL
Visible
No requerido
Salida
1 = El grupo está iniciando motores en secuencia para alcanzar la demanda.
Sts_Decr
BOOL
Visible
No requerido
Salida
1 = El grupo está deteniendo motores en secuencia para igualar la demanda.
Sts_Available
BOOL
No visible
No requerido
Salida
1 = Grupo disponible para el control mediante la automatización (programa).
Sts_IntlkAvailable
BOOL
No visible
No requerido
Salida
1 = El programa puede adquirir el dispositivo y está disponible para el control de arranque/detención cuando los enclavamientos son correctos.
Sts_Bypass
BOOL
No visible
No requerido
Salida
1 = Los enclavamientos y los permisos que pueden omitirse, se omiten.
Sts_BypActive
BOOL
No visible
No requerido
Salida
1 = Omisión de enclavamiento activa (evitada o mantenimiento).
Sts_NotRdy
BOOL
No visible
No requerido
Salida
1 = El grupo no está listo; para HMI, use los bits de detalles ocultos (Sts_Nrdyxxx) para conocer el motivo.
Sts_NrdyCfgErr
BOOL
No visible
No requerido
Salida
1 = El grupo no está listo: Error de configuración.
Sts_NrdyIntlk
BOOL
No visible
No requerido
Salida
1 = El grupo no está listo: El enclavamiento no es correcto.
Sts_NrdyOoS
BOOL
No visible
No requerido
Salida
1 = El grupo no está listo: El grupo está fuera de servicio.
Sts_NrdyPrioStop
BOOL
No visible
No requerido
Salida
1 = El grupo no está listo: Es necesario restablecer la detención de la prioridad de operador/externo.
Sts_NrdyPerm
BOOL
No visible
No requerido
Salida
1 = El grupo no está listo: El permisivo no es correcto.
Sts_MaintByp
BOOL
No visible
No requerido
Salida
1 = Hay una función de omisión de mantenimiento activa.
Sts_Alm
BOOL
No 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_Err
BOOL
Visible
No requerido
Salida
1 = Error en la configuración: Consulte los bits de detalles (Sts_Errxxx) para conocer el motivo.
Sts_ErrStartDly
BOOL
No visible
No requerido
Salida
1 = Error en la configuración: Preajuste del inicio del temporizador de comprobación (utilizar de 0,0 a 2147483,0).
Sts_ErrStopDly
BOOL
No visible
No requerido
Salida
1 = Error en la configuración: Preajuste de la detención del temporizador de comprobación (utilizar de 0,0 a 2147483,0).
Sts_ErrAlm
BOOL
No visible
No requerido
Salida
1 = Error en la configuración: Tiempo de aceleración o gravedad de la alarma.
Val_Owner
DINT
No visible
No requerido
Salida
ID del propietario del objeto actual (0 = sin propietario).
Sts_MotorAvailable
DINT
No visible
No requerido
Salida
Los bits establecidos indican qué motores están disponibles para el control de programa.
Sts_MotorStopped
DINT
No visible
No requerido
Salida
Los bits establecidos indican qué motores están confirmados detenidos.
Sts_MotorStarting
DINT
No visible
No requerido
Salida
Los bits establecidos indican qué motores se están iniciando.
Sts_MotorRunning
DINT
No visible
No requerido
Salida
Los bits establecidos indican qué motores están confirmados como en ejecución.
Sts_MotorStopping
DINT
No visible
No requerido
Salida
Los bits establecidos indican qué motores están confirmados detenidos.
Sts_Hand
BOOL
Visible
No requerido
Salida
Selección del origen de comando / control.
Sts_OoS
BOOL
Visible
No requerido
Salida
Selección del origen de comando / control.
Sts_Maint
BOOL
Visible
No requerido
Salida
Selección del origen de comando / control.
Sts_Ovrd
BOOL
Visible
No requerido
Salida
Selección del origen de comando / control.
Sts_Ext
BOOL
Visible
No requerido
Salida
Selección del origen de comando / control.
Sts_Prog
BOOL
Visible
No requerido
Salida
Selección del origen de comando / control.
Sts_ProgLocked
BOOL
No visible
No requerido
Salida
Selección del origen de comando / control.
Sts_Oper
BOOL
Visible
No requerido
Salida
Selección del origen de comando / control.
Sts_OperLocked
BOOL
No visible
No requerido
Salida
Selección del origen de comando / control.
Sts_Normal
BOOL
No visible
No requerido
Salida
Selección del origen de comando / control.
Sts_ExtReqInh
BOOL
No visible
No requerido
Salida
Selección del origen de comando / control.
Sts_ProgReqInh
BOOL
No visible
No requerido
Salida
Selección del origen de comando / control.
Sts_MAcqRcvd
BOOL
No visible
No requerido
Salida
Selección del origen de comando / control.
Sts_CantStart
BOOL
No visible
No requerido
Salida
1 = El motor no ha arrancado (un impulso).
Sts_CantStop
BOOL
No visible
No requerido
Salida
1 = El motor no se ha podido detener.
Sts_IntlkTrip
BOOL
No visible
No requerido
Salida
1 = El grupo se ha detenido por un enclavamiento incorrecto (un impulso).
Sts_RdyReset
BOOL
No visible
No requerido
Salida
1 = Una condición de alarma enclavada o restringida está lista para ser restablecida.
Sts_RdyAck
BOOL
No visible
No requerido
Salida
1 = Una alarma está lista para confirmarse.
Sts_UnackAlmCount
DINT
No visible
No requerido
Salida
Conteo de alarmas no confirmadas.
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_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_bSrc
INT
No visible
No requerido
Salida
Selección del origen de comando / control.
Sts_ProgOperSel
BOOL
No visible
No requerido
Salida
Selección del origen de comando / control.
Sts_ProgOperLock
BOOL
Visible
No requerido
Salida
Selección del origen de comando / control.
XRdy_Acq
BOOL
No visible
No requerido
Salida
Selección del origen de comando / control.
XRdy_Rel
BOOL
No visible
No requerido
Salida
Selección del origen de comando / control.
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.
XRdy_Stop
BOOL
No visible
No requerido
Salida
1 = Listo para XCmd_Stop, habilitar botón de HMI.
XRdy_Start
BOOL
No visible
No requerido
Salida
1 = Listo para XCmd_Start, habilitar botón de HMI.
XRdy_Rotate
BOOL
No visible
No requerido
Salida
1 = Listo para XCmd_Rotate, habilitar botón de HMI.
Miembros de entrada privados
Tipo de datos
Descripción
CmdSrc
P_COMMAND_SOURCE
Selección del origen del Comando o 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_Bypass
BOOL
Comando de mantenimiento para evitar todos los enclavamientos y permisos evitables.
El valor predeterminado es falso.
MCmd_Check
BOOL
Comando de mantenimiento para comprobar (no omitir) todos los enclavamientos y permisivos.
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_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.
MSet_MotorOoS
DINT
Los bits establecidos indican qué motores han sido puestos fuera de servicio por mantenimiento.
El valor predeterminado es 2#0000_0000_0000_0000_0000_0000_0000_0000.
OCmd_CmdCncl
BOOL
Comando de operador para cancelar la solicitud de comando. 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.
El valor predeterminado es falso.
OCmd_ResetAckAll
BOOL
Comando de operador para restablecer todas las alarmas y las condiciones de restricción enclavada.
El valor predeterminado es falso.
OCmd_ResetPrefs
BOOL
Comando de operador para restablecer todas las preferencias del motor a 0.
El valor predeterminado es falso.
OCmd_Rotate
BOOL
Comando de operador para rotar asignaciones (del ciclo primario al final de la lista).
El valor predeterminado es falso.
OCmd_SetPrefs
BOOL
Comando de operador para establecer las preferencias del motor.
El valor predeterminado es falso.
OCmd_Start
BOOL
Comando de operador para iniciar el grupo de motores.
El valor predeterminado es falso.
OCmd_Stop
BOOL
Comando de operador para detener el grupo de motores.
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_Demand
DINT
Configuración de operador para el número de motores que se deben ejecutar (MinDemand.. MaxDemand).
El valor predeterminado es 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_Bypass
BOOL
1 = Listo para MCmd_Bypass (habilita el botón de HMI).
MRdy_Check
BOOL
1 = Listo para MCmd_Check (habilita 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_Rel
BOOL
1 = Listo para MCmd_Rel, habilitar el botón de HMI.
ORdy_Demand
BOOL
1 = Listo para OSet_Demand (habilita la entrada numérica).
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_Rotate
BOOL
1 = Listo para OCmd_Rotate (habilita el botón de HMI).
ORdy_Start
BOOL
1 = Listo para OCmd_Start (habilita el botón de HMI).
ORdy_Stop
BOOL
1 = Listo para OCmd_Stop (habilita el botón de HMI).
ORdy_Unlock
BOOL
1 = Listo para OCmd_Unlock, habilitar el botón de HMI.
Sts_bStsList
SINT[32]
Lista de rangos del estado del motor:
[0]=primero,
[1]=retraso, etc.;
.0 = Disponible,
.1 = Detenido,
.2 = Arrancando,
.3 = En ejecución,
.4 = Deteniendo,
5 = Fuera de servicio (Mantenimiento).
Sts_eNotify
SINT
Nivel de alarma y confirmación actuales (enumeración).
Sts_eNotifyCantStart
SINT
Nivel de alarma y confirmación actuales (enumeración).
Sts_eNotifyCantStop
SINT
Nivel de alarma y confirmación actuales (enumeración).
Sts_eNotifyIntlkTrip
SINT
Nivel de alarma y confirmación actuales (enumeración).
Val_PrefList
SINT[32]
Lista de rangos de preferencias del motor: [0] = primero, [1] = el que le sigue, etc...
Val_PrioList
SINT[32]
Lista de rangos de prioridades del motor: [0] = primero, [1] = el que le sigue, etc...
Val_RankList
SINT[32]
Lista de rangos de números de motor: [0] = primero, [1] = el que le sigue, etc...
Val_UsrList
INT[32]
Lista de rangos de criterios de clasificación de usuarios: [0] = primero, [1] = el que le sigue, etc...
Miembros InOut públicos
Tipo de datos
Visibilidad predeterminada del FBD
Cableado FBD requerido
Uso
Descripción
Ref_Motors
P_LEAD_LAG_STANDBY_MOTOR[30]
Visible
Requerido
InOut
Matriz de interfaz del motor (vincula de 2 a 30 motores).
BusObj
BUS_OBJ
Visible
Opcional
InOut
Componente de bus.
Alarmas
Las alarmas basadas en etiquetas discretas se definen para estos miembros.
Miembro
Nombre de alarma
Descripción
Sts_CantStart
Alm_CantStart
El motor no puede iniciar la alarma.
Se activa cuando no hay suficientes motores disponibles para iniciar para satisfacer la demanda ingresada. Hay demasiados motores con fallos o detenidos en un modo distinto a programa.
Sts_CantStop
Alm_CantStop
El motor no puede detener la alarma.
Se activa cuando no hay suficientes motores disponibles para detener para satisfacer la demanda ingresada. Hay demasiados motores en ejecución en un modo distinto a programa.
Sts_IntlkTrip
Alm_IntlkTrip
Alarma de activación de enclavamiento.
Se activa cuando el motor se está ejecutando y una condición de enclavamiento incorrecto hace que el motor se detenga.
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 una alarma como usada o no usada y establezca miembros de configuración estándar de la alarma discreta basada en etiquetas. Utilice este formato para acceder a los elementos de la alarma:
Tag.@Alarms.AlarmName.AlarmElement
Hay comandos de programa para cada alarma que están disponibles para Confirmar, Suprimir, Anular la supresión y Desarchivar la alarma. Estos comandos se propagan a los comandos correspondientes (ProgAck, ProgSuppress, ProgUnsupress, ProgUnshelve) de la alarma basada en etiquetas.
Hay comandos de programa, operador y externo disponibles que confirman, restablecen, suprimen y anulan la supresión de todas las alarmas de la instrucción (Grupo de alarmas) al mismo tiempo.
PLLS_alarmfunction
Operación
Este diagrama muestra la funcionalidad de la instrucción PLLS:
PLLS_Operation_v34
Configuración de cadenas para HMI
Configura 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.
  • 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
Implementación
Un operador u otra lógica determinan la demanda de motores. La instrucción PLLS determina qué motores ejecutar para satisfacer la demanda. Para que la instrucción PLLS inicie y detenga los motores del grupo, estos deben estar disponibles. Un motor está disponible cuando no tiene fallos y está en modo Programa.
La instrucción PLLS utiliza un algoritmo de clasificación para lidiar con motores que no están disponibles. Si un motor se está ejecutando y no está disponible (tal vez se está ejecutando en modo de operador), el motor es movido de manera forzada a la parte superior de la clasificación. Si un motor se detiene y no está disponible (tal vez tiene un fallo), es movido de manera forzada a la parte inferior de la clasificación. Los motores que están disponibles para su inicio y detención son controlados para cumplir con la demanda. Si no se puede cumplir con la demanda porque no hay motores disponibles, se proporciona un estado/alarma.
La instrucción PLLS utiliza una matriz de estructuras de tipo P_LEAD_LAG_STANDBY_Motor para interconectar con los motores. Cada elemento de la interfaz en la matriz proporciona las señales necesarias entre la instrucción PLLS y un motor. Los datos de configuración del motor también se proporcionan en la matriz. Estos datos incluyen los valores de Prioridad y Preferencia que pueden ser utilizados para modificar la clasificación de los motores. También se incluye un indicador de fuera de servicio por mantenimiento que retira un motor de la consideración de la clasificación. La interfaz también incluye un valor de clasificación de usuario que puede ser utilizado, por ejemplo, para elevar o bajar los motores en función del tiempo de ejecución acumulado u otros criterios.
Contenido del miembro de la matriz P_LEAD_LAG_STANDBY_MOTOR
Esta tabla describe los miembros de la matriz.
Miembros
Tipo de datos
Descripción
Inp_OtherSel
DINT
Otros criterios de selección del motor (0...255) (entrada a PLLS).
Inp_Demote
BOOL
Degradar este motor al final de la lista (por ejemplo, en tiempo de ejecución alto) (entrada a PLLS).
Cfg_Prio
DINT
Prioridad del motor en la lista (0...31 -- si no se usa, se establece en 0).
OSet_Pref
DINT
Configuración de operador de la preferencia del motor en la lista (de 0 a 31), todos los demás son iguales.
PCmd_Start
BOOL
Comando de programa para iniciar el motor (salida desde PLLS).
PCmd_Stop
BOOL
Comando de programa para detener el motor (salida desde PLLS).
PCmd_Lock
BOOL
Comando para adquirir y bloquear el motor en programa (salida desde PLLS).
PCmd_Unlock
BOOL
Comando para desbloquear el motor desde programa (salida desde PLLS).
Sts_Available
BOOL
El motor está en modo Programa y listo para funcionar (entrada a PLLS).
Sts_Stopped
BOOL
El motor está confirmado detenido actualmente (entrada a PLLS).
Sts_Starting
BOOL
El motor se está iniciando actualmente (entrada a PLLS).
Sts_Running
BOOL
El motor está confirmado en ejecución actualmente (entrada a PLLS).
Sts_Stopping
BOOL
El motor se está deteniendo actualmente (entrada a PLLS).
Val_Pref
DINT
Preferencia actual de este motor en la lista (1 = Primero, 2 = El que le sigue, ...).
Val_Rank
DINT
Rango actual de este motor en la lista (1 = Primero, 2 = El que le sigue, ...)
Esta imagen muestra la relación entre la instrucción PLLS, Ref_Motors (interfaz) y la instrucción PMTR.
PLLS_PMTR_relationship
Estas imágenes muestran un ejemplo de la lógica de escalera para transferir comandos y estados del motor a un motor.
El proceso para reenviar cada uno de los comandos (PCmd_Lock, PCmd_Unlock, PCmd_Start y PCmd_Stop) es:
  • Pruebe el bit adecuado en la interfaz para ver si se ha establecido.
  • Si el bit se ha establecido, se borra el bit y se establece el comando de programa correspondiente en el motor.
PLLS_transfercommands1
  • Ejecute la PLLS para seleccionar qué motores ejecutar.
PLLS_transfercommands2
  • A continuación, se ejecuta la lógica del motor. La lógica del motor usa los comandos de programa para controlar el motor físico. La lógica del motor también recibe retroalimentación del motor.
PLLS_transfercommands3
  • El estado (disponible, detenido, iniciando, en ejecución y deteniendo) se lee desde el motor y se escribe en la interfaz.
PLLS_transfercommands4
Monitorizar la instrucción PLLS
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
Cualquier comando recibido antes del primer escaneo es descartado. El motor se desactiva y es tratado como si hubiera recibido la orden de detenerse.
Primera ejecución de instrucción
Cualquier comando recibido antes del primer escaneo es descartado. El motor se desactiva y es tratado como si hubiera recibido la orden de detenerse.
La condición de entrada de renglón es falsa
Se gestiona como si el grupo hubiera sido deshabilitado por un comando. Las salidas del motor están desactivadas y el grupo aparece como deshabilitado en el HMI. El modo se muestra como Sin modo. Se han restablecido todas las alarmas.
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
Cualquier comando recibido antes del primer escaneo es descartado. El motor se desactiva y es tratado como si hubiera recibido la orden de detenerse.
Primera ejecución de instrucción
Cualquier comando recibido antes del primer escaneo es descartado. El motor se desactiva y es tratado como si hubiera recibido la orden de detenerse.
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
Se gestiona como si el grupo hubiera sido deshabilitado por un comando. Las salidas del motor están desactivadas y el grupo aparece como deshabilitado en el HMI. El modo se muestra como Sin modo. Se han restablecido todas las alarmas.
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. Por tanto, si la instrucción se encuentra en la ruta de control activada por la lógica, se ejecutará.
Condición/estado
Acción realizada
Pre-escaneado
Cualquier comando recibido antes del primer escaneo es descartado. El motor se desactiva y es tratado como si hubiera recibido la orden de detenerse.
Primera ejecución de instrucción
Cualquier comando recibido antes del primer escaneo es descartado. El motor se desactiva y es tratado como si hubiera recibido la orden de detenerse.
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.
Ejemplo
Este ejemplo muestra una instrucción PLLS que se está utilizando para controlar tres motores de proceso.
Diagrama de lógica de escalera
PLLS_LadderEx1
PLLS_LadderEx4 PLLS_LadderEx2
PLLS_LadderEx3
PLLS_LadderEx5
PLLS_LadderEx6
Diagrama de bloque de funciones
The PLLS instruction requires four function block diagram routines to execute properly:
  • PLLS_FBD_1_Motors routine
  • PLLS_FBD_2_PLLS
  • PLLS_FBD_3_ForwardCmds
  • PLLS_FBD_4_ClearCmds
PLLS_FBDex1
PLLS_FBD_1_Motors routine:
PLLS_FBD1MotorsEx_1
PLLS_FBD1MotorsEx_2
PLLS_FBD1MotorsEx_3
PLLS_FBD_2_PLLS routine:
PLLS_FBD2Ex_1
PLLS_FBD_3_ForwardCmds routine:
PLLS_FBD3Ex_1
PLLS_FBD3Ex_2
PLLS_FBD3Ex_3
PLLS_FBD_4_ClearCmds routine:
PLLS_FBD4Ex_1
PLLS_FBD4Ex_2
PLLS_FBD4Ex_3
Texto estructurado
/* First, execute the individual motors */
/* Execute the Motor 01 logic: get run feedback input, execute PMTR, send output to starter */
MyNG_PLLS_Motor01.Inp_1RunFdbkData := Motor01_RunFdbk;
PMTR (MyNG_PLLS_Motor01, 0, 0, 0, 0, 0);
Motor01_Starter := MyNG_PLLS_Motor01.Out_Run1Data;
/* Execute the Motor 02 logic: get run feedback input, execute PMTR, send output to starter */
MyNG_PLLS_Motor02.Inp_1RunFdbkData := Motor02_RunFdbk;
PMTR (MyNG_PLLS_Motor02, 0, 0, 0, 0, 0);
Motor02_Starter := MyNG_PLLS_Motor02.Out_Run1Data;
/* Execute the Motor 03 logic: get run feedback input, execute PMTR, send output to starter */
MyNG_PLLS_Motor03.Inp_1RunFdbkData := Motor03_RunFdbk;
PMTR (MyNG_PLLS_Motor03, 0, 0, 0, 0, 0);
Motor03_Starter := MyNG_PLLS_Motor03.Out_Run1Data;
/* Copy the Motor 01 Status to the PLLS array [0] */
MyNG_PLLS_Motors[0].Sts_Available := MyNG_PLLS_Motor01.Sts_Available;
MyNG_PLLS_Motors[0].Sts_Stopped := MyNG_PLLS_Motor01.Sts_Stopped;
MyNG_PLLS_Motors[0].Sts_Starting := MyNG_PLLS_Motor01.Sts_Starting1;
MyNG_PLLS_Motors[0].Sts_Running := MyNG_PLLS_Motor01.Sts_Running1;
MyNG_PLLS_Motors[0].Sts_Stopping := MyNG_PLLS_Motor01.Sts_Stopping;
/* Copy the Motor 02 Status to the PLLS array [1] */
MyNG_PLLS_Motors[1].Sts_Available := MyNG_PLLS_Motor02.Sts_Available;
MyNG_PLLS_Motors[1].Sts_Stopped := MyNG_PLLS_Motor02.Sts_Stopped;
MyNG_PLLS_Motors[1].Sts_Starting := MyNG_PLLS_Motor02.Sts_Starting1;
MyNG_PLLS_Motors[1].Sts_Running := MyNG_PLLS_Motor02.Sts_Running1;
MyNG_PLLS_Motors[1].Sts_Stopping := MyNG_PLLS_Motor02.Sts_Stopping;
/* Copy the Motor 03 Status to the PLLS array [2] */
MyNG_PLLS_Motors[2].Sts_Available := MyNG_PLLS_Motor03.Sts_Available;
MyNG_PLLS_Motors[2].Sts_Stopped := MyNG_PLLS_Motor03.Sts_Stopped;
MyNG_PLLS_Motors[2].Sts_Starting := MyNG_PLLS_Motor03.Sts_Starting1;
MyNG_PLLS_Motors[2].Sts_Running := MyNG_PLLS_Motor03.Sts_Running1;
MyNG_PLLS_Motors[2].Sts_Stopping := MyNG_PLLS_Motor03.Sts_Stopping;
/* Now execute the Lead / Lag / Standby instruction */
PLLS (MyNG_PLLS, MyNG_PLLS_Motors, 0);
/* Now take the commands coming out of PLLS and forward them to the PMTR instances */
/* Program commands to Motor 01: */
/* Forward the Program Lock command: */
if (MyNG_PLLS_Motors[0].PCmd_Lock)
entonces
MyNG_PLLS_Motors[0].PCmd_Lock := 0;
MyNG_PLLS_Motor01.PCmd_Lock := 1;
end_if;
/* Forward the Program Unlock command: */
if (MyNG_PLLS_Motors[0].PCmd_Unlock)
entonces
MyNG_PLLS_Motors[0].PCmd_Unlock := 0;
MyNG_PLLS_Motor01.PCmd_Unlock := 1;
end_if;
/* Forward the Program Start command: */
if (MyNG_PLLS_Motors[0].PCmd_Start)
entonces
MyNG_PLLS_Motors[0].PCmd_Start := 0;
MyNG_PLLS_Motor01.PCmd_Start1 := 1;
end_if;
/* Forward the Program Stop command: */
if (MyNG_PLLS_Motors[0].PCmd_Stop)
entonces
MyNG_PLLS_Motors[0].PCmd_Stop := 0;
MyNG_PLLS_Motor01.PCmd_Stop := 1;
end_if;
/* Program commands to Motor 02: */
/* Forward the Program Lock command: */
if (MyNG_PLLS_Motors[1].PCmd_Lock)
entonces
MyNG_PLLS_Motors[1].PCmd_Lock := 0;
MyNG_PLLS_Motor02.PCmd_Lock := 1;
end_if;
/* Forward the Program Unlock command: */
if (MyNG_PLLS_Motors[1].PCmd_Unlock)
entonces
MyNG_PLLS_Motors[1].PCmd_Unlock := 0;
MyNG_PLLS_Motor02.PCmd_Unlock := 1;
end_if;
/* Forward the Program Start command: */
if (MyNG_PLLS_Motors[1].PCmd_Start)
entonces
MyNG_PLLS_Motors[1].PCmd_Start := 0;
MyNG_PLLS_Motor02.PCmd_Start1 := 1;
end_if;
/* Forward the Program Stop command: */
if (MyNG_PLLS_Motors[1].PCmd_Stop)
entonces
MyNG_PLLS_Motors[1].PCmd_Stop := 0;
MyNG_PLLS_Motor02.PCmd_Stop := 1;
end_if;
/* Program commands to Motor 03: */
/* Forward the Program Lock command: */
if (MyNG_PLLS_Motors[2].PCmd_Lock)
entonces
MyNG_PLLS_Motors[2].PCmd_Lock := 0;
MyNG_PLLS_Motor03.PCmd_Lock := 1;
end_if;
/* Forward the Program Unlock command: */
if (MyNG_PLLS_Motors[2].PCmd_Unlock)
entonces
MyNG_PLLS_Motors[2].PCmd_Unlock := 0;
MyNG_PLLS_Motor03.PCmd_Unlock := 1;
end_if;
/* Forward the Program Start command: */
if (MyNG_PLLS_Motors[2].PCmd_Start)
entonces
MyNG_PLLS_Motors[2].PCmd_Start := 0;
MyNG_PLLS_Motor03.PCmd_Start1 := 1;
end_if;
/* Forward the Program Stop command: */
if (MyNG_PLLS_Motors[2].PCmd_Stop)
entonces
MyNG_PLLS_Motors[2].PCmd_Stop := 0;
MyNG_PLLS_Motor03.PCmd_Stop := 1;
end_if;
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal