1. Trang chủ
  2. » Giáo án - Bài giảng

BÁO CÁO BÀI TẬP LỚN Thiết kế ngoại vi và kỹ thuật ghép nối Giao thức Modbus RTU

16 26 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 1,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Modbus RTU GVHD Trần Thúy Hà HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG BÁO CÁO BÀI TẬP LỚN Thiết kế ngoại vi và kỹ thuật ghép nối Giao thức Modbus RTU Giảng viên hướng dẫn Trần Thúy Hà Nhóm môn học 02 Nhóm bài tập 14 Sinh viên thực hiện Trịnh Văn Kiên B18DCDT105 Nguyễn Đức Tuấn Anh B18DCDT006 Nguyễn Thanh Qúy B18DCDT198 Phạm Việt Anh B18DCDT013 Đỗ Quang Minh B18DCDT 150 Học kỳ I năm học 2021 2022 MỞ ĐẦU Trong nền công nghiệp hiện nay, việc ứng dụng mạng công nghiệp để điều khiển giám sát các t.

Trang 1

BÁO CÁO BÀI TẬP LỚN

Thiết kế ngoại vi và kỹ thuật ghép nối

Giao thức Modbus RTU

Giảng viên hướng dẫn : Trần Thúy Hà

Sinh viên thực hiện : Trịnh Văn Kiên B18DCDT105

Nguyễn Đức Tuấn Anh B18DCDT006 Nguyễn Thanh Qúy B18DCDT198

Đỗ Quang Minh B18DCDT150

Học kỳ I năm học 2021 - 2022

Trang 2

MỞ ĐẦU

Trong nền công nghiệp hiện nay, việc ứng dụng mạng công nghiệp để điều khiển giám sát các thiết bị, các cơ cấp chấp hành ngày càng được sử dụng nhiều trong các nhà máy, xí nghiệp, và các dây chuyền sản xuất Việc điều khiển một hệ thống bởi một máy tính giúp việc lưu trữ các giá trị hiện tại được thuận tiện hơn…

Một điều thuận lợi là càng ngày càng có nhiều thiết bị chấp hành, hoặc thiết

bị điều khiển được tích hợp các giao thức mạng: Pdofibus, Can, Modbus, Từ những giao thức mạng tích hợp có sẵn trên các thiết bị trên, nhóm đã thực hiện việc tìm hiểu về các giao thức mạng theo giao thức Modbus, từ đó mang lại một cái nhìn trực quan về một hệ thống mạng và các giao thức kết nối.

Hà Nội, ngày 22 tháng 2 năm 2022

GIỚI HẠN ĐỀ TÀI:

Giao thức Modbus RTU

Trang 3

MỤC LỤC

I, GIỚI THIỆU VỀ MODBUS RTU 4

II, TÀI NGUYÊN MODBUS RTU 4

1, Lịch sử Modbus RTU 4

2, Tại sao Modbus lại phổ biến như vậy? 5

III, Giao tiếp Modbus RTU 5

1, Giao thức Modbus 5

2, Modbus RTU 6

Cách Modbus RTU thực hiện truyền thông 7

Hình 3: Truyền thông Master – Slave 7

Cấu trúc bản tin Modbus RTU 7

Đọc dữ liệu: 8

Ghi dữ liệu: 8

Địa chỉ Modbus RTU 8

Modbus master address (S7-200) 8

Địa chỉ modbus slave 8

Việc sử dụng cấu trúc modbus master 9

Sử dụng MODBUS slave instruction 9

3, Nguyên tắc hoạt động của MODBUS RTU 10

Đọc và viết dữ liệu 11

4, Biểu diễn dữ liệu Modbus RTU 12

IV So sánh các loại ModBus 13

V Ưu và nhược điểm 13

 Ưu điểm của Modbus RTU 13

 Nhược điểm của Modbus RTU 14

VI, Ứng dụng của Modbus RTU 14

1, Ứng dụng Modbus RTU trong công nghiệp 14

2, Cách kết nối Master – Slave Modbus RTU 15

Trang 4

I, GIỚI THIỆU VỀ MODBUS RTU

Modbus RTU là một giao thức nối tiếp mở có nguồn gốc từ kiến trúc Master / Slave ban đầu được phát triển bởi Modicon (nay là Schneider Electric) Nó là một giao thức mức nối tiếp được chấp nhận rộng rãi do dễ sử dụng và đáng tin cậy Modbus RTU được sử dụng rộng rãi trong Hệ thống Quản lý Tòa nhà (BMS) và Hệ thống Tự động hóa Công nghiệp (IAS)

