En un momento determinado puede que tengas que realizar un registro de una temperatura o una presión. Por eso hoy vamos a ver cómo realizar un data logging en TIA Portal.
Contenido
Qué es el data logging en TIA Portal
Básicamente se trata de registrar datos homogéneos de tu proceso según tus necesidades.
Estos datos pueden ser almacenados a través de un HMI como ya hemos visto en los curso de WinCC Flexible o en el bloque 5 del curso de TIA Portal.
Pero puede que quieras registrar datos con tu PLC y no tengas un HMI o un ordenador con el que hacerlo.
Además, puede tener una ventaja adicional tratarlo directamente en el PLC.
Realizar el data logging en TIA Portal te va a permitir registrar los datos de una forma mucho más rápida que no haciéndolo desde un HMI o un PC.
Esto te vendrá de fábula por ejemplo para grabar valores de variables en periodos de tiempo mucho más cortos que lo que te puede ofrecer el registro en un HMI.
¿Cómo programamos el registro de datos con el PLC de Siemens?
Para realizar el data logging en TIA Portal vamos a usar las siguientes funciones:
- DataLogCreate: Crear nuestro archivo data log.
- DataLogOpen: Abrir un datalog ya existente
- DataLogWrite: Escribir un registro nuevo en el log.
- DataLogClose: Cerrar el log que indiquemos
- DataLogNewFile: Crear un Data Log con las mismas propiedades que un Data Log ya existente.
Como imagino que intuirás, la cosa va a ir como sigue:
Inicialmente, tendremos que crear un nuevo fichero CSV que se almacenará en nuestro PLC.
Este archivo de registro, se podrá almacenar en una tarjeta MMC de nuestro PLC Siemens, o bien en su memoria de carga.
Ojo lo que registras, porque tendrás que tener en cuenta que estás consumiendo memoria finita que puede que te sea útil para otros menesteres.
Para eso, se va a delimitar el número de registros máximo a almacenar. Una vez alcanzado este número máximo, los registros más viejos se perderán en favor de los nuevos que entren.
Una vez creado el Log, usaremos el bloque DataLogWrite para escribir los valores que hayamos definido en la creación del registro.
Ten en cuenta que para poder realizar el data logging en TIA Portal, necesitarás que el archivo esté abierto obligatoriamente.
Esto se produce bien al crear el registro (Con DataLogCreate) o bien usando la función DataLogOpen.
Finalmente, una vez escrito lo que deseemos, si no queremos que el archivo quede abierto, lo cerraremos con DataLogClose.
Tras haberlo cerrado, como digo, es necesario abrirlo nuevamente para poder escribir sobre él.
¿Para qué sirve DataLogNewFile?
La idea de esta instrucción es hacer una copia de la estructura de un DataLog existente pero con otro nombre.
¿Cómo recupero los datos registrados en el autómata Siemens?
Muy sencillo.
Usando su página web.
En el apartado navegador de archivos, en el directorio DataLogs, encontrarás todos los registros que vayas creando.
El vídeo de Data Logging en TIA Portal
Te dejo con un video explicativo de cómo montar todo el tinglado para que funcione correctamente un registro muy básico.
¿Qué te ha parecido?
Este ejemplo lo voy a colgar en el bloque 6 del curso de TIA Portal dedicado al mantenimiento, que es donde creo que mejor encaja.
Por tanto, todos aquellos que dispongáis de este bloque, podréis bajaros el proyecto además de tener el link permanente a esta entrada en la sección de Anexo.
Espero que te haya gustado y que lo veas interesante.
¿Le ves utilidad? ¿ya lo habías usado?
¡Cuéntamelo en los comentarios!
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.
70 Comentarios
Mmmmm super interesante. Vere que tal se da. Nunca lo he probado.
Gracias Iñigo por estos blogs tan buenos. Suerte.
Gracias Iñigo por el vídeo.
Lo probare!!!..
Un saludo.
solo te puedo decir , fantástico, es lo esperado
gracias
Muchas gracias Jorge!
muy buen video, tengo otra pregunta por que los valores de tipo float o real solo es posible verlos en modo Cientifico ?
Es así. Tampoco hay que darle muchas vueltas. Una vez en Excel podrás manipularlos a tu antojo.
¡¡Ostras Iñigo!! Nunca descansas y sorprediendo siempre con cosas nuevas y super interesantes. Un pregunta. ¿En que lugar o libreria estas las funciones para crear, abrir, esxribir y cerrar el archivo csv?
Esta en instrucciones avanzadas. Fijate al principio del video que te lo indico.
Saludos
Indiscutiblemente eres el nº1!!!!!
Jaja. Ya será para menos Sergio. Saludos y gracias!
Eres muy oportuno con tus comentarios y son muy bien recibidos…… gracias.
A ti por comentar Armando!
Muy bueno voy a probarlo y ver como resulta
Felicitaciones por tu gran aporte sigue asi
Muy educativo como , siempre son tus tutoriales.
suerte..y espero otro… este lo probare hoy
Hola Iñigo.
Gracias por tu blog y tu dedicación.
Un pequeño apunte que me surgió:
En un proyecto que realice hace tiempo, se estudio la posibilidad de usar estas funciones para generar
un fichero en la memoria del 1200 e ir introduciendo datos de lectura de sensores analógicos. Esto se consiguió pero el problema vino como extraer estos datos desde el PLC de una forma sencilla para el usuario(No era valido el usar el servidor web del 1200). Estos ficheros no se podían enviar como adjunto a la hora de mandar un email desde el PLC ni enviarlo de ninguna manera y eso era una limitación. Al final, se puso un HMI que hiciera ese trabajo.
Actualmente no se si se habrá corregido esa limitación
Hola Guillermo,
Hasta donde yo se, sigue igual el tema.
No se si con las nuevas versiones se ira mejorando.
Saludos
Actualmente estoy realizando un trabajo en el cual se crean varios ficheros desde una Confort tp700.. esos archivos se nos guardan con una extencion .txt o .csv y se nos guardan en una memoria USB.. Aqui el detalle es que…… Ahora quiero ver en la pantalla Confort tp 700 los ficheros que se crearon… Yo me pregunto…. Es esto posible y si si alguien que me oriente un poco… No hay equipos PC instalados y no hay red Ethernet.
Supongo que con scripts podrás hacerlo, pero tendrás que buscar como tratar esos ficheros.
Buenos días Iñigo,
Hace unos días empezamos con esto del datalogging y a varios nos ha surgido un problema con el DataLogCreate.
Creamos un nuevo log, todo funciona correctamente (registra los datos). Al cabo de unas cuantas pruebas más (descargar el log, borrarlo, volver a crearlo, cerrarlo abrirlo… etc), el log deja de crearse. En este momento, aunque usemos otro proyecto que con anterioridad funcionó perfectamente, el log no se crea.
Hemos probado a resetear el PLC (desenchufarlo), resetear la memoria, cargarle un proyecto vacío… cuando después metemos de nuevo el proyecto que hacía el log perfectamente, no crea nada.
Alguna idea?
Gracias por el gran trabajo que realizas! Un saludo.
Habéis hecho la maniobra de cerrar el log antes de crearlo de nuevo?
Saludos
Gracias por la rápida respuesta.
Lo probaré, ya que no me parece lógico que una vez borrado haya que cerrarlo, para poder crearlo.
Gracias!
Hola a todos. Estoy probando estas instrucciones y, como en el vídeo, que pasa con la hora en la que se ha generado el csv? La hora no coincide con la del pc ni la del plc.
he probado varias cosas pero la hora del archivo .csv no cuadra con la hora de escritura del evento en el archivo.
¿Alguna sugerencia?
Gracias y saludos
HOLA,
Buen vídeo, explicas muy bien.
No tengo dinero para comprar tu curso, pero gracias por la información.
tengo un S71214C DC/DC/DC quisiera almacenar mas de un archivo de datalogging, se puede hacer?, como podría hacerlo?
Claro, solo cambia el nombre del archivo y crea cada uno por separado
Saludos
Hola Iñigo!
Muchas gracias por todos los blogs que haces, eres un Crack!
Tengo una duda en cuanto a donde se crea el log, porque viendo como lo haces, es a través de la página web del propio PLC. Entonces, es necesario crear el web server??
Si, para poder acceder vía web, lógicamente el websever tiene que estar activado.
Saludos
¿¿¿¿El Web Server Puede Estar instalado en el una Pantalla Confort???? balla mi pregunta ¿¿Necesitas Internet??
Si, y no.
Hola, tengo dura sobre como hiciste el llamado y la creacion del bloque de funcion y de datos del registrador, ya que yo al crearlos no me permite agregar variables el bloque de función. Saludos
Son cosas diferente. Por un lado tienes que crear y abrir el fichero, y luego introducir los datos.
Si no está abierto el fichero, no se puede escribir en él.
Saludos
Puedo elegir donde se guarde el .CSV?? Puede ser en una MMC???
No he jugado mucho con ello, pero se supone que si no metes la MMC, se almacena en memoria, y si usas una MMC se almacena en la tarjeta.
Es cuestión de que pruebes.
Saludos
Lo lograste????
Clara explicación y muy práctica. Probaré porque a mi no se me crea el fichero en mis intentos. Parece que haciendo la FB puede resultar.
#DataLogCreate_Instance.DONE me da FALSE aunque le de la orden de crear fichero. No consigo saber por qué y he hecho lo mismo que en tu ejemplo
Hola Alberto. Tendrás que revisar todo, porque funcionar, funciona. Como entenderás sin estar delante del PLC viendo qué está haciendo, poco te puedo ayudar. De todas formas, el DONE es un pulso, es decir, no se queda a 1 de forma continua, y salvo que lo captures, no lo verás en el tiempo de ejecución.
Que tal Iñigo, saludos desde México.
Se puede archivar cadenas de caracteres en un panel TP1500 comfort?
gracias muy bueno
Muy buen vídeo Iñigo, Yo tengo una duda…. Si yo creo un Data Logging puedo ver lo que se esta archivando en un SIMATIC HMI TP700 Comfort, o solo es para sistemas PC.
Espero y me puedas Ayudar???
Con una TP basic seguro que no. Con una comfort, lo desconozco. No lo he hecho nunca.
Iñigo como estas? te escribo desde Argentina, tus videos son simplemente geniales y tu manera de explicar es excelente, solo con prestar atención a cada palabra logré hacer el datalogger y nunca había incursionado en realizar uno yo mismo, veo que los comentarios son de 2017, espero que esto te llegue y estés bien en esta situación de pandemia, yo aquí en mi país estoy aprovechando la cuarentena para alimentar me mente con todos tus tutoriales, te lo agradezco muchísimo, un abrazo.
Muchas gracias Adrián 🙂
Buen dia, ante todo excelente explicacion, todo muy claro. Pero tengo el siguiente problema, cuando veo tu video abres el csv y esta todo separado en columnas. cuando abro el mio tengo todo separado por comas en la columna A.
Hice algo mal? esta mal configurado el excel? que puede estar pasandome?
Eso es devido a tu configuración del excel. Lo que puedes hacer es importar en una hoja, los datos en forma de csv o en vez de picar dos veces sobre el archivo, abrir desde excel como csv.
Mil gracias!
Buenas tarde,
Como se puede saber si ya tienes el fichero creado?
Puedes mirar en la web del PLC y ver si está creado.
hola. muy buen ejemplo, Iñigo. pero te quiero preguntar una cosa:
-puedo cerrar el archivo luego crear otro, con otro nombre, sin que el que esta cerrado se borre? porque intento crear otro archivo, cambiando el nombre pero no me lo crea. por ejemplo cada hora crear un nuevo archivo con un nombre diferente.
Lo suyo es crear el fichero, y cerrarlo antes de crear el siguiente, con diferente nombre.
Deberías poder crear diferentes ficheros, que generarán diferentes ID que identifiquen dichos ficheros.
Gracias. esto hice pero no se me crea. no entiendo porque. teóricamente se debería de crear. voy a pelear un poco mas con esto a ver.
estoy probando pero no funciona. debe de ser otra cosa. 🙁
Solucionado. pero tengo un problema: el PLC tiene la hora bien pero en la instrucción me sale con dos horas menos, cuando miro el archivo. que puede ser?
Tiene pinta que está relacionado con la hora local y la global del plc.
y esto como se soluciona? 🙂
Pues configurando la hora del PLC en General > Hora . Si poner UTC+0, y es ese el problema, deberían marcar lo mismo, la local y la del PLC.
Hola Iñigo. Gracias por tu video, me esta siendo muy útil. Sólo una cosa a ver si me puedes ayudar. El problema que tengo es que el csv no me crea columnas, si no que todos los datos aparecen en la columna A separados por comas. Lo mismo con los nombres del Header. ¿sabes a que puede ser?
Prueba a abrir el CSV desde añadir datos, no abrirlo a «pelo».
Saludos.
Todo funciona..
Menos el DataLogNewFile.
En que condiciones debe ser Activado para que se cree el nuevo archivo.
Gracias.
Actualmente estoy usando los bloques de detalogger para registrar dos variables y va super bien, hasta qué apagó el automata, deja de escribir los registros. Pero leyendo tu artículo creo que mi problema está en qué al prender el automata este pasa a modo stop por lo cual el datalog de cierra, probaré crea una subrutina que abra el datalog siempre al encender el PLC. Creo que con eso se corregirá. Muy buen artículo, mejor explicado que en la sección «ayuda» del mismo tia portal. Saludos desde Chile.
Hola
¿Que pasa si durante la recogida de datos hay una eventual perdida de energia?
¿Hay alguna manera de que esos datos no se pierdan?
No he encontrado información como se podrían recuperar. Me refiero a la memoria remanente.
Hombre, si se pierde la tensión, logicamente los datos dejan de ser recogidos. Los que están escritos en la microSD, ahí seguirán si no lo borras ni haces nada contra ello.
Buenas, Muchas gracias por le vídeo.
Quiero registrar información desde un panel KTP700, que un usuario pulse un botón y almacenar eso, mi duda es si puedo usar las variables del DataLog en el HMI, y seguir exportando en .csv, en este caso las variables para escribir serían marcas enlazadas a la HMI?
Lo siento, pero no entendido nada de lo que quieres hacer. Lo lamento. Tú lo tendrás muy claro, pero no logro entenderlo.
Muy útil tu artículo.
Lo que no me queda claro es como elegir donde guardar el archivo .csv del data logging; en la memoria del PLC o en la MMC en caso de disponer de esta última.
Gracias por el tutorial, necesitaba hacer rápidamente un .cvs «DEMO» para que otro ingeniero del equipo trabaje en otra parte del desarrollo mientras yo me encargo de la programación del autómata para generar el .cvs con los datos reales del proceso. Nos has ahorrado muchas horas de espera innecesaria…
Hola Iñigo.
Lo primero felicidades por tu blog.
Te voy a plantear un problema que me ha surgido con el Data_Loggin:
Necesito realizar la adquisicion de datos (DataLogWrite) por debajo de los 3.2ms. Actualmente estoy probando a meter unicamente la funcion de DataLogWrite en un OB cíclico, ajustado por debajo del tiempo antes mencionado, junto con la generacion de un bit intermitente, tambien en dicho OB ciclico, que es el que me dispara la adquisicion.
Bueno…….pues con esto no soy capaz de bajar de 6ms aprox la adquisicion de datos.
No se si sabrias de alguna solucion o truco para pasar este bache.
Muchas gracias por adelantado.
Es que ahí afectan más cosas que la frecuencia de muestreo, como por ejemplo, la tasa de escritura en una sd, o la comunicación si se quieren sacar los datos fuera.
A tasas muy rápidas, no es tan trivial como ejecutar la escritura y ya.
Seguramente tendrás que plantearlo hacer desde fuera creando una serie de buffers que luego leas a tiempos más amplios.
OK, mirare lo que me comentas y voy a probar un par de cositas que se me han ocurrido y te iré comentando los resultados.
Muchisimas gracias.
Hola, en el CSV los valores reales no los interpreta tal cual está programado en Tia Portal, sino que pone números muy grandes (sin comas), sin embargo en Tia portal aparecen los números de esas variables correctos (con su separación correcta de comas). ¿A qué se debe? ¿Por qué numero habría que dividir los valores en el Excel para obtener los mismos datos reales de Tia Portal?