AI-POWERED DOCS
What do you want to know?
Debug Node-RED
Hướng dẫn này cung cấp quy trình khắc phục sự cố toàn diện cho các vấn đề Node-RED trên hệ thống camera OV10i. Sử dụng tài liệu này cho việc sửa chữa tại hiện trường, debug các vấn đề sản xuất và bảo trì phòng ngừa cho các flow inspection.
An Toàn Trên Hết: Luôn thông báo cho bộ phận sản xuất trước khi thực hiện thay đổi trên các hệ thống inspection đang hoạt động. Tạo backup trước khi chỉnh sửa flows.
Quy Trình Sửa Lỗi Nhanh Khẩn Cấp
Hệ Thống Ngừng Hoạt Động - Hành Động Ngay Lập Tức
| Bước | Hành Động | Thời Gian | Kết Quả |
|---|---|---|---|
| 1 | Kiểm tra trạng thái LED nguồn của camera | 30 giây | Xác nhận phần cứng OK |
| 2 | Truy cập OV10i Node-RED: http://camera-ip/recipes/<recipe-number>/ioblock | 1 phút | Xác nhận có thể truy cập editor |
| 3 | Tìm các chỉ báo lỗi hình tam giác đỏ | 1 phút | Xác định các node bị lỗi |
| 4 | Nhấn nút Deploy (Full Deploy) | 30 giây | Reset tất cả flows |
| 5 | Kiểm tra trigger inspection cơ bản | 2 phút | Xác nhận hệ thống vận hành |
Khôi Phục Hệ Thống (Nếu Editor Không Tải Được)
Camera OV10i không có chế độ safe mode - khởi động lại là phương pháp khôi phục chính:
- Ngắt nguồn camera (rút nguồn trong 10 giây)
- Chờ khởi động hoàn toàn (tất cả 4 LED ổn định - 2-3 phút)
- Truy cập Node-RED của recipe đang hoạt động thông qua URL dành riêng cho recipe
- Xác minh tính toàn vẹn của flow và thực hiện các sửa chữa cần thiết
- Deploy thay đổi để khôi phục hoạt động bình thường
Định Dạng URL: http://<camera-ip>/recipes/<recipe-number>/ioblock
Ví Dụ:
http://192.168.0.101/recipes/20/ioblockhttp://192.168.0.105/recipes/1/ioblock
Quy Trình Debug Có Hệ Thống
Bước 1: Xác Định Phạm Vi Vấn Đề
Các Câu Hỏi Đánh Giá Nhanh
| Câu Hỏi | Nếu CÓ | Nếu KHÔNG |
|---|---|---|
| Bạn có thể truy cập giao diện OV10i Node-RED không? | Tiếp tục sang Bước 2 | Kiểm tra trạng thái mạng/camera |
| Flows có hiển thị trong editor không? | Tiếp tục sang Bước 2 | Khởi động lại camera và thử lại |
| Bạn có thấy các hình tam giác lỗi trên node không? | Tập trung vào các node đó trước | Kiểm tra việc thực thi flow |
| Inspection có được kích hoạt không? | Kiểm tra output của từng node riêng lẻ | Xác minh các trigger inputs |
URL Truy Cập: Sử dụng định dạng URL dành riêng cho recipe: http://<camera-ip>/recipes/<recipe-number>/ioblock
Bước 2: Kích Hoạt Giám Sát Debug
Thêm Debug Nodes Để Khắc Phục Sự Cố
- Đặt Debug nodes tại các điểm quan trọng trong các flow có vấn đề:
- Sau các trigger inputs
- Trước và sau các logic nodes
- Tại các output cuối cùng
- Cấu hình Debug nodes để có thông tin tối đa:
- Output: Toàn bộ message object
- To: Debug sidebar
- Name: Tên mang tính mô tả (ví dụ: "After Classification Logic")
- Kích hoạt tất cả Debug nodes bằng cách nhấn các nút của chúng trong editor
Quản Lý Debug Sidebar
Truy Cập Debug Sidebar:
- Nhấn Debug tab (biểu tượng con bọ) ở panel bên phải
- Xóa các message cũ bằng biểu tượng thùng rác
- Lọc message nếu có quá nhiều node đang hoạt động
Diễn Giải Debug Message:
- Timestamp hiển thị thời điểm message xảy ra
- Tên node hiển thị node nào đã tạo ra message
- Nội dung message hiển thị cấu trúc dữ liệu và giá trị
Bước 3: Theo Dõi Quá Trình Thực Thi Flow
Theo Dõi Đường Đi Của Message
- Bắt đầu từ nguồn trigger (inject, timer, đầu vào ngoài)
- Xác minh mỗi node nhận được đầu vào mong đợi
- Kiểm tra các biến đổi message ở mỗi bước
- Xác định vị trí flow dừng lại hoặc tạo ra đầu ra sai
Các Điểm Gián Đoạn Flow Thường Gặp
| Loại Node | Vấn Đề Thường Gặp | Kiểm Tra Nhanh |
|---|---|---|
| Classification Logic | Không đạt ngưỡng độ tin cậy | Kiểm tra căn chỉnh ROI, huấn luyện lại model |
| Switch Node | Logic điều kiện sai | Xác minh quy tắc switch và thuộc tính message |
| Join Node | Đang chờ tập message chưa hoàn chỉnh | Kiểm tra số lượng phần message |
| Function Node | Lỗi JavaScript | Kiểm tra console trình duyệt để xem lỗi |
| HTTP Request | Kết nối mạng | Kiểm tra endpoint thủ công |
Các Vấn Đề Node-RED Thường Gặp & Giải Pháp
Vấn Đề Thực Thi Flow
Vấn Đề: Flow Không Kích Hoạt
Triệu Chứng:
- Không có message nào trong sidebar Debug
- Hệ thống có vẻ không hoạt động
- Trigger ngoài không hoạt động
Các Bước Chẩn Đoán:
- Kiểm tra nguồn trigger: Inject thủ công, timer, đầu vào ngoài
- Xác minh dây nối: Đảm bảo các kết nối giữa các node
- Kiểm tra trigger thủ công: Sử dụng Inject node để buộc flow khởi động
Giải Pháp:
| Nguyên Nhân | Giải Pháp | Phòng Ngừa |
|---|---|---|
| Flow bị vô hiệu hóa | Nhấp Deploy → Full Deploy | Deploy thường xuyên sau khi thay đổi |
| Kết nối bị đứt | Nối lại các node đúng cách | Kiểm tra trực quan trong khi chỉnh sửa |
| Cấu hình timer sai | Kiểm tra cài đặt thời gian của inject node | Ghi lại yêu cầu về thời gian |
| Lỗi trigger ngoài | Xác minh dây nối và tín hiệu I/O | Kiểm tra I/O thường xuyên |
Vấn Đề: Flow Chạy Nhưng Kết Quả Sai
Triệu Chứng:
- Message vẫn chạy nhưng phân loại sai
- Logic pass/fail không hoạt động đúng
- Kết quả không nhất quán
Quy Trình Chẩn Đoán:
- Thêm Debug node trước và sau các node nghi ngờ
- So sánh nội dung message mong đợi với thực tế
- Kiểm tra cấu hình node để đảm bảo tham số đúng
Giải Pháp:
| Khu Vực Vấn Đề | Kiểm Tra | Khắc Phục |
|---|---|---|
| Classification Logic | Căn chỉnh ROI, huấn luyện model | Huấn luyện lại hoặc điều chỉnh ROI |
| Switch Conditions | Tên và giá trị thuộc tính | Sửa logic switch |
| Message Properties | Kiểu dữ liệu và định dạng | Sử dụng Change node để sửa định dạng |
| Context Variables | Giá trị đã lưu và phạm vi | Xóa/reset bộ nhớ context |
Vấn Đề Hiệu Năng
Vấn Đề: Flow Thực Thi Chậm
Triệu Chứng:
- Trễ giữa trigger và đầu ra
- Hết thời gian chờ kiểm tra
- Hệ thống bị lag
Chẩn Đoán Hiệu Năng:
- Kiểm tra timestamp của Debug để xác định các node chậm
- Theo dõi mức sử dụng CPU trên hệ thống camera
- Đếm số Debug node đang hoạt động (vô hiệu hóa các node không sử dụng)
Hành Động Tối Ưu:
| Vấn Đề Hiệu Năng | Giải Pháp | Cải Thiện Kỳ Vọng |
|---|---|---|
| Quá nhiều Debug node | Vô hiệu hóa/xóa các Debug node không sử dụng | Tăng tốc 10-20% |
| Function node phức tạp | Tối ưu mã JavaScript | Cải thiện tùy trường hợp |
| Trigger tần suất cao | Thêm delay/giới hạn tốc độ | Ngăn ngừa quá tải hệ thống |
| Đối tượng message lớn | Giảm kích thước payload message | Xử lý nhanh hơn |
Quy Trình Bảo Trì
Kiểm Tra Tình Trạng Hàng Ngày
Kiểm Tra Trực Quan Flow (5 phút)
- Truy cập Node-RED editor
- Kiểm tra các chỉ báo lỗi (tam giác đỏ)
- Xác minh các kết nối flow còn nguyên vẹn
- Xem xét các thông báo Debug gần đây để phát hiện bất thường
Kiểm Tra Thực Thi Flow (10 phút)
- Kiểm tra kích hoạt thủ công sử dụng Inject nodes
- Xác minh đầu ra mong đợi trong Debug sidebar
- Kiểm tra logic pass/fail với các bộ phận tốt/xấu đã biết
- Xác nhận giao tiếp bên ngoài (PLC, cơ sở dữ liệu)
Nhiệm Vụ Bảo Trì Hàng Tháng
Đánh Giá Hiệu Suất (15 phút)
Danh Sách Kiểm Tra Tối Ưu Hóa Flow:
| Nhiệm Vụ | Hành Động | Ghi Chú |
|---|---|---|
| Dọn Dẹp Debug Node | Vô hiệu hóa các Debug node không sử dụng | Chỉ giữ lại những phần debug thiết yếu |
| Xem Xét Context Storage | Xóa các giá trị lưu trữ không cần thiết | Ngăn ngừa tích tụ bộ nhớ |
| Xem Xét Nhật Ký Lỗi | Kiểm tra browser console để phát hiện lỗi | Ghi lại các vấn đề lặp lại |
| Tạo Bản Sao Lưu | Xuất các flow sang tệp sao lưu | Lưu kèm thông tin ngày/phiên bản |
Xác Thực Cấu Hình (20 phút)
- So sánh các flow hiện tại với tiêu chuẩn đã được ghi chép
- Xác minh tất cả các đường dẫn quan trọng đều có xử lý lỗi phù hợp
- Kiểm tra các kịch bản khôi phục lỗi
- Cập nhật tài liệu cho bất kỳ thay đổi nào
Bảo Trì Chuyên Sâu Hàng Tháng
Phân Tích Flow Toàn Diện (45 phút)
Thu Thập Số Liệu Hiệu Suất:
- Thời gian thực thi flow
- Phân tích tần suất lỗi
- Các mẫu sử dụng tài nguyên
- Độ tin cậy của giao tiếp
Xem Xét Cấu Trúc Flow:
- Loại bỏ các node dư thừa
- Hợp nhất logic trùng lặp
- Cập nhật các cấu hình đã lỗi thời
- Tối ưu hóa các Function node phức tạp
Kiểm Tra Sao Lưu Và Khôi Phục (30 phút)
- Tạo bản xuất flow hoàn chỉnh
- Kiểm tra quy trình import trên hệ thống sao lưu
- Xác minh việc khôi phục sao lưu duy trì được chức năng
- Ghi chép các quy trình khôi phục
Công Cụ Và Kỹ Thuật Chẩn Đoán
Công Cụ Tích Hợp Sẵn Trong Node-RED
Các Tính Năng Debug Sidebar
| Tính Năng | Trường Hợp Sử Dụng | Phương Thức Truy Cập |
|---|---|---|
| Lọc Thông Báo | Tập trung vào các node cụ thể | Nút Filter trong sidebar |
| Lịch Sử Thông Báo | Xem lại 100 thông báo trước đó | Cuộn trong Debug sidebar |
| Vị Trí Node | Tìm nguồn của thông báo Debug | Nhấp vào tên node trong thông báo |
| Xuất Thông Báo | Lưu dữ liệu chẩn đoán | Sao chép nội dung thông báo |
Context Data Explorer
Truy Cập Context Storage:
- Mở giao diện Node-RED của OV10i (
http://<camera-ip>/recipes/<recipe-number>/ioblock) - Đi đến tab Context Data (sidebar bên phải)
- Xem các giá trị Node/Flow/Global context
Debug Context:
- Node Context: Kiểm tra trạng thái của từng node riêng lẻ
- Flow Context: Xác minh các biến flow được chia sẻ
- Global Context: Xem xét các cài đặt toàn hệ thống
Kiểm Tra Giao Tiếp Mạng
Xác Thực HTTP Request:
- Sử dụng các công cụ bên ngoài (Postman, curl) để kiểm tra các endpoint
- Xác minh định dạng phản hồi khớp với dữ liệu mong đợi
- Kiểm tra các điều kiện lỗi (timeout, phản hồi không hợp lệ)
Xác Minh Giao Tiếp PLC:
- Sử dụng phần mềm lập trình PLC để xác minh kết nối
- Kiểm tra truy cập data register một cách độc lập
- Xác thực các chuyển đổi định dạng dữ liệu
Quy Trình Khôi Phục Khẩn Cấp
Khôi Phục Flow Bị Hỏng
Triệu Chứng Của Flow Bị Hỏng:
- Giao diện Node-RED của OV10i không tải được flows
- Flows trống sau khi khởi động lại camera
- Deploy thất bại nhiều lần
Các Bước Khôi Phục:
- Khởi động lại nguồn camera OV10i:
- Rút nguồn trong 10 giây
- Đợi khởi động hoàn tất (tất cả 4 LED sáng ổn định)
- Truy cập giao diện Node-RED của recipe:
- Điều hướng đến
http://<camera-ip>/recipes/<recipe-number>/ioblock - Nếu flows bị hỏng, import từ bản backup
- Điều hướng đến
- Khôi phục từ bản backup:
- Sử dụng chức năng import recipe của OV10i
- Import tệp backup gần nhất
- Xác minh tất cả kết nối còn nguyên vẹn
- Xác nhận việc khôi phục:
- Kiểm tra tất cả flows quan trọng
- Xác minh giao tiếp với hệ thống bên ngoài
- Cập nhật các thay đổi cấu hình
Vấn Đề Tài Nguyên Hệ Thống
Quá Tải Memory/CPU
Hành Động Tức Thời:
- Vô hiệu hóa các Debug node không cần thiết trong Node-RED của OV10i
- Loại bỏ các trigger timer tần số cao
- Đơn giản hóa các Function node phức tạp
- Khởi động lại camera để khởi động lại tất cả dịch vụ
Giải Pháp Dài Hạn:
- Tối ưu thiết kế flow cho phần cứng OV10i
- Triển khai rate limiting
- Giảm kích thước message payload
- Lên lịch các cửa sổ bảo trì
Danh Sách Kiểm Tra Khắc Phục Sự Cố
Danh Sách Kiểm Tra Trước Bảo Trì
- Thông báo cho bộ phận sản xuất về cửa sổ bảo trì
- Tạo bản backup flow hiện tại
- Ghi nhận trạng thái hệ thống hiện tại
- Chuẩn bị quy trình rollback
- Kiểm tra quy trình khôi phục backup
Xác Nhận Sau Bảo Trì
- Tất cả flows deploy thành công
- Các bài kiểm tra trigger thủ công đạt yêu cầu
- Giao tiếp với hệ thống bên ngoài đã được xác minh
- Các chỉ báo lỗi đã được xóa
- Hiệu suất nằm trong phạm vi chấp nhận được
- Tài liệu đã được cập nhật
Danh Sách Kiểm Tra Ứng Phó Khẩn Cấp
- Đã đánh giá tác động đến hệ thống
- Đã thông báo cho bộ phận sản xuất
- Đã thử khắc phục nhanh
- Khôi phục từ backup nếu cần
- Đã xác định nguyên nhân gốc
- Đã triển khai các biện pháp phòng ngừa
Tài Liệu và Ghi Log
Hồ Sơ Bảo Trì
Tài Liệu Bắt Buộc:
- Ngày/giờ bảo trì
- Các vấn đề được xác định và giải quyết
- Các thay đổi cấu hình đã thực hiện
- Cải thiện hiệu suất đạt được
- Khuyến nghị cho tương lai
🔗 Xem Thêm
- Kiến Thức Cơ Bản Về Node-RED
- Tạo Recipe Đầu Tiên Của Bạn
- Kiến Trúc Giao Tiếp Camera
- Khắc Phục Sự Cố Nguồn Điện
- Kiến Trúc Node-RED Trong OV10i
Ghi lại tất cả các thay đổi được thực hiện trong các phiên debug. Điều này giúp ích cho việc khắc phục sự cố trong tương lai và xây dựng kiến thức nội bộ cho đội ngũ của bạn.