Các bản tin Modbus RTU là một cấu trúc 16-bit đơn giản với CRC (Cyclic Redundant Checksum) Sự đơn giản của những thông điệp này là đảm bảo độ tin cậy Do tính đơn giản này, cấu trúc thanh ghi Modbus RTU 16 bit cơ bản có thể được sử dụng để đóng gói dưới dạng dấu phẩy động, bảng, văn bản ASCII, hàng đợi và các dữ liệu không liên quan khác

Giao thức này chủ yếu sử dụng giao diện nối tiếp RS-232 hoặc RS-485 để truyền thông và được hỗ trợ cho mọi chương trình phần mềm thu thập dữ liệu SCADA, HMI, OPC Server và chương trình thu thập dữ liệu thương mại trên thị trường Điều này giúp bạn rất dễ dàng tích hợp thiết bị tương thích Modbus vào các ứng dụng điều khiển và giám sát mới hoặc hiện có

II, TÀI NGUYÊN MODBUS RTU

1, Lịch sử Modbus RTU

Modbus bắt nguồn trong cuối những năm 70 thế kỷ trước Năm 1979 khi nhà sản xuất PLC Modicon giờ là tập đoàn Schneider Electric's Telemecanique phát hành giao diện truyền thông Modbus cho mạng multidrop dựa trên kiến trúc master/client Truyền thông giữa các Modbus node có được bằng các thông điệp Nó là một chuẩn mở mà được

mô tả bằng cấu trúc thông điệp Modbus interface ban đầu chạy trên RS-232, nhưng các thực hiện Modbus sau nhất dùng RS-485 vì nó cho phép khoảng cách lớn, tốc độ cao và khả năng của một mạng multi-drop thực sự Trong thời gian ngắn hàng trăm nhà sản xuất thực hiện hệ thống thông điệp

Modbus RTU là một tiêu chuẩn mở, có nghĩa là các nhà sản xuất có thể xây dựng

nó vào thiết bị của họ mà không phải trả tiền bản quyền Đây là giao thức truyền thông phổ biến nhất trong tự động hóa công nghiệp và hiện là phương tiện phổ biến nhất hiện

có để kết nối các thiết bị điện tử công nghiệp

Modbus được sử dụng rộng rãi bởi nhiều nhà sản xuất trong nhiều ngành công nghiệp Modbus thường được sử dụng để truyền dữ liệu từ thiết bị điều khiển đến bộ điều

Trang 5

khiển logic hoặc hệ thống lưu trữ dữ liệu Ví dụ, trong tự động hóa tòa nhà, nhiệt độ và

độ ẩm thường được giao tiếp với máy tính để lưu trữ lâu dài Modbus thường được sử dụng để kết nối máy tính giám sát với thiết bị đầu cuối từ xa (RTU) trong hệ thống điều khiển giám sát và thu thập dữ liệu (SCADA)

2, Tại sao Modbus lại phổ biến như vậy?

Modbus được tạo ra bởi một trong những nhà sản xuất PLC lớn nhất tại thời điểm

đó và làm cho nó mở và phổ biến rộng rãi Modbus cũng yêu cầu rất ít về không gian mã

bộ xử lý hoặc RAM Mặc dù ngày nay điều này không còn quan trọng với các bộ vi xử lý

và công nghệ mạnh mẽ có sẵn cho chúng ta, nhưng nó rất quan trọng trong những năm đầu của quá trình tự động hóa công nghiệp khi các bộ xử lý sử dụng công nghệ 8-bit và các tài nguyên như RAM và ROM cực kỳ đắt đỏ và khan hiếm

Kiểm tra tin nhắn là một lý do tại sao Modbus đã trở nên phổ biến Kiểm tra CRC

và LRC có nghĩa là lỗi đường truyền được kiểm tra chính xác đến 99%

III, Giao tiếp Modbus RTU

1, Giao thức Modbus

Modbus hay 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 giữa các thiết bị kết nối trong nhiều loại bus hoặc mạng khác nhau Modbus được Modicon (nay là Schneider Electric) xuất bản vào năm 1979 để sử dụng với các bộ PLC của chính hãng này.Modbus sau đó đã trở thành một giao thức truyền thông tiêu chuẩn de facto và là một phương tiện phổ biến để kết nối các thiết bị điện tử công nghiệp

