TIỂU LUẬN MÔN MẠNG TRUYỀN THÔNG CÔNG NGHIỆP ĐỀ TÀI TÌM HIỂU GIAO THỨC MODBUS-ASCII - Pdf 25

ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ ĐIỆN TỬ
TIỂU LUẬN MÔN MẠNG TRUYỀN THÔNG CÔNG NGHIỆP
ĐỀ TÀI:
TÌM HIỂU GIAO THỨC MODBUS/ASCII
GVHD : Th.S TRẦN VĂN TRINH
SVTH :
BÙI XUÂN VINH - 077166541
I. Giới thiệu đề tài.
1. Định nghĩa Modbus :
Modbus là một giao thức do hãng Modicon (sau này thuộc AEG và Schnelder
automation) phát triển. theo mô hình ISO/OSI(International Organization for
Standardization/Open Systems Interconnection Reference Model: Tổ chức tiêu chuẩn hóa
quốc tế/Mô hình tham chiếu kết nối các hệ thống mở thì Modbus thực chất là một giao
thức và dịch vụ thuộc lớp ứng dụng. Có thể vận chuyển cấp thấp như TCP/MAP
(Manufacturing Message Protocol), Modbus Plus và đường truyền nối tiếp RS-232.
Modbus định nghĩa một tập hợp rộng các dịch vụ phục vụ trao đổi dữ liệu quá
trình, dữ liệu điều khiển và dữ liệu chuẩn đoán. Mudbus mô tả quá trình giao tiếp giữa
một bộ điều khiển với các thiết bị khác thông qua cơ chế yêu cầu/đáp ứng.
Ví dụ: Trong mỗi ứng dụng PLC người ta cũng có thể tìm thấy một tập hợp con
các dịch vụ đã đưa ra trong Modbus. Đặt biệt trong các hệ thống thu thập dữ liệu và điều
khiển giám sát(Scada). Modbus hay được sử dụng trên các đường truyền RS-232 ghép
nối giữa các thiết bị đầu cuối (PLC, PC) với thiết bị truyền dữ liệu (Modem). Hình ảnh
minh họa.
2. Cơ chế giao tiếp:
Modbus phụ thuộc vào hệ thống truyền thông cấp thấp. Được chia làm hai loại là
mạng Modbus chuẩn và Mudbus trên các mạng khác(vi dụ: TCP/IP, Modbus Plus, MAP).
2.1. Mạng Modbus chuẩn:
- Các trạm Modbus giao tiếp với nhau qua cơ chế chủ/tớ(Master/Slave), trong đó
chỉ một số thiết bị chủ có thể gửi yêu cầu, còn các thiết bị tớ sẽ đáp ứng yêu cầu trả lại
hoặc thực hiện một hành động nhất định theo yêu cầu. Các thiết bị chủ là các máy tính

chính của chế độ truyền này so với chế độASCII là hiệu suất cao hơn. Tuy nhiên ,
mỗi thông báo phải được truyền thành một dòng liên tục. Cấu trúc một kí tự khung
gửi đi được thể hiện như sau :
Mỗi ký tự khung bao gồm :
· 1 bit khởi đầu (Start bit)
· 8 bit của byte thông báo cần gửi, trong đó bit thấp nhất được gửi đi trước
· 1 bit parity chẵn /lẻ, nếu sử dụng parity
1 bit kết thúc (Stop bit) nếu sử dụng parity hoặc 2 bit kết thúc nếu không sử dụng
parity
Ví dụ khung yêu cầu dữ liệu và khung trả lời
• Khung ASCII:
- Trong một bức điện gửi giao thức Modbus (chế độ truyền ASCII) , khung
thông báo bắt đầu bằng kí tự ":", tiếp đến là địa chỉ thiết bị, mã hàm, mã
kiểm lỗi LRC và kết thúc bởi hai kí tự CR và LF .
- Bức điện trả lời ngoài các thông tin giống như bức điện gửi sẽ kèm thêm
vào đó các thông tin được yêu cầu
4. Cấu trúc bức điện
Khung ASCII
5. Các đối tượng của Modbus ASCII
 Modbus được sử dụng trên các đường truyền thông dây dẫn, cũng có các mở rộng
cho các chuẩn truyền thông không dây và các mạng TCP/IP.
Khởi đầu Địa chỉ Mã hàm Dữ liệu Mã LCR Kết thúc
1 Ký tự 2 Ký tự 2 Ký tự N Ký tự 2 Ký tự 2 Ký tự
 Sử dụng trong mạng công nghiệp, trong công ty, nhà máy….
Ví dụ: Các hệ PLC trong nhà máy sản xuất (trong mỗi PLC người ta có thể tìm thấy một
tập hợp con các dịch vụ đã đưa ra trong Modbus)
- Đặc biệt trong trong các hệ thống SCADA. Modbus được sử dung trên các đường
truyền RS-232 ghép nối giữa các thiết bị đầu cuối (PLC, PC) với các thiết bị truyền dữ
liệu.
 Kết nối các thiết bị MODBUS

đỏ đòi hỏi tái lập trình sâu hơn. Trong trường hợp đó, giải pháp peer – to –peer là hoàn
hảo nhất. Thí dụ, CCS (hệ thống tập trung cáp) và NCS của Moore Industries đều có tính
năng truyền thông peer – to – peer.
- NCS và CCS đều tương tự một module I/O, nhưng có một bộ phận thu thập thông tin
bên trong và có thể được thiết lập trong cấu hình peer-to-peer và peer-to-host.
- Với hệ thống NCS peer-to-peer (hình 5), hai bộ tập trung được sử dụng: một trong hiện
trường và một trong phòng điều khiển. Công cụ hiện trường kết nối với NCS - thiết bị kết
nối với phòng điều khiển NCS bằng một kết nối cặp dây xoắn đơn. Đầu ra từ phòng điều
khiển NCS được nối với panel I/O analog hiện có của hệ thống điều khiển. Bằng cách
này, tín hiệu analog từ bộ truyền hiện trường thế hệ mới có thể được quan sát theo trạng
thái analog gốc thông qua card I/O analog hiện tại của nhà máy. Điều này làm cho việc
lập trình và đưa tín hiệu mới vào hoạt động trở nên bớt khó khăn hơn việc lập trình card
giao diện số mới. Giải pháp peer-to-peer có thể cung cấp truyền thông hai chiều trong dó
cả hai chiều của hệ thống có thể có cả đầu vào và đầu ra.
Hình 5: Kết nối
peer-to-peer
Trong một số trường hợp, hệ thống điều khiển không thể xử lí tín hiệu MODBUS, giải pháp peer-
to-peer
với hai hệ thống NCS sẽ thay thế tất cả nối dây home run với 1 cáp MODBUS đơn. Đầu ra
analog từ
phòng điều khiển NCS được nối trực tiếp với card I/O của hệ thống host.
 - Ưu điểm & ứng dụng:
- Với MODBUS ASCII, mọi thông điệp được mã hóa bằng hexadecimal, sử dụng đặc
tính ASCII 4 bit. Đối với mỗi một byte thông tin, cần có 2 byte truyền thông.
- Vì vậy thích hợp khi modem điện thoại hay kết nối sử dụng sóng radio do ASC II sử
dụng các tính năng phân định thông điệp,. Do 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. Điều này quan
trọng khi đề cập đến các modem chậm, điện thoại di động….
- Điểm mạnh của Modbus là tính mở, đơn giản và yêu cầu phần cứng ít nhất
-Điều tốt của chuẩn Modbus là sự linh hoạt, và sự dễ thực hiện của nó. Không chỉ các

đang đến và bộ đệm nhận được làm sạch. Thuận lợi chính của Modbus/ASCII là, nó cho
phép các khe giữa các byte của một message có độ dài tối đa 1 giây. Với Modbus/RTU nó
cần nhận mỗi message như một stream liên tục.
Các thuộc tính của Modbus/ASCII và Modbus/RTU
Modbus/ASCII Modbus/RTU
Ký tự ASCII 0 9 and A F Binary 0 255
Error check
LRC Longitudinal Redundancy
Check
CRC Cyclic Redundancy
Check
Frame start character ':' 3.5 chars silence
Frame end characters CR/LF 3.5 chars silence
Các Gap trong
message
1 sec 1.5 times char length
Start bit 1 1
Data bits 7 8
Parity even/odd none even/odd none
Stop bits 1 2 1 2
7. Địch chỉ Modbus
Thông tin đầu tiên trong mỗi Modbus message là địa chỉ của receiver. Parameter này
chứa một byte thông tin. Trong Modbus/ASCII nó được mã thành hai ký tự hexadecimal,
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 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 request.
Bên trong một Modbus device, các holding register, các input và các output được gán
một số giữa 1 và 10000. Một sẽ mong đợi, rằng cùng địa chỉ được dùng trong các

request. Tuy nhiên, khi một error được dò, bit cao nhất của mã chức năng được bật lên.
Theo cách đó master có thể thấy khác biệt giữa đáp ứng thành công và thất bại.
Các mã chức năng Modbus phổ biến
Mã Mô tả
01 Đọc trạng thái coil
02 đọc trạng thái input
03 Đọc các holding register
04 Đọc các input register
05 Tác động một coil
06 Đặt lại một register
07 Đọc trạng thái ngoại lệ
15 Tác động nhiều coil
16 Đặt lại nhiều register
17 Báo cáo slave ID
Chức năng 01: Đọc trạng thái coil
Trong ngôn ngữ Modbus, một coil là một giá trị output rời rạc. Chức năng Modbus 01 có
thể được dùng để đọc trạng thái của một output. Chỉ có thể truy vấn một device ở một
thời điểm. Địa chỉ Broadcast được hỗ trợ chức năng Modbus này. Chức năng này có thể
được dùng để request trạng thái của các coil khác nhau một lúc. Điều này được làm bởi
định nghĩa một dải output trong trường data của message.
Cấu trúc truy cấn chức năng 01
Byte Giá trị Mô tả
1 1 247 Địa chỉ thiết bị Slave
2 1 Mã chức năng
3 0 255 Địa chỉ bắt đầu, byte cao
4 0 255 Địa chỉ bắt đầu, byte thấp
5 0 255 Số các coil, byte cao
6 0 255 Số các coil, byte thấp
7( 8) LRC/CRC Giá trị kiểm tra Error
Khi nhận một Modbus query message có chức năng 01, slave thu thập các giá trị output

dài của message phụ thuộc vào số các giá trị input trả về. Điều này làm cho chiều dài của
output message thay đổi. Số các databyte trong data field mà chứa các giá trị input được
chuyển như byte đầu tiên trong data field. Mỗi message trả lời Modbus có cấu trúc chung
sau.
Cấu trúc trả lời Function 02
Byte Value Mô tả
1 1 247 Địa chỉ thiết bị Slave
2 2 Function code
3 0 255 Số các data byte N
4 N+3 0 255 Bit pattern of input values
N+4( N+5) LRC/CRC Error check value
Function 03: Đọc các holding register
Các giá trị bên trong một Modbus device được lưu trong các holding register. Các
register này có chiều rông hai byte và có thể được dùng cho các mục đích khác nhau. Vài
register chứa các tham số cấu hình trong khi những cái khác được dùng cho các giá trị đo
lường được trả về (nhiệt độ ) cho host. Các Register trong thiết bị tương thích Modbus
bắt đầu đếm ở 40001. Chúng được đánh địa chỉ trong cấu trúc thông điệp Modbus với địa
chỉ bắt đầu ở 0. Modbus function 03 được dùng để yêu cầu một hay nhiều giá trị thanh
ghi holding từ một device. Chỉ một slave device có thể được đánh địa chỉ trong một query
đơn. Các query Broadcast với function 03 không được hỗ trợ.
Cấu trúc query Function 03
Byte Value Mô tả
1 1 247 Slave device address
2 3 Function code
3 0 255 Starting address, high byte
4 0 255 Starting address, low byte
5 0 255 Number of registers, high byte
6 0 255 Number of registers, low byte
7( 8) LRC/CRC Error check value
Sau khi xử lý query, Modbus slave trả về các giá trị 16 bit của các holding register được


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status