Close Menu

Modbus là gì

Blog

Modbus là một trong những giao thức truyền thông được sử dụng phổ biến trong tự động hóa công nghiệp, giúp các thiết bị có thể kết nối và trao đổi dữ liệu với nhau. Để hiểu rõ Modbus hoạt động ra sao, bài viết này sẽ giúp bạn tìm hiểu thêm về cách truyền dữ liệu, các loại register, function code và những ứng dụng phổ biến của giao thức này trong thực tế.

1. Định nghĩa Modbus là gì

Modbus là gì? Đây là một giao thức truyền thông được dùng để kết nối và trao đổi dữ liệu giữa các thiết bị trong hệ thống tự động hóa. Thay vì mỗi thiết bị hoạt động riêng lẻ, Modbus cho phép PLC, HMI, cảm biến, biến tần, đồng hồ đo và máy tính có thể gửi yêu cầu, nhận dữ liệu hoặc thực hiện lệnh điều khiển với nhau.

Modbus protocol chính là tên gọi khác của giao thức Modbus. Giao thức này quy định cách các thiết bị trao đổi thông tin, chẳng hạn thiết bị nào gửi yêu cầu, thiết bị nào trả lời, dữ liệu nằm ở đâu và thao tác đọc hoặc ghi được thực hiện như thế nào. Nhờ có những quy tắc chung này, các thiết bị đến từ nhiều nhà sản xuất khác nhau vẫn có thể giao tiếp nếu cùng hỗ trợ Modbus.

Trong thực tế, Modbus được sử dụng để đọc dữ liệu cảm biến, giám sát thiết bị, điều khiển biến tần, thu thập dữ liệu từ PLC và kết nối các thiết bị với hệ thống SCADA. Giao thức này phổ biến vì cách hoạt động tương đối đơn giản, dễ triển khai, chi phí thấp và được nhiều thiết bị công nghiệp hỗ trợ.

modbus la gi 1

2. Lịch sử ra đời của Modbus

Modbus được phát triển bởi Modicon vào năm 1979, ban đầu nhằm phục vụ việc kết nối các bộ điều khiển PLC với những thiết bị khác trong hệ thống tự động hóa. Khi đó, nhu cầu trao đổi dữ liệu giữa các thiết bị công nghiệp ngày càng tăng, nhưng mỗi nhà sản xuất lại có cách giao tiếp riêng. Modbus ra đời như một cách đơn giản để các thiết bị có thể trao đổi thông tin theo cùng một bộ quy tắc.

Điểm đáng chú ý là Modbus được thiết kế theo hướng đơn giản, dễ sử dụng và dễ triển khai. Giao thức này không yêu cầu hệ thống quá phức tạp, đồng thời có thể hoạt động trên nhiều phương thức truyền thông khác nhau. Đây cũng là một trong những lý do Modbus nhanh chóng được sử dụng rộng rãi trong các hệ thống PLC và tự động hóa công nghiệp.

modbus la gi 2

Theo thời gian, Modbus được mở rộng với nhiều phiên bản như Modbus RTU, Modbus ASCII và Modbus TCP để phù hợp với các kiểu kết nối khác nhau. Đặc biệt, Modbus RTU kết hợp với RS485 và Modbus TCP trên Ethernet đã trở thành những lựa chọn quen thuộc trong nhiều hệ thống công nghiệp.

Ngày nay, dù đã xuất hiện nhiều giao thức truyền thông hiện đại hơn, Modbus vẫn được sử dụng rất phổ biến nhờ khả năng tương thích tốt, cách cấu hình tương đối đơn giản và số lượng thiết bị hỗ trợ lớn. Đây cũng là lý do Modbus vẫn xuất hiện trong nhiều hệ thống từ PLC, HMI, SCADA đến biến tần, cảm biến và thiết bị đo.

2. Modbus hoạt động như thế nào?

