Modbus là gì? Tất tần tật về Modbus

Modbus là một dạng giao thức truyền thông được phát triển vào năm 1979 bởi Modicon (nay là Schneider Electric), và đang được tổ chức Modbus duy trì. Vậy Modbus là gì? Cùng Vattuaz.vn tìm hiểu về Modbus nhé!

1. Modbus là gì?

1. Modbus là gì?

Modbus là một giao thức truyền thông ở tầng Application theo mô hình OSI hỗ trợ giao tiếp theo mô hình Client/server. Modbus sử dụng phương thức truyền tin qua đường nối của các thiết bị điện tử. Ban đầu, giao thức này hoạt động trên RS232, nhưng sau đó nó sử dụng cho cả RS485. Vì RS485 cho phép đạt tốc độ cao hơn, khoảng cách dài hơn, và mạng đa điểm (multidrop).

Giao thức Modbus hay còn gọi là giao thức mở. Giao thức mở là các dữ liệu giao thức được xuất bản công khai và miễn phí bản quyền. Modbus cung cấp một ngôn ngữ chung cho các thiết bị có thể giao tiếp với nhau.

Ví dụ: Modbus cho phép các thiết bị đo nhiệt độ, áp suất và độ ẩm có thể giao tiếp với nhau được kết nối trên cùng 1 mạng và truyền dữ liệu về máy tính hoặc PLC.

2. Lịch sử phát triển của Modbus

2. Lịch sử phát triển của Modbus

Modbus được xuất vào năm 1979 bởi Modicon sau đó Modicon đã được Schneider mua lại vào năm 1996. Lúc này Modbus ra đời với mục đích nhằm sử dụng với các bộ điều khiển có thể lập trình được PLC của hãng.

Hiện nay việc phát triển và cập nhật giao thức Modbus đều được quản lý bởi Modbus Organization. Đây là một hiệp hội của người dùng và nhà cung cấp thiết bị có sử dụng chuẩn Modbus.

Mỗi hãng sản xuất đều có ngôn ngữ lập trình riêng của mình và ngôn ngữ này là khác nhau và độc quyền của riêng họ. Điều này sẽ hạn chế việc bên thứ 3 muốn đọc và truyền dữ liệu của hãng. Đây cũng chính là lý do tín hiệu Modbus ra đời.

Modbus với ưu điểm là giao thức mở, nó cung cấp một nền tảng cung cấp giao thức đều được công bố. Sau đó hãng sẽ trực tiếp tham gia lập trình riêng theo ý riêng của hãng trên nền tảng Modbus

Ví dụ: Hệ điều hành Android của Google  và sẽ được google cung cấp một nền tảng chính các hãng sản xuất như Samsung, Oppo, Xiaomi.. sẽ trực tiếp lập trình và chỉnh sửa theo ý của họ.

3. Nguyên tắc hoạt động của Modbus

3. Nguyên tắc hoạt động của Modbus

3.1 Nguyên tắc hoạt động

Modbus được hoạt động theo nguyên tắc MasterSlave hay còn gọi là chủ – tớ. Sự giao tiếp của các nút trên Modbus là việc gửi các thông tin và đọc các tin phản hồi. Master sẽ gửi thông tin tới các Slave và sẽ đọc những phản hồi tử các Slave.

Khi có yêu cầu từ người dùng, master có nhiệm vụ sẽ yêu cầu (request) dữ liệu từ các slave bằng cách truyền 1 gói tin xuống các slave.

Trong gói tin được Master truyền xuống này sẽ có chứa địa chỉ của slave cần lấy dữ liệu.

Khi slave được chỉ định nhận được gói tin này sẽ trả lời lại cho master. Master sẽ thu thập dữ liệu này và báo cáo lại cho người dùng.

Master truyền các thông tin như: địa chỉ Slave, mã chức năng, dữ liệu, trường kiểm tra lỗi. Sau khi nhận thông tin thì các slave sẽ chuyển về master các thông tin như: phản hồi đã nhận được tin, dữ liệu phản hồi. Trong trường hợp dữ liệu lỗi hoặc slave không thể phản hồi được yêu cầu thì sẽ gửi lại một thông báo lỗi.

Các thiết bị cung cấp thông tin gọi là Slave các thiết bị nhận thông tin gọi là Master. Trong một Modbus thì tối đa có 247 Slave và trong đó có 1 salve là địa chỉ. Master có nhiệm vụ độc dữ liệu của Slavetruyền dữ liệu cho Salve. Master thường là PLC, PC, DCS, RTU.

