MOSBUS SLAVE LẬP TRÌNH CÀI ĐẶT CHO MẠNGGiới thiệu về Modbus: - MODBUS là một hệ thống “chủ - tớ”, “chủ” được kết nối với một hay nhiều “tớ”.. “Tớ” MODBUS RTU thường là các thiết bị hiện
Trang 1MOSBUS SLAVE LẬP TRÌNH CÀI ĐẶT CHO MẠNG
Giới thiệu về Modbus:
- MODBUS là một hệ thống “chủ - tớ”, “chủ” được kết nối với một hay nhiều “tớ” “Chủ” thường là một PLC, PC, DCS, hay RTU “Tớ”
MODBUS RTU thường là các thiết bị hiện trường, tất cả được kết nối với mạng trong cấu hình multi-drop
- Khi một chủ MODBUS RTU muốn có thông tin từ thiết bị, chủ sẽ gửi một thông điệp về dữ liệu cần, tóm tắt dò lỗi tới địa chỉ thiết bị Mọi thiết bị khác trên mạng sẽ nhận thông điệp này nhưng chỉ có thiết bị nào được chỉ định mới có phản ứng
Trang 2HC900 controller cung cấp phương tiện truyền thông trên 3 truyền thông:
• Network port: Modbus TCP qua kết nối Ethernet
• RS232 port: Modbus RTU
• RS485 port: Modbus RTU MODBUS TCP đơn giản là MODBUS qua Ethernet Sử dụng các địa chỉ IP để kết nối tới các thiết bị tớ Với MODBUS/TCP, dữ liệu
MODBUS được tóm lược đơn giản trong một gói TCP/IP Do đó, bất cứ
mạng Ethernet hỗ trợ MODBUS/ IP sẽ ngay lập tức hỗ trợ
MODBUS/TCP
Đối với MODBUS RTU, dữ liệu được mã hóa theo hệ nhị phân,
và chỉ cần một byte truyền thông cho một byte dữ liệu Đây là thiết bị lí
tưởng đối với RS 232 hay mạng RS485 đa điểm, tốc độ phổ biến nhất là
9600 đến 19200 baud
Trang 3MOSBUS SLAVE LẬP TRÌNH CÀI ĐẶT CHO MẠNG
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 4 Đị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ể đượ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ể
Mã chức năng : là từ 1 – 255 Một số mã chức năng còn có các mã chức năng phụ
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)
Trang 5MOSBUS SLAVE LẬP TRÌNH CÀI ĐẶT CHO MẠNG
Trang 6Trong đó, 5 là địa chỉ thiết bị, 04 đọ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ừ
địa 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
Trang 7
MOSBUS SLAVE LẬP TRÌNH CÀI ĐẶT CHO MẠNG
Giới hạn ứng dụng cho hệ thống sử dụng HC900 cần những mã chức năng sau:
Trang 8Jun 2009 slide 8
Giả sử chúng ta cài đặt cho các thiết bị ở mã chức năng số 1 chẳng hạn:
Function Code 01 – Read Digital Output Status/Đọc trạng thái ngõ ra số
Mô tả:
Mã chức năng 01 được sử dụng để đọc những ngõ ra số ở trạng thái
ON/OFF của HC900 sử dụng 16bit địa chỉ cho dữ liệu DO và dữ liệu thì
phản hồi định dạng mã nhị phân ở trong các bytes
Query (hỏi): Ví dụ: Đọc kênh dữ liệu DO từ 1 đến 16, vị trí Rack #1, Slot #1;
từ controller tới 1 địa chỉ slave :
Trang 9Trạng thái được chỉ báo là : 1 = ON ; 0 = OFF
Giả sử ta có ví dụ đáp ứng: DO ở kênh 2 và 6 vị trí trong Rack #1, Slot #1 thì ON; tất cả còn lại OFF:
Trang 10Ở bên trong thông điệp đáp ứng của DO 1-8 hiện thị số 22 hex, hoặc
0010 0010 binary DO 8 là bít MSB của byte, và DO 1 là bít LSB Tính từ trái
qua phải, trạng thái của DO 8 - 1 là: OFF-OFF-ON-OFF-OFF-OFF-ON-OFF
Trạng thái của DOs 9 - 16 là 00 hex, hoặc 0000 0000 binary ,sự sắp xếp thứ
tự bít cũng tương tự ở trên
Trang 13
Chương 3: Phần mềm lập trình và cách cài đặt cho mạng
Tổng số Slot tối đa là 16 nên ta có các bảng sau:
Trang 15
Chương 3: Phần mềm lập trình và cách cài đặt cho mạng
Tổng số Slot tối đa là 16 nên ta có các bảng sau:
Trang 17MOSBUS SLAVE LẬP TRÌNH CÀI ĐẶT CHO MẠNG
Chúng ta có thể dựa vào các nguyên tắc để cài đặt cho các thiết bị từ
mã chức năng khác như :
Function Code 02 - Read Digital Input Status
Function Codes 03- Read Holding (Data) Registers
…
…
Thông tin chi tiết : Tài liệu HC900 Hybrid Controller Communications User Guide
Trang 18Sau khi đã tìm hiểu các mã chức năng và địa chỉ của các thiết bị được quy
định trong các Racks I/O ta sử dụng 2 phần mềm:
để mô phỏng và kiểm tra cài đặt mạng
Trang 19MOSBUS SLAVE LẬP TRÌNH CÀI ĐẶT CHO MẠNG
Modbus Poll: là 1 phần mềm mô phỏng Modbus master thiết kế để giúp đỡ
những phát triển kết nối tới Modbus slave hoặc muốn kiểm tra và mô phỏng Modbus protocol
Trang 20Chúng ta muốn đọc 20 holding registers từ địa chỉ 40011 (10).
- Slave ID = ID của thiết bị
- Function = 03 Read Holding Registers
- Address = 10 (Protocol address)
- Quantity = 20
- Scan Rate = 1000 (thời gian Scan hay Poll địng mức 1000ms)
3 Thay đổi giá trị vừa nhập
Trình tự thực hiện mô phỏng:
Trang 21MOSBUS SLAVE LẬP TRÌNH CÀI ĐẶT CHO MẠNG
Modbus Slave: hỗ trợ mô phỏng tới 32 thiết bị trong 32 cửa sổ thao tác
Trang 22Chúng ta muốn mô phỏng 20 holding registers từ địa chỉ 40011 (10).
- Slave ID = ID của thiết bị
- Function = 03 Read Holding Registers
- Address = 10 (Protocol address)
- Quantity = 20
3 Thay đổi giá trị vừa nhập…
Trình tự thực hiện mô phỏng: