Modbus RTU Và Modbus TCP: Giải Thích Đơn Giản Cho Kỹ Sư Hiện Trường

Modbus RTU Và Modbus TCP

Modbus RTU Và Modbus TCP: Giải Thích Đơn Giản Cho Kỹ Sư Hiện Trường

Nếu bạn đang làm việc với PLC, cảm biến công nghiệp hay hệ thống SCADA, chắc chắn bạn sẽ gặp thuật ngữ Modbus RTU và Modbus TCP. Đây là hai giao thức truyền thông công nghiệp phổ biến nhất thế giới, được phát triển từ năm 1979 và cho đến nay vẫn là “ngôn ngữ chung” kết nối cảm biến, thiết bị đo lường, biến tần, PLC và SCADA trong hàng triệu nhà máy toàn cầu – bao gồm Việt Nam.

Bài viết này giải thích Modbus RTU và Modbus TCP một cách đơn giản, thực tế – từ nguyên lý hoạt động, cấu trúc frame, cách đấu nối đến so sánh trực tiếp và hướng dẫn chọn đúng loại cho từng ứng dụng tại nhà máy.

Modbus RTU Và Modbus TCP

1. Modbus Là Gì? Lịch Sử Và Tại Sao Vẫn Quan Trọng Đến Hôm Nay?

Modbus là giao thức truyền thông nối tiếp (serial communication protocol) do hãng Modicon phát triển năm 1979, ban đầu dành cho mạng PLC nội bộ. Ngày nay, Modbus là:

  • Giao thức công nghiệp mở (open protocol) – miễn phí, không cần bản quyền, ai cũng có thể triển khai
  • Tương thích rộng rãi – hầu hết thiết bị từ cảm biến đến PLC, biến tần, đồng hồ năng lượng đều hỗ trợ Modbus
  • Đơn giản, dễ triển khai – không cần phần mềm chuyên biệt phức tạp
  • Vẫn được dùng phổ biến trong IIoT – nhiều gateway 4G như Z-PASS2-RT Seneca nhận Modbus RTU và đẩy dữ liệu lên cloud

 

Modbus hoạt động theo mô hình Master–Slave (Client–Server): thiết bị Master (PLC, SCADA, gateway) gửi yêu cầu; thiết bị Slave (cảm biến, biến tần, đồng hồ đo) phản hồi. Chỉ Master mới được chủ động gửi dữ liệu – Slave chỉ phản hồi khi được hỏi.

 

2. Modbus RTU Là Gì? Nguyên Lý, Cấu Trúc Và Cách Đấu Nối

2.1  Modbus RTU là gì?

Modbus RTU (Remote Terminal Unit) là phiên bản Modbus truyền qua cổng nối tiếp RS-485 (hoặc RS-232). Dữ liệu được mã hóa nhị phân (binary) – mỗi byte được truyền nguyên dạng, không qua mã hóa ASCII – nên tốc độ truyền nhanh hơn, frame nhỏ gọn hơn.

 

2.2  Cấu trúc frame Modbus RTU

Mỗi bản tin Modbus RTU (PDU + ADU) gồm các trường sau:

 

Trường Số byte Mô tả
Device Address 1 byte Địa chỉ Slave (1–247). Địa chỉ 0 = broadcast
Function Code 1 byte Mã lệnh: 01 (đọc coil), 03 (đọc holding reg), 06 (ghi 1 reg), 16 (ghi nhiều reg)…
Data N bytes Địa chỉ register cần đọc/ghi + số lượng + giá trị
CRC 2 bytes Cyclic Redundancy Check – kiểm tra lỗi truyền

 

Ví dụ: Master đọc 2 holding register từ Slave địa chỉ 1, bắt đầu từ register 40001:

 

Frame Modbus RTU – Request (hex bytes)
01  03  00 00  00 02  C4 0B
|Addr|FC|StartReg|Qty|CRC|  →  Slave phản hồi: 01 03 04 00 64 00 C8 FA 47

 

