TONR_X: Acumulador de tiempo (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
TONR_X: Acumulador de tiempo

Descripción

La instrucción "Acumulador de tiempo" acumula valores de tiempo dentro de un periodo definido con ayuda de la entrada PV. La instrucción se ejecuta cuando el estado lógico de la entrada de arranque TMR_EN cambia de "0" a "1". Simultáneamente, el temporizador cuenta el tiempo programado en la entrada PV. Mientras se ejecuta la instrucción, añade el valor de tiempo de la entrada DELTA_T al valor de tiempo de InOut ET.

Además, deben cumplirse las siguientes condiciones:

  • La entrada de arranque TMR_EN devuelve el estado lógico "1".

  • El valor de tiempo de InOut ET es menor que el valor de tiempo del parámetro PV.

  • La entrada RESET devuelve el estado lógico "0".

La instrucción se interrumpe cuando el estado lógico de la entrada de arranque TMR_EN cambia de "1" a "0". En cuanto el estado lógico cambia de nuevo a "1", la instrucción sigue ejecutándose.

La instrucción finaliza cuando el valor de tiempo de InOut ET alcanza el valor de tiempo de la entrada PV. Entonces, la salida Q devuelve el estado lógico "1".

Mientras la salida Q devuelva el estado lógico "1", el valor de tiempo de InOut ET no se modificará. El valor de tiempo y la salida Q vuelven a ponerse a "0" solo cuando la entrada RESET se pone al estado lógico "1".

Puesto que la instrucción "Acumulador de tiempo" utiliza el tiempo de ciclo (DELTA_T) del último ciclo del bloque de organización (OB), la instrucción solo puede llamarse en bloques de organización cíclicos.

Nota

El tiempo de ciclo del bloque de organización debe desplazarse desde la información de arranque a la variable global del parámetro DELTA_T.

Sintaxis

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

Parámetro

Declaración

Tipo de datos

Área de memoria

Descripción

TMR_EN (Timer Enable)

Input

BOOL

I, Q, M, D, L

Entrada de arranque

Arranca la instrucción y la temporización predeterminada en la entrada PV

RESET

Input

BOOL

I, Q, M, D, L

Entrada de reset

PV (Preset Value)

Input

DINT

I, Q, M, D, L, P o constante

Tiempo máximo de lectura del tiempo

DELTA_T

Input

INT

I, Q, M, D, L o constante

Tiempo de ciclo del bloque de organización del ciclo anterior

Q

Output

BOOL

I, Q, M, D, L

Salida que se establece al alcanzar el valor de tiempo predeterminado

ET (Elapsed Time)

InOut

DINT

I, Q, M, D, L

Valor de tiempo acumulado

(Valor de tiempo transcurrido actualmente + valor de tiempo de la entrada DELTA_T)

Valor de función

VOID

 

Valor de función vacío

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 "Acumulador de tiempo":

Ejemplo

El siguiente ejemplo muestra el funcionamiento de la instrucción:

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

"Tag_Result" := TONR_X(TMR_EN := "Tag_Start",

                       RESET := "Tag_Reset",

                       "PV := 10

                       DELTA_T := 2,

                       Q => "Tag_Output",

                       ET := "Tag_Elapsed_Time");

En cada cambio del estado lógico de "0" a "1" en la entrada TMR_EN, el tiempo de ciclo "2" de la entrada DELTA_T se añade al valor de tiempo actual de InOut ET, hasta que se alcanza el valor de tiempo máximo "10" de la entrada PV.