Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Integración mediante Scripts

A partir del firmware 2026.10.30, OV Spark Pro puede recibir datos de su línea, decidir con su propia lógica y enviar resultados en su propio formato, todo en la cámara. Hay cuatro piezas, y la mayoría de las configuraciones solo utilizan una o dos de ellas:

PiezaQué es¿Código?
VariablesValores que llegan desde el exterior, como un número de serie o de lote desde el PLC o MQTT. Cada captura guarda los valores con los que se ejecutóNo
Script de recetaJavaScript en el paso de Veredicto que decide aprobado o rechazado con una razón, agrega metadatos y etiquetas, y escribe sus propios bytes para el PLCSí
Script de cámaraUn script a nivel de toda la cámara que publica en MQTT, reacciona a mensajes entrantes y mantiene contadores y alertasSí
MQTTUn cliente MQTT integrado. Una vez configurado un broker, cada resultado de inspección se publica, sin necesidad de ningún scriptNo

Se encuentran en Integration en la navegación izquierda de la cámara: Variables, Camera Script y Data Connectors. El script de receta está en el paso de Veredicto de cada receta.

Página de Data Connectors que muestra MQTT, el PLC y la HTTP API

Script de receta o script de cámara​

Script de recetaScript de cámara
Pertenece aUna receta, y se exporta con ellaLa cámara, y sigue ejecutándose durante los cambios de receta
Se ejecutaEn cada inspección, después de las herramientas y antes de que el PLC vea el resultadoCuando sucede algo: un resultado, un mensaje MQTT, un cambio en PLC User Data, un temporizador
MemoriaSin memoria confiable: trate cada inspección como si comenzara desde ceroMantiene el estado entre eventos hasta que se recarga
Límite de tiempo25 ms por defecto, hasta 200 ms1 segundo hasta el primer await de un hook, luego 50 ms por cada parte posterior
PuedeEstablecer aprobado o rechazado y la razón, escribir bytes de PLC User Results, agregar metadatos y etiquetasPublicar en MQTT, establecer variables, generar alertas, ejecutar temporizadores
No puedeUsar la red, mantener el estado, usar temporizadoresCambiar un veredicto, escribir bytes del PLC, editar una captura finalizada
Regla general

Si el PLC lo necesita cuando Inspection Completed se activa, va en el script de receta. Si pasa por la red, o tiene que recordar algo entre piezas, va en el script de cámara.

Los dos se conectan a través de variables: el script de cámara establece una variable, el script de receta la lee, y el valor se guarda con la captura, para que siempre pueda ver en qué se basó una decisión.

Configuraciones comunes​

Lo que quiere hacerUse
Guardar el número de serie o código que el PLC envía con cada imagenUna variable en PLC User Data. Sin código: cada captura lo almacena, la Biblioteca lo muestra, y los nombres de archivo de Almacenamiento remoto pueden usarlo, por ejemplo {camera}/{var.lot} para la carpeta y {var.serial}_{capture_id} como nombre de archivo
Verificar la pieza contra lo que el PLC esperaUn script de receta que compara el texto OCR o el código con la variable de serie y rechaza con serial differs. La misma idea funciona para un conteo contra la cantidad de la orden
Tomar datos de MES u otro sistemaUna variable vinculada a un tema MQTT y campo JSON, o un script de cámara que extrae un campo del mensaje de un proveedor y establece la variable
Permitir que un operador ingrese el número de loteEstablezca la variable manualmente en la página de Variables. Las capturas que usaron un valor ingresado manualmente obtienen una insignia manual. Esta es también la forma de probar un script en el banco sin un PLC
Encontrar capturas posteriormente por lote, o por lo cerca que estuvieron de fallarUn script de receta que guarda valores como metadatos y etiqueta capturas, como near-miss o review
Enviar sus propios datos al PLCUn script de receta que empaqueta un conteo, un bit por región, o un código por herramienta en User Results con pack()
Ejecutar diferentes comprobaciones por modeloEl PLC envía el tipo de pieza; el script de receta marca otros tipos de pieza como Not inspected, o activa o desactiva una comprobación
Usar su propia lógica de aprobaciónPor ejemplo, aprobar cuando al menos 78 de 80 regiones aprueban, o colocar el nombre de la herramienta que falla en la razón
No inspeccionar una pieza cuando los datos faltan o están obsoletosUn script de receta que devuelve Not inspected cuando el número de serie no ha llegado, o cuando el último valor del PLC es demasiado antiguo
Publicar cada resultadoNada que escribir: con un broker configurado en Data Connectors, cada resultado y un heartbeat van a MQTT. Use el script de cámara para su propio tema o formato de mensaje
Monitorear la líneaUn script de cámara que genera una alerta después de N rechazos consecutivos, publica conteos de aprobados y rechazados por turno como CSV, o publica un heartbeat
Responder a solicitudes por MQTTUn script de cámara que responde a solicitudes como last result o value of a variable

Cada configuración anterior que utiliza un script tiene una plantilla lista en la galería de Templates del editor de scripts.

El banco de trabajo del script​

Ambos scripts se escriben en el mismo editor en la cámara, con:

  • Templates: ejemplos funcionales para cada tarea anterior. Elija uno y complete la herramienta o variable que utiliza
  • Autocompletado y un panel de Reference que documenta cada hook, global y tipo, con guías breves
  • Test contra la cámara en vivo o capturas recientes, para que ya no tenga que cambiar entre la HMI y la pestaña del script
  • History: sus últimas 20 versiones guardadas, para comparar o regresar a ellas
  • Test ejecuta el borrador en un disparo en vivo o en capturas almacenadas (la última, las últimas N hasta 500, un filtro de Biblioteca, o números de captura). Para el script de cámara es una ejecución en seco que reproduce resultados recientes sin enviar nada

Editor de script de receta con Templates, History, Settings, Test y el panel Reference

Pruebe antes de guardar

Un script de receta que arroja un error o se queda sin tiempo hace que la pieza sea Not inspected y pone en cero PLC User Results. Ejecute Test con una pieza rechazada además de una buena antes de guardar, y mantenga el script corto: su tiempo se suma a cada ciclo.

Bueno saberlo​

  • Las variables, scripts y configuraciones de MQTT viajan con las exportaciones de receta. Las contraseñas y certificados no se exportan: si el origen usó credenciales que el destino no tiene, MQTT llega desactivado; de lo contrario mantiene la configuración del origen
  • La HTTP API ahora devuelve resultados en el mismo formato que MQTT y los scripts. Si integró contra 2026.10.13, consulte los cambios de campos en esa página
  • Aún no disponible: disparar una inspección o cambiar de receta desde el script de cámara (el PLC y HTTP aún lo hacen), TCP y OPC-UA, y un widget de HMI para mostrar o establecer una variable

A dónde ir después​