Cách hoạt động của Modbus khá đơn giản. Một thiết bị sẽ gửi yêu cầu đến thiết bị khác để đọc hoặc ghi dữ liệu, sau đó thiết bị nhận sẽ xử lý yêu cầu và gửi kết quả phản hồi. Tùy vào phiên bản Modbus mà cách gọi và mô hình giao tiếp có thể khác nhau, nhưng nguyên tắc trao đổi dữ liệu cơ bản vẫn tương tự.

Mô hình giao tiếp của Modbus

Trong Modbus RTU và Modbus ASCII, hệ thống truyền thống sử dụng mô hình Master/Slave. Master là thiết bị chủ, có nhiệm vụ gửi yêu cầu và quyết định thời điểm trao đổi dữ liệu. Slave là thiết bị nhận yêu cầu, xử lý và gửi phản hồi khi được Master gọi đến. Một Master có thể giao tiếp với nhiều Slave trên cùng mạng, nhưng mỗi thiết bị Slave cần có một địa chỉ riêng.

Với Modbus TCP, cách gọi phổ biến là Client/Server. Client gửi yêu cầu đọc hoặc ghi dữ liệu, còn Server tiếp nhận và trả về kết quả. Ví dụ, máy tính hoặc hệ thống SCADA có thể đóng vai trò Client để lấy dữ liệu từ PLC hoặc đồng hồ điện đóng vai trò Server.

modbus la gi 3

Quy trình truyền dữ liệu Modbus

Một lần trao đổi dữ liệu Modbus thường diễn ra theo các bước sau:

  • Master hoặc Client gửi request đến thiết bị cần giao tiếp.
  • Slave hoặc Server nhận request và kiểm tra thông tin trong yêu cầu.
  • Thiết bị nhận thực hiện thao tác được yêu cầu, chẳng hạn đọc một thanh ghi hoặc ghi một giá trị mới.
  • Thiết bị gửi response trở lại cho Master hoặc Client.
  • Thiết bị gửi yêu cầu nhận và xử lý dữ liệu để sử dụng trong hệ thống.

Ví dụ, một PLC cần đọc nhiệt độ từ cảm biến. PLC sẽ gửi yêu cầu đến đúng địa chỉ của cảm biến, chỉ rõ loại dữ liệu cần đọc và vị trí thanh ghi chứa dữ liệu. Cảm biến sau đó trả về giá trị tương ứng để PLC tiếp tục xử lý hoặc hiển thị trên HMI.

Modbus truyền dữ liệu như thế nào?

Một gói dữ liệu Modbus thường chứa nhiều thông tin giúp thiết bị nhận biết yêu cầu cần thực hiện. Với Modbus RTU, các thành phần quan trọng gồm địa chỉ thiết bị, Function Code, dữ liệu và CRC kiểm tra lỗi.

Trong đó, địa chỉ thiết bị xác định thiết bị nào cần nhận yêu cầu. Function Code cho biết thiết bị cần thực hiện thao tác gì, chẳng hạn đọc Coil hoặc đọc Holding Register. Phần dữ liệu chứa địa chỉ thanh ghi, số lượng thanh ghi hoặc giá trị cần ghi tùy theo yêu cầu.

Sau khi xử lý, thiết bị sẽ gửi response về. Nếu yêu cầu có vấn đề, chẳng hạn Function Code không được hỗ trợ hoặc địa chỉ thanh ghi không hợp lệ, thiết bị có thể gửi exception response để báo lỗi. Nhờ cách trao đổi theo từng request và response như vậy, Modbus có thể truyền dữ liệu giữa nhiều thiết bị một cách rõ ràng và tương đối dễ kiểm soát.

modbus la gi 4

3. Cấu trúc dữ liệu và thanh ghi trong Modbus

Để hiểu rõ Modbus hoạt động như thế nào, cần nắm được cách giao thức này lưu trữ và trao đổi dữ liệu. Modbus chia dữ liệu thành các nhóm riêng, trong đó phổ biến nhất là Coil, Discrete Input, Input Register và Holding Register. Mỗi loại có cách sử dụng khác nhau và được xác định bằng các địa chỉ riêng.

Hiểu đơn giản, có thể xem các vùng dữ liệu này giống như những ngăn chứa thông tin trong thiết bị. Tùy vào loại dữ liệu, thiết bị có thể đọc, ghi hoặc chỉ đọc giá trị từ từng vùng.

Modbus Coil là gì?

Coil là vùng dữ liệu dùng để lưu trạng thái dạng bit, chỉ có hai giá trị 0 hoặc 1. Coil thường được sử dụng cho các lệnh hoặc trạng thái bật tắt trong hệ thống điều khiển.

Ví dụ, PLC có thể ghi giá trị 1 vào một Coil để bật động cơ hoặc ghi giá trị 0 để tắt thiết bị. Coil hỗ trợ cả thao tác đọc và ghi, nên thường được dùng khi cần điều khiển các thiết bị dạng ON/OFF.

Discrete Input là gì?

Discrete Input cũng lưu dữ liệu dạng bit với hai trạng thái 0 hoặc 1, nhưng khác Coil ở chỗ vùng dữ liệu này chỉ có thể đọc. Nó thường dùng để lấy trạng thái từ các đầu vào hoặc tín hiệu số của thiết bị.

Chẳng hạn, PLC có thể đọc Discrete Input để biết một công tắc đang bật hay tắt, cảm biến có phát hiện vật thể hay không hoặc một thiết bị đang ở trạng thái nào.

Điểm dễ nhớ là: Coil có thể đọc và ghi, còn Discrete Input chỉ có thể đọc.

modbus la gi 5

Input Register là gì?

Input Register là vùng dữ liệu dùng để lưu các giá trị đầu vào dạng 16 bit. Đây thường là nơi chứa dữ liệu được đọc từ cảm biến, đồng hồ đo hoặc các thiết bị đo lường.

Ví dụ, một cảm biến nhiệt độ có thể lưu giá trị đo được trong Input Register để PLC hoặc hệ thống SCADA đọc về. Input Register chỉ hỗ trợ đọc dữ liệu, không cho phép thiết bị bên ngoài ghi giá trị vào vùng này.

Holding Register là gì?

Holding Register là một trong những vùng dữ liệu được sử dụng phổ biến nhất trong Modbus. Mỗi thanh ghi thường có kích thước 16 bit và có thể hỗ trợ cả thao tác đọc và ghi.

Holding Register thường dùng để lưu các giá trị cần giám sát hoặc điều khiển. Ví dụ, PLC có thể đọc tốc độ hiện tại của biến tần từ một Holding Register hoặc ghi giá trị mới để cài đặt tần số hoạt động. Tương tự, một hệ thống có thể sử dụng Holding Register để lưu nhiệt độ cài đặt, chế độ vận hành hoặc các thông số điều khiển khác.

modbus la gi 6

4. Các loại Modbus phổ biến

Modbus có nhiều phiên bản khác nhau để phù hợp với từng kiểu kết nối và hệ thống. Trong đó, Modbus RTU, Modbus ASCII và Modbus TCP là những loại phổ biến nhất. Ngoài ra, trong thực tế còn có Modbus RTU over TCP, thường xuất hiện khi cần đưa thiết bị Modbus RTU vào hệ thống mạng Ethernet.

Modbus RTU là gì?

Modbus RTU là phiên bản Modbus được sử dụng rất phổ biến trong các hệ thống tự động hóa công nghiệp. RTU là viết tắt của Remote Terminal Unit, sử dụng dạng dữ liệu nhị phân để truyền thông nên có khả năng truyền nhanh và gọn hơn so với Modbus ASCII.

Modbus RTU thường chạy trên RS485, ngoài ra cũng có thể sử dụng RS232 tùy thiết bị. Với RS485, nhiều thiết bị có thể kết nối trên cùng một đường truyền, mỗi thiết bị được gán một địa chỉ riêng để Master xác định đúng thiết bị cần giao tiếp.

