Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Variables de Entorno

Puede definir variables de entorno para cada cámara en Configuraciones del Sistema. Estas variables están disponibles 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 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 el despliegue y la copia de seguridad.

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

Cuándo usar variables de entorno

Recurra a las variables de entorno cuando:

  • El mismo valor (PLC IP, MES URL, Modbus host, clave de licencia, umbral, ID de línea) se 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.
  • Desea compartir un flujo entre cámaras (exportar/importar) sin filtrar configuración específica de la implementación en el JSON.
  • Necesita que IT u operadores cambien un valor (p. ej., un nuevo servidor FTP) sin abrir Node-RED.

Definiendo variables en Configuraciones del Sistema

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

Pestaña de Variables de Entorno en Configuraciones del Sistema — Line Code, Camera Timezone, Date Installed

  1. Para agregar una variable personalizada, haga clic en + Nueva Variable en la esquina superior derecha. Aparece una nueva fila de Variables Personalizadas con un par de entradas clave/valor. Escriba una clave (sin espacios — solo letras, dígitos y guiones bajos) y un valor, luego Aplicar Cambios.

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 (p. ej., PLC_IP, MODBUS_IP, FTP_SERVER, LINE_NUMBER, ALERT_THRESHOLD) — la IU no permite espacios.

  1. La cámara le solicita confirmar antes de guardar. Node-RED se reinicia al aplicar, por lo que el nuevo valor está disponible para los flujos de inmediato.

Modal de Confirmar Cambios advirtiendo que Node-RED se reiniciará cuando cambien las variables de entorno

Aplicar Cambios 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 tiempos de inactividad planificados, no a media jornada.

Copia de seguridad y restauración

El botón Exportar .txt descarga el conjunto actual de variables como un archivo de texto plano (líneas KEY=VALUE). Importar .txt restaura desde un archivo previamente exportado. Use esto para clonar una configuración conocida y validada en múltiples cámaras de la misma línea, o para hacer una copia de seguridad antes de reimaginar.

Leyendo variables desde Node-RED

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

1. Nodo inject con tipo de payload env (lo 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>. Al activarse, el nodo inject envía msg.payload = <valor de la variable de entorno> aguas abajo — sin código, sin bloque function.

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) simplemente necesita el valor sin procesar 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 env.get() de Node-RED:

// 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 la propiedad de cualquier nodo

La mayoría de los campos de configuración de los 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 los campos del servidor ftp, las URLs del broker mqtt, las listas de destinatarios de email, etc. Esto le permite establecer configuraciones específicas de la implementación en un solo lugar (Configuraciones del Sistema) 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 de 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 (integrada)Estampado en cada mensaje publicado para trazabilidad
Umbral de escalamiento de alertasALERT_THRESHOLDNodo Function que cuenta fallas recientes
Lista de notificación a operadoresALERT_EMAILSCampo "to" del nodo Email
No envíe secretos por aquí

La página de Variables de Entorno está en texto plano y es visible para cualquier usuario con acceso a Configuraciones del Sistema. Para secretos que requieren mayor protección (contraseñas de PLC, tokens firmados, certificados), use el almacén de credenciales de Node-RED en los nodos individuales en su lugar.

Qué sigue