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 IP del PLC, número de línea, IP de Modbus, zona horaria, servidor FTP, etc., 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, lo que simplifica la implementación y el respaldo.

El OV20i 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 (IP del PLC, URL del MES, host de Modbus, 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.
  • Quiere compartir un flujo entre cámaras (exportar/importar) sin filtrar configuraciones específicas de la implementación dentro del JSON.
  • Necesita que el personal de TI o los operadores cambien un valor (por ejemplo, un nuevo servidor FTP) sin abrir Node-RED.

Definir 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 subnavegació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 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 parte superior derecha. Aparece una nueva fila de Variables Personalizadas con un par de campos 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 utilizará 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 inmediatamente para los flujos.

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 mitad de turno.

Respaldo 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 verificada en múltiples cámaras de la misma línea, o para hacer un respaldo antes de reimaginar.

Lectura de 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 mejor se adapte a 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>. Cuando se activa, el nodo inject envía msg.payload = <valor de la variable env> 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 lea 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 necesita 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 viajará por el flujo.

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 la configuración específica de la implementación en un solo lugar (Configuraciones del Sistema) sin tocar el flujo.

Patrones comunes

PatrónNombre de la variableCómo se lee
Conexión PLCPLC_IP, PLC_PORTInject + env, o ${PLC_IP} en la configuración del PLC
Exportación FTP de imágenesFTP_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 (integrada)Estampado en cada mensaje publicado para trazabilidad
Umbral de escalamiento 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 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