Một frame Modbus RTU cơ bản gồm địa chỉ Slave, Function Code, dữ liệu và CRC. CRC giúp kiểm tra xem dữ liệu có bị lỗi trong quá trình truyền hay không. Nếu phát hiện dữ liệu không hợp lệ, thiết bị nhận có thể bỏ qua frame và chờ yêu cầu tiếp theo.

Ưu điểm lớn của Modbus RTU là đơn giản, chi phí thấp, dễ cấu hình và được nhiều thiết bị công nghiệp hỗ trợ. Tuy nhiên, tốc độ truyền bị giới hạn bởi kết nối serial và việc mở rộng hệ thống cũng không linh hoạt bằng các giao thức chạy trên Ethernet.

Modbus RTU thường được dùng để kết nối PLC với biến tần, cảm biến, đồng hồ điện, thiết bị đo và các bộ điều khiển công nghiệp.

Modbus ASCII là gì?

Modbus ASCII cũng sử dụng kết nối serial nhưng truyền dữ liệu dưới dạng ký tự ASCII thay vì dữ liệu nhị phân như Modbus RTU. Mỗi byte dữ liệu được biểu diễn bằng hai ký tự ASCII nên frame thường dài hơn và tốc độ truyền thấp hơn RTU.

Một điểm đáng chú ý của Modbus ASCII là cơ chế kiểm tra lỗi sử dụng LRC thay cho CRC. Frame cũng có ký tự bắt đầu và kết thúc riêng, giúp thiết bị xác định phạm vi của một gói dữ liệu.

modbus la gi 7

So với Modbus RTU, Modbus ASCII có hiệu suất thấp hơn nhưng dữ liệu dễ quan sát và kiểm tra hơn trong một số trường hợp. Hiện nay, Modbus ASCII ít phổ biến hơn RTU và thường chỉ được sử dụng khi thiết bị hoặc hệ thống yêu cầu kiểu truyền thông này.

Modbus TCP là gì?

Modbus TCP, hay Modbus TCP/IP, là phiên bản Modbus hoạt động trên mạng Ethernet và giao thức TCP/IP. Thay vì truyền dữ liệu qua đường serial như Modbus RTU, Modbus TCP cho phép các thiết bị giao tiếp thông qua mạng Ethernet với địa chỉ IP.

Modbus TCP sử dụng mô hình Client/Server. Client gửi yêu cầu đọc hoặc ghi dữ liệu, còn Server tiếp nhận và trả về kết quả. Ví dụ, máy tính chạy SCADA có thể đóng vai trò Client để lấy dữ liệu từ PLC hoặc đồng hồ điện đóng vai trò Server.

Một kết nối Modbus TCP thường sử dụng TCP port 502. Frame Modbus TCP có thêm phần MBAP Header để quản lý thông tin của gói tin. So với Modbus RTU, Modbus TCP không sử dụng CRC ở cuối frame vì việc truyền dữ liệu đã được thực hiện thông qua TCP/IP.

Ưu điểm của Modbus TCP là tốc độ tốt, dễ kết nối với mạng Ethernet và thuận tiện khi xây dựng hệ thống có nhiều thiết bị. Nó thường được sử dụng trong các hệ thống PLC, HMI, SCADA, máy tính công nghiệp và mạng tự động hóa.

Modbus RTU over TCP là gì?

Modbus RTU over TCP là cách truyền frame Modbus RTU thông qua mạng TCP/IP. Cách này thường xuất hiện khi một thiết bị chỉ hỗ trợ Modbus RTU nhưng hệ thống lại sử dụng mạng Ethernet.

Điểm quan trọng là Modbus RTU over TCP không hoàn toàn giống Modbus TCP chuẩn. Modbus TCP có cấu trúc frame riêng với MBAP Header, trong khi RTU over TCP thường giữ nguyên frame RTU và truyền nó bên trong kết nối TCP. Vì vậy, hai thiết bị cần sử dụng cùng cách đóng gói dữ liệu mới có thể giao tiếp chính xác.