Còn Slave thường là các thiết bị ngoại vi nào ví dụ như: Van, các thiết bị biến tần, các loại thiết bị đo,.. Nói một cách dễ hiểu, nó là một phương pháp được sử dụng để truyền thông tin qua đường dây nối tiếp giữa các thiết bị điện tử.

3.2 Giao tiếp vật lý của Modbus là gì?

3.2 Giao tiếp vật lý của Modbus là gì?

Modbus giao tiếp qua một số loại phương tiện vật lý như RS232, RS485, Ethernet. Các phương tiện vật lý này sẽ được chọn lựa tại thời điểm bạn mua thiết bị. Các Modbus ban đầu đều sử dụng giao tiếp nối tiếp RS232. Nhưng hầu hết các Modbus sau này đều sử dụng giao tiếp RS485, vì nó cho phép giao tiếp ở xa hơn với tốc độ nhanh hơn. Nó cũng cho phép kết nối với nhiều thiết bị hơn, mạng đa điểm hơn.

Giao tiếp trên các kết nối vật lý RS485 sử dụng các kết nối truyền và nhận 2 dây. Trên các giao diện đơn giản như RS232 và RS485 các giao tiếp được truyền qua mạng và mạng này sẽ chỉ dành riêng cho giao thức Modbus.

Còn đối với mạng sử dụng nhiều thiết bị đơn giản hơn như TCP/IP truyền qua Ethernet thì các thông điệp giao tiếp này sẽ được gói trong những gói ethernet dưới định dạng của các giao thức vật lý như RS232 hoặc RS485. Vì vậy trong trường hợp này modbus và các loại giao thức khác có thể cùng tồn tại trên một mạng.

Ưu điểm của nó là khả năng truyền thông với tốc độ cao hơn, khả năng chống nhiễu cao hơn và khoảng cách xa hơn (tối đa 1200m).

4. Một số chuẩn Modbus được sử dụng phổ biến

Một số chuẩn Modbus được sử dụng phổ biến

Modbus được phân ra làm 3 loại đó là RTU, TCP/IP và  ASCII.

3.1 Giao thức Modbus RTU là gì?

Giao thức Modbus RTU là gì?

Modbus RTU là giao thức mở và sử dụng cổng kết nối RS232 hoặc RS485 để truyền dữ liệu. Mô hình hoạt động của nó cũng giống với các dạng Modbus khác  là dạng Master/Slave.

Là giao thức được sử dụng rộng rãi trong nhiều lĩnh vực tự động hóa, công nghiệp,.. vì nó mang những ưu điểm đơn giản dễ dùng và ổn định.

Tốc độ của giao thức này chủ yếu từ 1200 đến 115000 baud. Tốc độ phổ biến nhất từ 9600 đến 19200 baud. Giảm tối thiểu dây kết nối, tiết kiệm  một lượng lớn Modul mở rộng PLC. Ưu điểm của giao thức này là giảm không gian lắp đặt do bộ chuyển đổi có thiết kế mỏng nhỏ gọn so với Modul mở rộng của PLC. Độ ổn định và ít nhiễu so với tín hiệu analog 4-20mA.

Nhược điểm của giao thức này là: Tín hiệu của giao thức này vẫn chậm hơn so với các giao thức trực tiếp analog hoặc Digital. Cần PLC hay Scada có cấu hình mạnh đủ để đọc tất cả các thanh ghi khi dùng nhiều bộ chuyển đổi Modbus RTU.

Định dạng của 1 thông điệp Modbus RTU:

Tên Chiều dài (byte) Hàm số
Địa chỉ Slave 1 Byte Có chức năng xác định địa chỉ được nhận dữ liệu đối với Salve hoặc là phản hồi từ địa chỉ nào đối với Master. Địa chỉ này được quy định bằng số từ 0-254
chức năng 1 Byte Được quy định bới Master, xác định yêu cầu dễ liệu từ thiết bị Slave
Dữ liệu 0 đến 252 byte Đây chính là dữ liệu mà Master muốn truyền tới cho Slave.
CRC 2 byte gồm 1 byte CRC thấp (trước) và 1 byte CRC cao (sau) 2 byte kiểm tra lỗi của hàm truyền. cách tính giá trị của Byte CRC 16 Bit

3.2 Giao thức Modbus TCP

Giao thức Modbus TCP nói một cách đơn giản là giao thức RTU và giao diện TCP được truyền trên giao thức ethernet. Giao thức này cho phép giao tiếp ngang hàng nghĩa là master đọc và truyền dữ liệu cho SlaveSlave cũng vậy, masterSlave đều có thể đặt và truyền lệnh. Ở giao thức này có thể có nhiều hơn 1 thiết bị lấy dữ liệu từ máy chủ.

