Data logging en TIA Portal

Data logging en TIA Portal

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.

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.

Comentarios (77)

Nicolas
Mmmmm super interesante. Vere que tal se da. Nunca lo he probado. Gracias Iñigo por estos blogs tan buenos. Suerte.
Jairo
Gracias Iñigo por el vídeo. Lo probare!!!.. Un saludo.
jorge de la fuente
solo te puedo decir , fantástico, es lo esperado gracias
Iñigo Gútiez
Muchas gracias Jorge!
RINO ISMAEL SIMANCAS
muy buen video, tengo otra pregunta por que los valores de tipo float o real solo es posible verlos en modo Cientifico ?
Iñigo Gútiez
Es así. Tampoco hay que darle muchas vueltas. Una vez en Excel podrás manipularlos a tu antojo.
David
¡¡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?
Iñigo Gútiez
Esta en instrucciones avanzadas. Fijate al principio del video que te lo indico. Saludos
Sergio
Indiscutiblemente eres el nº1!!!!!
Iñigo Gútiez
Jaja. Ya será para menos Sergio. Saludos y gracias!
Armando Marval Castillo
Eres muy oportuno con tus comentarios y son muy bien recibidos...... gracias.
Iñigo Gútiez
A ti por comentar Armando!
Juan Carlos
Muy bueno voy a probarlo y ver como resulta Felicitaciones por tu gran aporte sigue asi
[email protected]
Muy educativo como , siempre son tus tutoriales. suerte..y espero otro... este lo probare hoy
Guillermo
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
Iñigo Gútiez
Hola Guillermo, Hasta donde yo se, sigue igual el tema. No se si con las nuevas versiones se ira mejorando. Saludos
Josafat Robles Martinez
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.
Iñigo Gútiez
Supongo que con scripts podrás hacerlo, pero tendrás que buscar como tratar esos ficheros.
Enrique
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.
Iñigo Gútiez
Habéis hecho la maniobra de cerrar el log antes de crearlo de nuevo? Saludos
Enrique
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!
AGR
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
Juan
Al poner un 1 en TIMESTAMP estas registrando la hora UTC, si quieres registrar la hora local del plc yo podria un 2.
Harvy
HOLA, Buen vídeo, explicas muy bien. No tengo dinero para comprar tu curso, pero gracias por la información.
Alex Rene
tengo un S71214C DC/DC/DC quisiera almacenar mas de un archivo de datalogging, se puede hacer?, como podría hacerlo?
Iñigo Gútiez
Claro, solo cambia el nombre del archivo y crea cada uno por separado Saludos
Arturo
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??
Iñigo Gútiez
Si, para poder acceder vía web, lógicamente el websever tiene que estar activado. Saludos
Josafat Robles Martinez
¿¿¿¿El Web Server Puede Estar instalado en el una Pantalla Confort???? balla mi pregunta ¿¿Necesitas Internet??
Iñigo Gútiez
Si, y no.
Anuar
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
Iñigo Gútiez
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
Alan Perez
Puedo elegir donde se guarde el .CSV?? Puede ser en una MMC???
Iñigo Gútiez
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
Josafat Robles Martinez
Lo lograste????
Alberto
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.
Alberto Valtueña
#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
Iñigo Gútiez
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.
Carlos
Que tal Iñigo, saludos desde México. Se puede archivar cadenas de caracteres en un panel TP1500 comfort?
marcelo
gracias muy bueno
Josafat Robles Martinez
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???
Iñigo Gútiez
Con una TP basic seguro que no. Con una comfort, lo desconozco. No lo he hecho nunca.
Miguel Cruz
Quizá sea mas factible archivar desde el ktp700 en una usb y luego jalar los archivos a visualizar en el visor de curvas
Iñigo Gútiez
No seré yo quien te lleve la contraria en esto, Miguel.
Adrian Marcelo Iskow
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.
Iñigo Gútiez
Muchas gracias Adrián :)
German
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?
Iñigo Gútiez
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.
German
Mil gracias!
jon
Buenas tarde, Como se puede saber si ya tienes el fichero creado?
Iñigo Gútiez
Puedes mirar en la web del PLC y ver si está creado.
emilian manta
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.
Iñigo Gútiez
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.
emilian manta
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.
emilian manta
estoy probando pero no funciona. debe de ser otra cosa. :(
emilian manta
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?
Iñigo Gútiez
Tiene pinta que está relacionado con la hora local y la global del plc.
emilian manta
y esto como se soluciona? :)
Iñigo Gútiez
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.
Jose M.
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?
Iñigo Gútiez
Prueba a abrir el CSV desde añadir datos, no abrirlo a "pelo".
HUGO PATRICIO LEMA
Saludos. Todo funciona.. Menos el DataLogNewFile. En que condiciones debe ser Activado para que se cree el nuevo archivo. Gracias.
Nicolás Andrés Filcún Ávila
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.
Cristian
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.
Iñigo Gútiez
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.
JAG
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?
Iñigo Gútiez
Lo siento, pero no entendido nada de lo que quieres hacer. Lo lamento. Tú lo tendrás muy claro, pero no logro entenderlo.
Juan Veppo
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.
Luis J.
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...
Daniel Tejado
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.
Iñigo Gútiez
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.
Daniel Tejado
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.
Javier Jimenez
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?
Piero Rafael
Buenas Iñigo, hay alguna forma de tener un archivo CSV ya creado sin el DataLogOpen(que nunca se haya puesto esta función) y abrirlo y escribir en el?
Iñigo Gútiez
Pues ni idea. Lo mejor, es que pruebes a que el PLC cree uno, lo saques, lo borres, crees uno con el mismo nombre (ya sabes que el PLC funciona) y veas el resultado. Pero siendo un CSV, no veo por que no debería añadir al final del archivo nueva información.
Pablo
Buenas Iñigo! ¿Podemos almacenar los ficheros en una tarjeta MMC si tenemos la versión basis del TIA Portal? Muchas gracias
Iñigo Gútiez
La licencia no limita lo que puedes o no puedes hacer con el PLC en este caso, sino qué PLC puedes manejar. Por lo tanto, no es una limitación.