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. |
|
"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 |