Alarma digital (ALMD)
Esta información corresponde a los controladores
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 y ControlLogix 5590. Las diferencias de controladores se indican cuando corresponda.La instrucción Alarma digital (ALMD, Digital Alarm) proporciona funcionalidad de alarma para cualquier valor Booleano discreto.
Idiomas disponibles
Diagrama de lógica de escalera

Bloque de funciones

Texto estructurado
ALMD (ALMD,In,ProgAck,ProgReset,ProgDisable,ProgEnable)
Operandos
Diagrama de lógica de escalera
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
ALMD tag | ALARM_DIGITAL | Estructura | Estructura ALMD |
ProgAck | BOOL | Etiqueta Inmediato | En la transición de falso a verdadero, confirma la alarma (si requiere confirmación). |
ProgReset | BOOL | Etiqueta Inmediato | En la transición de falso a verdadero, restablece la alarma (si requiere restablecimiento). |
ProgDisable | BOOL | Etiqueta Inmediato | Cuando sea Verdadero, desactiva la alarma (no anula los comandos de habilitación). |
ProgEnable | BOOL | Etiqueta Inmediato | Cuando sea Verdadero, activa la alarma (tiene prioridad sobre los comandos de deshabilitación). |
MinDurationPRE | DINT | Inmediato | Especifica cuánto tiempo debe cumplirse la condición de alarma antes de informar (milisegundos). |
MinDurationACC | DINT | Inmediato | Indica el valor de acumulador actuar para el temporizador MinDuration de la alarma. Este valor no se utiliza en la versión 29 y posteriores de la aplicación Logix Designer. El valor siempre es 0. |
Bloque de funciones
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
ALMD tag | ALARM_DIGITAL | estructura | Estructura ALMD |
Texto estructurado
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
ALMD tag | ALARM_DIGITAL | Estructura | Estructura ALMD |
ProgAck | BOOL | Etiqueta Inmediato | En la transición de falso a verdadero, confirma la alarma (si requiere confirmación). |
ProgReset | BOOL | Etiqueta Inmediato | En la transición de falso a verdadero, restablece la alarma (si requiere restablecimiento). |
ProgDisable | BOOL | Etiqueta Inmediato | Cuando sea Verdadero, desactiva la alarma (no anula los comandos de habilitación). |
ProgEnable | BOOL | Etiqueta Inmediato | Cuando sea Verdadero, activa la alarma (tiene prioridad sobre los comandos de deshabilitación). |
MinDurationPRE | DINT | Inmediato | Especifica cuánto tiempo debe cumplirse la condición de alarma antes de informar (milisegundos). |
MinDurationACC | DINT | Inmediato | Indica el valor de acumulador actuar para el temporizador MinDuration de la alarma. Este valor no se utiliza en la versión 29 y posteriores de la aplicación Logix Designer. El valor siempre es 0. |
Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Estructura ALMD
Parámetros de entrada
Parámetro de entrada | Tipo de datos | Descripción |
|---|---|---|
EnableIn | BOOL | Diagrama de lógica de escalera: Corresponde al estado de reglón. No afecta al procesamiento. Bloque de funciones: Si se borra y establece en falso, la instrucción no se ejecuta y las salidas no se actualizan. Si está establecida, la instrucción se ejecuta. El valor predeterminado es verdadero. Texto estructurado: Ningún efecto. La instrucción siempre se ejecuta. |
In | BOOL | Entrada de la señal digital a la instrucción. El valor predeterminado es falso. Diagrama de lógica de escalera: Sigue la condición de peldaño. Establecido en verdadero si la condición de peldaño es verdadera. Se borra y se establece en falso si la condición de peldaño es falso. Texto estructurado: Copiado del operando de instrucción. |
InFault | BOOL | Indicador de estado incorrecto para la entrada. La aplicación de usuario puede establecer InFault para indicar que hay un error en la señal de entrada. Cuando se establece, la instrucción establece InFaulted (Status.1). Cuando se borra y establece en falso, la instrucción desactiva InFaulted (Status.1). En cualquier caso, la instrucción sigue evaluando las condiciones de alarma de In. El valor predeterminado está en falso (buen estado). |
Condition | BOOL | Especifica cómo se activa la alarma. Cuando Condition está establecida en verdadera, la condición de alarma se activa si In está establecido en verdadero. Cuando Condition se borra a falso, la condición de alarma se activa si In se borra a falso. El valor predeterminado es verdadero. |
AckRequired | BOOL | Especifica si es necesaria la confirmación de la alarma. Cuando se establece en verdadero, se necesita confirmación. Cuando se borra y establece en falso, no se necesita confirmación ya que Acked está establecida siempre en verdadero. El valor predeterminado es verdadero. |
Latched | BOOL | Especifica si la alarma está enclavada. Las alarmas enclavadas se mantienen como InAlarm si la condición de alarma pasa a falso, hasta que se recibe un comando de restablecimiento. Cuando está establecida en verdadero, la alarma está enclavada. Cuando se borra y establece en falso, la alarma está desenclavada. El valor predeterminado es falso. Sólo es posible restablecer una alarma enclavada cuando la condición de alarma es falsa. |
ProgAck | BOOL | El programa del usuario lo establece en verdadero para confirmar la alarma. Solo toma efecto si no se confirma la alarma. Requiere una transición de falso a verdadero. El valor predeterminado es falso. Diagrama de lógica de escalera: Copiado del operando de instrucción. Texto estructurado: Copiado del operando de instrucción. |
OperAck | BOOL | La interfaz de operador lo establece en verdadero para confirmar la alarma. Solo toma efecto si no se confirma la alarma. La instrucción desactiva este parámetro. El valor predeterminado es falso. |
ProgReset | BOOL | El programa del usuario lo establece en verdadero para restablecer la alarma enclavada. Solo toma efecto si la alarma enclavada es InAlarm y la condición de alarma es falso. Requiere una transición de falso a verdadero. El valor predeterminado es falso. Diagrama de lógica de escalera: Copiado del operando de instrucción. Texto estructurado: Copiado del operando de instrucción. |
OperReset | BOOL | La interfaz de operador lo establece en verdadero para restablecer la alarma enclavada. Solo toma efecto si la alarma enclavada es InAlarm y la condición de alarma es falso. La instrucción de alarma cambia este parámetro a falso. El valor predeterminado es falso. |
ProgSuppress | BOOL | El programa del usuario lo establece en verdadero para suprimir la alarma. El valor predeterminado es falso. |
OperSuppress | BOOL | La interfaz de operador lo establece en verdadero para suprimir la alarma. La instrucción de alarma cambia este parámetro a falso. El valor predeterminado es falso. |
ProgUnsuppress | BOOL | El programa del usuario lo establece en verdadero para anular la supresión de la alarma. Tiene prioridad sobre los comandos de supresión. El valor predeterminado es falso. |
OperUnsuppress | BOOL | La interfaz de operador lo establece en verdadero para anular la supresión de la alarma. Tiene prioridad sobre los comandos de supresión. La instrucción de alarma cambia este parámetro a falso. El valor predeterminado es falso. |
OperShelve | BOOL | La interfaz de operador lo establece en verdadero para archivar o rearchivar la alarma. Requiere una transición desde falso en un escaneado del programa a verdadero en el siguiente escaneado del programa. La instrucción de alarma cambia este parámetro a falso. El valor predeterminado es falso. Los comandos de desarchivado tienen prioridad sobre los de archivado. El archivado de una alarma pospone el procesamiento de alarma. Es como suprimir una alarma, excepto que ese archivado tiene un tiempo limitado. Si se confirma una alarma mientras se está archivando, permanece confirmada incluso si vuelve a estar activa de nuevo. Se convierte en no confirmada cuando la duración del archivado finaliza, siempre que la alarma siga activa en ese momento. |
ProgUnshelve | BOOL | El programa del usuario lo establece en verdadero para desarchivar la alarma. Tiene prioridad sobre los comandos de archivado. El valor predeterminado es falso. Para obtener más información sobre cómo archivar una alarma, consulte la descripción del parámetro OperShelve. |
OperUnshelve | BOOL | La interfaz de operador lo establece en verdadero para desarchivar la alarma. La instrucción de alarma cambia este parámetro a falso. Tiene prioridad sobre los comandos de archivado. Está borrado de forma predeterminada. Para obtener más información sobre cómo archivar una alarma, consulte la descripción del parámetro OperShelve. |
ProgDisable | BOOL | El programa del usuario lo establece en verdadero para deshabilitar la alarma. El valor predeterminado es falso. Diagrama de lógica de escalera: Copiado del operando de instrucción. Texto estructurado: Copiado del operando de instrucción. |
OperDisable | BOOL | La interfaz de operador lo establece en verdadero para deshabilitar la alarma. La instrucción de alarma cambia este parámetro a verdadero. El valor predeterminado es falso. |
ProgEnable | BOOL | El programa del usuario lo establece en verdadero para habilitar la alarma. Tiene prioridad sobre un comando de inhabilitación. El valor predeterminado es falso. Diagrama de lógica de escalera: Copiado del operando de instrucción. Texto estructurado: Copiado del operando de instrucción. |
OperEnable | BOOL | La interfaz de operador lo establece en verdadero para habilitar la alarma. Tiene prioridad sobre el comando de inhabilitación. La instrucción de alarma cambia este parámetro a falso. El valor predeterminado es falso. |
AlarmCountReset | BOOL | La interfaz de operador lo establece en verdadero para restablecer el conteo de alarma a cero. La instrucción de alarma cambia este parámetro a falso. El valor predeterminado es falso. |
UseProgTime | BOOL | Especifica si se usa el reloj del controlador o el valor ProgTime para los eventos de cambio de estado de alarma de marca de tiempo. Cuando está establecido en verdadero, el valor ProgTime proporciona la marca de tiempo. Cuando se borra y establece en falso, el reloj del controlador proporciona la marca de tiempo. El valor predeterminado es falso. |
ProgTime | LINT | Si UseProgTime está establecido en verdadero, este valor se usa para proporcionar el valor de marca de tiempo para todos los eventos. De este modo, se permite que la aplicación aplique las marcas de tiempo obtenidas a partir del origen de la alarma, como un módulo de entrada de secuencia de eventos. |
Severity | DINT | Gravedad de la alarma. Esto no afecta al procesamiento de las alarmas por el controlador pero puede usarse para clasificar y filtrar las funciones del suscriptor de alarma. Valor válido = del 1 al 1000 (1000 = la más grave; 1 = la menos grave). Valor predeterminado = 500. |
MinDurationPRE | DINT | Duración mínima preseleccionada (en milisegundos) para que la condición de alarma se mantenga como verdadera antes de que la alarma se marque como InAlarm y se envia la notificación de alarma a los clientes. El controlador recopila los datos de alarma tan pronto como se detecta la condición de alarma para que no se pierdan datos mientras se espera hasta alcanzar la duración mínima. Válido = de 0 a 2147483647. Valor predeterminado = 0. |
ShelveDuration | DINT | Longitud de tiempo en minutos para archivar una alarma. El archivado de una alarma pospone el procesamiento de alarma. Es como suprimir una alarma, excepto que ese archivado tiene un tiempo limitado. Si se confirma una alarma mientras se está archivando, permanece confirmada incluso si vuelve a estar activa de nuevo. Se convierte en no confirmada cuando la duración del archivado finaliza (siempre que la alarma siga activa en ese momento). El tiempo mínimo es un minuto. El tiempo máximo lo define MaxShelveDuration. |
MaxShelveDuration | DINT | Duración máxima del tiempo en minutos en la que se puede archivar una alarma. Para obtener más información sobre cómo archivar una alarma, consulte la descripción del parámetro ShelveDuration. |
Parámetros de salida
Parámetro de salida | Datos Tipo | Descripción |
|---|---|---|
EnableOut | BOOL | Habilita la salida. |
InAlarm | BOOL | Estado activo de alarma. Establecido en verdadero cuando la alarma está activa. Borrado y establecido en falso cuando la alarma no está activa (estado normal). |
Acked | BOOL | Estado de confirmación de la alarma. Establecido en verdadero cuando la alarma está confirmada. Se borra y se establece en falso cuando la alarma no está confirmada. Acked está siempre establecida en verdadero cuando AckRequired se borra y establece en falso. |
InAlarmUnack | BOOL | Combinación de estado activo de alarma y estado de confirmación. Establecido en verdadero cuando la alarma está activa (InAlarm está establecido es verdadero) y sin confirmar (Acked se borra y establece en falso). Se borra y establece en falso cuando la alarma no está activa, confirmada o ambas. |
Suppressed | BOOL | Estado de alarma suprimida. Establecido en verdadero cuando se haya suprimido la alarma. Se borra y establece en falso cuando no se ha suprimido la alarma. |
Shelved | BOOL | Estado de archivado de la alarma. Establecido en verdadero cuando se haya archivado la alarma. Se borra y se establece en falso cuando se haya desarchivado la alarma. El archivado de una alarma pospone el procesamiento de alarma. Es como suprimir una alarma, excepto que ese archivado tiene un tiempo limitado. Si se confirma una alarma mientras se está archivando, permanece confirmada incluso si vuelve a estar activa de nuevo. Se convierte en no confirmada cuando finaliza la duración del archivado. |
Disabled | BOOL | Estado de alarma deshabilitada. Establecido en verdadero cuando la alarma no se ha habilitado. Se borra y se establece en falso cuando se haya habilitado la alarma. |
Commissioned | BOOL | Estado activado de la alarma. Establecido en verdadero cuando la alarma se ha activado. Se borra a falso cuando se ha desactivado la alarma. En estos momentos siempre se establece en verdadero. |
MinDurationACC | DINT | Indica el valor de acumulador actuar para el temporizador MinDuration de la alarma. Este valor no se utiliza en la versión 29 y posteriores de la aplicación Logix Designer. El valor siempre es 0. |
AlarmCount | DINT | Número de veces que se ha activado la alarma (InAlarm está establecido). Si se alcanza el valor máximo, el contador deja el valor en el valor máximo de conteo. |
InAlarmTime | LINT | Marca de tiempo de detección de la alarma. |
AckTime | LINT | Marca de tiempo de la confirmación de alarma. Si la alarma no requiere confirmación, esta marca de tiempo es igual a la hora de la alarma. |
RetToNormalTime | LINT | Marca de tiempo de alarma que vuelve a un estado normal. |
AlarmCountResetTime | LINT | Marca de tiempo que indica cuándo se ha restablecido el conteo de alarmas. |
ShelveTime | LINT | Marca de tiempo que indica cuándo una condición de alarma se ha archivado por última vez. Este valor es establecido por el controlador cuando una alarma se archiva. Todas las alarmas se pueden archivar y desarchivar varias veces. Cada vez que la alarma se archiva, la marca de tiempo se establece en la hora actual. Para obtener más información sobre cómo archivar una alarma, consulte la descripción del parámetro Shelved. |
UnshelveTime | LINT | Marca de tiempo que indica cuándo se va a desarchivar la alarma. Este valor se establece cada vez que la alarma se archiva (incluso si la alarma ya se ha archivado). La marca de tiempo viene determinada al añadir ShelveDuration a la hora actual. Si la alarma se desarchiva de forma programática o por un operador, entonces el valor se establece en la hora actual. Para obtener más información sobre cómo archivar una alarma, consulte la descripción del parámetro Shelved. |
Status | DINT | Indicadores de estado combinado: Status.0 = InstructFault Status.1= InFaulted Status.2 = SeverityInv |
InstructFault (Status.0) | BOOL | Existen condiciones de error de instrucción No se trata de un error mayor o menor del controlador. Se comprueban los bits de estado restantes para determinar lo que ha ocurrido. |
InFaulted (Status.1) | BOOL | El programa de usuario ha establecido InFault para indicar la existencia de datos de entrada de mala calidad. La instrucción sigue evaluando In para las condiciones de alarma. |
SeverityInv (Status.2) | BOOL | Configuración de gravedad de alarma. Si Gravedad < 1, la instrucción utiliza Gravedad = 1. Si la gravedad > 1000, la instrucción utiliza Severity = 1000. |
Diagramas de estado de alarmas digitales



