Vamos a realizar un ejemplo de deshacer y rehacer en TIA Portal que puede ser un buen truco para añadir a tus pantallas HMI.
Desde luego le darás un toque más profesional y diferenciado.
Contenido
Deshacer y rehacer en TIA Portal
Te voy a contar en qué consiste el deshacer y rehacer en TIA Portal.
Bueno, a decir verdad, estás cansado de verlo en las aplicaciones de windows: el botón de deshacer y rehacer.
¿Te suena?
Bien, pues la idea es programar la opción de poner los botones de deshacer y rehacer, como si una aplicación cualquiera de Windows fuera.
Pero en un HMI de Siemens.
¿A que suena bien?
Esta opción cuando usamos Word o Excel la damos por evidente.
No lo es tanto si la tienes que realizar por tu cuenta.
Ya lo verás.
¿Cómo programamos el deshacer y rehacer en TIA Portal?
El trabajo lo vamos a realizar en tres partes:
- Almacenar instantáneas del editor cada vez que cambiemos un dato para poderlo recuperar posteriormente.
- Poder deshacer a una instantánea guardada, yendo hacia atrás en el tiempo. Esto sería la opción de deshacer.
- Poder rehacer desde un momento en el pasado, yendo otra vez hacia el futuro de lo escrito. Esta sería lógicamente el rehacer.
Para ello, vamos a necesitar tantas instantáneas de los datos que queramos restaurar como veces podamos necesitar dar al botón de deshacer.
Esto lo vamos a conseguir mediante un array en TIA Portal de N posiciones (las que queramos).
El contenido de cada posición será una estructura con los datos de las variables del editor que queramos meter en este juego.
Luego, como funcionará será así:
- Cuando introduzcamos un nuevo dato, moveremos una posición el índice. Sumaremos una unidad al undo (porque ya tendríamos 1 posición guardada) y dejaríamos a cero el rehacer.
- Cuando hagamos un deshacer, moveremos una posición el índice hacia atrás, restaremos una unidad al índice del deshacer, y sumaremos una unidad al rehacer.
- Cuando hagamos un rehacer, moveremos una posición el índice nuevamente hacia delante, restaremos una unidad al índice del rehacer, y sumaremos una unidad al deshacer.
Finalmente, copiaremos lo que tengamos en el índice seleccionado, al editor.
El vídeo de deshacer y rehacer en TIA Portal
Como es más fácil siempre verlo que explicarlo, he grabado un vídeo donde p0drás verlo funcionar además de explicarte por encima como funcionaría el programa.
¿Te ha gustado el deshacer y rehacer en TIA Portal?
Espero que te haya gustado el ejemplo, y que lo pongas en práctica.
El concepto es exportable a cualquier HMI que quieras programar.
Como en otras ocasiones, los alumnos del curso de TIA Portal podrán bajarse el ejemplo y cacharrear con él.
En este caso, he creido que el mejor sitio donde ubicarlo, es en el bloque 2 dedicado a la programación en Ladder, junto con el resto de ejemplos del bloque.
¡Déjame tu opinión si crees que puede ser interesante para tus proyectos!
Recuerda que puedes apuntarte en Guorker.com donde por una cuota mensual, tendrás tarifa plana en todos los cursos disponibles en la plataforma.
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí
Puedes seguirme en cualquiera de las siguientes redes sociales.
15 Comentarios
Excelente amigo muy buena tu aplicacion y muy util muchas gracias
De nada Iván!
Muy bueno
Gracias Oscar!
No dejo de sorprenderme, la verdad. Habra que probarlo…
Hola Jesús.
Pruebalo. Lo más interesante es entender el concepto para luego aplicarlo si es necesario en alguna aplicación.
Saludos!
Hola Íñigo, muy chulo el ejemplo. No veo el archivo en el bloque del curso, entiendo que todavía no lo has subido, no?
saludos
Estaba subido pero había un error y no mostraba el anexo desde la página principal del curso, solo desde el bloque 2. Ya está corregido.
Saludos!
Gracias Iñigo por el vídeo. Muy bueno y practico de cara a los clientes.
Para cuando un ejemplo de servidor OPC con un 1500..??
Gracias,
Muy buena propuesta!!! Sería muy interesante para todos indagar en este punto desde la mano de Iñigo.
Muy bien elaborado,
Nunca me había parado a pensar cómo internamente hacen los ordenadores esta opción. Pero mucho más trabajo es pensarlo cómo hacerlo.
Muy bueno, saludos
Exelente esta es una parte muy importante para ponerla en practica
Es genial Iñigo, me ha ido perfecto para poder entender bien los arrays y otras muchas cosas, despues de haber hecho el programa, la pantalla y simular valores se aprende muchisimo!!
Gracias por tu dedicación.
Genial David! De eso se trata!
Hola iñigo!! En el OB 1 cuando llamas a la funcion cual es la variable que metes?