Bỏ qua điều hướng
Công ty TNHH
Công nghệ Kết nối Bảo Linh

Nền tảng

So sánh chuẩn truyền thông BACnet IP và Modbus TCP trong BMS

So sánh BACnet IP và Modbus TCP: cách mỗi giao thức mô tả dữ liệu, cách tìm thiết bị, loại thiết bị hay dùng và khi nào cần gateway.

Bảo Linh Tech 5 phút đọc

Một switch mạng chung nối thiết bị điều hoà (AHU, chiller) ở một bên và thiết bị điện (tủ điện, đồng hồ đo, máy phát) ở bên kia

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ánhGiao thức BACnet IPGiao thức Modbus TCP
Mô hình truyền thôngHướ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ị đoThanh 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ướngChuẩn có định nghĩa; thiết bị hỗ trợ đến đâu thì xem PICSKhô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ầngHệ đ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:

  1. Thiết bị có sẵn BACnet IP và phần mềm BMS đọc được BACnet — dùng BACnet IP.
  2. 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.
  3. 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.
  4. 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.

Gửi danh sách thiết bị để được tư vấn kiến trúc mạng

Câu hỏi thường gặp

BACnet IP và Modbus TCP chuẩn nào phổ biến hơn trong BMS?
Không có chuẩn nào phổ biến hơn cho mọi thứ. BACnet IP thường gặp ở thiết bị điều hoà thông gió và bộ điều khiển toà nhà; Modbus TCP thường gặp ở thiết bị đo đếm điện, tủ điện, UPS và máy phát. Phần lớn dự án dùng cả hai trên cùng một mạng.
BACnet IP có thể tự động phát hiện thiết bị trên mạng không?
Có. BACnet dùng dịch vụ Who-Is / I-Am để tìm thiết bị, sau đó đọc được danh sách đối tượng của từng thiết bị. Tìm bằng broadcast chỉ đi trong một mạng con; thiết bị ở mạng con khác thì cần BBMD. Modbus TCP không có cơ chế tìm thiết bị ở mức giao thức.
Có thể kết nối cả BACnet IP và Modbus TCP vào cùng một phần mềm BMS không?
Được, nếu phần mềm BMS có trình điều khiển cho cả hai giao thức. Hai giao thức dùng cổng khác nhau — BACnet IP mặc định UDP 47808, Modbus TCP mặc định TCP 502 — nên chạy chung một mạng LAN không xung đột. Nên kiểm tra phần mềm đọc được những đối tượng và mã hàm nào của thiết bị trước khi chốt.

Có dự án cần tư vấn?

Gửi point list hoặc bản vẽ hệ thống, kỹ sư Bảo Linh sẽ khảo sát và đề xuất cấu hình cụ thể kèm dự toán.