Cómo crear un cronómetro en Step 7

Cómo crear un cronómetro en Step 7

cronómetro en step 7Esta semana respondiendo a una duda/petición de uno de los lectores vamos a crear un cronómetro en Step 7.

La verdad es que no tiene mucha ciencia,  y por eso le he querido dar un poco más de gracia al invento haciendo que se muestre en el Wincc Flexible mediante discos concéntricos a modo de diana.

Como verás en el vídeo los segundos, minutos y horas describen perfectamente una circunferencia según va pasando el tiempo.


Cronómetro en Step 7

El cronómetro tal y como está la verdad es que no lo he usado nunca, pero no es menos cierto que en más de una ocasión he calculado tiempos de forma similar a la que se describe en el vídeo usando:

  • El OB35
  • Una variable a modo de contador

La idea es muy simple: aprovechando la frecuencia sabida de ejecución del OB35, aprovechamos para contar . En este caso, cada 100ms. Por tanto, cada 10 ejecuciones, tendremos 1 segundo.

Sacar los minutos y segundos, será trivial. Iremos pasando la información hacia arriba: cada 10 ejecuciones tendremos un segundo, y por cada sesenta segundos, pues un minuto...

¿Fácil no?


WinCC Flexible

Para aderezar el problema he introducido la variable del WinCC. Para ello, he pensado que qué mejor que hacer que tener partes móviles en la pantalla.


¿Cómo?

Realmente es sencillo. A cada elemento en una pantalla de WinCC puedes moverlo de forma dinámica mediante unos offset. Estos Offset en el eje X como en el Y son variable que lógicamente puede tomar diferentes valores.


Ya ya... ¿pero cómo calculas la posición?

Pues usando la trigonometría de segundo de bachiller... con senos y cosenos.

Lo que sabemos de nuestro reloj es la posición relativa dentro de la esfera del reloj. Sabiendo eso, podemos saber qué ángulo formaría la aguja y por tanto su seno y su coseno.

Tenendo la longitud de la aguja (el radio) y el ángulo podremos calcular en coordenadas cartesianas muy fácilmente la posición X e Y ya que:

  • X = Radio *Cos (ángulo)
  • Y = Radio *Sen (ángulo)

¿A que parece mentira que esto de las funciones trigonométricas que estudiaste hace la tira de años sirvan para algo?

Pues sí, sirven para muchas cosas, entre ellas dibujar relojes.. ¿qué te parece?


El video.

Para que esto tenga un poco más de sentido práctico, pues el video de casi todas las semanas donde vas a poder ver de que diantre te estoy hablando.


¿Qué te ha parecido?

Vale que como ejercicio no sea lo más complejo que vayas a ver en tu vida, pero ves un caso práctico de:

  • Uso de FC
  • Uso de FB
  • Uso de funciones trigonométricas
  • Dar un poco de vidilla al WinCC

En fin, que sería interesante saber tu opinión, de si este tipo de cosas es interesante para ti o no y si le ves utilidad práctica.

Este ejemplo al igual que muchos otros está disponible en el libro Cómo programar Step 7 y no morir en el intento con los proyectos descargables para su posterior análisis y modificación.

Comentarios (9)

torkua
Gracias por otra entrega.. Hay que dar animos, y de cada nuevo ejercicio se aprende algo nuevo...
Iñigo Gútiez
Bueno, la idea es ir viendo nuevas cosas, unas más complejas que otras, pero siempre interesantes de conocer. Un saludo!
Lucas
Hola Iñigo. Muy buen ejemplo de aplicación. Haces que todo parezca sencillo. Verdaderamente gracias!!!! Estoy aprendiendo mucho gracias a tu aporte. Saludos.
flsevilla
Genial, muy bueno el video
Jose Antonio
Hola qué tal muy bueno el vídeo, La verdad es que uno nunca se para a pensar cómo realmente funciona internamente un reloj crónometro. Está chulo. Un saludo
rafael
La verdad que estos ejercicios aparte de darte fluidez en tu lenguaje de programacion pone a tus neuronas carrera mar al rededor del campo de futbol.una vez mas gracias Iñigo.
Adrian
He empezado hacerlo pero no me sale la animacion en WinCC. No puedes subir el proyecto aver como se hace?
Iñigo Gútiez
El proyecto se entrega con el curso de cómo programar step 7 y no morir en el intento. Saludos
MANSERINE
Muchas gracias Iñigo excelente ejemplo. Se los recomiendo 1000%