TCP/IP cho phép các khối dữ liệu nhị phân được trao đổi qua máy tính. chức năng của TCP cho phép các dữ liệu được nhận chính xác và IP đảm bảo rằng các thông điệp được xử lý định tuyến chính xác. Lưu ý rằng kết hợp TCP / IP chỉ là một giao thức truyền tải; và không xác định ý nghĩa của dữ liệu hoặc cách hiểu dữ liệu.

Giao thức TCP là dạng giao thức sử dụng cổng mở RJ45 hay chính là cổng internet thông thường.

Định dạng của 1 thông điệp Modbus TCP:

Tên Chiều dài (byte) Tính năng
Mã định danh giao dịch 2 Để đồng bộ hóa giữa các thông báo của máy chủ và máy khách
Định danh giao thức 2 0 cho Modbus / TCP
Trường độ dài 2 Số byte còn lại trong khung này
Định danh đơn vị 1 Địa chỉ máy chủ (255 nếu không được sử dụng)
chức năng 1 Mã chức năng như trong các biến thể khác
Số byte dữ liệu NS Dữ liệu dưới dạng phản hồi hoặc lệnh

3.3 Modbus ASCII

Modbus ASCII

Mọi thông điệp trong giao thức Modbus ASCII đều được mã hóa bằng hexadecimal. Modbus ASCII sử dụng đặc tính ASCII 4 bit. Trong giao thức này với mỗi một byte thông tin cần 2 byte truyền thông gấp đôi so với RTU hay TCP. Tuy nhiên ASCII là giao thức chậm nhất trong 3 loại giao thức.

Nhưng giao thức này lại phù hợp với modem điện thoại hay sử dụng kết nối song radio bởi ASCII sử dụng các tính năng phân định thông điệp Điều này có nghĩa là các rắc rối trong quá trình truyền dẫn sẽ không làm thiết bị nhận dịch sai thông tin.

Chính vì tính năng phân định này, mọi rắc rối trong phương tiện truyền dẫn sẽ không làm thiết bị nhận dịch sai thông tin. Đây là chức năng rất quan trọng khi đề cập đến các giao thức truyền thông cho các modem cần độ chính xác thông tin cao, điện thoại di động, nhiễu âm thanh hay các phương tiện truyền thông chuyên dụng khác.

Định dạng của 1 thông điệp Modbus ASCII:

Tên Chiều dài (byte) Hàm số
Bắt đầu 1 Bắt đầu bằng dấu hai chấm : (Giá trị hex ASCII là 3A)
Địa chỉ nhà 2 Địa chỉ station
Hàm số 2 Cho biết các mã chức năng như đọc coils/đầu vào
Dữ liệu n × 2 Dữ liệu + độ dài sẽ được điền tùy thuộc vào loại thông điệp được master truyền tới
LRC 2 Checksum ( Kiểm tra dự phòng theo chiều dọc )
Chấm dứt 2 Chuyển trả hàng – cặp nguồn cấp dữ liệu dòng (CR/LF) (các giá trị ASCII 0D, 0A)

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

Ứng dụng của giao thức Modbus trong công nghiệp

Trong thời đại công nghệ như hiện nay, với sự phát triển của kỹ thuật tự động hóa. Đóng vai trò to lớn cho sự phát triển này là giao thức Modbus. Vậy Modbus có ứng dụng gì trong cuộc sống?

Modbus là giao thức mở nghĩa là công ty có thể tự triển khai nó theo ý tưởng của riêng họ. Cũng như được tích hợp vào thiết bị của họ mà không cần bản quyền.

Modbus có thể sử dụng để giúp tự động hóa giao tiếp mạng trong bất kỳ ngành công nghiệp tự động hóa nào. Nó trở thành phương pháp giao tiếp được sử dụng phổ biến nhất cho các thiết bị công nghiệp điện tử kết nối.

Giao thức này có khả năng kết nối một hệ thống giám sát với các đơn vị thiết bị đầu cuối từ xa, thích hợp một hệ thống kiểm soát và thu thập dữ liệu giám sát.

Thích hợp dùng trong các công ty, doanh nghiệp có nhu cầu thực sự về thu thập và truyền dữ liệu đến máy tính trung tâm hoặc thu thập dữ liệu kiểm soát giám sát thì đây chính là loại giao thức mà bạn cần khám phá và đưa vào sử dụng.

5/5 - (1 bình chọn)

Hotline

Mr. Đạo
Mr. Đạo 0972881852
Liên hệ
"