En esta entrada vamos a utilizar NI Vision Builder para comprobar el estado de una serie de fusibles.
Se trata de un ejemplo con lo cual no utilizaremos cámara sino que trabajaremos con imágenes fijas.
Comenzamos utilizando “Simulate Acquisition” para dar la ruta de las imágenes que vamos a utilizar.
La ruta es la siguiente: “C:\Program Files (x86)\National Instruments\Vision Builder AI 2010\DemoImg\Tutorial 3”.
Marcamos la casilla “Cycle Through Folder Images” para que vaya rotando las imágenes de la carpeta seleccionada”.
A continuación utilizamos “Find Straight Edge Setup” para buscar un flanco o cambio de tonalidad que nos permitirá obtener una referencia de la posición del fusible.
En el apartado ”Main” fijamos una región en la cual buscará ese cambio de tonalidad.
En el apartado “Settings” configuramos la dirección de izquierda a derecha y de claro a oscuro.
En “Minimum Edge Strength” fijamos el valor mínimo que queremos que interprete como flanco, en este caso 57 nos vale.
Con “Gap” podemos variar la exactitud del análisis variando el número de líneas de comprobación, pero en este caso con 30 es más que de sobra.
Ahora con la función “Match Pattern” vamos a buscar una de las dos posibilidades de forma que ha de tener el fusible para ser correcto, en este caso buscaremos la forma de “S”.
Cogemos una región constante de pantalla donde buscar aunque podemos seleccionar “Full Imagen” y funcionará correctamente
En el apartado “Template” clicamos en “New Template” y seleccionamos la zona de imagen del fusible en “S”, esta imagen será el patrón para buscar esta forma en los demás fusibles.
En la pestaña “Settings” lo que nos interesa es el “Minimum Score” que es la similitud que tiene que haber entre el patrón y la imagen adquirida para darlo como correcto.
El número de muestras a encontrar está en 2, en realidad con 1 nos valía pero lo que nos interesa es decírselo en “Limits”.
En “Limits” vamos a fijar como máximo 1 y como mínimo 1, si no se cumple esto la función devolverá un FAIL.
Ahora utilizaremos “Set Coordinate System” para, ayudándonos del flanco izquierdo, fijar unas coordenadas de referencia.
Estas coordenadas nos vas a servir para que la región de interés de la siguiente función se establezca dependiendo de la posición de estos puntos y no en un lugar fijo de la pantalla.
Con la función “Caliper” comprobaremos la distancia entre los pines para ver si alguno está doblado.
En el “Main” configuramos la constante referenciada a “COORDENADA_1” para que no nos importe si el fusible aparece un poco más adelante o atrás en la imagen dado que estas coordenadas asociadas al flanco izquierdo nos darán su posición.
Clicando la pesaña “Settings” podemos configurar como se realizará esta medición, muy parecido al flanco izquierdo.
En “Limits” fijamos el rango que consideramos como válido en la distancia entre las patillas. En este ejemplo la distancia es 136,46 asique está fuera del rango 150-160.
A continuación utilizamos otro “Math Pattern” para buscar la otra forma posible de fusible “Z”.
Al igual que en el fusible en “S” tomaremos un recorte de referencia para buscarlo después en las siguientes capturas.
Ahora con “Logic Calculator” vamos a realizar una operación con lo que nos devuelvan las funciones anteriores para decidir si el fusible es válido o no.
Realizamos una operación lógica OR entre el fusible en S o el fusible en Z, si se encuentra cualquiera de los dos esa parte será correcta, a su vez el resultado de esta puerta OR se introducirá en una AND con la comprobación del patillaje, si las patillas están mal o si la zona Z-S está mal el resultado será negativo.
Finalmente utilizamos la herramienta “Custom Overlay” para configurar el mensaje que recibiremos en función del resultado.
Pondremos los mensajes OK o KO en función del resultado de “Logic Calculator”.
Fusible erróneo, patillas dobladas hacia dentro.
Fusible correcto.
VIDEO