2.3  Cách đấu nối RS-485 Modbus RTU

  • Cáp: dùng cáp xoắn đôi có màn chắn (twisted pair shielded), 120 Ω trở kháng đặc tính
  • Kết nối: bus 2 dây A(+) và B(–) – tất cả thiết bị mắc song song trên cùng đường bus
  • Termination: điện trở đầu cuối 120 Ω lắp tại hai đầu xa nhất của đường bus (không phải ở giữa)
  • Tốc độ baud phổ biến: 9.600 / 19.200 / 38.400 / 115.200 bps – cài đặt giống nhau trên tất cả thiết bị
  • Địa chỉ Slave: mỗi thiết bị phải có địa chỉ khác nhau từ 1–247, không được trùng
  • Khoảng cách tối đa: 1.200 m ở 9.600 bps; giảm xuống ~300 m ở 115.200 bps

 

2.4  Function Code Modbus RTU phổ biến nhất

 

Function Code Tên lệnh Vùng dữ liệu Đọc / Ghi
01 (0x01) Read Coils Coil (0x) Đọc trạng thái ON/OFF (1 bit)
02 (0x02) Read Discrete Inputs Discrete Input (1x) Đọc input số (1 bit, chỉ đọc)
03 (0x03) Read Holding Registers Holding Reg (4x) Đọc thanh ghi giữ (16 bit) – phổ biến nhất
04 (0x04) Read Input Registers Input Reg (3x) Đọc thanh ghi đầu vào (chỉ đọc)
05 (0x05) Write Single Coil Coil (0x) Ghi 1 coil ON hoặc OFF
06 (0x06) Write Single Register Holding Reg (4x) Ghi giá trị vào 1 register
16 (0x10) Write Multiple Regs Holding Reg (4x) Ghi nhiều register liên tiếp cùng lúc

 

3. Modbus TCP Là Gì? Nguyên Lý, Cấu Trúc Và Cách Kết Nối

3.1  Modbus TCP là gì?

Modbus TCP/IP là phiên bản Modbus truyền qua mạng Ethernet, đóng gói bản tin Modbus PDU vào TCP/IP packet. Không cần RS-485 hay dây đặc biệt – chỉ cần cáp mạng RJ45 hoặc Wi-Fi là đủ. Cổng TCP mặc định: 502.

 

3.2  Cấu trúc frame Modbus TCP

Frame Modbus TCP thêm phần header MBAP (Modbus Application Protocol Header) 6 byte phía trước PDU:

 

Trường MBAP Bytes Mô tả
Transaction ID 2 ID giao dịch – Master tự đặt, Slave dùng lại để ghép cặp request/response
Protocol ID 2 Luôn = 0x0000 (Modbus protocol)
Length 2 Số byte còn lại tính từ Unit ID đến hết Data
Unit ID 1 Địa chỉ thiết bị (tương đương Device Address trong RTU)
PDU (FC + Data) N Giống hệt phần Function Code + Data của Modbus RTU – không có CRC

 

Lưu ý quan trọng: Modbus TCP KHÔNG có CRC vì TCP/IP đã tự kiểm tra lỗi ở tầng transport. Frame TCP ngắn hơn RTU nhờ loại bỏ CRC 2 byte.

 

3.3  Cách kết nối Modbus TCP

  • Cáp: UTP Cat5e/Cat6 hoặc STP Cat6 (môi trường nhiễu) với đầu nối RJ45 tiêu chuẩn
  • Topology: switch Ethernet công nghiệp kết nối tất cả thiết bị – không cần bus tuần tự như RS-485
  • Địa chỉ IP: mỗi thiết bị Slave cần địa chỉ IP riêng trong cùng subnet với Master
  • Kết nối đồng thời: một Master có thể kết nối nhiều Slave song song qua các TCP connection riêng biệt
  • Khoảng cách: theo tiêu chuẩn Ethernet – 100 m (UTP), xa hơn qua switch hoặc fiber
  • Bảo mật: Modbus TCP không có mã hóa built-in – cần VPN hoặc VLAN khi kết nối qua internet

 

 

 

4. So Sánh Modbus RTU Và Modbus TCP – 12 Tiêu Chí Thực Tế
Modbus RTU Và Modbus TCP

Bảng so sánh trực tiếp giúp kỹ sư hiện trường chọn đúng giao thức cho từng dự án:

 