Cấu trúc thông điệp của Modbus

Hình 1: Cấu trúc nối mạng Modbus

Trên RS232 gởi các thông điệp tương tự như được dùng trên Modbus/TCP qua ethernet Gọi là Modbus interface Protocol có thể dùng không quan tâm kiểu kết nối Vì điều này, Modbus cho khả năng dễ dàng nâng cấp cấu trúc phần cứng của mạng công

Trang 6

nghiệp, không cần thay đổi lớn trong phần mềm Một thiết bị cũng có thể truyền thông với vài Modbus node một lúc, dù chúng được nối với các kiểu giao diện khác nhau, không cần dùng protocol khác cho mỗi kết nối

Trên các giao diện đơn giảng giống RS485 hay RS232, các thông điệp Modbus được gửi theo dạng đơn giản trên mạng Các hệ thống mạng linh hoạt hơn như TCP/IP qua ethernet, các thông điệp Modbus như nhúngtrong các gói với định dạng cần thiết cho giao diện vật lý Trong trường hợp đó Modbus và các kiểu kết nối khác có thể cùng tồn tại ở cùng giao diện vật lý ở cùng lúc Mặc dù cấu trúc thông điệp Modbus chính là peer-to-peer (ngang hàng), Modbus có thể kết nối thành cả mạng point-to-point và multidrop Gởi đi bằng các thông điệp

Bốn thành phần cơ bản có mặt trong mỗi thông điệp Cuối các thành phần này là giống nhau cho tất cả thông điệp, để dễ dàng xác định nội dung của Modbus message Một hộp thoại luôn được bắt đầu bởi một master trong mạng Modbus Modbus master gửi một message phụ thuộc vào nội dung của message—slave tác động và đáp ứng với

nó Có thể có nhiều master trong một Modbus network Địa chỉ trong message header được dùng để định nghĩa device mà sẽ đáp ứng với message Tất cả các node trong Modbus network bỏ qua message nếu address field không thỏa mẵn address riêng của chúng

Các dạng modbus phổ biến nhất được dử dụng ngày nay là:

- Modbus/ASCII

- Modbus/RTU

- Modbus/TCP

Hình 2: Một số kết nối khác

2, Modbus RTU

Giao thức Modbus RTU là một giao thức mở Sử dụng đường truyền vật lý

RS-232 hoặc RS485 tốc độ từ 1200 đến 115000 baud Giao thức Modbus RTU sử dụng kỹ thuật Master / Slave để giao tiếp giữa các thiết bị Có nghĩa là, bất kỳ ứng dụng nào sử

Trang 7

dụng giao thức Modbus RTU sẽ có một Modbus Master và ít nhất một Modbus Slave Modbus Master thường là một máy tính giám sát máy chủ chạy phần mềm sẽ giao tiếp với một hoặc nhiều thiết bị Modbus Slave

Cách Modbus RTU thực hiện truyền thông

Như đã nói ở trên, Modbus có mô hình dạng Master – Slave Mỗi thiết bị trong mạng modbus được cung cấp một địa chỉ duy nhất Như các thiết bị đo, cảm biến: Cảm biến Pt100, Cảm biến áp suất, cảm biến báo mức sử dụng sóng Radar Trong frame truyền từ Master đến các Slave có chứa ID định danh của thiết bị slave (1 đến 247) Tất

cả các Slave đều nhận, nhưng chỉ có thiết bị nào có cùng ID trong frame truyền mới phản hồi về Master

Hình 3: Truyền thông Master – Slave

Cấu trúc bản tin Modbus RTU

Một bản tin Modbus RTU bao gồm: 1 byte địa chỉ - 1 byte mã hàm - n byte dữ liệu - 2 byte CRC như hình ở dưới:

Hình 4: Bản tin Modbus

Chức năng và vai trò cụ thể như sau:

Trang 8

Byte địa chỉ: xác định thiết bị mang địa chỉ được nhận dữ liệu (đối với Slave)

hoặc dữ liệu nhận được từ địa chỉ nào (đối với Master) Địa chỉ này được quy định từ 0 – 254

Byte mã hàm: được quy định từ Master, xác định yêu cầu dữ liệu từ thiết bị

Slave Ví dụ mã 01: đọc dữ liệu lưu trữ dạng Bit, 03: đọc dữ liệu tức thời dạng Byte, 05: ghi dữ liệu 1 bit vào Slave, 15: ghi dữ liệu nhiều bit vào Slave

