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é!
Mục lục
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 (multi–drop).
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
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.1 Nguyên tắc hoạt động
Modbus được hoạt động theo nguyên tắc Master – Slave 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 Slave và truyề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ì?
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
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ì?
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 là 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 |
Mã 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 Slave và Slave cũng vậy, master và Slave đề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) |
Mã 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
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
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.
Bài viết liên quan
Đọc nhiều nhất
[BẢNG] Ăn mòn hóa học | Ăn mòn kim loại...
14/12/2023
2665 views
Định luật Faraday về cảm ứng điện từ
11/01/2023
1884 views
Giao tiếp RS232 là gì? Tất tần tật về RS232
13/10/2022
1712 views
Tốc độ âm thanh là gì? Vận tốc âm thanh...
12/01/2023
1273 views
CF8 là gì? so sánh giữa CF8 và CF8M
09/03/2023
1269 views
Lực quán tính là gì? Sự cân bằng lực quán...
13/01/2023
1183 views
RS485 là gì
13/10/2022
1154 views
Vì sao nói dòng điện có mang năng lượng
04/02/2023
1148 views