Tiêu chí Modbus RTU Modbus TCP
Vật lý truyền RS-485 (2/4 dây) hoặc RS-232 Ethernet TCP/IP (RJ45, Wi-Fi)
Tốc độ truyền 1.200 – 115.200 bps 10/100/1.000 Mbps
Khoảng cách Đến 1.200 m (9.600 bps) 100 m/segment, xa hơn qua switch/fiber
Số thiết bị/bus Tối đa 247 Slave/bus Không giới hạn (theo hạ tầng IP)
Kiểm tra lỗi CRC 16-bit trong frame TCP/IP checksum (không có CRC riêng)
Đa kết nối Serial: một Master/bus TCP: nhiều Client/Server đồng thời
Thời gian thực ✅ Tốt – đáp ứng nhanh, ít jitter ⚠ Jitter cao hơn do TCP overhead
Tích hợp IT/SCADA ⚠ Cần converter RS485→Ethernet ✅ Tích hợp thẳng mạng LAN/WAN
Bảo mật ✅ Cô lập vật lý – khó tấn công từ xa ⚠ Không mã hóa – cần VPN/VLAN
Chi phí hạ tầng ★★ Cáp RS-485 rẻ hơn ★★★ Cần switch công nghiệp
Phổ biến tại VN ✅ Phổ biến nhất – cảm biến, PLC cũ ✅ Phổ biến – PLC mới, SCADA, IIoT
Phù hợp IIoT cloud ⚠ Cần gateway chuyển đổi ✅ Kết nối trực tiếp cloud qua VPN

 

5. Modbus Register Map – Cách Đọc Và Tính Địa Chỉ Register

Hiểu cách tổ chức bộ nhớ Modbus là kỹ năng cốt lõi khi làm việc thực tế với Modbus RTU và Modbus TCP:

 

Vùng dữ liệu Địa chỉ logic Địa chỉ vật lý Truy cập Dùng cho
Coil (0x) 00001–09999 0x0000–0x270E Đọc/Ghi Digital output – relay, DO PLC
Discrete Input (1x) 10001–19999 0x0000–0x270E Chỉ đọc Digital input – công tắc, DI PLC
Input Register (3x) 30001–39999 0x0000–0x270E Chỉ đọc Analog input – cảm biến, AI PLC
Holding Register (4x) 40001–49999 0x0000–0x270E Đọc/Ghi Setpoint, tham số cấu hình, AO

 

Lưu ý: địa chỉ vật lý (PLC offset) = địa chỉ logic – 1. Ví dụ register 40001 → địa chỉ vật lý 0x0000; register 40003 → 0x0002. Đây là nguồn gây nhầm lẫn phổ biến nhất khi lập trình Modbus.

 

Giá trị đo thực tế thường được lưu ở dạng 16-bit integer (0–65535) hoặc 32-bit float (2 register liên tiếp). Cần đọc datasheet thiết bị Slave để biết hệ số chuyển đổi (scaling factor) từ giá trị register sang đơn vị thực.

 

6. Ứng Dụng Thực Tế Modbus RTU Và Modbus TCP Tại Nhà Máy Việt Nam
Modbus RTU Và Modbus TCP

Bảng ứng dụng giúp kỹ sư hiện trường nhận diện nhanh giao thức phù hợp cho từng thiết bị và tình huống:

 

Thiết bị / Tình huống Giao thức Ghi chú thực tế
Cảm biến nhiệt độ/áp suất/mức có RS-485 Modbus RTU Phổ biến nhất – Seneca, Dinel, Georgin, Flowline đều hỗ trợ
Biến tần (VFD) ABB/Siemens/Delta Modbus RTU Đọc tốc độ, dòng, công suất; ghi setpoint tần số
Đồng hồ đo điện năng (energy meter) Modbus RTU Đọc kWh, kW, V, A, PF qua RS-485
PLC kết nối SCADA trên cùng LAN Modbus TCP PLC Siemens S7-1200/1500, Schneider, Delta AS hỗ trợ Modbus TCP server
Gateway IIoT Z-PASS2-RT Seneca RTU→TCP→Cloud Nhận Modbus RTU từ field, đẩy qua MQTT/TCP lên cloud qua 4G
SCADA đọc nhiều PLC qua mạng LAN Modbus TCP Mỗi PLC có IP riêng, SCADA poll đồng thời nhiều thiết bị
Thiết bị tủ điện trong nhà máy (cách xa IT room) Modbus RTU Dây RS-485 đơn giản hơn cáp mạng cho khoảng cách 200–500 m
Hệ thống BEMS/EMS quản lý năng lượng tòa nhà Modbus TCP Kết nối đồng hồ điện, đồng hồ nước qua Ethernet đến server BMS

 

