You are on page 1of 11

A.

MẠNG MODBUS

1. Giới thiệu.
Mạng modbus sử dụng giao thức modbus để giao tiếp giữa các thiết bị truyền
thông. Modbus có 2 giao tiếp đó là giao tiếp nối tiếp (rs 232 or rs485) và giao tiếp thông
qua TCP ( giao tiếp thông qua IP).
2. Master và slave trong mạng modbus.
Mạng modbus chỉ sử dụng 1 master và có thể điều khiển đến 247 slave. Modbus
chỉ truyền thông theo một hướng có nghĩa là trong mạng modbus chỉ có master mới có
quyền yêu cầu thông tin từ slave, slave không khả năng yêu cầu master truyền hay nhận
dữ liệu.
3. Cấu trúc bức điện trong modbus: gồm có 4 phần như sau:
- Địa chỉ của slave
- Mã xác định loại thông tin truyền, nhận.
- Khối dữ liệu
- Mã kiểm tra lỗi.
4. Mã hóa dữ liệu trong mạng modbus.
Modbus được mã hóa theo 2 dạng Modbus ASCII và Modbus RTU.

5. Địa chỉ ngõ vào, ngõ ra, và thanh ghi theo chuẩn modbus.

Chú thích:
Địa chỉ từ 1 đến 10000 biểu diễn cuộn dây ngõ ra
Địa chỉ từ 10001 đến 20000 biểu diễn ngõ vào
Địa chỉ từ 40001 đến 50000 biểu diễn thanh ghi lưu trữ.
Tuy nhiên số lượng ngõ vào, ngõ ra và thanh ghi nhiều hay ít là tùy thuộc vào loại thiết bị
6. Mã hàm truy xuất dữ liệu theo chuẩn modbus.
Khi truy xuất đến các thanh ghi ngõ vào, ngõ ra, thanh ghi lưu trữ thì mỗi thanh
ghi có một mã hàm truy xuất riêng. Bảng sau mô tả một số mã hàm thường sử dụng.

6.1 Mã hàm đọc ngõ ra.


Master gởi yêu cầu đến slave để đọc trạng thái của các ngõ ra theo yêu cầu. Slave
nhận được yêu cầu và gởi đáp ứng đến master. Mã hàm yêu cầu và trả lời được cấu trúc
như sau:
Mã hàm yêu cầu.

Mã hàm trả lời.


* LRC/CRC: Longitudinal Redundancy Check/ Cyclic Redundancy Check ( Kiểm tra dư
thừa dọc và kiểm tra dư tuần hoàn)
6.2 Mã hàm đọc ngõ vào.
Cấu trúc bức điện yêu cầu.

Bức điện đáp ứng.

6.3 Mã hàm đọc thanh ghi.


Bức điện yêu cầu.

Bức điện đáp ứng ( Giống với bức điện đáp ứng như đọc ngõ vào, ngõ ra)
B. Modbus trong PLC S7 200.

PLC S7 200 giao tiếp được với nhau qua chuẩn modbus. S7 200 được sử dụng để
làm master và slave. Một master có thể điều khiển được 247 slave. Việc truyền và nhận
dữ liệu ngõ vào, ngõ ra và các thanh ghi được thực hiện thông qua các hàm.
1. Hàm truyền nhận dữ liệu trong Master.
Đối với master, sử dụng 2 hàm để truyền dữ liệu Modbus control và modbus
message
1.1 Hàm khởi tạo chuẩn modbus.

Các tham số ngõ vào:


- EN cho hàm khởi tạo hoạt động, ngõ vào EN phải luôn luôn ON để điều khiển và
giám sát quá trình hoạt động của việc truyền nhận.
- Mode: Chọn lựa giao thức truyền thông cho cổng giao tiếp của PLC
+ Mode = 0 cho phép giao tiếp theo chuẩn PPI
+ Mode =1 cho phép giao tiếp theo modbus
- Baud: Tốc độ truyền thông
- Parity: Kiểm tra chẳm lẻ
- Timeout: Thời gian tối đa đợi đáp ứng từ slave.

1.2 Hàm truyền nhận dữ liệu:Modbus message.


