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 mỗi 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 bộ biến môi trường cũng có thể được export ra hoặc import từ một file .txt, đơn giản hóa việc triển khai và sao lưu.

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

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

Sử dụng biến môi trường khi:

  • Cùng một giá trị (PLC IP, MES URL, Modbus host, license key, threshold, 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 được ở 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ẻ flow giữa các camera (export/import) mà không để lộ cấu hình triển khai cụ thể trong JSON.
  • Bạn cần IT hoặc người vận hành thay đổi một giá trị (ví dụ: FTP server mới) mà không cần mở Node-RED.

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

  1. Từ thanh sidebar 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 vào bất kỳ biến tích hợp sẵn nào:
    • Line Code — định danh hoặc mã của dây chuyền sản xuất (văn bản tự do).
    • Camera Timezone — chọn timezone từ dropdown.
    • Date Installed — bộ chọn ngày.

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

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

Hà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) — giao diện không cho phép khoảng trắng.

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

Modal 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 biến tùy chỉnh, hoặc thay đổi một trong các trường tích hợp sẵn — sẽ khởi động lại Node-RED runtime để 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ỳ flow nào đang thực thi sẽ bị gián đoạn. Hãy lên lịch thay đổi trong thời gian ngừng máy đã định, không phải giữa ca làm việc.

Sao lưu và khôi phục

Nút Export .txt tải xuống bộ 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 khôi phục từ file đã export trước đó. Sử dụng tính năng này để nhân bản cấu hình đã được kiểm chứng trên nhiều camera của cùng một dây chuyền, hoặc để sao lưu trước khi re-image.

Đọc biến từ Node-RED

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

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

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

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

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

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

Mẫu này lý tưởng để kiểm tra rằng một biến đã được định nghĩa và đang được đọc đúng cách. Đây cũng là mẫu nên dùng khi một node phía sau (HTTP request, MQTT publish, FTP) chỉ cần giá trị thô làm payload.

2. Node Function 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 node function và API chuẩn của 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;

Kết nối nó với node mqtt out, http request, ftp, hoặc email và payload có cấu trúc sẽ được truyền đi.

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 đều hỗ trợ thay thế ${VAR_NAME}. Ví dụ, trong node http request bạn có thể đặt URL thành:

${MES_ENDPOINT}/api/v1/inspections

…và Node-RED sẽ thay thế giá trị hiện tại của biến tại runtime. Tương tự cho các trường server ftp, URL broker mqtt, danh sách người nhận email, v.v. Điều này cho phép bạn thiết lập cấu hình theo 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
Export hình ảnh qua FTPFTP_SERVER, FTP_USERNAMETrường host/credential của node FTP với thay thế ${...}, hoặc env.get() trong node Function
Endpoint MES / data-historianMES_ENDPOINTURL node HTTP request: ${MES_ENDPOINT}/api/...
MQTT brokerMQTT_BROKERCấu hình MQTT broker: ${MQTT_BROKER}
Modbus hostMODBUS_IPTrường IP của node Modbus
Định danh dây chuyền (theo từng camera)LINE_NUMBER, LINE_CODE (tích hợp sẵn)Đóng dấu vào mọi message được công bố để truy xuất nguồn gốc
Ngưỡng cảnh báoALERT_THRESHOLDNode Function đếm số lần lỗi gần đây
Danh sách thông báo cho người vận hànhALERT_EMAILSTrường "to" của node Email
Đừng lưu thông tin bí mật ở đâ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 bảo vệ mạnh hơn (mật khẩu PLC, signed token, certificate), hãy sử dụng credentials store của Node-RED trên các node riêng lẻ.

Tiếp theo là gì