Hai giao thức, cùng một mạng LAN
BACnet IP và Modbus TCP là hai giao thức chạy trên mạng Ethernet TCP/IP hay gặp nhất trong hệ thống tự động hoá toà nhà. Cả hai chạy chung được trên một mạng LAN; khác biệt nằm ở cách mỗi giao thức mô tả dữ liệu, và ở loại thiết bị hay dùng nó. Trong thực tế, BACnet IP thường gặp ở phía điều hoà thông gió (HVAC), còn Modbus TCP thường gặp ở phía hệ điện: đồng hồ đo, tủ điện, UPS, máy phát.
Chuyển từ RS485 lên Ethernet cho tốc độ cao hơn và dễ mở rộng hơn, nhưng quy mô vẫn có giới hạn thật: năng lực của bộ điều khiển và gateway, lưu lượng đọc dữ liệu định kỳ, cách chia mạng con, năng lực máy chủ, và yêu cầu về thời gian đáp ứng. Một hệ vài chục thiết bị và một hệ vài nghìn thiết bị cần thiết kế mạng khác nhau.
Tuy nhiên, do được phát triển với triết lý thiết kế ban đầu khác nhau, việc hiểu rõ bản chất kỹ thuật, ưu nhược điểm của từng chuẩn sẽ giúp các kỹ sư thiết kế lựa chọn đúng giao thức cho từng thiết bị hạ tầng.
| Tiêu chí so sánh | Giao thức BACnet IP | Giao thức Modbus TCP |
|---|---|---|
| Mô hình truyền thông | Hướng đối tượng (Object-Oriented) | Master / Slave (Client / Server) |
| Cấu trúc dữ liệu | Đối tượng có kiểu và thuộc tính (Analog Input, Binary Value…), có thể kèm đơn vị đo | Thanh ghi 16-bit và coil; ý nghĩa, đơn vị, hệ số nhân nằm trong tài liệu của nhà sản xuất |
| Tìm thiết bị (Discovery) | Có dịch vụ Who-Is / I-Am; danh sách điểm đọc được từ thiết bị | Không có ở mức giao thức; phải khai báo IP, Unit ID và bảng thanh ghi |
| Cảnh báo, lịch, xu hướng | Chuẩn có định nghĩa; thiết bị hỗ trợ đến đâu thì xem PICS | Không có trong giao thức; do phần mềm BMS hoặc gateway đảm nhận |
| Thường gặp ở | Điều hoà thông gió: chiller, AHU, VAV, bộ điều khiển DDC tầng | Hệ điện: đồng hồ đo, tủ điện, UPS, máy phát; nhiều loại biến tần |
Bảng trên so sánh ở mức giao thức. Một thiết bị cụ thể hỗ trợ đến đâu phải xem tài liệu của chính nó: với BACnet là bản PICS (Protocol Implementation Conformance Statement) liệt kê đối tượng và dịch vụ thiết bị thực sự có; với Modbus là bảng thanh ghi và các mã hàm được hỗ trợ. Đừng suy ra khả năng tích hợp chỉ từ tên giao thức in trên catalogue.
Phân tích chuyên sâu kiến trúc từng giao thức
Sơ đồ dưới đây là một kiến trúc hay gặp: phần mềm BMS đọc cả hai giao thức trên cùng một mạng.
[PHẦN MỀM KONNEK BMS SCADA (MULTI-PROTOCOL CLIENT)]
│
├──────────────────────────────────────┐
v (Mạng Ethernet / UDP Port 47808) v (Mạng Ethernet / TCP Port 502)
[BỘ ĐIỀU KHIỂN DDC BACnet IP] [ĐỒNG HỒ ĐO ĐIỆN MODBUS TCP]
(Tự động Discovery, truyền Alarm) (Truy vấn thanh ghi định kỳ Polling)
1. BACnet IP - Chuẩn mở tối ưu cho hệ thống HVAC
BACnet/IP mặc định dùng cổng UDP 47808, là một phần của chuẩn BACnet (ANSI/ASHRAE 135, ISO 16484-5). Điểm mạnh là mô hình đối tượng: phần mềm phát Who-Is để tìm thiết bị, thiết bị trả lời I-Am, rồi phần mềm đọc danh sách đối tượng của từng thiết bị — thường kèm tên, kiểu và đơn vị đo — nên khối lượng nhập tay ít hơn nhiều. Tự động đến đâu còn tuỳ thiết bị: tên điểm do nhà sản xuất hoặc người lập trình đặt, có thiết bị đặt rõ ràng, có thiết bị chỉ ghi AI-1, AI-2.
Gói Who-Is là broadcast nên chỉ đi trong một mạng con. Khi thiết bị BACnet nằm ở nhiều mạng con khác nhau thì cần BBMD (BACnet Broadcast Management Device) hoặc cách định tuyến tương đương; nếu mọi thiết bị cùng một mạng con thì không cần. BACnet MS/TP (chạy trên RS485) và BACnet/SC (có mã hoá) là hai biến thể khác, có quy tắc mạng riêng.
2. Modbus TCP - Đơn giản, tin cậy và phổ biến toàn cầu
Modbus TCP mặc định dùng cổng TCP 502. Khung tin đơn giản, dễ làm trên vi mạch nhỏ, nên Modbus rất phổ biến ở thiết bị đo đếm điện năng, UPS, tủ máy phát và nhiều hệ của bên thứ ba. Dữ liệu là các thanh ghi được đánh số; muốn biết một thanh ghi là điện áp hay dòng điện, đơn vị gì, nhân hệ số bao nhiêu thì phải đọc bảng thanh ghi của nhà sản xuất. Một số phần mềm và gateway có sẵn mẫu cấu hình cho thiết bị phổ biến nên việc khai báo nhẹ hơn, nhưng đó là tính năng của sản phẩm chứ không phải của giao thức.
Chiến lược phối hợp đa giao thức trong thiết kế BMS
Trong đa số dự án, hai giao thức cùng tồn tại trên một mạng. Cách chọn đơn giản nhất là ưu tiên giao thức thiết bị hỗ trợ sẵn, chỉ thêm gateway khi thật cần:
- Thiết bị có sẵn BACnet IP và phần mềm BMS đọc được BACnet — dùng BACnet IP.
- Thiết bị chỉ có Modbus TCP — đọc thẳng Modbus TCP; đặt tên điểm, cảnh báo, lưu xu hướng làm ở phần mềm BMS.
- Thiết bị chỉ có Modbus RTU hoặc giao thức riêng — cần cổng RS485 trên bộ điều khiển, hoặc một gateway.
- Hệ nhận dữ liệu chỉ hiểu một giao thức (ví dụ hệ của hãng chỉ nhận BACnet) — dùng gateway chuyển đổi, và tính thêm công khai báo điểm trên gateway.
Một kiến trúc hay gặp theo cách chọn đó:
- BACnet IP cho phía điều hoà thông gió: bộ điều khiển DDC tầng, bộ điều khiển chiller, AHU — tận dụng việc tìm thiết bị và các dịch vụ cảnh báo, lịch mà thiết bị có hỗ trợ.
- Modbus TCP cho phía hệ điện: đồng hồ đa năng ở tủ điện tổng, UPS, máy phát, và biến tần nếu biến tần chỉ có Modbus.
Giải pháp BMS đa giao thức từ Bảo Linh Tech
Phần mềm Konnek BMS đọc được cả BACnet IP và Modbus TCP trên cùng một mạng, ngoài ra còn BACnet MS/TP, Modbus RTU, OPC UA, MQTT và SNMP. Khi cần chuyển đổi giao thức ngay tại hiện trường thì dùng gateway KUF-GW — bản hiện có nối Modbus RTU với MQTT.
Gửi danh sách thiết bị của dự án, chúng tôi đề xuất kiến trúc mạng và chỉ ra chỗ nào cần gateway.