Modbus RTU và Modbus TCP dùng chung mã chức năng và mô hình dữ liệu, nhưng có cách đóng khung truyền tải khác nhau. RTU thường được sử dụng trên đường nối tiếp, và bản tin chứa địa chỉ cùng CRC; TCP truyền qua TCP/IP và sử dụng phần đầu MBAP mà không thêm trường CRC của RTU. Kết nối hai bên thường đòi hỏi gateway có khả năng xử lý chuyển đổi Modbus; một bộ chuyển đổi giao diện thông thường không đủ để thực hiện việc này.
Điểm giống nhau là “nội dung được yêu cầu”; điểm khác nhau là “cách truyền tải”
Các mã chức năng Modbus biểu thị những thao tác như đọc coil, đọc thanh ghi hoặc ghi, còn phần dữ liệu mô tả địa chỉ, số lượng hoặc nội dung. Mã chức năng và dữ liệu tạo thành đơn vị dữ liệu giao thức, hay PDU. Khi cùng một yêu cầu được gửi qua đường nối tiếp hoặc kết nối TCP, các trường liên quan đến truyền tải được thêm vào sẽ khác nhau.
RS485 chủ yếu định nghĩa giao diện điện và không đồng nghĩa với Modbus RTU; Ethernet chủ yếu giải quyết việc truyền dẫn trên liên kết và cũng không đồng nghĩa với Modbus TCP. Việc thiết bị có cổng RS485 hoặc RJ45 chỉ thể hiện một phần điều kiện về giao diện; vẫn phải kiểm tra thiết bị hỗ trợ giao thức ứng dụng nào.

Khác biệt về cấu trúc bản tin ảnh hưởng đến kết nối như thế nào
Có thể tóm tắt một bản tin RTU gồm địa chỉ thiết bị, mã chức năng, dữ liệu và mã kiểm tra CRC. Đường nối tiếp còn dựa vào các quy tắc định thời để xác định ranh giới bản tin. Bản tin TCP được tổ chức thành phần đầu MBAP cộng với PDU. MBAP chứa thông tin như mã định danh giao dịch, mã định danh giao thức, độ dài và mã định danh đơn vị, được dùng để nhận diện và đối sánh yêu cầu với phản hồi.
Việc Modbus TCP không có trường CRC của RTU không có nghĩa là toàn bộ mạng không có khả năng phát hiện lỗi; TCP/IP và liên kết bên dưới có các cơ chế riêng. Ngược lại, CRC của RTU chủ yếu kiểm tra lỗi bản tin; nó không phải là xác thực danh tính hay mã hóa. Không nên mặc định coi bất kỳ chế độ cơ bản nào là có khả năng bảo vệ an ninh mạng.