7. Lỗi Thường Gặp Khi Triển Khai Modbus RTU Và Modbus TCP

7.1  Lỗi phổ biến với Modbus RTU

 

⚠️ Trùng địa chỉ Slave trên cùng bus

Hai thiết bị có cùng địa chỉ Slave sẽ phản hồi cùng lúc gây xung đột tín hiệu. Kết quả: dữ liệu rác, không đọc được. Kiểm tra và cài địa chỉ duy nhất cho mỗi thiết bị trước khi nối bus.

 

⚠️ Thiếu điện trở termination hoặc lắp sai vị trí

Termination 120 Ω chỉ lắp tại hai đầu cuối xa nhất của bus. Lắp ở giữa hoặc thiếu termination gây phản xạ tín hiệu, đọc lỗi ở tốc độ cao. Nhiều thiết bị có DIP switch termination tích hợp.

 

⚠️ Tốc độ baud và parity không đồng nhất

Tất cả thiết bị trên bus phải cùng baud rate, data bits (8), parity (None/Even/Odd) và stop bits. Một thiết bị cài sai sẽ không giao tiếp được. Kiểm tra datasheet và cài lại nếu cần.

 

⚠️ Đấu dây A/B ngược chiều

Cực A(+) và B(−) RS-485 phải đúng chiều trên tất cả thiết bị. Đấu ngược sẽ không có tín hiệu. Lưu ý: một số hãng ký hiệu ngược (D+ là A, D− là B) – đọc kỹ datasheet.

 

7.2  Lỗi phổ biến với Modbus TCP

 

⚠️ Cổng TCP 502 bị firewall hoặc router chặn

Modbus TCP dùng cổng 502. Nếu kết nối qua switch công nghiệp có cấu hình firewall hoặc qua router IT, cổng 502 có thể bị chặn mặc định. Cần mở whitelist cổng 502 cho traffic nội bộ.

 

⚠️ Timeout quá thấp khi poll nhiều thiết bị đồng thời

Khi SCADA poll hàng chục Slave TCP cùng lúc, network congestion hoặc thiết bị bận có thể làm timeout. Điều chỉnh thời gian timeout và polling interval cho phù hợp với số lượng thiết bị và yêu cầu thời gian thực.

 

⚠️ Unit ID không khớp

Modbus TCP có trường Unit ID trong MBAP header. Một số thiết bị yêu cầu Unit ID = 1 hoặc = địa chỉ cụ thể; một số khác bỏ qua. Nếu không đọc được dữ liệu nhưng kết nối TCP thành công, thử thay đổi Unit ID (thường là 1 hoặc 255).

 

8. Modbus RTU / TCP Trong Hệ Thống IIoT – Kết Nối Lên Cloud Với Z-PASS2-RT

Trong kiến trúc IIoT hiện đại, Modbus RTU và Modbus TCP vẫn là “tầng field” quan trọng nhất. Thiết bị field tiếp tục dùng Modbus, còn IIoT gateway đảm nhiệm vai trò chuyển đổi và đẩy dữ liệu lên cloud:

 

FIELD (Modbus RTU RS-485)
Cảm biến nhiệt độ Seneca transmitter → Modbus RTU → RS-485 bus
EDGE (Z-PASS2-RT – Gateway IIoT)
Z-PASS2-RT nhận Modbus RTU → xử lý edge logic → chuyển đổi sang MQTT / Modbus TCP
CLOUD / SCADA
MQTT → AWS IoT / Azure IoT / SCADA server → Dashboard / Cảnh báo / Báo cáo

 

