Procesar permisivos (Process Permissives, PPERM)
Esta información se aplica a los controladores CompactLogix 5380P, ControlLogix 5580P y ControlLogix 5590P.
La instrucción Procesar permisivos (PPERM) recopila o suma las condiciones de permiso que permiten activar una pieza del equipo. En la mayoría de los casos, las condiciones de permiso deben ser verdaderas para activar el equipo. Una vez que el equipo está activado, los permisivos se ignoran.
La instrucción PPERM proporciona:
- Comprobación correcta de entradas de permisivo. Evalúa las entradas. Si todas las entradas se encuentran en el estado correcto configurado, la instrucción establece el estado Todos los permisivos correctos en verdadero.
- Omisión de permisos. Evalúa las entradas configuradas como permisivas que no se pueden omitir o pueden ser omitidas (Cfg_Bypassable.x = 1) y están configuradas para ser omitidas (MSet_Bypass.x = 1). Si esas condiciones están en su estado correcto configurado, la instrucción establece el estado "Todos los permisivos no omitibles OK" a verdadero.
- Estado de resumen. Resume sus 32 condiciones de entrada de permiso en dos bits de estado primario:
- Sts_PermOK. Indica que todas las condiciones permisivas están borradas independientemente del estado de omisión (listas para ejecutarse independientemente del estado de omisión).
- Sts_NBPermOK. Indica que todas las condiciones permisivas que no se pueden omitir están borradas y todas las condiciones permisivas que se pueden omitir están borradas u omitidas (listas para ejecutarse si se omiten las condiciones permisivas).
Idiomas disponibles
Diagrama de lógica de escalera

Diagrama de bloque de funciones