Byte dữ liệu: xác định dữ liệu trao đổi giữa Master và Slave.

Đọc dữ liệu:

- Master: 2 byte địa chỉ dữ liệu - 2 byte độ dài dữ liệu

- Slave: 2 byte địa chỉ dữ liệu - 2 byte độ dài dữ liệu - n byte dữ liệu đọc được

Ghi dữ liệu:

- Master: 2 byte địa chỉ dữ liệu - 2 byte độ dài dữ liệu - n byte dữ liệu cần ghi

- Slave: 2 byte địa chỉ dữ liệu - 2 byte độ dài dữ liệu

- Byte CRC: 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

Địa chỉ Modbus RTU

Hình 5: Chế độ truyền RTU

Thông tin đầu tiên trong mỗi Modbus message là địa chỉ của receiver Thông số này chứa một byte thông tin Trong Modbus/RTU một byte được dùng Các địa chỉ hợp

lệ trong dải 0 247 Các giá trị 1.247 được gán cho các thiết bị Modbus slave cụ thể và 0 được dùng như địa chỉ broadcast Các Message được gửi sau sẽ được nhận bởi tất cả slave Một slave luôn đáp ứng với một Modbus message Khi đáp ứng nó dùng cùng địa chỉ như master trong request đó Theo cách này master có thể thấy device thực sự đáp ứng với yêu cầu

Modbus master address (S7-200 )

- 00001-09999 là các ngõ ra riêng biệt

- 10001-19999 là các ngõ vào riệng biệt

- 30001-39999 là các thanh ghi ngõ vào

- 40001-49999 là các thanh ghi holding

Trang 9

Địa chỉ modbus slave

- 00001-00128 ngõ ra riêng biệt tương ứng từ Q0.0-Q15.7

- 10001-10128 ngõ ra riêng biệt tương ứng từ I0.0-I15.7

- 30001-30032 thanh ghi ngõ vào tương tự tương ứng từ AIW0-AIW62

- 40001-04XXXX thanh ghi holding tương ứng vùng nhớ V

Hình 6: Địa chỉ Việc sử dụng cấu trúc modbus master

MBUS_CTRL thực hiện sau mỗi vòng quét, sử dụng MBUS_CTRL để bắt đầu hay thay đỗi thông số truyền nhận Modbus master intruction chỉ những dòng để đọc hay viết vào địa chỉ đặt biệt của modbus.Modbus slave cần được hỗ trợ yêu cầu chức năng để đọc hay viết địa chỉ đặc trưng modbus

Hình 7: Địa chỉ

Trang 10

Sử dụng MODBUS slave instruction

Chọn khối MBUS-INIT thực hiện sau mỗi vòng quét, sử dụng MBUS_INIT để bắt đầu hay thay đỗi thông số truyền nhận Cấu trúc MODBUS SLAVE hỗ trợ giao thức modbus RTU

Hình 8: Cấu trúc MODBUS SLAVE hỗ trợ giao thức modbus RTU

- Mode = 1 đăng kí port 0 để giao thức modbus và giao thức cho phép,

- Mode = 0 đăng kí port 0 với PPI và giao thức modbus không sẵn sàng

- Delay điều kiện kết thúc message

Thông số bound đưa lên 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200

Để xây dựng đơn vị dữ liệu ứng dụng Modbus, khách hàng phải bắt đầu một giao dịch Modbus Đây là chức năng thông báo cho máy chủ biết loại hành động nào cần thực hiện Định dạng của một yêu cầu do Master khởi tạo được thiết lập bởi giao thức ứng dụng Modbus Trường mã chức năng sau đó được mã hóa thành một byte Chỉ các mã trong phạm vi từ 1 đến 255 được coi là hợp lệ, 128-255 được dành riêng cho các phản hồi ngoại lệ Khi Master gửi một thông báo đến Slave, nó là trường mã chức năng thông báo cho máy chủ về loại hành động cần thực hiện

Để xác định nhiều hành động, một số chức năng sẽ có mã chức năng phụ được thêm vào chúng Ví dụ, Master có thể đọc các trạng thái ON / OFF của một nhóm đầu ra hoặc đầu vào kín đáo Nó cũng có thể đọc / ghi nội dung dữ liệu của một nhóm thanh ghi MODBUS Khi Master nhận được phản hồi của Slave, trường mã chức năng được Slave

