# Servicios del objeto de visión

## Common Services

El objeto de visión proporciona los siguientes servicios comunes:

Código del servicio | Nombre del servicio | Descripción del servicio
--- | --- | ---
05 Hex | Reset | Reinicia el objeto de visión.
0E Hex | Get_Attribute_Single | Devuelve el contenido del atributo especificado.
10 Hex | Set_Attribute_Single | Modifica el valor del atributo especificado.

### Reset Service

El servicio Reset reinicia y deshabilita el sistema de activación de capturas en el objeto de visión. El servicio Reset deshabilita y borra asimismo el sistema de almacenamiento en búfer de resultados de inspección que comprende el objeto de visión.

## Object Specific Services

El objeto de visión proporciona los siguientes servicios específicos:

Código del servicio | Nombre del servicio | Descripción del servicio
--- | --- | ---
32 Hex | Acquire | Activa una única captura.
33 Hex | Reserved | Obsoleto.
34 Hex | SendNativeCmd | Envía un comando en modo nativo al sistema de visión In-Sight.
35 Hex | GetInspectionResults | Obtiene el atributo InspectionResults.
36 Hex | Transfer User Data | Transfiere datos a una parte del búfer de retención de datos del usuario (User Data Holding Buffer).
37 Hex | Set User Data | Solicita al sistema de visión a que retenga el User Data Holding Buffer en el campo User Data, lo que brinda al sistema de visión In-Sight el acceso a los datos de usuario.

### Acquire Service

El servicio de captura del objeto de visión ocasiona la activación de una captura si el sistema de captura está listo para capturar una imagen. Si no se puede activar la captura, se establece el bit Missed Acquisition del AcqStatusRegister hasta cuando se produce la siguiente captura correcta.

Si falla el comando, el servicio de captura devuelve el código de error 1F que es específico del proveedor.

### SendNativeCmd Service

El servicio SendNativeCmd (0x34) envía cualquier cadena de comando documentada en modo nativo al sistema de visión In-Sight. Los datos de la solicitud del SendNativeCmd deben incluir la cadena de comando en modo nativo que se enviará al sistema de visión. Los datos de respuesta contienen el resultado en cadena del comando en modo nativo. Para más información, consulte Comandos en modo nativo.

### Formato de los datos de solicitud de SendNativeCmd

Nombre | Tipo | Descripción
--- | --- | ---
Comando | STRING | El comando en modo nativo a procesar.

### Formato de los datos de respuesta a SendNativeCmd

Nombre | Tipo | Descripción
--- | --- | ---
Resultado | STRING | El resultado en cadena del comando en modo nativo.

Si falla el comando, el servicio devuelve uno de los siguientes códigos de error específicos del proveedor:

Código de error | Descripción | Código de retorno en modo nativo
--- | --- | ---
1 | Comando incorrecto | -
4 | Sin respuesta: el sistema está demasiado ocupado | -
100 | Command Failed | 0
101 | No se puede ejecutar el comando | -1
102 | -2
103 | -3
104 | -4
105 | -5
106 | -6

### GetInspectionResults Service

El servicio GetInspectionResults (código 0x35) lee los datos del atributo InspectionResults del objeto de visión.

### Formato de los datos de solicitud de GetInspectionResults

Nombre | Tipo | Descripción
--- | --- | ---
Tamaño | UINT | El número de bytes del atributo InspectionResults a leer.
Offset | UINT | Especifica el primer byte del atributo InspectionResults a leer.

### Formato de los datos de respuesta de GetInspectionResults

Nombre | Tipo | Descripción
--- | --- | ---
InspectionResults | STRUCT of | Los últimos resultados de inspección.
InspectionID | UINT | Inspection counter.
InspectionResultCode | UINT | El código de resultado de inspección establecido en la función WriteResultsBuffer.
InspectionResults | ARRAY of BYTE | Resultados de la última inspección.

### Comando Transfer User Data

Este comando se utiliza para transferir datos a una parte del búfer de retención de datos de usuario (User Data Holding Buffer). El User Data Holding Buffer se retiene en el campo User Data cuando se emite el comando Set User Data.

### Formato de la solicitud del comando Transfer User Data

Nombre | Tipo | Descripción
--- | --- | ---
Tamaño | UINT | El número de bytes del campo User Data a grabar.
Offset | UINT | Especifica el primer byte del campo User Data a grabar.
Data | ARRAY of BYTE | Datos de usuario a grabar en el campo User Data.

### Comando Set User Data

El PLC utiliza este comando para solicitar al sistema de visión a que retenga el User Data Holding Buffer en el campo User Data, lo que brinda al sistema de visión acceso a los datos del usuario.

Si este protocolo de enlace adicional para datos de usuario no es necesario y el comportamiento de las comunicaciones es el mismo que el del ensamblado de E/S, entonces se puede omitir el comando Set User Data utilizando el siguiente procedimiento:

1. Abra el In-Sight Spreadsheet y seleccione su sistema de visión.

2. Abra la utilidad Industrial Ethernet.

3. En el menú desplegable de Select Protocol, seleccione EtherNet/IP.

4. Marque la casilla de verificación Enable User Data Bypass.

5. Haga clic sobre Restart para cerrar el cuadro de diálogo de configuración de Ethernet industrial y reinicie seguidamente el sistema de visión.

### Funciones de EtherNet/IP

Las siguientes funciones de hoja de cálculo pueden enviar o recibir datos entre el In-Sight Spreadsheet y la pila EtherNet/IP:

- ReadUserDataBuffer

- WriteResultsBuffer

- GetBufferData