Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Variables

Una variable contiene un valor proveniente de su línea, como el número de serie de la pieza que está frente a la cámara. La cámara la mantiene actualizada mientras funciona, y cada inspección guarda el valor que tenía en ese momento. Luego puede incluirla en nombres de archivo, verla en la Biblioteca y usarla en scripts. No se necesita código.

Abra Integration > Variables.

Página de Variables: de dónde proviene el valor, la variable y dónde se usa

De dónde proviene un valor​

OrigenCómo llega
PLC User DataEl PLC lo escribe en sus bytes de User Data
MQTTLlega un mensaje en un topic. El valor puede ser todo el payload o un campo de un mensaje JSON
Camera scriptSu camera script lo calcula y lo establece con vars.set()
ConstantUn valor fijo que usted escribe, como el nombre de una línea o estación

También puede establecer un valor manualmente en la página de Variables, por ejemplo cuando un operador ingresa un número de lote. Un valor establecido manualmente dura hasta que el origen propio de la variable envíe uno nuevo, y las capturas que lo utilizaron obtienen una insignia manual en la Biblioteca.

La página ofrece tres ejemplos para comenzar: un número de serie de pieza desde el PLC, un número de lote desde MQTT y un nombre de línea o estación.

Desde el PLC​

Elija dónde se ubica el valor en el User Data del PLC y su tipo:

ConfiguraciónValores
OffsetByte 0 a 463 de User Data
TypeBOOL, SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT, REAL, LREAL, STRING, BYTES
Bit0 a 7, solo para BOOL. Sin él, BOOL significa que el byte completo no es cero
String formatFixed length (un número fijo de caracteres, con espacios y NULs finales recortados), Rockwell (un STRING de Logix: un DINT de longitud seguido de 82 caracteres) o Siemens (un STRING de S7: un byte de longitud máxima, un byte de longitud y luego los caracteres)

El orden de bytes sigue al bus de campo: little-endian en EtherNet/IP, big-endian en PROFINET. En PROFINET, algunos bytes llegan solo cuando el PLC envía el módulo completo de User Data.

LINT y ULINT llegan como texto

Los enteros de 64 bits llegan a los scripts y mensajes de resultados como cadenas decimales, porque los números de JavaScript no pueden contener todos los valores de 64 bits. Use BigInt(vars.part_id) en un script si necesita hacer aritmética con uno.

Desde MQTT​

Indique el topic, cómo leer el payload (JSON, String o Number) y, para JSON, la ruta al campo, por ejemplo $.id. No se permiten comodines en el topic de una variable. Mientras MQTT esté desactivado, la variable permanece vacía.

Nombres y límites​

  • Los nombres son letras minúsculas, dígitos y guiones bajos, que empiezan con una letra, hasta 32 caracteres: serial, lot_number, part_type
  • Estos nombres están reservados: vars, vars_info, tools, tools_by_name, rules, trigger, recipe, state
  • Hasta 64 variables por cámara. Los valores de texto son de hasta 1024 bytes

Dónde la usa​

DóndeCómo
Nombres de archivo y carpeta de Almacenamiento remoto{var.serial}, por ejemplo {camera}/{var.lot} como carpeta y {var.serial}_{capture_id} como nombre de archivo. El nombre de archivo aún requiere {capture_id}, {trigger_id} o {timestamp}, y no puede contener /. Vea Almacenamiento remoto
BibliotecaLos detalles de cada captura listan las variables que guardó, con su origen y cuándo se recibió cada valor
Recipe scriptvars.serial, y vars_info.serial.age_ms para saber qué tan antiguo es. Vea Recipe script
Camera scriptvars.get("serial"), y vars.set() para variables cuyo origen es el camera script
Mensajes de resultadosCada resultado enviado por MQTT, la HTTP API y al camera script lleva vars y vars_info

Cosas que debe saber​

Escriba antes de disparar

Cada inspección guarda los valores que tienen las variables cuando sus herramientas terminan. Haga que el PLC escriba el serial antes de que active el disparo, o la captura guardará el valor de la pieza anterior.

  • Vacío se muestra como _. Una variable sin valor aparece como _ en los nombres de archivo y como null en los scripts
  • Los reinicios comienzan vacíos. Después de un reinicio, cada variable espera a que su origen envíe un nuevo valor. Los valores establecidos manualmente deben volver a establecerse
  • Un conjunto por cámara. Las variables pertenecen a la cámara, por lo que cada receta en ella lee las mismas
  • Exportaciones. Las variables viajan con las exportaciones de recetas
Pruebe en el banco sin un PLC

Establezca la variable manualmente en la página de Variables, luego dispare manualmente. El recipe script ve el valor establecido manualmente exactamente como vería el del PLC, y la captura se marca como manual para que nunca se confunda con datos de producción. Un recipe script puede rechazar valores establecidos manualmente en líneas donde no están permitidos, verificando vars_info.<name>.source.

A dónde ir después​