DCAT: Alarma de tiempo para control discreto (S7-300, S7-400) - STEP 7

SCL (S7-300, S7-400)

ft:publication_title
SCL (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
es-ES
DCAT: Alarma de tiempo para control discreto

Descripción

La instrucción "Alarma de tiempo para control discreto" acumula el tiempo desde el instante en el que el parámetro CMD da la orden de abrir o cerrar. El tiempo se acumula hasta excederse el tiempo predeterminado (PT) o hasta recibir la notificación de que el dispositivo se ha cerrado o abierto dentro del tiempo prescrito (O_FB o C_FB). Si se excede el tiempo predeterminado antes de recibirse la notificación de que se ha abierto o cerrado el dispositivo, se activa la alarma correspondiente. Si el estado lógico de la entrada de la orden cambia antes del tiempo predeterminado, se reinicia el tiempo.

Al insertar la instrucción en el programa, el cuadro de diálogo "Opciones de llamada" se abre automáticamente; en él se puede determinar si los parámetros de bloque de la instrucción se depositan en un bloque de datos propio (instancia individual) o bien como variable local (multiinstancia) en la interfaz del bloque. Si crea un bloque de datos propio, lo encontrará en el árbol del proyecto, en la carpeta "Recursos de programa", en "Bloques de programa > Bloques de sistema". Encontrará más información al respecto en "Consulte también".

La instrucción "Alarma de tiempo para control discreto" tiene las reacciones siguientes en las condiciones de entrada:

  • Si el estado lógico del parámetro CMD cambia de "0" a "1", esto tiene los efectos siguientes en los estados lógicos de los parámetros Q, CMD_HIS, ET, OA y CA:

    • Los parámetros Q y CMD_HIS se ponen a "1"

    • Los parámetros ET, OA y CA se ponen a "0"

  • Si el estado lógico del parámetro CMD cambia de "1" a "0", los parámetros Q, ET, OA, CA y CMD_HIS se ponen a "0".

  • Si los parámetros CMD y CMD_HIS tienen el estado lógico "1" y el parámetro O_FB se pone a "0", la diferencia de tiempo (ms) desde la última ejecución de la instrucción se suma al valor del parámetro ET. Si el valor del parámetro ET excede el del parámetro PT, el estado lógico del parámetro OA se pone a "1". Si el valor del parámetro ET no excede el del parámetro PT, el estado lógico del parámetro OA se pone a "0". El valor del parámetro CMD_HIS se pone al del parámetro CMD.

  • Si los estados lógicos de los parámetros CMD, CMD_HIS y O_FB están a "1" y el parámetro C_FB devuelve el valor "0", el estado lógico del parámetro OA se pone a "0". El valor del parámetro ET se pone al del parámetro PT. Si el estado lógico del parámetro O_FB cambia a "0", se activa la alarma en la siguiente ejecución de la instrucción. El valor del parámetro CMD_HIS se pone al del parámetro CMD.

  • Si los parámetros CMD, CMD_HIS y C_FB devuelven "0", la diferencia de tiempo (ms) desde la última ejecución de la instrucción se suma al valor del parámetro ET. Si el valor del parámetro ET excede el del parámetro PT, el estado lógico del parámetro CA se pone a "1". Si no se excede el valor del parámetro PT, el parámetro CA devuelve el estado lógico "0". El valor del parámetro CMD_HIS se pone al del parámetro CMD.

  • Si los parámetros CMD, CMD_HIS y O_FB devuelven el estado lógico "0" y el parámetro C_FB está a "1", el parámetro CA se pone a "0". El valor del parámetro ET se pone al del parámetro PT. Si el estado lógico del parámetro C_FB cambia a "0", se activa la alarma en la siguiente ejecución de la instrucción. El valor del parámetro CMD_HIS se pone al del parámetro CMD.

  • Si los parámetros O_FB y C_FB devuelven simultáneamente el estado lógico "1", los estados lógicos de ambas salidas de alarma se ponen a "1".

La instrucción "Alarma de tiempo para control discreto" no devuelve información de error.

Parámetros

La tabla siguiente muestra los parámetros de la instrucción:

Parámetro

Declaración

Tipo de datos

Área de memoria

Descripción

CMD

Input

BOOL

I, Q, M, D, L

El estado lógico "0" da la orden de "Cerrar".

El estado lógico "1" da la orden de "Abrir".

O_FB

Input

BOOL

I, Q, M, D, L

Entrada de realimentación al abrir

C_FB

Input

BOOL

I, Q, M, D, L

Entrada de realimentación al cerrar

Q

Output

BOOL

I, Q, M, D, L

Indica el estado del parámetro CMD

OA

Output

BOOL

I, Q, M, D, L

Salida de alarma al abrir

CA

Output

BOOL

I, Q, M, D, L

Salida de alarma al cerrar

ET

Static

DINT

I, Q, M, D, L

Tiempo actual transcurrido; un ciclo de reloj = 1 ms.

PT

Static

DINT

I, Q, M, D, L

Valor de tiempo predeterminado; un ciclo de reloj = 1 ms.

PREV_TIME

Static

DWORD

I, Q, M, D, L

Hora de sistema anterior

CMD_HIS

Static

BOOL

I, Q, M, D, L

Bit de evolución de CMD

Encontrará más información sobre los tipos de datos válidos en "Consulte también".

Los parámetros estáticos no son visibles al efectuar la llamada de la instrucción en el programa. Estos se almacenan en la instancia de la instrucción.

Ejemplo

En el ejemplo siguiente, el parámetro CMD cambia de "0" a "1". Una vez ejecutada la instrucción, el parámetro Q se pone a "1" y las dos salidas de alarma OA y CA se ponen a "0". El parámetro CMD_HIS del bloque de datos de instancia se pone a "1" y el parámetro ET se pone a "0".

Nota

Los parámetros estáticos pueden inicializarse en el bloque de datos.

SCL Copia el código de programa siguiente en el portapapeles.

"DCAT_DB"(CMD := "Tag_Input_CMD",

          O_FB := "Tag_Input_O_FB",

          C_FB := "Tag_Input_C_FB",

          Q => "Tag_Output_Q",

          OA => "Tag_Output_OA",

          CA => "Tag_Output_CA");

Las tablas siguientes muestran el funcionamiento de la instrucción con valores concretos.

Antes de la ejecución

En este ejemplo se utilizan los siguientes valores para los parámetros de entrada y salida:

Parámetro

Operando

Valor

CMD

Tag_Input_CMD

TRUE

O_FB

Tag_Input_O_FB

FALSE

C_FB

Tag_Input_C_FB

FALSE

Q

Tag_Output_Q

FALSE

OA

Tag_Output_OA

FALSE

CA

Tag_Output_CA

FALSE

Los siguientes valores se almacenan en el bloque de datos de instancia "DCAT_DB" de la instrucción:

Parámetro

Dirección

Valor

ET

DBD4

L#12

PT

DBD8

L#222

CMD_HIS

DBX16.0

FALSE

Después de la ejecución

Una vez ejecutada la instrucción, los valores siguientes se escriben en los parámetros de salida:

Parámetro

Operando

Valor

Q

Tag_Output_Q

TRUE

OA

Tag_Output_OA

FALSE

CA

Tag_Output_CA

FALSE

Los siguientes valores se almacenan en el bloque de datos de instancia "DCAT_DB" de la instrucción:

Parámetro

Dirección

Valor

ET

DBD4

L#0

CMD_HIS

DBX16.0

TRUE