Các tham số ngõ vào và ngõ ra của hàm truyền nhận dữ liệu .
- EN cho phép hàm hoạt động
- First: Kích hoạt quá trình truyền nhận dữ liệu. Mỗi lần ngõ vào first = 1 thì quá
trình truyền nhận dữ liệu bắt đầu. Do vậy ngõ vào này thường ở dạng xung, mỗi
lần có xung ngõ vào thì quá trình truyền nhận bắt đầu.
- Slave: Địa chỉ của slave, có giá trị từ 0 đến 247
- RW: Ngõ vào điều khiển đọc dữ liệu hay ghi dữ liệu.
+ RW = 0: Đọc dữ liệu từ slave về master
+ RW = 1: Ghi dữ liệu từ master đến slave
- Address: Địa chỉ modbus, chỉ có dữ liệu ngõ ra số và thanh ghi lưu trữ hỗ trợ cả
đọc và ghi còn thanh ghi ngõ vào và dữ liệu ngõ vào số chỉ hỗ trợ đọc.
- Count: Số lượng bit hay word dữ liệu được đọc hay ghi. ( Chuẩn modbus chỉ hỗ
trợ loại dữ liệu bit hoặc word). Lệnh read hay write chỉ được phép tối đa đến 1920
bit hay 240byte.
- DataPtr: Con trỏ địa chỉ dán tiếp chỉ vùng nhớ V trong S7 200.
- Done: Ngõ ra báo hiệu việc ghi hay đọc đã hoàn tất.
- Error: Byte báo lỗi trong trường hợp xãy ra lỗi.
-
Chương trình:
Đoạn chương trình ghi dữ liệu.Việc ghi dữ liệu khi được bắt đầu khi bit M2.0=1
Khi dữ liệu ghi hoàn tất thì bít M0.1 =1. Nếu xãy ra lỗi thì MB1 <> 0.

Chương trình đọc dữ liệu. Việc đọc dữ liệu bắt đầu khi bít M2.1 =1. Nếu xãy ra
lỗi thì MB1 <>0.
2. Hàm khởi tạo và truyền nhận dữ liệu tron slave
Đối với slave, sử dụng 2 hàm Modbus INT – MODBUS và MODBUS SLAVE
2.1 Hàm Modbus INT.

Các tham số vào ra của hàm Modbus INT.


- EN: Bắt đầu thực hiện
- Mode: Chọn chế độ truyền thông
- Address: Địa chỉ của slave ( từ 1 đến 247)
- Baud: Tốc độ truyền thông: Từ 1200 đến 115200.
- Parity: Bit kiểm tra chẳn lẻ.
- Delay: Thời gian chờ để nhận dữ liệu ( 0 đến 32767 ms)
- MaxIQ: Số lượng ngõ vào, ngõ ra cho phép đọc, ghi ( 0 đến 128)
- MaxAI: Số lượng analog cho phép ghi ( 0 đến 32)
- Maxhold:Số lượng word tối đa cho phép truy xuất trong slave
- Holdstart: Con trỏ địa chỉ của vùng nhớ V.

Ví dụ về khởi tạo hàm Modbus-INT


2.2 Hàm modbus Slave.
Modbus slave được sử dụng để phục vụ yêu cầu từ modbus master. Modbus slave phải
được gọi mỗi chu kỳ quét của chương trình. Nếu slave đáp ứng các yêu cầu của master
thì bit Done = 1, ngược lại Done = 0. Error được sử dụng để báo lỗi trong trường hợp xãy
ra lỗi.

BÀI TẬP ỨNG DỤNG

B1. Viết hàm khởi tạo và nhận dữ liệu tại master.


Biết rằng:
- Dữ liệu được nhận tại slave có địa chỉ là 3.
- Số byte nhận là 10
- Vùng dữ liệu nhận từ slave bắt đầu từ VB10
- Dữ liệu được lưu vào vùng nhớ V trong master, bắt đầu tại VB0
- Kiểm tra lẻ.
- Tốc độ nhận là 9600
B2. Viết hàm khởi tạo và truyền dữ liệu tại master.
Biết rằng:
- Dữ liệu được truyền đến slave có địa chỉ là 3.
- Số byte truyền là 10
- Vùng dữ liệu truyền bắt đầu từ VB10
- Kiểm tra lẻ.
- Tốc độ nhận là 9600
B3. Viết hàm khởi tạo, truyền và nhận dữ liệu tại master.
Biết rằng:
- Dữ liệu được truyền đến slave có địa chỉ là 3.
- Số byte truyền, nhận là 10
- Vùng dữ liệu truyền bắt đầu từ VB10
- Vùng dữ liệu nhận từ slave bắt đầu tại VB100
- Vùng lưu dữ liệu tại master bắt đầu tại VB200
- Kiểm tra lẻ.
- Tốc độ nhận là 9600
- Quá trình truyền bắt đầu khi nhấn I0.0
- Sau khi truyền xong dữ liệu mới bắt đầu quá trình nhận
- Sau khi nhận xong dữ liệu thì khởi động lại quá trình truyền
- Kết thúc quá trình truyền nhận khi nhấn I0.1
Bài 4: Một động cơ AC 3 pha được gắn ở slave, 2 nút nhấn START và STOP được
gắn ở Master.
Yêu cầu:
- Vẽ sơ đồ kết nối
- Viết chương trình theo yêu cầu: Nhấn START, động cơ ON 2 giây, OFF 2
giây, nhấn STOP động cơ dừng.

Bài 5: Mạng modbus gồm có 1 master và 1 slave. Viết chương trình theo yêu cầu:
- Truyền vùng nhớ từ QB0 đến QB0 từ master qua slave và lưu vào vùng nhớ
từ MB10 đến MB20 trong slave.
- Truyền vùng nhớ từ VB0 đến VB10 từ slave qua master và lưu vào vùng nhớ
từ MB10 đến MB20 trong master.

You might also like