Kiểm soát công nghiệp đã chuyển từ kiểm soát độc lập sang giám sát tập trung và kiểm soát tập trung, và hiện đã bước vào kỷ nguyên mạng, các bộ điều khiển công nghiệp được kết nối với mạng cũng cung cấp quản lý mạng thuận tiện. Modbus là một trong những giao thức mạng cho các bộ điều khiển công nghiệp.
Giới thiệu giao thức truyền thông Modbus
Giao thức Modbus, trước hết, từ sự hiểu biết theo nghĩa đen, nó bao gồm mod và xe buýt hai phần, trước hết, đó là một chiếc xe buýt, nghĩa là giao thức xe buýt và I2C, SPI tương tự, xe buýt có nghĩa là có máy chủ, có nô lệ, các thiết bị này trên cùng một xe buýt.
Modbus hỗ trợ một bậc thầy duy nhất, nhiều nô lệ và tối đa 247 thiết bị nô lệ. Về mod, vì giao thức này lần đầu tiên được sử dụng trong các bộ điều khiển PLC, chính xác là bộ điều khiển PLC của Modicon, đó là nơi tên MOD-BU đến từ.
Sau này Modicon được Schneider (Schneider) mua lại, giao thức Modbus được sử dụng rộng rãi trong các bộ điều khiển công nghiệp, HMI và cảm biến và dần được các nhà sản xuất khác chấp nhận, trở thành một giao thức truyền thông chính thống để liên lạc với các thiết bị ngoại vi.
Modbus thuộc lớp ứng dụng thứ bảy trong mô hình tham chiếu OSI lớp {7-} và có hai loại lớp liên kết dữ liệu: dựa trên giao thức nối tiếp tiêu chuẩn và giao thức không dây và phương tiện truyền động khác.
Giao thức Modbus là chế độ tương tác yêu cầu/trả lời, máy chủ bắt đầu yêu cầu liên lạc, nô lệ đáp ứng yêu cầu của máy chủ, nô lệ sẽ không gửi dữ liệu tích cực khi không nhận được yêu cầu của máy chủ và nô lệ sẽ không liên lạc với nhau.
Các tính năng của giao thức truyền thông Modbus
.
.
(3) Định dạng khung của Modbus rất đơn giản, nhỏ gọn và dễ hiểu. Người dùng dễ dàng sử dụng và đơn giản để các nhà cung cấp phát triển.
Kiểu dữ liệu Modbus 4
Giao thức MODBUS quy định rằng các loại dữ liệu cho các hoạt động đọc và ghi có thể được phân loại thành 4 loại sau theo các thuộc tính và loại đọc và ghi:
1. Đầu vào rời rạc (đầu vào rời rạc):1 bit, chỉ đọc
2. Cuộn dây (cuộn):1- bit, đọc-write
3. Các thanh ghi đầu vào:16 bit, chỉ đọc
4. Giữ sổ đăng ký:16 bit, đọc/viết.
Phiên bản giao thức Modbus
Các phiên bản của giao thức Modbus hiện đang tồn tại cho các mạng nối tiếp, Ethernet và các mạng khác hỗ trợ giao thức Internet.
Hầu hết các thiết bị modbus giao tiếp qua EIA nối tiếp -485 lớp vật lý.
Đối với các kết nối nối tiếp, hai biến thể tồn tại khác nhau một chút về các biểu diễn dữ liệu số khác nhau và chi tiết giao thức.Modbus RTU là một biểu diễn nhỏ gọn, nhị phân của dữ liệu và Modbus ASCII là một biểu diễn dài dòng có thể đọc được của con người. Cả hai biến thể đều sử dụng giao tiếp nối tiếp; Định dạng RTU theo các lệnh/dữ liệu với tổng kiểm tra dự phòng theo chu kỳ, trong khi định dạng ASCII sử dụng tổng kiểm tra dự phòng theo chiều dọc. Các nút được cấu hình cho biến thể RTU không giao tiếp với các nút được cấu hình cho biến thể ASCII và ngược lại.
Đối với các kết nối thông qua TCP/IP (ví dụ Ethernet) trong đó tồn tại nhiều biến thể Modbus/TCP, phương pháp này không yêu cầu tính toán tổng kiểm tra.
Đối với cả ba giao thức giao tiếp, mô hình dữ liệu và các cuộc gọi chức năng là như nhau, chỉ có sự đóng gói là khác nhau.
Modbus có phiên bản mở rộng Modbusplus (Modbus+ hoặc MB+), tuy nhiên giao thức này là độc quyền của Modicon và khác với Modbus. Nó yêu cầu một bộ đồng xử lý chuyên dụng để xử lý vòng xoay mã thông báo tốc độ cao tương tự như HDLC. Nó sử dụng cáp cặp xoắn 1mbit/s và có cách ly chuyển đổi ở mỗi nút, một thiết bị sử dụng kích hoạt chuyển đổi/cạnh thay vì kích hoạt điện áp/cấp. Kết nối Modbus Plus với máy tính yêu cầu giao diện đặc biệt, thường là một bảng hỗ trợ xe buýt ISA (SA85), PCI hoặc PMCIA.
Vì vậy, khi chúng tôi đề cập đến giao thức Modbus, điều quan trọng là xác định chế độ nào, vẫn còn một sự khác biệt lớn giữa các chế độ khác nhau.
Định dạng khung dữ liệu Modbus
Điều đầu tiên chúng ta cần biết là khung dữ liệu Modbus bình thường chứa các mục sau: Trường địa chỉ + Mã chức năng + Dữ liệu + Kiểm tra trục trặc, cộng với định dạng khung Modbus là giống nhau bất kể phiên bản nào của giao thức được đề cập ở trên:
Chủ yếu bao gồm:
1. Trường địa chỉ:Đó là, địa chỉ nô lệ được Master truy cập, phạm vi của nó 0 ~ 247
2. Mã chức năng:tức là loại hoạt động mà chủ muốn thực hiện trên nô lệ.
3. Dữ liệu:Nếu yêu cầu của chủ là đọc dữ liệu, thì "dữ liệu" sẽ chứa các thông tin sau: Nơi bắt đầu đọc dữ liệu + số lượng dữ liệu để đọc. Nếu yêu cầu của chủ là ghi dữ liệu cho nô lệ, thì "dữ liệu" sẽ chứa các thông tin sau: Nơi bắt đầu ghi dữ liệu + có bao nhiêu byte dữ liệu để ghi + dữ liệu cụ thể được viết.
4. Kiểm tra lỗi:Để đảm bảo tính chính xác của truyền dữ liệu, giao thức Modbus thêm kiểm tra lỗi hai byte ở cuối khung dữ liệu.
Mã chức năng Modbus
Mã chức năng Modbus, được viết trong khung dữ liệu yêu cầu của máy chủ, xác định xem máy chủ có đọc hay ghi không, liệu nó có đọc cuộn dây, số lượng hoặc thanh ghi riêng biệt, cho dù nó ghi một thanh ghi hoặc nhiều thanh ghi, v.v. và loại dữ liệu mà máy chủ yêu cầu.
Có ba loại mã chức năng chính: mã chức năng công cộng, mã chức năng do người dùng xác định và mã chức năng dành riêng.
1. Mã chức năng công cộng
-Function mã được xác định tốt hơn
-Guaranteed để trở thành duy nhất
-Change bởi tổ chức Modbus
-Các công khai có thể chứng minh
-Có một bài kiểm tra phù hợp có thể sử dụng
-Nhản phẩm trong MB IETF RFC
-Contains được xác định các mã chức năng được gán công khai và mã chức năng dành riêng không được chỉ định để sử dụng trong tương lai.
2. Mã chức năng do người dùng xác định
Có hai phạm vi định nghĩa mã chức năng do người dùng xác định, IE 65 đến 72 và thập phân 100 đến 110.
-Người dùng có thể chọn và thực hiện mã chức năng mà không có bất kỳ sự chấp thuận nào từ tổ chức Modbus.
-Việc sử dụng mã chức năng đã chọn không được đảm bảo là duy nhất.
-Nếu người dùng muốn đặt lại chức năng như một mã chức năng công cộng, thì người dùng phải bắt đầu RFC để đưa thay đổi vào phân loại công khai và gán mã chức năng công cộng mới.
3. Mã chức năng dành riêng
-Các mã chức năng thường được một số công ty sử dụng cho các sản phẩm kế thừa và không hợp lệ cho sử dụng công cộng.
Thực tế được sử dụng phổ biến nhất là 4 mã hàm trong mã chức năng công cộng: 03/04/06/10
0 x03: Đọc nhiều thanh ghi giữ
0 x04: Đọc thanh ghi đầu vào
0 x06: Viết các thanh ghi giữ đơn
0 x10: Viết nhiều thanh ghi giữ
Vì PLC chủ yếu kiểm soát các tiếp điểm rơle, các cuộn dây (cuộn) cũng thường được đọc và viết trên PLC. Ở đây cần chú ý đặc biệt đến một điểm là: Viết các thanh ghi giữ, cần phân biệt giữa {{0}} x 0 6 Viết thanh ghi đơn và 0x10 Viết nhiều thanh ghi, trong khi đọc Thanh ghi không phân biệt giữa




