
Giao thức · Modbus
Modbus RTU và TCP — Hướng dẫn tích hợp thực tiễn
Modbus RTU và TCP hoạt động như thế nào, cách đọc bản đồ thanh ghi, và những chi tiết về tỷ lệ chuyển đổi, thăm dò và lỗi gây ra phần lớn sự cố tích hợp.
Trả lời nhanh
Modbus là một giao thức yêu cầu–phản hồi đơn giản dựa trên coil và thanh ghi. RTU chạy trên các tuyến nối tiếp; TCP chạy trên Ethernet. Nó truyền dữ liệu nhưng không truyền ý nghĩa, nên bản đồ thanh ghi, tỷ lệ chuyển đổi, thứ tự từ và quyền ghi phải được xác nhận bằng văn bản. Modbus lý tưởng cho đồng hồ đo, biến tần và thiết bị đơn giản, không phù hợp cho liên động nhanh.
Mô hình thanh ghi, không phải mô hình dữ liệu
Modbus cung cấp coil, đầu vào rời rạc, thanh ghi đầu vào và thanh ghi giữ. Nó không định nghĩa ý nghĩa của một thanh ghi; nhà sản xuất thiết bị mới định nghĩa điều đó. Một đồng hồ đo có thể đặt năng lượng trong hai thanh ghi giữ, một đồng hồ khác dùng thứ tự từ khác, và chiếc thứ ba có thể yêu cầu một hệ số tỷ lệ. Vì vậy, một dự án Modbus bắt đầu bằng bản đồ thanh ghi chứ không phải bằng dây cáp. Bản đồ phải nêu địa chỉ, kiểu dữ liệu, tỷ lệ, đơn vị, quyền truy cập và hành vi khi thiết bị ngừng trả lời. Một bản đồ thanh ghi chỉ ghi “năng lượng” mà không có đơn vị, tỷ lệ hay thứ tự từ không phải là một đặc tả; đó là một niềm hy vọng sẽ được kiểm chứng lúc chạy thử nghiệm thu, thường vào thời điểm tồi tệ nhất có thể.
- Bắt đầu từ bản đồ thanh ghi của nhà sản xuất
- Ghi lại tỷ lệ, đơn vị và kiểu dữ liệu cho mọi điểm
- Định nghĩa hành vi ngoại tuyến của từng giá trị
RTU và TCP là những tuyến liên kết khác nhau
Modbus RTU chạy trên RS485 hoặc RS232. RS485 là một bus chia sẻ: điện trở kết thúc, phân cực, tuyến cáp và ID thiết bị đều quan trọng, và một master thăm dò lần lượt các slave. Modbus TCP chạy trên Ethernet và dùng bộ định danh đơn vị bên trong khung TCP, thường để đến một cổng nối tiếp. TCP dễ định tuyến và chẩn đoán hơn, nhưng không tự động nhanh hơn nếu cổng phía sau nó chậm. Hãy chọn tuyến liên kết theo thiết bị, khoảng cách và hạ tầng hiện có, và ghi lại cổng kết nối ở giữa. Nếu cổng do nhà sản xuất đồng hồ đo cung cấp, bản đồ thanh ghi và firmware của nó vẫn phải nằm trong bảng điểm, không chỉ trong hướng dẫn của nhà sản xuất.
- RS485 cần điện trở kết thúc và một kế hoạch phân đoạn
- TCP vẫn phụ thuộc vào cổng kết nối phía sau nó
- Ghi lại điểm chuyển đổi
Tỷ lệ chuyển đổi, dấu và thứ tự từ
Phần lớn sự cố tích hợp không phải là sự cố giao thức mà là sự cố diễn giải. Một giá trị có thể có dấu hoặc không dấu, 16 bit hoặc 32 bit, và được chia trên hai thanh ghi theo bất kỳ thứ tự nào. Nhiệt độ có thể đến theo đơn vị phần mười độ, áp suất theo phần trăm bar, và một từ trạng thái có thể gói nhiều cảnh báo vào một số nguyên. Bản đồ thanh ghi phải định nghĩa tất cả những điều này, và danh sách điểm cần ghi lại phép quy đổi. Hãy kiểm thử bằng một giá trị đã biết, không phải bằng một con số trông hợp lý trên màn hình. Ghi lại giá trị thô bên cạnh giá trị kỹ thuật trong lúc chạy thử nghiệm thu; điều đó làm cho các lỗi tỷ lệ về sau trở nên rõ ràng và cho kỹ sư tiếp theo một điểm tham chiếu.
- Xác nhận dấu và độ rộng bit
- Xác nhận cặp thanh ghi và thứ tự từ
- Kiểm thử đối chiếu với một giá trị vật lý đã biết
Thăm dò, ghi và hành vi khi lỗi
Modbus hoạt động theo cơ chế thăm dò, nên mỗi điểm đều có chi phí về thời gian và tải mạng. Hãy gộp lệnh đọc, tránh thăm dò nhanh hơn khả năng đáp ứng của thiết bị, và coi việc quá thời gian chờ là sự kiện về chất lượng dữ liệu chứ không phải giá trị bằng không. Lệnh ghi cần quyền, kiểm tra phạm vi và đọc lại để xác nhận. Nếu bộ điều khiển ghi một điểm đặt, hãy định nghĩa điều gì xảy ra khi thiết bị từ chối hoặc ngoại tuyến. Giữ các liên động an toàn ra ngoài các vòng thăm dò chậm. Modbus là chất kết nối tuyệt vời cho dữ liệu đo đếm và thiết bị kỹ thuật; nó là nền tảng kém cho những chuỗi phải phản hồi trong một khoảng thời gian tất định. Một giao thức chậm vẫn có thể đáng tin cậy; sai lầm là bắt nó làm việc nhanh, rồi đổ lỗi cho giao thức khi chuỗi bị trễ.
- Gộp lệnh đọc và tôn trọng ngân sách thăm dò
- Coi quá thời gian chờ là cờ chất lượng, không phải số không
- Giữ liên động an toàn ra ngoài các vòng chậm
Các vùng dữ liệu Modbus
6 rows| Vùng | Kiểm soát ra vào | Ứng dụng điển hình | Điểm cần lưu ý |
|---|---|---|---|
| Coil | Đọc/ghi | Lệnh khởi động/dừng và bit trạng thái | Xác nhận 0 hay 1 là trạng thái bật |
| Đầu vào rời rạc | Chỉ đọc | Tín hiệu xác nhận đang chạy, cảnh báo và giới hạn | Kiểm tra phân cực và chống dội tín hiệu |
| Thanh ghi đầu vào | Chỉ đọc | Giá trị đo và bộ đếm | Tỷ lệ chuyển đổi và dấu |
| Thanh ghi giữ | Đọc/ghi | Điểm đặt, chế độ và cấu hình | Quyền ghi và đọc lại xác nhận |
| Giá trị 32 bit | Đọc/ghi | Năng lượng, lưu lượng và bộ đếm lớn | Thứ tự từ và cặp thanh ghi |
| Trạng thái thiết bị | Chỉ đọc | Cờ liên lạc và cờ lỗi | Phân biệt ngoại tuyến với giá trị bằng không |
Hình ảnh dự án
3 images


