Descripción
La instrucción "Retardo al desconectar" permite retardar el reset del parámetro Q por el tiempo programado PT. El parámetro Q se activa cuando el resultado lógico (RLO) del parámetro IN cambia de "0" a "1" (flanco de señal ascendente). Cuando el estado lógico del parámetro IN cambia nuevamente a "0", el tiempo programado PT deja de contar. El parámetro Q permanecerá activado mientras transcurra el tiempo PT. Una vez transcurrido el tiempo PT se inicializa el parámetro Q. Si el estado lógico del parámetro IN cambia a "1" antes de que transcurra el tiempo PT, se inicializa el temporizador. El estado lógico del parámetro Q permanece a "1".
El valor actual de tiempo se puede consultar en el parámetro ET. Este valor de tiempo actual empieza a contar a partir de T#0s y termina al alcanzarse el valor de tiempo PT. Una vez transcurrido el tiempo PT, el parámetro ET permanece al valor actual hasta que el parámetro IN vuelva a cambiar a "1". Si el parámetro IN cambia a "1" antes de transcurrir el tiempo PT, el parámetro ET se restablece al valor T#0s.
A cada llamada de la instrucción "Retardo al desconectar" debe asignársele un temporizador CEI, en el que se guarden los datos de la instrucción. Un temporizador CEI se puede declarar como se indica a continuación:
-
Declaración de un bloque de datos del tipo TOF (p. ej., "TOF_DB")
-
Declaración como variable local del tipo TOF en la sección "Static" de un bloque (p. ej., #MyTOF_TIMER)
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 el temporizador CEI se deposita 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 "Bloques de programa > Bloques de sistema", carpeta "Recursos de programa", . Encontrará más información al respecto en "Consulte también".
El sistema operativo inicializa las instancias de la instrucción "Retardo al desconectar" cuando se realiza un arranque en frío. Si alguna instancia de la instrucción debe estar inicializada tras un rearranque completo (en caliente), las instancias que se deben inicializar se deben llamar en un OB de arranque con el valor "0" en el parámetro PT. Si un bloque diferente contiene instancias de la instrucción "Retardo al desconectar", estas pueden inicializarse p. ej. inicializando el bloque de nivel superior.
|
Nota Ignorar instrucción Si en el programa no se llama la instrucción porque, p. ej., esta es ignorada, la salida ET devuelve un valor de constante en cuanto ha transcurrido este tiempo. |
|
Nota Actualización de los datos de la instrucción Los datos de la instrucción se actualizan únicamente al llamar la instrucción. Al acceder a las salidas Q o ET, no se actualizan los datos. |
Temporizador CEI como bloque de datos de instancia del tipo de datos de sistema <Temporizador_CEI> (Shared DB)
Un temporizador CEI se puede declarar como bloque de datos del modo siguiente:
<DB_temporizador_CEI.TOF();
Temporizador CEI como variable local de la interfaz del bloque (multiinstancia)
El temporizador CEI se puede declarar como variable local del modo siguiente:
#myLocal_Timer();
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 |
|---|---|---|---|---|
|
IN |
Input |
BOOL |
I, Q, M, D, L |
Entrada de arranque |
|
PT |
Input |
TIME |
I, Q, M, D, L, P |
Tiempo del retardo al desconectar El valor del parámetro PT debe ser positivo. |
|
Q |
Output |
BOOL |
I, Q, M, D, L |
Operando que se desactiva una vez transcurrido el tiempo PT. |
|
ET |
Output |
TIME |
I, Q, M, D, L |
Valor de tiempo actual |
Encontrará más información sobre los tipos de datos válidos en "Consulte también".
Cronograma de impulsos
La figura siguiente muestra el cronograma de impulsos de la instrucción "Retardo al desconectar":
Ejemplo
El siguiente ejemplo muestra el funcionamiento de la instrucción:
|
"TOF_DB".TOF(IN := "Tag_Start", PT := "Tag_PresetTime", Q => "Tag_Status", ET => "Tag_ElapsedTime"); |
Si se produce un cambio del estado lógico del operando "Tag_Start" de "0" a "1", el operando se pone a "Tag_Status". Cuando el estado lógico del operando "Tag_Start" cambia de "1" a "0", el tiempo programado en el parámetro PT empieza a contar. Mientras transcurra el tiempo, permanecerá activado el operando "Tag_Status". Una vez transcurrido el tiempo, el operando "Tag_Status" se desactiva. El valor de tiempo actual se guarda en el operando "Tag_ElapsedTime".