Diagramas de temporización de alarma digital
Confirmación de alarma ALMD requerida y enclavada.

Confirmación de alarma ALMD requerida y no enclavada.

Confirmación de alarma ALMD no requerida y enclavada.

Confirmación de alarma ALMD no requerida y no enclavada.


Conectar un botón a la etiqueta OperShelve
Para evitar que la alarma se vuelva a archivar sin que lo desee, la instrucción de alarma solo procesa la etiqueta OperShelve si hace una transición desde falso a verdadero entre un escaneado del programa y el siguiente. Si un operador presiona un botón de pulsador para archivar la alarma mientras es verdadera la etiqueta ProgUnshelve, la alarma no se archiva porque la etiqueta ProgUnshelve tiene prioridad. Sin embargo, dado que los escaneados de programa se completan en milisegundos, el operador puede seguir pulsando el botón de pulsador por lo que la etiqueta OperShelve sigue establecido sobre varios escaneados de programa incluso aunque la etiqueta ProgUnshelve se haya borrado. Esto significa que la alarma no está archivada.
Para archivar la alarma, el operador puede soltar y volver a presionar el botón.
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
No es específico para esta instrucción. Consulte Índice a través de matrices para ver los fallos de indexación de matrices.
Ejecución
Diagrama de lógica de escalera
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | EnableOut se borra a falsa La salida InAlarm se borra y se establece en falso La salida Shelved se borra y se establece en falso La salida Acked se establece en verdadero Se han confirmado todas las condiciones de alarma. Se han borrado todas las peticiones del operador. Se han borrado todas las marcas de tiempo. |
La condición de entrada de renglón es falsa | Reglón se borra y se establece en falso. El parámetro In se borra y se establece en falso. La instrucción se ejecuta. |
La condición de entrada de renglón es verdadera | Reglón se establece en verdadero. El parámetro In se establece en verdadero. La instrucción se ejecuta. |
Post-escaneado | El bit de reglón se borra y se establece en falso. |
Bloque de funciones
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Tag.EnableOut se borra y se establece en false. La salida InAlarm se borra y se establece en falso La salida Shelved se borra y se establece en falso La salida Acked se establece en verdadero Se han borrado todas las peticiones del operador. Se han borrado todas las marcas de tiempo. |
Tag.EnableIn es falso | Tag.EnableOut se borra a falso |
Tag.EnableIn es verdadero | La instrucción se ejecuta Tag.EnableOut se establece en verdadero |
Primera ejecución de instrucción | N/A |
Primer escaneado de instrucción | N/A |
Post-escaneado | Tag.EnableOut se borra y se establece en false. |
Texto estructurado
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Consultar Pre-escaneado en la tabla Diagrama de lógica de escalera. |
Ejecución normal | Consultar La condición de entrada de reglón es verdadera en la tabla Diagrama de escalera. |
Post-escaneado | Consultar Post-escaneado en la tabla Diagrama de escalera. |
Ejemplo
Diagrama de lógica de escalera

Bloque de funciones

Texto estructurado
A continuación se muestra un ejemplo de una instrucción de ALMD en texto estructurado. En este ejemplo, se combinan dos señales de error de motor de tal manera que si una de las dos aparece, se activa una alarma de error de motor. Se puede usar la etiqueta Motor101Ack para confirmar esta alarma.
Motor101FaultConditions := Motor101Overtemp OR Motor101FailToStart;
ALMD(Motor101Fault,Motor101FaultConditions,Motor101Ack,0,0,0 );
Entregue su opinión