Câu hỏi thường gặp
01RTU hay TCP?
RTU phù hợp với thiết bị hiện trường nối tiếp và tuyến cáp dài; TCP phù hợp với mạng Ethernet và cổng kết nối. Nhiều công trình dùng cả hai, với một cổng kết nối nối hai bên.
02Bao nhiêu thiết bị có thể dùng chung một phân đoạn RS485?
Điều đó phụ thuộc vào driver, cáp, tốc độ baud và ngân sách thăm dò. Kế hoạch phân đoạn cần được tính toán, không giả định từ một con số chung.
03Modbus có bảo mật không?
Bản thân nó thì không. Modbus không có xác thực hay mã hóa. Hãy coi nó là một fieldbus và bảo vệ bằng phân vùng mạng và cổng kết nối.
04Vì sao giá trị của tôi lớn hơn gấp mười lần?
Do tỷ lệ chuyển đổi. Thanh ghi có thể tính theo phần mười hoặc phần trăm, hoặc một giá trị 32 bit có thể được ghép sai thứ tự từ.
05Modbus có thể chạy không dây không?
Có, qua cầu nối nối tiếp không dây hoặc cổng kết nối. Hãy xác nhận độ trễ, số lần thử lại và trạng thái lỗi trước khi dùng cho mục đích điều khiển.
Bước tiếp theo
Hãy mang tòa nhà đến với chúng tôi.
Cho chúng tôi biết loại hình tòa nhà, các hệ thống trong phạm vi và kết quả bạn cần. Chúng tôi sẽ vạch ra con đường ngắn nhất đến một hệ thống vận hành được.