Skip to main content

AI-POWERED DOCS

What do you want to know?

Biến Môi Trường

Bạn có thể định nghĩa các biến môi trường cho từng camera trong System Settings. Các biến này được cung cấp trong Node-RED, cho phép bạn thiết lập các tham số như PLC IP, line number, Modbus IP, timezone, FTP server, v.v. tại một nơi tập trung. Điều này giúp dễ dàng tái sử dụng cùng một flow Node-RED trên các dây chuyền khác nhau trong khi tùy chỉnh hành vi cho từng camera. Các tập biến môi trường cũng có thể được xuất ra hoặc nhập từ một file .txt, đơn giản hóa việc triển khai và sao lưu.

OV10i được trang bị sẵn ba biến tích hợp — Line Code, Camera Timezone, và Date Installed — và bạn có thể thêm bao nhiêu Custom Variables tùy ý.

Khi nào nên sử dụng biến môi trường

Hãy sử dụng biến môi trường khi:

  • Cùng một giá trị (PLC IP, MES URL, Modbus host, license key, ngưỡng, line ID) được tham chiếu từ nhiều hơn một node Node-RED.
  • Một giá trị khác nhau giữa các lần triển khai và bạn muốn một flow hoạt động ở mọi nơi — đặt biến một lần trên mỗi camera thay vì chỉnh sửa flow.
  • Bạn muốn chia sẻ một flow giữa các camera (xuất/nhập) mà không làm rò rỉ cấu hình riêng của từng triển khai vào file JSON.
  • Bạn cần IT hoặc người vận hành thay đổi một giá trị (ví dụ: một FTP server mới) mà không cần mở Node-RED.

Định nghĩa biến trong System Settings

  1. Từ thanh bên trái của giao diện camera, nhấp vào System Settings.
  2. Mở tab Environment Variables (tab thứ ba trong điều hướng phụ).
  3. Điền bất kỳ biến tích hợp nào:
    • Line Code — định danh hoặc mã dây chuyền sản xuất (văn bản tự do).
    • Camera Timezone — chọn một timezone từ menu thả xuống.
    • Date Installed — bộ chọn ngày.

Tab Environment Variables trong System Settings — Line Code, Camera Timezone, Date Installed

  1. Để thêm một biến tùy chỉnh, nhấp vào + New Variable ở phía trên bên phải. Một dòng Custom Variables mới xuất hiện với cặp nhập key/value. Nhập một key (không có khoảng trắng — chỉ chữ cái, chữ số và dấu gạch dưới) và một giá trị, sau đó Apply Changes.

Dòng biến tùy chỉnh với FTP_SERVER = ftp.factory.local đã được điền

Đặt tên key

Key là tên bạn sẽ sử dụng để đọc biến từ Node-RED. Quy ước là upper-snake-case (ví dụ: PLC_IP, MODBUS_IP, FTP_SERVER, LINE_NUMBER, ALERT_THRESHOLD) — không cho phép khoảng trắng trong giao diện.

  1. Camera nhắc bạn xác nhận trước khi lưu. Node-RED được khởi động lại khi áp dụng để giá trị mới có sẵn cho các flow ngay lập tức.

Hộp thoại Confirm Changes cảnh báo rằng Node-RED sẽ khởi động lại khi env vars thay đổi

Apply Changes khởi động lại Node-RED

Lưu bất kỳ thay đổi nào đối với biến môi trường — thêm, chỉnh sửa, hoặc xóa một biến tùy chỉnh, hoặc thay đổi một trong các trường tích hợp — sẽ khởi động lại runtime Node-RED để các giá trị có hiệu lực. Các kiểm tra đang hoạt động vẫn tiếp tục chạy, nhưng bất kỳ thực thi flow nào đang diễn ra sẽ bị gián đoạn. Hãy lên lịch thay đổi trong thời gian dừng máy có kế hoạch, không phải giữa ca làm việc.

Sao lưu và phục hồi

