Esta semana te traigo la solución al reto presentado la semana pasada.
Se trata de realizar un pequeño programador semanal para controlar luces o una caldera. Esto es un ejemplo, puede ser cualquier circuito cuya activación sea digital.
Contenido
La solución del programador de tareas en TIA Portal
En la captura del post puedes ver la idea: crear un calendario semanal con las horas de cada día.
Luego tienes dos programas, uno para las luces y otro para la caldera.
La idea es pulsar sobre las horas que se quieren tener activadas y guardarlo para que se aplique sobre cada uno de los circuitos en función de la hora del día.
El HMI
El HMI en este caso está realizado con Python y Qt-Designer aprovechando que estoy preparando el curso sobre esta materia.
Lógicamente puedes usar cualquier otro método o lenguaje.
De hecho, en la versión de 2013 lo hice con WinCC Flexible 2008 del que te recuerdo que tienes un curso súper completo aquí.
Por tanto, como puedes ver hay muchas maneras de resolverlo. Esta es una de ellas.
Respecto a Python y Qt-Designer, ya te informaré cuando lance el curso por si estuvieras interesado.
EL video del programador de tareas en TIA Portal.
Vamos a echarle un vistazo a la solución que he planteado.
¿Qué te ha parecido?
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.
10 Comentarios
Hola Iñigo, por supuesto que me ha gustado y me ha servido como referencia, al igual que todos tus aportes en tu blog, ya sabes que te sigo desde hace tiempo, la verdad es que se está bien en casa en este tiempo programando…
Así es, se puede hacer con cualquier lenguaje, pero obviamente no voy a usar Ladder para realizar tu reto, sino que voy a modificar una aplicación creada por mí para otras funciones para crear tu reto, en mi canal tengo todo el proceso (3 vídeos), desde la idea obtenida de tu blogs hasta el resultado final en este tercer vídeo que acabo de realizar:
https://youtu.be/RyTxQpz3Elc
Espero que tus alumnos realicen alguno de mi canal con Siemens, si es así, me gustaría verlo…
Gracias por tus aportes, espero el próximo reto.
Saludos.
Lo he visto solo un poco por encima, pero problema de esa solución, es lo de siempre. Se cierra la aplicación, se cuelga, o se apaga el ordenador, y las tareas dejan de ejecutarse por lo que veo, ya que la inteligencia no está en el PLC, que es donde debería estar.
El HMI, solo debe ser un interfaz siempre que se pueda, y que haga solo lo que no pueda hacer el PLC.
En la solución que he planteado, la pantalla, la hagas en Python o con un HMI de Siemens, o en Visual como lo haces tú, solo sirve de interfaz, para indicar las horas, nada más. Luego puedes apagar el ordenador o tirarlo por la ventana, que el PLC seguirá ejecutando las tareas encomendadas.
Esto que parece una chorrada, en la industria no lo es, y los PC y sus aplicaciones, solo deben hacer cosas que por cómo son los PLC, estos no pueden o deben ejecutar ciertas tareas. Por varias razones, pero las fundamentales: 1) El PLC siempre va a ser más robusto que un PC en cuanto a su estabilidad de funcionamiento y 2) Has puesto 2 equipos que intervienen en el proceso. Cualquiera de ellos que falle, el proceso no se ejecuta. Mientras que si el HMI es «tonto», si este cae, el proceso sigue funcionando y solo lo necesitas si necesitas modificarlo, cosa que en este caso es una aplicación de tocar poco.
Además, ya no solo es que puede fallar, es que simplemente para que funcione el PC tiene que estar encendido y ejecutándose la aplicación. Con un HMI de poco uso como sería en este caso, puedes abrir la aplicación solo cuando necesites cambiar las horas, y volver a cerrarla y apagar el ordenador.
Como ejercicio de programación está bien, pero esto me da pie a decir OJO con las tareas que delegamos a los PLC, PC y demás componentes, que cada uno tiene que tener su responsabilidad dentro del proceso y no asignarle nada que no le competa y que ponga en riesgo el normal funcionamiento de la instalación en caso de fallo o problema. Salvo que no quede más remedio o por cómo es el proceso, sea lo mas adecuado.
Hola Iñigo, coincido contigo en todo lo que escribes, en nuestras aplicaciones de riego SIEMPRE esta el proceso en el autómata, por las razones que has expuesto, se va el PC ya no pueden regar, obviamente, pero lo que aquí hacemos es, al menos yo, programar por programar, por aporrear las teclas cómo dices, por aportar ideas a la gente para que comprendan que es posible lo que ven en el vídeo para que lo imiten…
Por otra parte, tú eres ingeniero, yo soy instalador electricista autorizado, jamás hice ningún curso de programación de ningún tipo, soy autodidacta, la programación para mi exceptuando las comunidades de regantes es un hobby, ¿Porqué VB NET?, porque debido a mi profesión llevamos el mantenimiento de una carpintería de madera, cuyas máquinas son lo más puntero que existe en el mercado, los programas de dichas máquinas SI están en el PC (incluido en la máquina), no desde el PLC, el PC SIEMPRE debe estar encendido, si no, no funciona la máquina, de ahí mi empeño en aprender programación desde el PC, ya que para mí es «demasiado fácil» hacerlo en el PLC siempre que sea medianamente viable, claro está, no sé si has visto en mi canal vídeos sobre CNC (Control Numérico por Computadora) basados en dichas máquinas, que sería imposible de realizar en un PLC, siendo sólo es posible con un PC, eso es lo que me atrae, eso es lo que «me llena».
De todas formas, ya te he dicho que hay pocos sitios en la red como el tuyo, donde la gente se inspire para sus programaciones sean en PC o sean en PLC, sean en Siemens o sean en Schneider, sean en Phyton o sean en NET, gracias por aportar tus ideas, los que nos gusta la programación te lo agradecemos, esta tarde seguramente haré lo que has realizado con las horas de noche o día, obviamente por gusto, por aporrear la teclas a la orilla de la chimenea, Sabina dixit…
Espero tu nuevo reto Iñigo.
Saludos.
Repasando el post, matizar aunque se sobreentiende, que la programación de las máquinas de madera No la hago yo, solo cojo ideas…
Saludos.
Está claro que hay veces que el trabajo lo lleva un PC porque no queda más remedio.
Solo era un inciso a tener en cuenta.
Como también te comentaba, como ejercicio de programación siempre está bien porque, entre otras cosas, una vez has ideado el cómo hacer algo, luego te es más sencillo extrapolarlo a otros entornos. A veces de una forma más sencilla, otras de formas más complejas. Pero la idea de lo que tiene que hacer, la tienes en la pelota.
Yo CNC casi no toco. Tenemos, pero no es algo con lo que esté en contacto habitual.
Alguna vez he tenido que modificar algún programa de CNC de Fanuc, pero lo puedo contar con los dedos de una mano.
Hola Iñigo, ya sé que era un inciso, pero si no comentamos la gente que nos lee no sabrá las opciones que existen, verás, el PLC se me «queda pequeño», prefiero enfocar mis códigos al PC porque para mi es más interesante, además quiero tener una biblioteca de código lo más extensa que pueda de forma que cualquier parte de cualquier programa sean compatibles, además lo quiero en VB NET, ¿porqué?, porque Microsoft no va a actualizarlo en un futuro, todavía hay gente con VB6 que programa en esa plataforma, pienso que de esta forma en un futuro, mis aplicaciones seguirán funcionando sin necesidad de actualizar nada, tú sabes que cuando cambian la versión de esto o aquello, los problemas son la orden del día.
Tampoco toco CNC, sólo que cojo ideas de la red para plasmarlas en mi canal, por cierto una cosa, he realizado los detalles de los colores en el modo noche o día, todo On etc, que lo acabo de subir a mi canal, pero he detectado un problema que no sé si tú lo has tenido en cuenta para tu aplicación:
https://youtu.be/0IHU4vTNG20
Nos vemos en tu próximo reto.
Saludos.
Hola Inigo,
Puedes por favor dejar este proyecto en el curso de SCL?
La parte de TIA Portal, sin problemas.
Subido el proyecto de TIA Portal en el anexo de SCL.
Hola Iñigo, nuevamente tus videos me inspiran a aprender mas y más. Gracias por todo lo que haces y que siempre nos motiva a seguir creciendo. Saludos