Thiết kế Firmware RTOS & Sơ đồ Đấu nối 22 chân Bộ Ghi Dữ Liệu Datalogger Công Nghiệp (4-20mA, RS485, NOR Flash Ring-Buffer)

Trong các hệ thống thu thập dữ liệu trạm quan trắc môi trường tự động liên tục (nước thải theo QCVN 40:2025/BTNMT, khí thải CEMS, nước ngầm/nước mặt theo Nghị định 53/2024/NĐ-CP) cũng như các tủ RTU SCADA tại nhà máy nước và thủy điện, bộ ghi dữ liệu Datalogger công nghiệp đa kênh là thiết bị chịu trách nhiệm đọc cảm biến hiện trường, đóng gói tệp dữ liệu chuẩn hóa và đảm bảo không thất thoát bất kỳ bản ghi nào khi mất điện hoặc đứt mạng 4G/Cáp quang.
Bài viết này trình bày chi tiết kiến trúc mạch thu thập tín hiệu (Analog Front-End 16-bit, RS485 cách ly 3.0kV), sơ đồ đấu nối 22 chân terminal công nghiệp của phần cứng DL-ENV10, cấu trúc Ring-Buffer trên bộ nhớ SPI NOR Flash và thuật toán truyền bù tự động (Auto-Backfill) qua giao thức FTPS/sFTP về máy chủ Envisoft.
1. Sơ đồ khối phần cứng & Sơ đồ đấu nối 22 chân trên Datalogger Công Nghiệp DL-ENV10
Khác với các máy tính công nghiệp chạy Windows (IPC) dễ bị lỗi hệ thống tệp hoặc treo dịch vụ nền sau các sự cố sụt áp, thiết bị Datalogger quan trắc môi trường DL-ENV10 được thiết kế trên nền vi điều khiển công nghiệp chạy hệ điều hành thời gian thực FreeRTOS, tích hợp sẵn pin lưu điện Lithium UPS nội bộ (6-8 giờ) và mạch giám sát Dual Watchdog (Hardware + Software).
Bảng phân bổ 22 chân Terminal đấu nối hiện trường
| Nhóm chức năng | Ký hiệu chân (Pinout) | Thông số kỹ thuật & Chuẩn bảo vệ | Ứng dụng đấu nối thực tế tại tủ trạm |
|---|---|---|---|
| Nguồn cấp & UPS | Pin 1 (V+), Pin 2 (GND), Pin 3 (PE) |
10-30VDC (chuẩn 24VDC), chống ngược cực, TVS 1500W; Pin UPS Li-ion tự động chuyển mạch 0ms. |
Đấu từ bộ nguồn ray DIN 24VDC và nối đất bảo vệ vỏ tủ điện (PE). |
4 Kênh Analog Input (AI1-AI4) |
Pin 4-11 (AI1+, AI1- ... AI4+, AI4-) |
ADC Sigma-Delta 16-bit, dải đo 4-20mA / 0-10V, điện trở Shunt chính xác 0.1% (25ppm/C), bảo vệ quá áp 36VDC. |
Đọc trực tiếp cảm biến mức nước thủy tĩnh, lưu lượng kế điện từ, đầu đo pH/TSS/COD/Áp suất 2 dây hoặc 4 dây. |
4 Kênh Digital Input (DI1-DI4) |
Pin 12-16 (DI1-DI4, DICOM) |
Cách ly quang 2.5kVrms, hỗ trợ tiếp điểm khô (Dry Contact) hoặc xung NPN/PNP tốc độ cao 10kHz. | Đếm xung đồng hồ nước, giám sát trạng thái mở cửa tủ trạm, báo mất điện lưới AC (Power Fail) và báo cháy. |
2 Kênh Relay Output (DO1-DO2) |
Pin 17-20 (NO1, COM1, NO2, COM2) |
Tiếp điểm Relay cơ khí Form-C 5A @ 250VAC / 30VDC, có mạch dập hồ quang RC Snubber. | Kích hoạt máy lấy mẫu nước tự động 24 chai khi chỉ số COD/pH vượt ngưỡng QCVN; bật còi/đèn cảnh báo hoặc bơm rửa đầu dò. |
2 Cổng RS485 Master (COM1, COM2) |
Pin 21-22 (A1+, B1- và A2+, B2-) |
Cách ly quang Galvanic 3.0kVrms, chống sét lan truyền TVS 600W (IEC 61000-4-5), tích hợp gạt trở 120 Ohm. |
Đọc đồng thời tối đa 32 bộ Controller kỹ thuật số (Hach SC200/SC1000, Endress+Hauser Liquiline, Horiba, WTW) qua Modbus RTU. |
Đối với các trạm quan trắc quy mô lớn cần nhiều hơn 4 kênh 4-20mA, kiến trúc phần cứng cho phép ghép nối mở rộng tối đa 03 Module I/O phụ trợ qua bus nội bộ (nâng tổng dung lượng lên 28 kênh AI + 28 kênh DI + 14 kênh Relay DO). Xem đầy đủ sơ đồ nguyên lý tại chuyên đề kiến trúc giải pháp Datalogger quan trắc môi trường Thông tư 10 và hướng dẫn chọn thiết bị truyền dữ liệu quan trắc môi trường tự động.
2. Thuật toán lọc nhiễu ADC & Ánh xạ Mã trạng thái (00, 01, 02) theo Điều 39 Thông tư 10
Một vấn đề thường gặp tại các trạm quan trắc nước thải khu công nghiệp là dòng rò từ biến tần bơm chìm gây nhiễu lên đường dây 4-20mA, làm giá trị đọc bị nhảy vọt giả tạo hoặc báo sai trạng thái thiết bị.
Trên firmware RTOS, mỗi kênh 4-20mA được lấy mẫu liên tục và xử lý qua bộ lọc trung vị kết hợp trung bình trượt (Median + Moving Average Filter), đồng thời tự động phân loại mã trạng thái theo đúng Phụ lục kỹ thuật của Thông tư 10/2021/TT-BTNMT:
- Dòng điện (Đứt dây / Mất nguồn cảm biến) hoặc Bit lỗi Modbus =
1: Tự động gán mã trạng thái02(Thiết bị lỗi - Sensor Fault), giữ nguyên giá trị đo hợp lệ cuối cùng hoặc xuất cảnh báo kỹ thuật, tránh đẩy số âm vô nghĩa lên máy chủ tiếp nhận. - Bit hiệu chuẩn trên Controller (Hach / E+H) bật hoặc Công tắc Bảo trì trên mặt Datalogger chuyển sang chế độ
CALIB: Tự động gán mã trạng thái01(Hiệu chuẩn / Bảo trì - Calibration) cho đúng kênh đang kiểm định. - Dòng điện và cảm biến hoạt động ổn định: Gán mã trạng thái
00(Đo bình thường - Normal).
Chi tiết quy trình phối hợp cùng đơn vị kiểm định Quatest / Vinacontrol có trong bài viết: Kiểm định, hiệu chuẩn và xử lý mã trạng thái dữ liệu 00, 01, 02 trên Datalogger quan trắc.
3. Cơ chế Lưu đệm Kép (SPI NOR Flash Ring-Buffer + Industrial microSD) & Truyền bù sFTP/FTPS
Theo quy định tại Điều 39 Thông tư 10/2021/TT-BTNMT, Datalogger bắt buộc phải lưu trữ dữ liệu tối thiểu 60 ngày và tự động truyền bù các tệp .txt bị thiếu khi đường truyền Internet khôi phục.
Để loại bỏ rủi ro hỏng hệ thống tệp (File System Corruption) khi mất nguồn đột ngột, cơ chế lưu đệm Flash và truyền bù dữ liệu Datalogger trên DL-ENV10 được thiết kế với kiến trúc bộ nhớ kép 180 ngày:
// Cấu trúc bản ghi 64-byte trong Ring-Buffer SPI NOR Flash (Wear-Leveling)
typedef struct __attribute__((packed)) {
uint32_t unix_timestamp; // Thời điểm chốt mẫu (chu kỳ 300s = 5 phút)
uint16_t station_crc; // Mã kiểm tra toàn vẹn CRC-16
uint8_t sync_flags; // Bit 0: FTP1_ACK, Bit 1: FTP2_ACK, Bit 2: MQTT_ACK
uint8_t channel_count; // Số lượng thông số đo trong khung
struct {
char param_code[8]; // Ví dụ: "COD", "TSS", "pH", "Flow"
float measured_val; // Giá trị đo thực tế (IEEE 754 Float32)
char unit_str[8]; // Ví dụ: "mg/L", "m3/h", "-"
uint8_t status_code; // 0: Normal ("00"), 1: Calib ("01"), 2: Error ("02")
} channels[12];
} dl_env10_flash_record_t;
Quy trình 4 bước chống mất dữ liệu (Zero-Data-Loss Telemetry):
- Ghi đồng thời 2 lớp bộ nhớ: Đúng mỗi mốc 5 phút (
00:00,00:05,00:10... đồng bộ qua NTP + RTC có pin CMOS dự phòng), bản ghi được ghi vào cả SPI NOR Flash 128MB (dạng Ring-Buffer tuần hoàn chống mòn ô nhớ) và thẻ nhớ công nghiệp Industrial microSD (dạng tệp.txtphân cấp theo thư mục/YYYY/MM/DD/). - Đóng gói đúng quy chuẩn tên file & nội dung Thông tư 10:
- Tên file:
<Tinh>_<KhuVuc>_<TenTram>_<YYYYMMDDhhmmss>.txt - Nội dung: Mã hóa
UTF-8, các trườngThông số,Giá trị,Đơn vị,Thời gian (YYYYMMDDhhmmss),Trạng thái (00/01/02)cách nhau bởi ký tựTab(\t).
- Tên file:
- Truyền song song đa đích (Dual FTP/sFTP + MQTT TLS): Đẩy tệp qua FTPS (Implicit/Explicit TLS) hoặc sFTP (SSH Port 22) về máy chủ Sở TN&MT (Envisoft), đồng thời gửi bản sao về máy chủ trung tâm của nhà máy.
- Truyền bù theo thứ tự thời gian (FIFO Backfill): Nếu mất mạng 4G/LAN trong nhiều giờ hoặc nhiều ngày, con trỏ
read_headtrong NOR Flash sẽ giữ nguyên tại bản ghi chưa có cờFTP1_ACK. Ngay khi kết nối khôi phục, tác vụBackfill_Tasksẽ tự động đẩy lần lượt các tệp.txtcũ từ thời điểm đứt mạng cho đến hiện tại mà không làm nghẽn luồng truyền thời gian thực.
4. Tài liệu Kỹ thuật & Sơ đồ Đấu nối Tham chiếu
Để tra cứu chi tiết bảng đặc tả kỹ thuật phần cứng, sơ đồ chân đấu nối 4-20mA / RS485 và mẫu cấu trúc gói tin truyền thông chuẩn Điều 39 Thông tư 10, anh em kỹ sư có thể tham khảo bộ tài liệu từ phòng Lab R&D của DeviceLab:
- Đặc tả kỹ thuật hồ sơ mời thầu trạm quan trắc: Thiết bị nhận và truyền dữ liệu TT10
- Hướng dẫn kết nối Datalogger truyền FTP/sFTP lên phần mềm Envisoft Sở TN&MT
- Thiết kế tủ RTU (Remote Terminal Unit) SCADA cho nhà máy nước và thủy điện
- Cổng tra cứu Datasheet PDF, bản vẽ CAD & tư vấn kỹ thuật dự án DeviceLab
All Rights Reserved