Nút Export .txt tải xuống tập biến hiện tại dưới dạng file văn bản thuần (các dòng KEY=VALUE). Import .txt phục hồi từ một file đã xuất trước đó. Sử dụng tính năng này để nhân bản cấu hình đã được kiểm chứng tốt qua nhiều camera của cùng một dây chuyền, hoặc để sao lưu trước khi cài đặt lại hệ thống.

Đọc biến từ Node-RED

Mở IO Block trên bất kỳ recipe nào và nhấp vào Advanced Mode để vào Node-RED. Các biến môi trường của camera được cung cấp cho các flow theo ba cách — chọn cách phù hợp với trường hợp sử dụng của bạn.

1. Inject node với payload type env (đơn giản nhất)

Cách nhanh nhất để đọc một biến là một node inject được cấu hình với payload type envpayload <VAR_NAME>. Khi được kích hoạt, node inject gửi msg.payload = <giá trị của biến env> xuống các node tiếp theo — không cần code, không cần function block.

Cấu hình Inject node: msg.payload = $ FTP_SERVER, payload type env

Kết nối nó với một node debug và kích hoạt inject — thanh bên debug hiển thị giá trị đã được phân giải.

Flow với inject -&gt; &quot;env variable&quot; -&gt; debug 2; thanh bên debug hiển thị &quot;ftp.factory.local&quot;

Mẫu này lý tưởng để kiểm tra nhanh xem một biến đã được định nghĩa và đọc đúng cách hay chưa. Đây cũng là mẫu để sử dụng khi một node tiếp theo (HTTP request, MQTT publish, FTP) chỉ cần giá trị thô làm payload.

2. Function node với env.get() (lập trình)

Khi bạn cần kết hợp nhiều biến, xây dựng một message có cấu trúc, hoặc rẽ nhánh dựa trên một giá trị, hãy sử dụng một node function và API tiêu chuẩn env.get() của 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;

Kết nối nó với một node mqtt out, http request, ftp, hoặc email và payload có cấu trúc sẽ đi cùng.

3. Thay thế ${VAR_NAME} trong thuộc tính của bất kỳ node nào

Hầu hết các trường cấu hình node hỗ trợ thay thế ${VAR_NAME}. Ví dụ, trong một node http request bạn có thể đặt URL thành:

${MES_ENDPOINT}/api/v1/inspections

…và Node-RED thay thế giá trị hiện tại của biến tại runtime. Tương tự đối với các trường máy chủ ftp, URL broker mqtt, danh sách người nhận email, v.v. Điều này cho phép bạn đặt cấu hình riêng của từng triển khai tại một nơi (System Settings) mà không cần chạm vào flow.

Các mẫu phổ biến

MẫuTên biếnCách đọc
Kết nối PLCPLC_IP, PLC_PORTInject + env, hoặc ${PLC_IP} trong cấu hình PLC
Xuất hình ảnh FTPFTP_SERVER, FTP_USERNAMETrường host/thông tin xác thực của FTP node với thay thế ${...}, hoặc env.get() trong một Function node
Endpoint MES / data-historianMES_ENDPOINTURL HTTP request node: ${MES_ENDPOINT}/api/...
MQTT brokerMQTT_BROKERCấu hình MQTT broker: ${MQTT_BROKER}
Modbus hostMODBUS_IPTrường IP của Modbus node
Định danh dây chuyền (cho mỗi camera)LINE_NUMBER, LINE_CODE (tích hợp)Được đóng dấu lên mọi message được phát đi để truy xuất nguồn gốc
Ngưỡng cảnh báo leo thangALERT_THRESHOLDFunction node đếm các lỗi gần đây
Danh sách thông báo cho người vận hànhALERT_EMAILSTrường "to" của Email node
Đừng đưa thông tin bí mật vào đây

Trang Environment Variables là văn bản thuần và hiển thị cho bất kỳ người dùng nào có quyền truy cập System Settings. Đối với các thông tin bí mật cần được bảo vệ mạnh hơn (mật khẩu PLC, token đã ký, chứng chỉ), hãy sử dụng credentials store của Node-RED trên các node riêng lẻ thay vào đó.

Tiếp theo