Aplicación 7 con SADE en C#. Timers controlados por Hardware

En ésta aplicación se explica el procedimiento para utilizar los Timers controlados por Hardware en los modos 1, 2 y 3.

Para este ejemplo se requiere preguntar por el valor actual de los Switches en todo momento, por lo que utilizaremos un hilo o subproceso (Thread) y esté trabajando en segundo plano.

Vamos a la pestaña Project > Add Existing Item…  y seleccionamos el archivo Hilo.cs.

Ahora debemos agregar la librería Threading.

Creamos los objetos hilo t.

Para evitar la restricción de poder modificar los elementos de la interfaz de usuario mediante un hilo, debemos agregar la siguiente instrucción.

En el diseño agregamos un botón que ejecutará el hilo el cual revisará las notificaciones de los Timers en todo momento. Le damos doble clic para crear un evento.

Timer en modo 1

El timer en modo 1 funciona especificando el tiempo que se esperará antes de mandar una notificación a la aplicación. El conteo se hace desde Hardware y la notificación se observa en Software. Disponemos de 4 Timers para trabajarlos en modo 1 (Timer1, Timer2, Timer3, Timer4), para éste ejemplo trabajaremos con Timer1.

En nuestro diseño agregamos un botón para resetear a Timer1 y una etiqueta en la cual se mostrará la notificación cuando haya terminado de contar.

Cambiamos la propiedad de la etiqueta para volverla un objeto público (se repetirá este paso en las demás etiquetas).

Para resetear a Timer1 utilizamos el método Reset_Timer_Modo1.

 

Lo que sigue es editar el código de la classe Hilo. Damos click a la pestaña Solution Explorer, expandimos Hilo.cs y abrimos Hilo.

Ya en la clase colocamos el código que se ejecutará en segundo plano en un while infinito dentro de  Metodo(). Para mandar a llamar un elemento de la clase Form1 desde la clase Hilo utilizamos el objeto form1.

Timer en modo 2

El Timer en modo 2 funciona igual que el modo 1 pero la notificación se observa tanto en Software como en Hardware a través de uno de los 4 pines disponibles, utilizaremos el Pin A3 de la tarjeta Symbhia por ejemplo.

En el diseño agregamos un botón para resetear el Timer y una etiqueta donde se mostrará la notificación cuando haya terminado de contar.

Para resetear el Timer en modo 2 utilizamos el método Reset_Timer_Modo2.

De vuelta en el Hilo escribimos el código para revisar la notificación.

Timer en modo 3

 El Timer en modo 3 requiere de un evento externo para iniciarse, la notificación se muestra tanto en Hardware como en Software y a diferencia de los modos 1 y 2 el modo 3 se puede especificar el tiempo que durará la notificación (Ancho). Para éste ejemplo utilizaremos el pin A5 para la notificación externa (la notificación se mostrará en el pin B3).

En el diseño agregaremos 2 etiquetas, en la primera se mostrará la notificación del evento externo y en la otra se mostrará la notificación del Timer.

En la clase Hilo escribimos el siguiente código:

Por último ejecutamos nuestra aplicación presionando el botón

Y así finaliza nuestra aplicación.

¡Gracias por su interés en SADE!

Cualquier duda o información pueden contactarnos en: [email protected]

Menú