IIoT Gateway Z-PASS2-RT của Seneca (phân phối bởi HOANTRANTDH) hỗ trợ đồng thời:

  • Nhận dữ liệu từ 32+ thiết bị Modbus RTU (RS-485) với chu kỳ poll tùy chỉnh
  • Hoạt động như Modbus TCP Server để SCADA đọc dữ liệu qua Ethernet LAN
  • Publish dữ liệu lên MQTT broker cloud qua 4G LTE – không cần internet cố định
  • Data logger 4 GB – lưu offline khi mất kết nối, tự đồng bộ khi có lại
  • Python script edge – tính toán, cảnh báo tại chỗ không phụ thuộc cloud

 

9. HOANTRANTDH – Cung Cấp Thiết Bị Và Giải Pháp Modbus Công Nghiệp

HOANTRANTDH – Công ty TNHH Kỹ thuật Tự động hóa Hoàn Trần – cung cấp đầy đủ thiết bị đo lường và truyền thông hỗ trợ Modbus RTU và Modbus TCP:

  • Cảm biến nhiệt độ PT100 + Transmitter Seneca: Modbus RTU RS-485, đầu ra 4–20 mA
  • Cảm biến mức Dinel CLS-23N, LPSx: Modbus RTU (dòng nâng cao), RS-485
  • Thiết bị đo mức Flowline EchoSpan, LR20: RS-485 Modbus RTU
  • Georgin NCT600, LTR: HART + Modbus TCP tích hợp, dùng cho DCS
  • IIoT Gateway Z-PASS2-RT Seneca: Modbus RTU Master + Modbus TCP Server + MQTT + 4G
  • Bộ chuyển đổi RS-485/Modbus RTU sang Ethernet/Modbus TCP (converter)

 

Kỹ sư HOANTRANTDH hỗ trợ tư vấn kiến trúc mạng Modbus, cấu hình địa chỉ register, viết block đọc Modbus cho PLC Siemens/Mitsubishi/Delta và tích hợp gateway IIoT Z-PASS2-RT lên cloud.

 

❓  CÂU HỎI THƯỜNG GẶP – MODBUS RTU VÀ MODBUS TCP

❓  Câu 1: Modbus RTU và Modbus ASCII khác nhau như thế nào?

➡️  Modbus RTU và Modbus ASCII đều truyền qua RS-485/RS-232 nhưng mã hóa dữ liệu khác nhau. RTU mã hóa nhị phân – mỗi byte truyền nguyên dạng 8 bit, frame nhỏ gọn, tốc độ cao, phổ biến trong công nghiệp. ASCII mã hóa mỗi byte thành 2 ký tự ASCII (0–9, A–F) – frame dài gấp đôi nhưng dễ đọc bằng mắt thường, dùng cho debugging hoặc thiết bị cũ. Trong thực tế tại Việt Nam, Modbus RTU gần như 100% thay thế Modbus ASCII.

❓  Câu 2: Làm thế nào để biết địa chỉ register của một thiết bị Modbus?

➡️  Cách duy nhất là đọc Modbus Register Map trong datasheet của thiết bị Slave đó. Mỗi nhà sản xuất có bảng register map riêng – ví dụ: transmitter Seneca có thể lưu giá trị nhiệt độ tại register 40001, trong khi đồng hồ đo điện ABB lưu tại register 30001. Không có chuẩn thống nhất về địa chỉ register giữa các hãng. Khi không có datasheet, dùng Modbus scanner tool để quét tự động.

❓  Câu 3: Có thể kết nối cảm biến Modbus RTU lên cloud không cần PLC không?

➡️  Có, dùng IIoT gateway như Z-PASS2-RT của Seneca (phân phối bởi HOANTRANTDH). Gateway kết nối RS-485 Modbus RTU ở cổng COM, đọc dữ liệu từ cảm biến theo chu kỳ, rồi đẩy lên MQTT cloud qua 4G LTE. Không cần PLC, không cần internet cố định. Chi phí giải pháp thường thấp hơn đáng kể so với thêm PLC mới, phù hợp trạm đo đơn lẻ hoặc hệ thống giám sát phân tán.

❓  Câu 4: Modbus TCP có bảo mật không? Dùng trong hệ thống OT có an toàn không?