Trong thực tế, Modbus RTU over TCP thường được sử dụng cùng bộ chuyển đổi RS485 sang Ethernet hoặc gateway Modbus. Cách này giúp các thiết bị Modbus RTU cũ có thể kết nối vào mạng Ethernet mà không cần thay thế toàn bộ thiết bị.

modbus la gi 8

5. Ứng dụng của Modbus trong công nghiệp

Nhờ cách hoạt động đơn giản, dễ triển khai và được nhiều thiết bị hỗ trợ, Modbus được sử dụng rộng rãi trong các hệ thống tự động hóa công nghiệp. Giao thức này có thể kết nối nhiều loại thiết bị khác nhau, từ PLC, HMI đến cảm biến, biến tần, đồng hồ đo và hệ thống SCADA. Tùy vào nhu cầu, Modbus có thể được dùng để đọc dữ liệu, ghi thông số hoặc gửi lệnh điều khiển.

Modbus trong hệ thống PLC

PLC thường sử dụng Modbus để giao tiếp với các thiết bị bên ngoài như cảm biến, biến tần, đồng hồ điện hoặc các bộ điều khiển khác. PLC có thể đọc dữ liệu từ thiết bị hoặc ghi các giá trị mới để điều khiển thiết bị.

Ví dụ, PLC có thể đọc nhiệt độ từ cảm biến, lấy giá trị điện áp từ đồng hồ đo hoặc gửi lệnh Start/Stop đến biến tần. Dữ liệu sau khi nhận được có thể tiếp tục được PLC xử lý và sử dụng cho các chương trình điều khiển.

Modbus trong HMI

HMI sử dụng Modbus để lấy dữ liệu từ PLC hoặc các thiết bị đo và hiển thị trực tiếp cho người vận hành. Người dùng có thể theo dõi những thông số như nhiệt độ, áp suất, tốc độ động cơ, điện áp hoặc trạng thái thiết bị trên màn hình.

Ngoài việc đọc dữ liệu, HMI cũng có thể ghi giá trị vào các Holding Register hoặc Coil để thay đổi thông số và gửi lệnh điều khiển. Nhờ đó, người vận hành có thể theo dõi và điều chỉnh hệ thống mà không cần thao tác trực tiếp trên từng thiết bị.

modbus la gi 9

Modbus trong SCADA

Trong các hệ thống SCADA, Modbus thường được dùng để thu thập dữ liệu từ nhiều thiết bị khác nhau. Hệ thống SCADA có thể kết nối với PLC, đồng hồ điện, biến tần, cảm biến hoặc bộ điều khiển thông qua Modbus để đưa dữ liệu về một nơi.

Từ những dữ liệu này, SCADA có thể hiển thị trạng thái thiết bị, theo dõi thông số theo thời gian thực, lưu lịch sử và đưa ra cảnh báo khi xảy ra sự cố. Đây là một trong những ứng dụng giúp Modbus trở nên phổ biến trong các hệ thống giám sát và quản lý tập trung.

Modbus với biến tần

Biến tần là một trong những thiết bị thường được kết nối với PLC hoặc hệ thống điều khiển thông qua Modbus. Thay vì sử dụng nhiều dây tín hiệu riêng cho từng lệnh và thông số, Modbus cho phép truyền nhiều dữ liệu qua cùng một đường giao tiếp.

Thông qua Modbus, hệ thống có thể gửi lệnh Start/Stop, cài đặt tần số hoặc tốc độ, đồng thời đọc các thông số như tốc độ thực tế, dòng điện, điện áp và trạng thái lỗi của biến tần.

Modbus với cảm biến và đồng hồ đo

Modbus cũng được sử dụng để kết nối các thiết bị đo và cảm biến trong nhà máy. Các thiết bị này có thể cung cấp dữ liệu trực tiếp cho PLC, HMI hoặc SCADA thông qua các Register Modbus.

Một số dữ liệu thường được thu thập gồm nhiệt độ, áp suất, độ ẩm, lưu lượng, điện áp, dòng điện và điện năng tiêu thụ. Cách kết nối này giúp giảm số lượng dây tín hiệu và thuận tiện hơn khi cần thu thập dữ liệu từ nhiều thiết bị.