Texto estructurado
PPERM (PPERM 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
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
PlantPAx Control | P_PERMISSIVE | etiqueta | Estructura de datos requerida para el funcionamiento adecuado de la instrucción. |
Estructura de P_PERMISSIVE
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 | Descripción |
|---|---|---|
EnableIn | BOOL | Habilitar entrada - Parámetro definido por el sistema El valor predeterminado es verdadero. |
Inp_InitializeReq | BOOL | 1 = Solicita la inicialización de la instrucción. Normalmente, la instrucción se inicializa en la primera ejecución de la instrucción. Utilice esta solicitud al reinicializar. La instrucción borra este operando automáticamente. El valor predeterminado es verdadero. |
Inp_Perm00 | BOOL | Condición de permisivo 00, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm01 | BOOL | Condición de permiso 01, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm02 | BOOL | Condición de permiso 02, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm03 | BOOL | Condición de permiso 03, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm04 | BOOL | Condición de permiso 04, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm05 | BOOL | Condición de permiso 05, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm06 | BOOL | Condición de permiso 06, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm07 | BOOL | Condición de permiso 07, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm08 | BOOL | Condición de permiso 08, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm09 | BOOL | Condición de permiso 09, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm10 | BOOL | Condición de permiso 10, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm11 | BOOL | Condición de permiso 11, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm12 | BOOL | Condición de permiso 12, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm13 | BOOL | Condición de permiso 13, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm14 | BOOL | Condición de permiso 14, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm15 | BOOL | Condición de permiso 15, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm16 | BOOL | Condición de permiso 16, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm17 | BOOL | Condición de permiso 17, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm18 | BOOL | Condición de permiso 18, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm19 | BOOL | Condición de permiso 19, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm20 | BOOL | Condición de permiso 20, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm21 | BOOL | Condición de permiso 21, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm22 | BOOL | Condición de permiso 22, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm23 | BOOL | Condición de permiso 23, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm24 | BOOL | Condición de permiso 24, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm25 | BOOL | Condición de permiso 25, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm26 | BOOL | Condición de permiso 26, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm27 | BOOL | Condición de permiso 27, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm28 | BOOL | Condición de permiso 28, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm29 | BOOL | Condición de permiso 29, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm30 | BOOL | Condición de permiso 30, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_Perm31 | BOOL | Condición de permiso 31, se puede activar si el estado configurado es correcto. El valor predeterminado es verdadero. |
Inp_BypassActive | BOOL | 1 = La omisión de permiso está actualmente activa. El valor predeterminado es falso. |
Cfg_OKState | DINT | Los bits indican el estado (0 o 1) de cada entrada que se puede activar. El valor predeterminado es 2#1111_1111_1111_1111_1111_1111_1111_1111. |
Cfg_Bypassable | DINT | Los bits de establecimiento indican qué condiciones se pueden omitir. El valor predeterminado es 2#0000_0000_0000_0000_0000_0000_0000_0000. |
Cfg_HasMoreObj | BOOL | 1 = Indica a HMI que hay un objeto con más información disponible. El valor predeterminado es falso. |
Cfg_HasNav | DINT | Los bits configurados indican qué botones de navegación están habilitados. El valor predeterminado es 2#0000_0000_0000_0000_0000_0000_0000_0000. |
Miembros de salida públicos | Tipo de datos | Descripción |
|---|---|---|
EnableOut | BOOL | Habilitar salida – Parámetro definido por el sistema |
Sts_Initialized | BOOL | 1 = La instrucción se inicializa. Utilice Inp_InitializeReq para reinicializar. |
Sts_PermOK | BOOL | Estado de permisivo general (1 = se puede activar). |
Sts_NBPermOK | BOOL | Estado de permisivo no evitable (1 = todos los permisos no evitables se pueden activar). |
Sts_BypActive | BOOL | 1 = La omisión de permiso está activa (ignorar permisos evitables). |
Sts_Perm | DINT | Estado de permisivo individual (1 = correcto, 0 = no activar). |
Miembros de entrada privados | Tipo de datos | Descripción |
|---|---|---|
MSet_Bypass | DINT | Cambia la omisión del mantenimiento de las condiciones individuales. El valor predeterminado es 2#0000_0000_0000_0000_0000_0000_0000_0000. |
Miembros de salida privados | Tipo de datos | Descripción |
|---|---|---|
N/A | N/A | N/A |
Operación
Este diagrama muestra la funcionalidad de la instrucción PPERM:

Configuración de cadenas para HMI
Configure las cadenas de las plantillas de HMI (vista FT) y del 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 solo las cadenas 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
- Texto condicional de entrada
- Ruta de navegación
- Más información
Monitorizar la instrucción PPERM
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. |
Primera ejecución de instrucción | La instrucción se ejecuta normalmente. |
La condición de entrada de renglón es falsa | La condición de salida de renglón se borra a falsa. Si esta instrucción tiene el escaneo desactivado, establezca los bits de estado correcto del resumen de permisivos en falso. Establecer omisiones de permisos individuales solo para las condiciones que están configuradas para ser omitidas. Se borrarán todos los MSets para las entradas NO evitables. |
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. |
Primera ejecución de instrucción | La instrucción se ejecuta normalmente. |
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. Si esta instrucción tiene el escaneo desactivado, establezca los bits de estado correcto del resumen de permisivos en falso. Establecer omisiones de permisos individuales solo para las condiciones que están configuradas para ser omitidas. Se borrarán todos los MSets para las entradas NO evitables. |
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
Diagrama de lógica de escalera


Diagrama de bloque de funciones

Texto estructurado
P182_Motor_1Perm.Inp_BypActive := P182_Motor.Sts_BypActive;
PPERM(P182_Motor_1Perm);
P182_Motor.Inp_1PermOK := P182_Motor_1Perm.Sts_PermOK;
P182_Motor.Inp_1NBPermOK := P182_Motor_1Perm.Sts_NBPermOK;
P182_Motor.Inp_Hand := E300_P182:I.OperatorStationLocalLEDReadback;
P182_Motor.XCmd_Start1 := E300_P182:I.Pt03Data;
P182_Motor.XCmd_Start2 := E300_P182:I.Pt04Data;
P182_Motor.XCmd_Stop := NOT(E300_P182:I.Pt05Data);
P182_Motor.XCmd_Acq := E300_P182:I.Pt02Data;
PMTR_ci(P182_Motor,P182_CtrlSet,P182_CtrlCmd,P182_CtrlSts);
Entregue su opinión