➡️  Modbus TCP không có cơ chế xác thực (authentication) hay mã hóa (encryption) tích hợp – đây là đặc điểm thiết kế từ thời giao thức ra đời. Trong mạng OT nội bộ cô lập (air-gapped), điều này thường chấp nhận được vì không có kết nối internet trực tiếp. Tuy nhiên, khi Modbus TCP cần đi qua internet hoặc cloud, bắt buộc phải dùng VPN (IPsec/OpenVPN) để mã hóa và bảo vệ. Z-PASS2-RT Seneca tích hợp sẵn OpenVPN/IPsec cho trường hợp này.

❓  Câu 5: HOANTRANTDH có hỗ trợ cấu hình Modbus RTU và thiết bị Seneca không?

➡️  Có. HOANTRANTDH cung cấp đầy đủ: thiết bị truyền thông Modbus RTU/TCP (cảm biến, transmitter, gateway Z-PASS2-RT), hỗ trợ cấu hình địa chỉ Slave, baud rate, register map, và tích hợp vào PLC hoặc SCADA của khách hàng. Kỹ sư HOANTRANTDH có thể viết block đọc Modbus cho Siemens TIA Portal, Mitsubishi GX Works, Delta ISPSoft theo yêu cầu. Liên hệ Zalo 0879 848 668 để được hỗ trợ.

 

🔌  CẦN TƯ VẤN TRIỂN KHAI MODBUS RTU / TCP CHO NHÀ MÁY?

Thiết bị Modbus chính hãng + Tư vấn kỹ thuật từ HOANTRANTDH

🏢  HOANTRANTDH – Công ty TNHH Kỹ thuật Tự động hóa Hoàn Trần

●  Cảm biến, transmitter, gateway Modbus RTU/TCP chính hãng

●  Tư vấn kiến trúc mạng, cấu hình register map, tích hợp PLC

●  CO/CQ đầy đủ, xuất hóa đơn VAT, giao hàng toàn quốc

●  Hỗ trợ lập trình IIoT cloud qua Z-PASS2-RT + MQTT + 4G

📱  Zalo: 0879 848 668

🌐  hoantrantdh.com

📧  hoan.trantdhvn@gmail.com

▶  Tư vấn miễn phí trong 2 giờ

HOANTRANTDH – Hải Phòng, Việt Nam  |  Seneca • Dinel • Georgin • Flowline  |  hoantrantdh.com

 

 

Bài viết bởi HOANTRANTDH – Công ty TNHH Kỹ thuật Tự động hóa Hoàn Trần  |  Zalo: 0879 848 668  |  hoantrantdh.com

66 người đang xem trang này


BÀI VIẾT LIÊN QUAN

Hiệu Chỉnh Zero Và Span Cảm Biến: Calibration Cơ Bản-2026

Dải Đo (Span) & Điều Chỉnh Zero Cảm Biến Là Gì? Hướng Dẫn Thực Hành Hiệu Chỉnh Zero Và Span Cảm Biến Cơ Bản Dù là cảm biến nhiệt độ, áp suất, lưu lượng hay mức – tất cả đều có hai thông số thiết lập cốt lõi mà kỹ sư hiện trường phải nắm […]

Bộ chuyển đổi 4-20mA Seneca cho dây chuyền SMT linh kiện điện tử – Giải pháp chuẩn hóa tín hiệu

Bộ chuyển đổi 4-20mA Seneca cho dây chuyền SMT linh kiện điện tử – Giải pháp chuẩn hóa tín hiệu MỤC LỤC Vai trò bộ chuyển đổi 4-20mA trong dây chuyền SMT Tại sao chọn Seneca Italy cho ứng dụng SMT Đặc điểm kỹ thuật bộ chuyển đổi Seneca Các dòng sản phẩm Seneca phù […]

Hệ thống cảnh báo mức dầu cho trạm bơm cảng dầu khí Nam Đình Vũ – An toàn và hiệu quả 2026

Hệ thống cảnh báo mức dầu cho trạm bơm cảng dầu khí Nam Đình Vũ – An toàn và hiệu quả MỤC LỤC Tầm quan trọng của hệ thống cảnh báo mức dầu tại cảng Nam Đình Vũ Các công nghệ cảm biến mức dầu hiện đại Đặc điểm kỹ thuật hệ thống cảnh báo […]