sử dụng để chỉ ra phản hồi không có lỗi hoặc phản hồi ngoại lệ Slave phản hồi lại yêu cầu của mã chức năng ban đầu trong trường hợp phản hồi bình thường

3, Nguyên tắc hoạt động của MODBUS RTU

Để kết nối với thiết bị tớ, chủ sẽ gửi một thông điệp có:

Trang 11

- Địa chỉ thiết bị

- Mã chức năng

- Dữ liệu

- Kiểm tra lỗi

Địa chỉ thiết bị là một con số từ 0 đến 247 Thông điệp được gửi tới địa chỉ 0 (truyền thông điệp) có thể dược tất cả các tớ chấp nhận, nhưng các con số từ 1-247 là các địa chỉ của các thiết bị cụ thể Với ngoại lệ của việc truyền thông điệp, một thiết bị tớ luôn phản ứng với một thông điệp MODBUS do đó chủ sẽ biết rằng thông điệp đã được nhận

Yêu cầu

Mã chức năng

01 Đọc cuộn cảm

02 Đọc đầu ra rời rạc

03 Đọc bộ ghi phần

04 Đọc bô ghi đầu vào

05 Viết cuộn cảm đơn

06 Viết bộ ghi đơn

07 Đọc trạng thái ngoại lệ

08 Chẩn đoán

x x

255 Mã chức năng, phụ thuộc vào thiết bị

Dữ liệu xác định địa chỉ trong bộ nhớ thiết bị hay chứa các giá trị dữ liệu được viết trong bộ nhớ thiết bị, hay chứa các thông tin cần thiết khác mang chức năng như yêu cầu

Kiểm tra lỗi là một giá trị bằng số 16 bit biểu diễn kiểm tra dự phòng tuần hoàn (CRC) CRC được thiết bị chủ tạo ra và thiết bị tiếp nhận kiểm tra Nếu giá trị CRC không thỏa mãn, thiết bị đòi hỏi truyền lại thông điệp này

Khi thiết bị tớ thực hiện các chức năng theo yêu cầu, nó sẽ gửi thông điệp cho chủ Thông điệp chứa địa chỉ của tớ và mã chức năng, dữ liệu theo yêu cầu, và một giá trị kiểm tra lỗi

Đọc và viết dữ liệu

MODBUS có tới 255 mã chức năng, nhưng 1 (cuộn cảm đọc), 2 (đầu vào rời rạc đọc), 3 (bộ ghi Holding đọc), và 4 (bộ ghi đầu vào đọc) là các chức năng đọc được sử dụng phổ biến nhất để thu thập dữ liệu từ các thiết bị tớ Thí dụ, để đọc 3 từ 16 bit dữ liệu analog từ bản đồ bộ nhớ của thiết bị 5, chủ sẽ gửi một yêu cầu như sau:

5 04 2 3 CRC

Trang 12

Trong đó, 5 là địa chỉ thiết bị, 4 đọc bộ ghi đầu vào, 2 là địa chỉ khởi đầu (địa chỉ 30,002) 3 có nghĩa là để đọc 3 giá trị dữ liệu kề nhau xuất phát từ đại chỉ 30,002, và CRC là giá trị kiểm tra lỗi thông điệp này Thiết bị tớ, ngoài việc nhận dữ liệu này, sẽ gửi lại một trả lời như sau:

5 04 aa bb cc CRC

Hình 9: Kết nối dây home run so với MODBUS

Trong hầu hết các nhà máy, các thiết bị đo hiện trường kết nối với hệ thống điều khiển với từng cặp dây xoắn home run (dưới) Khi các công cụ đo được kết nối dây với

hệ thống I/O phân tán như NCS của Moore Industries (giữa), có nhiều thiết bị sẽ được bổ sung, nhưng chỉ có một cặp dây xoắn đơn cần để truyền tất cả dữ l

4, Biểu diễn dữ liệu Modbus RTU

Giống như mọi thứ khác về Modbus, việc biểu diễn dữ liệu rất đơn giản Trên thực

tế, dữ liệu được biểu diễn trong Modbus đơn giản hơn bất kỳ giao thức công nghiệp nào khác mà bạn từng tìm thấy Bit ít quan trọng nhất được gửi và nhận trước Tất cả các thiết

bị trong mạng phải diễn giải từng byte được truyền một cách tương tự theo cách này

Ngày đăng: 23/05/2022, 17:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w