modbus la gi 10

Modbus trong hệ thống BMS và quản lý năng lượng

Trong các hệ thống BMS, Modbus có thể được dùng để kết nối đồng hồ điện, thiết bị HVAC, bộ điều khiển và nhiều thiết bị khác. Dữ liệu từ các thiết bị được đưa về hệ thống quản lý để theo dõi và điều khiển tập trung.

Modbus cũng xuất hiện trong các hệ thống giám sát năng lượng, điện mặt trời và inverter. Ví dụ, hệ thống có thể lấy dữ liệu về công suất, điện áp, dòng điện hoặc sản lượng điện từ inverter để theo dõi tình trạng vận hành và đánh giá mức tiêu thụ năng lượng.

6. Ưu điểm của Modbus

Modbus có nhiều ưu điểm khiến giao thức này vẫn được sử dụng rộng rãi trong các hệ thống tự động hóa công nghiệp. So với nhiều giao thức truyền thông khác, Modbus có cách hoạt động tương đối đơn giản, dễ cấu hình và không đòi hỏi hệ thống quá phức tạp.

  • Đơn giản, dễ sử dụng: Cấu trúc và cách trao đổi dữ liệu của Modbus khá dễ hiểu. Người dùng có thể nhanh chóng nắm được cách đọc, ghi dữ liệu và cấu hình thiết bị.
  • Dễ triển khai: Modbus có thể hoạt động trên nhiều kiểu kết nối như RS485, RS232 và Ethernet. Việc kết nối và thiết lập thông số cũng không quá phức tạp.
  • Phổ biến: Modbus đã được sử dụng trong công nghiệp từ lâu nên có mặt trên rất nhiều loại thiết bị như PLC, HMI, biến tần, cảm biến và đồng hồ đo.
  • Chi phí thấp: Các thiết bị hỗ trợ Modbus thường có mức giá hợp lý, đặc biệt với các hệ thống sử dụng Modbus RTU trên RS485.
  • Nhiều thiết bị hỗ trợ: Người dùng có nhiều lựa chọn thiết bị từ các nhà sản xuất khác nhau mà vẫn có thể giao tiếp thông qua Modbus.
  • Dễ kết nối thiết bị khác hãng: Vì Modbus là giao thức mở với cách giao tiếp được quy định rõ ràng, các thiết bị đến từ nhiều nhà sản xuất vẫn có thể trao đổi dữ liệu nếu cùng hỗ trợ đúng chuẩn Modbus.

modbus la gi 11.jfif

7. Nhược điểm của Modbus

Bên cạnh những ưu điểm về tính đơn giản và khả năng tương thích, Modbus vẫn có một số hạn chế cần cân nhắc khi lựa chọn cho hệ thống tự động hóa. Những hạn chế này thể hiện rõ hơn khi hệ thống có quy mô lớn, yêu cầu tốc độ cao hoặc cần mức bảo mật chặt chẽ.

  • Khả năng truyền dữ liệu còn hạn chế: Modbus chủ yếu phù hợp với các loại dữ liệu điều khiển và đo lường cơ bản. Với những hệ thống cần trao đổi lượng dữ liệu lớn hoặc cấu trúc dữ liệu phức tạp, Modbus có thể không phải lựa chọn phù hợp nhất.
  • Bảo mật chưa cao: Modbus được thiết kế từ đầu cho môi trường công nghiệp với mục tiêu giao tiếp đơn giản, nên bản thân giao thức không có nhiều cơ chế bảo mật như xác thực người dùng hay mã hóa dữ liệu. Khi kết nối Modbus vào mạng Ethernet hoặc Internet, cần có thêm các biện pháp bảo vệ như phân vùng mạng, firewall và kiểm soát quyền truy cập.
  • Modbus RTU có tốc độ giới hạn: Modbus RTU sử dụng kết nối serial nên tốc độ truyền thấp hơn các giao thức Ethernet hiện đại. Khi có nhiều thiết bị cùng giao tiếp hoặc cần phản hồi nhanh, thời gian truyền dữ liệu có thể trở thành điểm hạn chế.
  • Khó mở rộng khi hệ thống quá lớn: Với hệ thống có nhiều thiết bị, việc quản lý địa chỉ, register, kết nối và dữ liệu có thể trở nên phức tạp. Đặc biệt, mạng Modbus RTU cần được thiết kế và cấu hình phù hợp để tránh ảnh hưởng đến tốc độ và độ ổn định.
  • Không tối ưu cho các ứng dụng thời gian thực: Modbus phù hợp với việc đọc dữ liệu và điều khiển thông thường nhưng không được thiết kế cho những ứng dụng đòi hỏi phản hồi cực nhanh và thời gian xử lý chính xác đến từng mili giây. Trong những trường hợp này, các giao thức công nghiệp chuyên dụng có thể phù hợp hơn.

