Início / Descargas / Fatek / Calculo de Tiempo transcurrido entre dos eventos autómata FATEK

Calculo de Tiempo transcurrido entre dos eventos autómata FATEK

  • Publicado: 08 Noviembre 2013
  • Descargas
  • Leído Visto: 4183 veces

Como ejemplo de aplicación de este concepto, podemos utilizar el siguiente programa para calcular la velocidad de paso de objetos mediante una simple barrera fotoeléctrica. También podemos establecer la diferenciación de objetos de distinto tamaño desplazándose por una cinta transportadora, para su posterior discriminación. 

Básicamente, se trata de calcular el tiempo que tarda un determinado objeto, en atravesar una barrera fotoeléctrica. Es decir, el tiempo que esa barrera permanece a (ON). En el caso de que estos objetos sean de idénticas dimensiones, podríamos determinar fácilmente la velocidad de trabajo real del accionamiento en sí. Por ejemplo, detección de velocidad de paso de objetos en una línea de envasado, cálculo de la velocidad en una polea mediante la detección de sus radios en movimiento, etc.

Para obtener unos resultados que podamos considerar de alta precisión, es imprescindible el uso de interrupciones en los cálculos a realizar. Por lo tanto, comenzaremos configurando la entrada de señal (Entrada de fotocélula), como una entrada de interrupción. 

En nuestro ejemplo, utilizaremos (X0) como podemos observar en la siguiente imagen. Esta configuración, (Both Edge), generará dos interrupciones, una en el flanco (+) (X0+I), y otra en el (-) (X0-I).

A continuación, vamos a configurar el temporizador de alta velocidad (HST0), como temporizador cíclico. Es decir, su valor será incrementado en (1) cada (0,1mS) de forma constante y comenzará desde (0)  nuevamente, cuando rebase su valor máximo. (32 bits). Para su funcionamiento como temporizador cíclico, cargaremos (0) en su (PV) mediante el uso de la (FUN-93) en el programa principal.

Configuración de (HSC0) como temporizador (HST0). 

Configuración de (HST0) como temporizador cíclico. (Programa principal). 

Básicamente, el funcionamiento del sistema, consiste en leer el valor (CV) del temporizador cíclico, y guardarlo en el registro (R0), mediante la interrupción (X0+I) que se produce en el flanco positivo de la entrada (X0).

 

Para obtener el tiempo que ha permanecido activa la entrada (X0), necesitamos calcular la diferencia entre el valor de (CV) en el instante del flanco positivo y el valor del mismo al producirse el flanco negativo. Para ello, utilizaremos la interrupción (X0-I), en la que realizamos la lectura del (CV) del temporizador nuevamente, y guardamos el dato esta vez en (R2). Calculando la diferencia entre (R2) y (R0), obtenemos el tiempo que ha permanecido activa la entrada (X0) con una resolución de (0,1 mS).

 

El resultado obtenido en (R4), será actualizado cada vez que se ejecute esta interrupción y nos ofrece un valor en tiempo real que podremos utilizar por ejemplo, para calcular la velocidad de rotación en poleas radiales, la discriminación de objetos en función de su longitud, la velocidad de paso en objetos de idénticas dimensiones, etc.

NOTA: Para una mayor comprensión de los contenidos mostrados en este ejemplo es recomendable la atenta lectura de los capítulos (9 y10).