Không thể chuyển đổi đơn giản giữa bus nối tiếp và khả năng xử lý đồng thời của TCP
Modbus nối tiếp thông dụng sử dụng phương thức trong đó một client khởi tạo yêu cầu và server phản hồi, qua đó điều phối truy cập trên cùng một bus; nhiều thiết bị chủ không thể gửi đồng thời nếu không có sự điều phối. Server TCP có thể chấp nhận nhiều kết nối, nhưng số kết nối được phép, số yêu cầu đồng thời và tốc độ xử lý do cách triển khai của thiết bị quyết định.
Nếu đầu bên kia của gateway TCP vẫn là bus nối tiếp dùng chung, nhiều yêu cầu TCP thường phải xếp hàng. Tăng tốc độ cổng mạng không có nghĩa là thiết bị đo sẽ lập tức phản hồi nhanh hơn; tốc độ baud nối tiếp, độ dài bản tin, thời gian xử lý của thiết bị tớ và thời gian chờ đều ảnh hưởng đến tổng chu kỳ thăm dò. Nhịp độ truy cập cũng phải được thiết kế cho các thao tác có mức ưu tiên cao.
Ví dụ về đọc thanh ghi
Nếu phần mềm máy chủ muốn đọc hai thanh ghi holding từ một thiết bị đo, phần mềm cần chỉ định thiết bị đích, mã chức năng, địa chỉ bắt đầu và số lượng. Tài liệu thiết bị đo có thể sử dụng số theo quy ước như 40001, trong khi địa chỉ trong bản tin dùng cách biểu diễn bằng độ lệch, và cách nhập trong phần mềm có thể không giống nhau. Cần đối chiếu với hướng dẫn sử dụng và quy ước của phần mềm để tránh sai lệch một đơn vị.
Ngay cả khi nhận được hai thanh ghi 16 bit, bạn cũng không thể lập tức xác định rằng chúng tạo thành một số dấu phẩy động chính xác. Thứ tự byte, thứ tự từ giữa các thanh ghi, số có dấu, hệ số tỷ lệ và đơn vị có thể do nhà sản xuất quy định. Giao tiếp thành công và diễn giải dữ liệu chính xác là hai bước kiểm tra riêng biệt; tốt nhất nên xác minh bằng một giá trị đo đã biết.
Tại sao bộ chuyển đổi nối tiếp sang mạng thông thường có thể chưa đủ
Bộ chuyển đổi nối tiếp sang mạng trong suốt có thể chỉ đưa các byte nối tiếp vào luồng dữ liệu TCP; thiết bị không nhất thiết phân tích MBAP, tạo địa chỉ RTU và CRC, hoặc đối sánh giao dịch. Loại sản phẩm này có thể được sử dụng trong phương án truyền dẫn trong suốt được xác định rõ, nhưng không thể mặc định coi nó là gateway giao thức Modbus. Khi mua, cần nêu rõ yêu cầu chuyển đổi từ TCP sang RTU, thay vì chỉ ghi “nối tiếp sang cổng mạng”.
Gateway cũng cần được kiểm tra về vai trò hoạt động, ánh xạ mã định danh đơn vị, định dạng nối tiếp, thời gian chờ và chiến lược thăm dò. Cách mã định danh đơn vị ở phía TCP xác định thiết bị nối tiếp phải được cấu hình theo cách triển khai của gateway; quy ước sử dụng của thiết bị TCP kết nối trực tiếp có thể khác, và không thể nhập cho mọi thiết bị theo cùng một quy tắc.
Lỗi được chia thành ba lớp: kết nối, bản tin và nghiệp vụ
Khi TCP không thể kết nối, hãy kiểm tra địa chỉ, cổng, tuyến và quy tắc truy cập; khi kết nối đã được thiết lập nhưng hết thời gian chờ, hãy kiểm tra ánh xạ gateway, thông số nối tiếp, trạng thái thiết bị đầu cuối và việc xếp hàng; khi nhận được phản hồi ngoại lệ, hãy kiểm tra mã chức năng và phạm vi địa chỉ. Phản hồi ngoại lệ có nghĩa là thiết bị báo rõ một loại vấn đề cụ thể, khác với hoàn toàn không có phản hồi.
Ở phía RTU, bạn cũng cần kiểm tra đấu dây, phối hợp trở kháng đầu cuối, xung đột địa chỉ và điều kiện điện. Không được trực tiếp đồng nhất tên A/B với định nghĩa cực dương và cực âm; hãy đối chiếu theo tài liệu thiết bị. Tốt nhất nên bắt đầu thử nghiệm với một thiết bị và các yêu cầu chỉ đọc ở tần suất thấp, sau đó tăng dần tải; không thử ghi thanh ghi trên thiết bị đang vận hành sản xuất khi chưa được phép.
Một triển khai Modbus cơ bản cần hạn chế nguồn truy cập, phân vùng và thiết lập tường lửa khi cần, đồng thời không được trực tiếp công khai cổng 502 ra mạng công cộng. Nếu sử dụng các phần mở rộng bảo mật Modbus hoặc gateway bảo mật, vẫn cần kiểm tra khả năng tương thích và việc quản lý chứng chỉ. Việc chọn RTU hay TCP phụ thuộc vào thiết bị đầu cuối hiện có, quy mô dữ liệu và điều kiện bảo trì, chứ không chỉ đơn giản là xếp hạng “mới hay cũ” hoặc “cao hay thấp”.
Tài liệu tham khảo:Đặc tả giao thức ứng dụng Modbus;Hướng dẫn triển khai Modbus trên đường nối tiếp.
Dịch từ bài viết kỹ thuật tiếng Trung. Nguồn được xuất bản lần đầu: 2026-04-23. Nguồn được sửa đổi lần cuối: 2026-10-13T23:07:12+08:00. Đọc nguồn tiếng Trung


