web analytics

Plantilla de importación de datos de un sensor de visión OMRON FQ2

Hay veces en las que uno no dispone de las herramientas adecuadas para obtener información de manera eficiente y correcta y trabaja en base a suposiciones y sensaciones, es decir con criterios subjetivos, a falta de un sistema MES de adquisición de datos directamente en las líneas hay que aprovechar las cosas que ya hay para intentar conseguir algo de información del funcionamiento de la fábrica.

Tenemos instalada una cámara OMRON FQ2-D3X para detectar diversas anomalías de los productos que van saliendo de una de las máquinas de la línea de fabricación. La instalación de la cámara fue realizada en su momento por una tercera empresa, por tanto el conocimiento del software y el hardware era bastante bajo, parametrizar y ajustar la inspección y poca cosa más.

Cámara OMRON FQ2
Cámara OMRON FQ2

Buscando soluciones

Casualmente echando un ojo al manual de esta cámara veo que guarda (si está configurada para hacerlo y con un ordenador de apoyo) un registro de todas y cada una de las inspecciones realizadas por la cámara, y con esto tengo algo muy importante, por fin puedo saber la distribución horaria de las fabricaciones, si bien es sólo una máquina de todas las que hay en la línea si que es una máquina muy importante dentro de ésta ¡todo un mundo de posibilidades de análisis! la información que me puede aportar es valiosa y por ello sólo tengo que coger los datos que ésta me guarda.

La cámara guarda los datos en un archivo CSV, para su generación se permite cierta configuración, podemos guardar más o menos información y controlar la manera como se guarda, todo ello lo puedes consultar en el manual no es cuestión de entretenerme con ello cuando ya está escrito, no?

En mi caso los datos están guardados en una carpeta OMRON dentro de la carpeta Mis Documentos de mi usuario de Windows 7, y junto con otros datos la cámara de visión guarda la información que tenga configurada, en mi caso los registros de inspección así como las imágenes tomadas y las escenas, la cámara funciona sin problemas de manera autónoma pero si está conectada a un PC lo puede usar como respaldo de seguridad de su configuración.

Los datos importados son los siguientes:

Caputura de la tabla de datos de la plantilla
Tabla de datos de la plantilla
  • Date: Fecha en que se realiza la inspección:
  • Time: Hora en que se realiza la inspección.
  • Format: El formato (también llamado escena) seleccionado en esta inspección, en mi caso botellas azules o botellas blancas.
  • Judge: Resultado de la evaluación de la escena. Siendo el valor -10 el resultado de inspección negativa, es decir, producto rechazado.
  • Ix.JG: Resultado individual de las diferentes inspecciones que componen una escena, donde X es el número de la inspección.
  • Agrupación: no es importado,  es un campo de ayuda para realizar la gráfica, nos permite agrupar las inspecciones en lapsos de tiempo más manejables definidos según el valor en minutos de un Intervalo. Si no agrupamos no nos permitirá realizar la gráfica.
  • Dentro del .CSV hay muchos más datos referentes a la evaluación de cada una de las inspecciones de escena, pero no nos interesan. Nosotros sólo queremos saber cuantos productos han salido bien, cuántos mal y porqué.

Además hay los siguientes botones:

Captura de las opciones de la plantilla
Opciones de la plantilla
  • IMPORTA: Este botón nos abrirá una ventana de selección del archivo .CSV a importar. Esta acción puede llevar mucho tiempo, hay .CSV muy extensos que tardará un buen rato en importar (para que te sirva de orientación, en mi caso, la importación de 200.000 filas de datos me suponen unos 5 minutos de espera) todo dependerá del tamaño del .CSV y de la potencia de tu ordenador.
  • GENERAR MINUTOS: Con este botón creamos para el día introducido en Fecha todos los minutos existentes al intervalo indicado. Esto es para que no hayan huecos horarios en la gráfica, si una hora no existe porque no ha realizado ninguna inspección la gráfica directamente no la mostrará pero lo que nos interesa es saber también en que horas la producción ha sido cero.
  • VACÍA TABLA: Borra todos los datos de la tabla. Deja una fila sólo, para que la tabla no esté vacía. Mejor no borrarla.

Si todo va bien en la hoja de GRÁFICA debería salirnos algo como lo siguiente, una gráfica por horas agrupadas en intervalos de 5 minutos con las unidades inspeccionadas bien y las rechazadas.

Tabla dinámica y gráfica de la plantilla
Tabla dinámica y gráfica de la plantilla

Obviamente, que esta plantilla me sirva a mi no implica que te sirva a ti tal y como está, seguramente en tu fábrica habrá una configuración algo diferente, simplemente úsala como una base para hacerte tu mismo lo que necesitas, si necesitas ayuda por mi parte sólo tienes que preguntar, y para empezar casi seguro que deberás cambiar el código siguiente:

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & rutaArchivoCSV, Destination:=Range("$A$" & ultimaFila))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 2
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 9, 1, 1, 1, 9, 9, 9, 1, 9, 9, 9, 1, 9, 9, 9, 1, 9, 1, 9, 9, 9, 1, 9, 9, 9, 1, 9, 9, 9, 9, 9, 1, 9, 9, 9, 9, 9, 1, 9, 9)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

Especialmente donde dice: .TextFileColumnDataTypes, que nos indica las columnas que vamos a importar, en tu .CSV puede haber más o menos columnas que importar dependiendo del numero de inspecciones que realices para cada escena. Consulta aquí para saber más.

A tener en cuenta

  • Cómo máximo podrás importar 1.048.574 inspecciones individuales, ya que es el máximo permitido por Excel 2010.
  • Los datos no se guardan «al momento» en el archivo .CSV, ten cuidado porque puede haber un ligero desfase de las horas del archivo importado con la realidad. En mi caso me cuadran perfectamente con las horas y minutos de producción, no necesito una precisión «al milisegundo».
Icono
Importación de datos de cámara OMRON FQ2

El archivo contiene:

  • La plantilla en formato Excel 2010 para macros (.xlsm)
  • Y si te da miedo también está sin macros (.xlsx) y con el código aparte en un archivo de texto, para que lo pegues tu mismo y veas que no hay nada raro en el código VBA.
  • También hay un .csv de ejemplo para que puedas importarlo.

Testeado en Excel 2003 y funcionó sin problemas, no probado en otras versiones.

Condiciones de descarga
Manteniendo.com declina cualquier responsabilidad en caso de que existan interrupciones o un mal funcionamiento en el software descargado, de los servicios o contenidos ofrecidos en Internet, cualquiera que sea su causa. Asimismo, el Titular no se hace responsable por caídas de la red, pérdidas de negocio a consecuencia de dichas caídas, suspensiones temporales de fluido eléctrico o cualquier otro tipo de daño indirecto que te pueda ser causado por causas ajenas a el Titular. El titular no ofrece ninguna garantía por el software del web. Tanto el software como cualquier documentación es entregada tal cual, sin ningún tipo de garantía ni información añadida. La responsabilidad del uso que se haga del software descargado, así como de las consecuencias de dicho uso, es exclusivamente del usuario.
Suscribir
Notificar de

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

0 Comentarios
Inline Feedbacks
Ver todos los comentarios
0
Me encantaría conocer tú opinión sobre esta entrada, por favor comentax