# Obtener datos de un sistema de visión In-Sight

Para obtener datos de un sistema de visión In-Sight y pasarlos a un PLC ControlLogix, hay que insertar los datos en la pila EtherNet/IP utilizando la función WriteResultsBuffer.

Esta función toma un búfer de datos creado por la función FormatOutputBuffer y lo escribe en el área de datos del sistema de visión In-Sight cuando se ejecuta el evento configurado en la función WriteResultsBuffer. Estos datos se transfieren al PLC durante el siguiente ciclo RPI, una vez ha finalizado la ejecución de la hoja de cálculo.

La escritura de los datos del búfer EtherNet/IP en dicha área de datos se pone en cola cuando está seleccionada la opción habilitar resultados de búfer, ya que de lo contrario se sobrescribirían los resultados anteriores con los nuevos.

Sugerencia: Utilice el bit ResultsValid para determinar cuándo han de leerse los datos y evitar problemas sutiles de sincronización intermitente en el PLC, ya que el bit ResultsValid se pondrá únicamente en alto cuando los datos estén listos para leer y no antes.

1. Inserte las siguientes funciones en la hoja de cálculo: Count, Rand, EditInt y Sum. Defina los parámetros de la función Sum como referencias de celda a los valores devueltos por las funciones Rand y EditInt.

2. Haga clic con el botón derecho sobre una celda vacía e inserte la función FormatOutputBuffer en la hoja de cálculo.
3. En el cuadro de diálogo de FormatOutputBuffer, haga clic sobre el botón Add (Agregar). Esto iniciará el modo de selección de celdas; seleccione la celda que contiene la función Sum.
4. En el cuadro de diálogo de FormatOutputBuffer, utilice el menú desplegable de tipo de datos para cambiar el tipo de datos a punto flotante de 32 bits.

5. En el cuadro de diálogo de FormatOutputBuffer, pulse de nuevo el botón Add (Agregar). Esto iniciará el modo de selección de celdas; seleccione la celda que contiene la función Count.

6. Cierre la hoja de propiedades de FormatOutputBuffer haciendo clic sobre el botón OK (Aceptar).

7. Haga clic con el botón derecho sobre una celda vacía e inserte la función WriteResultsBuffer en la hoja de cálculo. Defina el parámetro Búfer de la función WriteResultsBuffer como una referencia de celda a la función FormatOutputBuffer que acaba de crear.

8. En RSLogix, pase al modo sin conexión.

9. En el RSLogix, haga clic con el botón derecho sobre la carpeta Data Types > User-Defined (Tipo de datos > Definido por el usuario) y seleccione New Data Type (Nuevo tipo de datos) en el menú.

10. Dé un nombre descriptivo al nuevo tipo de datos y añada dos valores en coma flotante a Members: list.

11. A continuación, agregue una nueva etiqueta a las etiquetas del controlador del proyecto, utilizando como tipo de datos el definido por el usuario.

12. Agregue una instrucción COP al programa de lógica de escalera denominado MainRoutine (rutina principal).

    Nota: En el campo Lenght (Longitud) se especifica el número de estructuras de entrada que se copiarán en el campo Dest de las instrucciones COP.
13. Ponga el sistema de visión In-Sight en línea.

14. En el RSLogix, haga clic sobre la flecha desplegable del botón Offline (Sin conexión) y seleccione Download (descargar).

15. A la que se haya descargado este programa en el PLC ControlLogix, los datos de las celdas Contador de capturas y Aleatorio de la hoja de cálculo se visualizarán en la etiqueta InSight_Top_Input, en formato de punto flotante.