modbus la gi 12

8. Các lỗi Modbus thường gặp và cách xử lý

Trong quá trình triển khai hệ thống, lỗi Modbus thường không đến từ bản thân giao thức mà xuất phát từ cấu hình, đấu nối hoặc cách đọc dữ liệu. Chỉ cần sai một thông số như Baud Rate, Slave ID hay địa chỉ Register, thiết bị có thể không giao tiếp được hoặc trả về dữ liệu không chính xác. Dưới đây là những lỗi Modbus thường gặp và cách kiểm tra.

Không kết nối được Modbus

Đây là lỗi khá phổ biến khi thiết lập Modbus RTU. Nếu PLC hoặc Master không nhận được phản hồi từ thiết bị Slave, trước tiên nên kiểm tra các thông số truyền thông và đường dây kết nối.

Một số nguyên nhân thường gặp gồm sai Baud Rate, Parity, Stop Bit hoặc Slave ID. Các thiết bị trong cùng một mạng cần sử dụng đúng thông số mà nhà sản xuất quy định. Ngoài ra, với kết nối RS485, cần kiểm tra lại dây A và B, điểm nối chung và tình trạng của cáp.

Nếu đã kiểm tra cấu hình nhưng vẫn không kết nối được, nên xem lại sơ đồ đấu dây trong tài liệu của thiết bị. Một số thiết bị có cách ký hiệu chân RS485 khác nhau nên rất dễ đấu nhầm.

modbus la gi 13

Đọc sai giá trị Modbus

Trường hợp thiết bị vẫn kết nối bình thường nhưng giá trị Modbus đọc được không đúng thường liên quan đến địa chỉ Register hoặc cách giải mã dữ liệu.

Các nguyên nhân phổ biến gồm sai Register Address, chọn sai Function Code hoặc sử dụng sai kiểu dữ liệu. Ví dụ, tài liệu thiết bị có thể yêu cầu đọc Holding Register bằng Function Code 03 nhưng người dùng lại chọn Function Code 04 để đọc Input Register.

Ngoài ra, cần kiểm tra cách thiết bị lưu dữ liệu. Một giá trị 32 bit hoặc số thực Float thường sử dụng hai Register 16 bit. Nếu đọc không đúng số lượng Register hoặc ghép dữ liệu sai, kết quả nhận được có thể rất khác so với giá trị thực tế.

Giá trị bị đảo Byte hoặc Word

Một lỗi khác thường gặp là dữ liệu đọc được có dạng số rất lớn, rất nhỏ hoặc hoàn toàn khác với giá trị hiển thị trên thiết bị. Nguyên nhân có thể nằm ở thứ tự Byte hoặc Word.

Các khái niệm như Big-endian, Little-endian, Byte Swap và Word Swap cho biết thứ tự các byte hoặc word được sắp xếp trong dữ liệu. Không phải thiết bị nào cũng sử dụng cùng một cách sắp xếp.

Khi gặp trường hợp này, nên kiểm tra tài liệu kỹ thuật của thiết bị để xác định đúng thứ tự dữ liệu. Nếu sử dụng phần mềm hoặc PLC có tùy chọn đổi Byte hoặc Word, có thể thử các kiểu sắp xếp phù hợp rồi đối chiếu với giá trị thực tế.

