Programación Horaria con WinCC

Fecha de publicación
Cateogría del artículo Siemens
Visualizaciones del artículo Leído 17867 veces

Vamos a aprovechar la consulta de un compañero del foro, para realizar este ejemplo, se trata de configurar una Imagen en WinCC para la puesta en marcha y paro de un dispositivo (Motor/Motores) u otro dispositivo a unas horas determinadas, es decir tendremos unos campos de entrada para recoger la hora y minutos de la puesta en Marcha y otros para el Paro. Vamos a desarrollarlo entre la programación que hagamos en el PLC y el Scada. Suponemos que vamos a utilizar un S7-300 como PLC y el software que utilizare será el TIA Portal, aunque seria aplicable al Step 7.

El primer paso es crear una función en el PLC para recoger la fecha y hora de la CPU, esto lo hacemos con una función que hay disponible en la libreria, pero a su vez necesitamos extraer del formato que nos devuelve la función (DT de 8 Bytes de Longitud) la hora, minutos y dia de la semana, creamos una nueva Función y selecciono SCL como lenguaje de programación, estas son los datos a utilizar en la función.

Programacion_Horaria-05

 

Y el código de programación es el siguiente (pulsar sobre la imagen para observarla mejor)

 

Programacion_Horaria-06

 

Una vez compilado ya podemos insertar nuestra función, en este ejemplo se ejecuta constantemente, pero lo ideal sería ejecutarlo cada minuto.

 

Programacion_Horaria-07

 

Una prueba con el PLCSIM y observar los datos que devuelve en el DB asociado

 

Programacion_Horaria-08

 

Con esto ya damos por finalizada la parte que corresponde a la programación del PLC, aunque se podria haber hecho todo en el PLC y en la Imagen del Scada haber puesto solo los campos de entrada de datos para recoger la hora y minutos.

Al utilizar WinCC permite el uso de funciones en C, como nuestro compañero estaba utilizando el WinCC V.6 el código se puede utilizar, ya que las funciones que se utilizan son compatibles, yo estoy utilizando el TIA Portal con el WinCC RT Professional que es el equivalente al WinCC.

Creamos una nueva función que lo que hará sera recoger la hora y minutos de la CPU a traves de la función que hemos desarrollado en el PLC conjuntamente con el dia de la Semana, recogemos los datos introducidos por el usuario y utilizamos un switch (case) para ejecutar según el dia de la semana, si la hora y minutos es la misma ejecutamos y activamos/desactivamos el motor, como siempre se puede mejorar, pero para fines didacticos creo que da su cometido

El código es el siguiente. (pulsar sobre la imagen para observarla mejor)

 

Programacion_Horaria-09

Programacion_Horaria-10

 

Una vez creada nuestra función falta definir cuando se ejecutara y quien la ejecutara, para ello en el TIA Portal, definimos una nueva tarea, y la ejecución será por el Trigger

 

Programacion_Horaria-11

 

El Trigger que vamos a definir es el Tag de los minutos leidos de la CPU, es decir que cada vez que cambien los minutos se ejecutara la función, para eso definimos que el Cycle sea UponChange, que significa al cambiar

 

Programacion_Horaria-12

 

En los eventos, tenemos que llamar la función que hemos creado StartStopMotor();

 

Programacion_Horaria-14

 

La Imagen que vamos a configurar para comprobar el funcionamiento tiene el siguiente aspecto. Los campos Hora de la CPU estan asociados a la lectura de nuestra función en el PLC con el dia de la Semana, Los campos Inicio/Paro de Lunes-Jueves estarian asociados a una variable interna, es decir una variable para cada dato HStartLJ,HStopLJ,MStartLJ,MStopLJ y para el viernes habría que definir otras variables. Tambien es bueno insertar un Objeto GSC Runtime para observar los valores de nuestra función, evidentemente hay que escribirlos, con la función  printf()

 

Programacion_Horaria-15

 

Ejecutamos el Runtime y comprobamos que  estamos a dia de la Semana 1 que corresponde al Domingo, las 00:31, ahora introduciremos unos datos para poner en marcha y parar el motor

 

Programacion_Horaria-16

 

En las siguientes imagenes se comprueba como se ejecuta correctamente y se activa y desactiva nuestro motor.

Programacion_Horaria-17

Programacion_Horaria-18

 

Un Saludo y espero que os sea de utilidad... y si te ha gustado, compartelo Wink

 

Escrito por Jose Manuel Luque / Técnico en Automatización Industrial

Mi Web PLC-HMI-SCADAS




Últimas descargas