Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Variables de Entorno

Puede definir variables de entorno para cada cámara en System Settings. Estas variables se ponen a disposición en Node-RED, lo que le permite establecer parámetros como PLC IP, número de línea, Modbus IP, zona horaria, servidor FTP, entre otros, en un solo lugar centralizado. Esto facilita la reutilización del mismo flujo de Node-RED en diferentes líneas, mientras se personaliza el comportamiento por cámara. Los conjuntos de variables de entorno también pueden exportarse a o importarse desde un archivo .txt, simplificando la implementación y el respaldo.

El OV80i incluye tres variables integradas — Line Code, Camera Timezone y Date Installed — y puede agregar tantas Custom Variables como necesite.

Cuándo usar variables de entorno

Recurra a las variables de entorno cuando:

  • El mismo valor (PLC IP, MES URL, host de Modbus, clave de licencia, umbral, ID de línea) se hace referencia desde más de un nodo de Node-RED.
  • Un valor difiere entre implementaciones y desea un flujo que funcione en todas partes — establezca la variable una vez en cada cámara en lugar de editar el flujo.
  • Quiere compartir un flujo entre cámaras (exportar/importar) sin filtrar configuraciones específicas de la implementación dentro del JSON.
  • Necesita que IT o los operadores cambien un valor (por ejemplo, un nuevo servidor FTP) sin abrir Node-RED.

Definición de variables en System Settings

  1. Desde la barra lateral izquierda de la IU de la cámara, haga clic en System Settings.
  2. Abra la pestaña Environment Variables (tercera pestaña en la sub-navegación).
  3. Complete cualquiera de las variables integradas:
    • Line Code — identificador o código de línea de producción (texto libre).
    • Camera Timezone — seleccione una zona horaria del menú desplegable.
    • Date Installed — selector de fecha.

Pestaña Environment Variables en System Settings — Line Code, Camera Timezone, Date Installed

  1. Para agregar una variable personalizada, haga clic en + New Variable en la parte superior derecha. Aparece una nueva fila de Custom Variables con un par de entrada clave/valor. Escriba una clave (sin espacios — solo letras, dígitos y guiones bajos) y un valor, luego Apply Changes.

Fila de variable personalizada con FTP_SERVER = ftp.factory.local completada

Nomenclatura de claves

La clave es el nombre que usará para leer la variable desde Node-RED. La convención es upper-snake-case (por ejemplo, PLC_IP, MODBUS_IP, FTP_SERVER, LINE_NUMBER, ALERT_THRESHOLD) — la IU no permite espacios.

  1. La cámara le pide que confirme antes de guardar. Node-RED se reinicia al aplicar para que el nuevo valor esté disponible para los flujos de inmediato.

Modal Confirm Changes advirtiendo que Node-RED se reiniciará cuando cambien las variables de entorno

Apply Changes reinicia Node-RED

Guardar cualquier cambio en las variables de entorno — agregar, editar o eliminar una variable personalizada, o cambiar uno de los campos integrados — reinicia el runtime de Node-RED para que los valores surtan efecto. Las inspecciones activas continúan ejecutándose, pero cualquier ejecución de flujo en curso se interrumpe. Programe los cambios durante el tiempo de inactividad planificado, no a mitad del turno.

Respaldo y restauración

El botón Export .txt descarga el conjunto de variables actual como un archivo de texto plano (líneas KEY=VALUE). Import .txt restaura desde un archivo previamente exportado. Use esto para clonar una configuración conocida y funcional en varias cámaras de la misma línea, o para hacer un respaldo antes de reinstalar la imagen.

Lectura de variables desde Node-RED

Abra el Bloque IO en cualquier receta y haga clic en Advanced Mode para ingresar a Node-RED. Las variables de entorno de la cámara se exponen a los flujos de tres maneras — elija la que se ajuste a su caso de uso.

1. Nodo inject con tipo de payload env (el más simple)

La forma más rápida de leer una variable es un nodo inject configurado con tipo de payload env y payload <VAR_NAME>. Cuando se activa, el nodo inject envía msg.payload = <valor de la variable de entorno> aguas abajo — sin código, sin bloque de función.

Configuración del nodo inject: msg.payload = $ FTP_SERVER, tipo de payload env

Conéctelo a un nodo debug y active el inject — la barra lateral de debug muestra el valor resuelto.

Flujo con inject -&gt; &quot;env variable&quot; -&gt; debug 2; la barra lateral de debug muestra &quot;ftp.factory.local&quot;

Este patrón es ideal para verificar que una variable esté definida y se esté leyendo correctamente. También es el patrón a usar cuando un nodo aguas abajo (HTTP request, MQTT publish, FTP) solo necesita el valor crudo como payload.

2. Nodo function con env.get() (programático)

Cuando necesite combinar múltiples variables, construir un mensaje estructurado o ramificar según un valor, use un nodo function y la API estándar de Node-RED env.get():

// Read a built-in variable
const lineCode = env.get("LINE_CODE");

// Read custom variables
const plcIp = env.get("PLC_IP");
const ftpServer = env.get("FTP_SERVER");

// Build a structured message for downstream nodes
msg.payload = {
line: lineCode,
plc: plcIp,
ftp: ftpServer,
capturedAt: new Date().toISOString(),
};
return msg;

Conéctelo a un nodo mqtt out, http request, ftp o email y el payload estructurado viaja con él.

3. Sustitución ${VAR_NAME} en cualquier propiedad de nodo

La mayoría de los campos de configuración de nodos admiten la sustitución ${VAR_NAME}. Por ejemplo, en un nodo http request puede establecer la URL como:

${MES_ENDPOINT}/api/v1/inspections

…y Node-RED sustituye el valor actual de la variable en tiempo de ejecución. Lo mismo aplica para campos del servidor ftp, URLs del broker mqtt, listas de destinatarios de email, etc. Esto le permite establecer la configuración específica de la implementación en un solo lugar (System Settings) sin tocar el flujo.

Patrones comunes

PatrónNombre de variableCómo se lee
Conexión PLCPLC_IP, PLC_PORTInject + env, o ${PLC_IP} en la configuración del PLC
Exportación de imágenes FTPFTP_SERVER, FTP_USERNAMECampos host/credenciales del nodo FTP con sustitución ${...}, o env.get() en un nodo Function
Endpoint MES / data-historianMES_ENDPOINTURL del nodo HTTP request: ${MES_ENDPOINT}/api/...
Broker MQTTMQTT_BROKERConfiguración del broker MQTT: ${MQTT_BROKER}
Host ModbusMODBUS_IPCampo IP del nodo Modbus
Identificador de línea (por cámara)LINE_NUMBER, LINE_CODE (integrado)Estampado en cada mensaje publicado para trazabilidad
Umbral de escalación de alertasALERT_THRESHOLDNodo Function que cuenta fallas recientes
Lista de notificación de operadoresALERT_EMAILSCampo "to" del nodo Email
No incluya secretos aquí

La página Environment Variables es de texto plano y visible para cualquier usuario con acceso a System Settings. Para secretos que requieran una protección más fuerte (contraseñas de PLC, tokens firmados, certificados), use el almacén de credenciales de Node-RED en nodos individuales en su lugar.

Qué sigue