modbus la gi 14

Timeout Modbus

Modbus Timeout xảy ra khi thiết bị gửi yêu cầu nhưng không nhận được phản hồi trong khoảng thời gian đã thiết lập. Lỗi này thường xuất hiện dưới dạng timeout hoặc communication timeout trên PLC, HMI hoặc phần mềm Modbus.

Nguyên nhân có thể là thiết bị không phản hồi, sai Slave ID, sai địa chỉ IP, đường truyền bị nhiễu hoặc thời gian chờ được cấu hình quá ngắn. Với Modbus RTU, nên kiểm tra cả chất lượng dây RS485 và cách đấu nối. Với Modbus TCP, cần kiểm tra địa chỉ IP, kết nối mạng và TCP Port.

Nếu thiết bị phản hồi chậm do đang xử lý nhiều yêu cầu, có thể cần tăng thời gian Timeout hoặc điều chỉnh khoảng thời gian giữa các request.

CRC Error

CRC Error thường xuất hiện trong Modbus RTU khi dữ liệu nhận được không vượt qua bước kiểm tra lỗi. Nói đơn giản, thiết bị nhận thấy dữ liệu truyền đến không giống với dữ liệu ban đầu.

Nguyên nhân thường liên quan đến nhiễu đường truyền, cáp RS485 không phù hợp, đấu nối không chắc chắn hoặc cấu hình truyền thông giữa các thiết bị không đồng nhất. Trong một số trường hợp, việc đi dây RS485 quá gần nguồn gây nhiễu cũng có thể làm tăng lỗi CRC.

Để xử lý, nên kiểm tra lại cáp, đầu nối, cấu hình Baud Rate, Parity và Stop Bit. Nếu hệ thống có nhiều thiết bị, cũng cần kiểm tra cách bố trí đường truyền và thiết bị đầu cuối để đảm bảo tín hiệu RS485 ổn định.

modbus la gi 15.jfif

Kết luận

Modbus là một giao thức truyền thông công nghiệp phổ biến, được dùng để kết nối và trao đổi dữ liệu giữa PLC, HMI, SCADA, cảm biến, biến tần và nhiều thiết bị khác. Khi tìm hiểu Modbus là gì, những khái niệm quan trọng cần nắm gồm Modbus RTU, Modbus TCP, Coil, Register, Function Code và cách thiết bị gửi, nhận dữ liệu. Tuy nhiên, Modbus không phải lựa chọn tốt nhất cho mọi hệ thống. Nếu yêu cầu tốc độ rất cao, khả năng xử lý dữ liệu lớn, bảo mật hoặc đáp ứng thời gian thực, nên cân nhắc thêm các giao thức công nghiệp khác. Với những hệ thống cần giao tiếp thiết bị đơn giản, ổn định và dễ triển khai, Modbus vẫn là một lựa chọn đáng cân nhắc.

Tin tức khác

AI Monitoring System là gì

AI có thể vẫn hoạt động bình thường nhưng chất lượng đầu ra lại giảm theo thời gian. Nguyên nhân...

AI Box là gì

AI Box đang ngày càng được quan tâm khi nhu cầu chạy các ứng dụng AI ngay tại chỗ tăng...

AI Data Center là gì

AI Data Center đang trở thành một phần quan trọng trong hạ tầng phục vụ Generative AI, Machine Learning và...

Smart Building là gì

Thay vì quản lý riêng lẻ từng hệ thống như điều hòa, chiếu sáng, an ninh hay thang máy, Smart...

AI trong thương mại điện tử

Sự phát triển của công nghệ đang thay đổi cách doanh nghiệp bán hàng và cách khách hàng mua sắm...

AI Infrastructure là gì

Một hạ tầng AI Infrastructure phù hợp không chỉ giúp rút ngắn thời gian huấn luyện mô hình mà còn...

This will close in 3 seconds