Tải bản đầy đủ

Báo cáo đồ án môn học

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

ĐẠI HỌC BÁCH KHOA TP. HỒ CHÍ MINH
----------

BÁO CÁO ĐỒ ÁN MÔN HỌC
ĐỀ TÀI: TRUYỀN THÔNG MODBUS GIỮA
PLC S7-200 VÀ BỘ THU THẬP DỮ LIỆU
PM2220 SCHNEIDER
GVHD: THẦY PHAN NGUYỄN PHỤC QUỐC

Họ và tên

MSSV

1. Nguyễn Hoàng Tuấn

1613898

2. Lê Thanh Bình


1610231

-------------------- -------------------Thành phố Hồ Chí Minh, tháng 6 năm 2019


MỤC LỤC
SỬ DỤNG THƯ VIỆN MODBUS PROTOCAL ............................................... 1

I.
1.

Tổng quan ........................................................................................................ 1
a.

PROTOCOL là gì? ...................................................................................... 1

b.

MODBUS là gì? ........................................................................................... 1

2.

Địa chỉ của Modbus trong S7-200.................................................................. 1

3.

Các khối trong Modbus Master ..................................................................... 2
a.

Khối MBUS_CTRL ..................................................................................... 2

b.

Khối MBUS_MSG ....................................................................................... 3

4.

Các khối trong Modbus Slave ........................................................................ 5
a.

Khối MBUS_INTI........................................................................................ 5

b.

Khối MBUS_SLAVE ................................................................................... 6

II. BỘ THU THẬP DỮ LIỆU PM2220 ................................................................... 8
1.

Tổng quan ........................................................................................................ 8

2.

Tính năng ......................................................................................................... 8

3.

Phần cứng, cách đấu dây ................................................................................ 9

III.

Kết nối Modbus S7-200 với bộ thu thập dữ liệu PM2220 Schneider .......... 10
Modbus RTU RS – 485 ................................................................................. 10

1.
a.

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

b.

Chức năng và vai trò ................................................................................. 10

2.
Truyền giữ liệu giữa S7-200 và PM2220 Schneider thông qua Modbus
RS-485 ...................................................................................................................... 11
a.

Modbus RS-485 S7-200 ............................................................................. 11

b.

Mobbus RS-485 PM2220 Schneider ........................................................ 11

3.

Kết nối phần cứng ......................................................................................... 12

4.

Cài đặt phần mềm ......................................................................................... 12

IV.

a.

Sử dụng PM2220 Schineider để làm Slave truyền dữ lên S7-200 ......... 12

b.

Sử dụng S7-200 làm Master để đọc dữ liệu từ PM2220 Schineider ..... 13

KẾT QUẢ VÀ NHẬN XÉT ............................................................................. 20

1.

Kết quả đạt được ........................................................................................... 20

2.

Nhận xét ......................................................................................................... 20


BÁO CÁO ĐỒ ÁN MÔN HỌC
I.

SỬ DỤNG THƯ VIỆN MODBUS PROTOCAL

1. Tổng quan
a. PROTOCOL là gì?
-

Protocol hay giao thức truyền thông là những quy định trong việc truyền thông

tin giữa các thiết bị trong một hệ thống công nghiệp.
b. MODBUS là gì?
-

MODBUS do Modicon (nay thuộc Schneider Electric) phát triển năm 1979, là

một phương tiện truyền thông với nhiều thiết bị thông qua một cặp dây xoắn đơn.
-

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.
-

Có 2 phiên bản của Modbus Master trong Libraries của STEP 7 – Micro/Win,

sử dụng 2 port khác nhau là port 0 và port 1 và chỉ có 1 Modbus Slave sử dụng
port 0. Trong đó:
• MBUS Control: Khởi tạo Modbus tại MS.
• MBUS MSG: Truyền nhận dữ liệu.
• MBUS Int: Khởi tạo Modbus tại SL.
• MBUS SLAVE: Đáp ứng yêu cầu của MS.
2. Địa chỉ của Modbus trong S7-200
-

Địa chỉ của Modbus thường được viết dưới dạng 5 kí tự chứa kiểu dữ liệu của

Modbus. Ta có bảng Mapping địa chỉ của Modbus qua S7-200 như sau:

1


BÁO CÁO ĐỒ ÁN MÔN HỌC
-

Modbus Address bao gồm 5 bits địa chỉ, trong đó bít thứ 5 quy định loại ô nhớ,

4 bits còn lại là địa chỉ ô nhớ cần đọc hay ghi dữ liệu.
3. Các khối trong Modbus Master
a. Khối MBUS_CTRL
-

Được dùng để khởi tạo, giám sát, kiểm tra hay ngưng hoạt động truyền thông

Modbus. Để có thể sử dụng khối MBUS_MSG thì khối MBUS_CTRL phải hoạt
động đúng, không có lỗi và phải được sử dụng trong mỗi lần scan (kể cả first
scan).

-

Các tham số ngõ vào của khối MBUS_CTRL:

• EN: Cho phép 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
là chuần PPI, Mode=1 là chuẩn Modbus.

• Baud: Tốc độ truyền thông (1200, 2400, 4800, 9600…)

2


BÁO CÁO ĐỒ ÁN MÔN HỌC

• Parity: Kiểm tra chẵn lẻ: =0 là không có Parity; =1 là Parity lẻ, =2 là Parity
chẵn.

• Timeout: Thời gian đợi đáp ứng từ Slave (có thể đặt từ 1ms tới 32767ms)

-

Các lỗi thường gặp:

Error Codes

Description

0

Không có lỗi

1

Chọn Parity không hợp lệ

2

Chọn Baud rate không hợp lệ

3

Chọn Timeout không hợp lệ

4

Chọn Mode không hợp lệ

b. Khối MBUS_MSG
-

Được dùng để bắt đầu 1 yêu cầu đến Modbus Slave và thực hiện quá trình phản

hồi với điều kiện ngõ vào EN và First phải được bật.

3


BÁO CÁO ĐỒ ÁN MÔN HỌC
-

Các tham số ngõ vào của khối MBUS_MSG:

• EN: Cho phép khối hoạt động.
• First: Kích hoạt việc truyền nhận dữ liệu.
• Slave: Đại chỉ của thiết bị Modbus Slave từ 0 đến 247
• RW: Ngõ vào điều khiển đọc ghi dữ liệu:
Nếu =0 thì đọc dữ liệu từ Slave về Master, =1 thì ghi dữ liệu từ Master đến Slave.

• Addr: Địa chỉ Modbus trong Slave.
• Count: Số phần tử dữ liệu để đọc hoặc ghi trong request.
• DataPtr: Con trỏ dịa chỉ gián tiếp trỏ đến vùng nhớ V của S7-200 (ví dụ:
&VB200)

-

Các lỗi thường gặp:

Error Codes

Description

0

Không có lỗi

1

Lỗi Parity

2

Không được sử dụng

3

Quá thời gian Timeout

4

Lỗi tham số ngõ vào

5

Modbus Master chưa được bật

6

Modbus bận (vì sử dụng nhiều khối MBUS_MSG)

7

Lỗi phản hồi từ thiết bị Slave

8

Lỗi CRC (kết nối dây, nguồn điện…)

101

Slave không hỗ trợ yêu cầu tại địa chỉ này
4


BÁO CÁO ĐỒ ÁN MÔN HỌC
102

Slave không hỗ trợ địa chỉ data

103

Slave không hỗ trợ kiểu dữ liệu data

105, 106

Thời gian phản hồi bị delay

107

Slave từ chối tin nhắn không rõ nguyên nhân

108

Lỗi thiết bị Slave

4. Các khối trong Modbus Slave
a. Khối MBUS_INTI
-

Được dùng để kích hoạt và khởi tạo hoặc để ngưng hoạt động truyền thông

Modbus. Để có thể sử dụng khối MBUS_SLAVE thì khối MBUS_INTI phải hoạt
động đúng, không có lỗi. Khối MBUS_INTI được thực thi trong mỗi lần scan khi
ngõ vào EN được bật.

-

Các tham số ngõ vào của MBUS_INIT

• EN: Cho phép khối hoạt động.
• Mode: Chọn chế độ truyền thông: Nếu =0 đưa port 0 tới Modbus protocol và
cho phép protocol hoạt động; =1 đưa port 1 tới PPI và không cho phép protocol.

• Địa chỉ của Slave (từ 1 đến 247).
• Baud: Tốc độ truyền thông.
• Parity: Kiểm tra chẵn lẻ.
5


BÁO CÁO ĐỒ ÁN MÔN HỌC

• Delay: Thời gian chờ để nhận dữ liệu (có thể đặt từ 0ms tới 32767ms).
• MaxIQ: Số lượng ngõ vào, ngõ ra cho phép đọc/ghi (từ 0 đến 128).
• MaxAI: Số lượng Analog cho phép ghi (từ 0 đến 32).
• MaxHold: Số lượng word tối đa cho phép truy xuất trong Slave.
• HoldStart: Địa chỉ bắt đầu của vùng nhớ V trong Salve cho phép Master truy
xuất (Ví dụ: &VB0).

b. Khối MBUS_SLAVE
-

Được dùng để phục vụ yêu cầu từ Modbus Master và phải được thực thi trong

mỗi lần scan để kiểm tra và phản hồi cho yêu cầu của Modbus.

-

Khối chỉ có 1 tham số ngõ vào EN: cho phép khối hoạt động.

-

Nếu Slave đáp ứng được các yêu cầu của Master thì bit Done =1, ngược lại =0.

-

Error được dùng để báo lỗi (nếu có).
6


BÁO CÁO ĐỒ ÁN MÔN HỌC

-

Các lỗi thường gặp:

Error Codes

Description

0

Không có lỗi

1

Lỗi vùng nhớ

2

Baud rate hoặc Parity không hợp lệ

3

Địa chỉ Slave không hợp lệ

4

Giá trị tham số của Modbus không hợp lệ

5

Lỗi kết nối các khối

6

Lỗi nhận Parity

7

Lỗi nhận CRC

8

Lỗi hàm

9

Lỗi địa chỉ vùng nhớ

10

Hàm Slave không hoạt động

7


BÁO CÁO ĐỒ ÁN MÔN HỌC
II.

BỘ THU THẬP DỮ LIỆU PM2220

1. Tổng quan
-

Các thiết bị dòng PM2200 là máy đo kỹ thuật số cho điện 3 pha trong công

nghiệp, có màn hình giám sát các nút chuyển hướng để dễ dàng thiết lập và hiển
thị các giá trị đo đạc.

2. Tính năng
-

Thiết bị đo dòng PM2200 hổ trợ rất nhiều tính năng, một số tính năng tiêu biểu

như:
• Màn hình LCD hiển thị và điều hướng.
• Tính toán năng lượng và cân bằng.
• Đo lường cả công suất thực và công suất thay thế.
• Đọc được năng lượng active, reactive và apparent.
• Đọc được giá trị Min/Max tức thời theo dòng thời gian.
• An ninh mạng: Có thể vô hiệu hóa cổng RS – 485 thông qua bản điều
khiển để chống lại sự truy cập trái phép. Tính năng này cũng có thể dùng để
chuyển đổi giữa các thiết bị RTU trong trường hợp giới hạn các nút trong
hệ thống phần mềm.
• Hiển thị nhanh: Điện áp trung bình, dòng điện trung bình, công suất tích
cực, công suất phân tán.
8


BÁO CÁO ĐỒ ÁN MÔN HỌC

3. Phần cứng, cách đấu dây

-

Cấp nguồn:
• Nguồn AC 44 – 277 V L – N với sai số 10%.
• Ta sẽ tiến hành cấp nguồn xoay chiều 1 pha L – N vào hai chân tương
ứng là L+ và L-.
• Lưu ý: Nếu sử dụng máy biến áp phải lấp cầu chì cho cả cuộn sơ cấp và
thứ cấp để bảo vệ thiết bị.

-

Đấu dây đo lường:

9


BÁO CÁO ĐỒ ÁN MÔN HỌC
III.

Kết nối Modbus S7-200 với bộ thu thập dữ liệu PM2220 Schneider

1. Modbus RTU RS – 485
-

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 và mô hình dạng Master-Slave.

a. 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.

b. Chức năng và vai trò
-

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 bits 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.
o Đọc dữ liệu:
▪ Master: 2 bytes địa chỉ dữ liệu – 2 bytes độ dài dữ liệu.
▪ Slave: 2 bytes địa chỉ dữ liệu – 2 bytes độ dài dữ liệu – n byte dữ
liệu đọc được.
10


BÁO CÁO ĐỒ ÁN MÔN HỌC
o Ghi dữ liệu:
▪ Master: 2 bytes địa chỉ dữ liệu – 2 bytes độ dài dữ liệu – n byte
dữ liệu cần ghi.
▪ Slave: 2 bytes địa chỉ dữ liệu – 2 bytes độ dài dữ liệu.
-

Byte CRC: 2 bytes kiểm tra lỗi của hàm truyền. cách tính giá trị của Byte CRC

16 Bit.

2. Truyền giữ liệu giữa S7-200 và PM2220 Schneider thông qua Modbus RS485
a. Modbus RS-485 S7-200
-

Khi dùng S7-200 làm Master để thực hiện Modbus thì ta có thể dùng Port 0

hoặc Port 1 để kết nối với PM2220. Trong bài chúng ta sẽ sử dụng Port 1 thực hiện
Modbus RS-485 với PM2220 Schneider và dùng Port 0 kết nối với máy tính để
thuận tiện cho quá trình quan sát.
-

Cấu trúc Port 0 và Port 1 của S7-200:

-

Khi kết nối để truyền dữ liệu bằng RS-485 với PM2220 Schneider thì ta sẽ sử

dụng chân số 3 (D+) và chân số 8 (D-) để kết nối với hai chân D1+ và D0- của
PM2220 Schneider.
b. Mobbus RS-485 PM2220 Schneider
-

Thiết bị thu thập dữ liệu PM2220 Schneider có hổ trợ chức năng truyền dữ liệu

bằng RS-485.

11


BÁO CÁO ĐỒ ÁN MÔN HỌC

-

Để thực hiện truyền dữ liệu thông qua RS-485 ta kết nối hai chân D1+ và D0-

của PM2220 Schneider tương ứng với chân số 3 (D+) và chân số 8 (D-) của Port 1
của S7-200.

3. Kết nối phần cứng
D1+ kết nối với chân số 3
D0- kết nối với chân số 8

Port 1 S7-200

4. Cài đặt phần mềm
a. Sử dụng PM2220 Schineider để làm Slave truyền dữ lên S7-200
-

Trên giao diện hiển thị LCD của PM2220 Schineider, tại mục Summary ấn nút
mũi tên phải để chuyển sang mục Maint. Tại giao diện Mainternance ta chọn
Setup.

12


BÁO CÁO ĐỒ ÁN MÔN HỌC
-

Thiết bị sẽ yêu cầu mật khẩu để truy cầu vào giao diện cài đặt, mật khẩu mặc
định là 0. Nhập mật khẩu và chọn OK. Tại giao diện Setup ta chọn Comm.

-

-

Tại giao diện Comm Port, ta sẽ thiết lập các
thông số như sau:
• Protocol: Modbus
• Address: 4 (địa chỉ của Slave từ 0 đến
255, ko trùng với Master và Slave khác)
• Baud Rate: 9600
• Parity: No

b. Sử dụng S7-200 làm Master để đọc dữ liệu từ PM2220 Schineider
-

Lập trình PLC S7-200 Ladder: Ta lập trình tại khối Main như sau:

13


BÁO CÁO ĐỒ ÁN MÔN HỌC

14


BÁO CÁO ĐỒ ÁN MÔN HỌC

15


BÁO CÁO ĐỒ ÁN MÔN HỌC

16


BÁO CÁO ĐỒ ÁN MÔN HỌC

-

Giải thích chương trình:

• Ta dùng khối MBUS_CTRL_P1 để Setup truyện nhận dữ liệu RS-485
bằng Port1. Các giá trị Baud và Parity phải giống với Setup trên PM2220.

• Ta dùng khối MBUS_MSG_P1 để thực hiện việc đọc dữ liệu từ
PM2220. Để đọc được dữ liệu thì địa chỉ Slave phải giống với địa chỉ Slave
của PM2220 đã thiết lập và RW = 0 (chế độ đọc dữ liệu, RW = 1 ghi dữ
liệu).

• Để đọc được dữ liệu từ PM2220 thì ta cần phải biết địa chỉ được lưu
trong bộ nhớ của PM2220. Ví dụ: Điện áp trung bình có điện chỉ bắt đầu từ
3036 và độ dài 4 bytes. Do đó Addr = 43036 và Count = 4.

• Ta sẽ lưu giá trị được được vào bộ nhớ VB. Ví dụ &VB100.
17


BÁO CÁO ĐỒ ÁN MÔN HỌC

• Các Timer T37 và T38 có chức năng tạo chu kì đọc dữ liệu từ PM2220
lên PLC là 1s.
-

Lưu ý: trước khi biên dịch chương trình ta cần phải tạo vùng nhớ 284 bytes

cho PLC để thực hiện chức năng Modbus, ta làm như sau:
• Trong cây Project, click chuột phải vào Program Block và chọn Library
Memory.
• Cửa sổ Library Memory Allocation xuất hiện, ta chọn Suggest Addrress
và chọn ok.

-

Sau khi đã thiết lập xong ta tiến hành biên dịch chương trình và nạp xuống

PLC.
-

Để quan sát việc truyền nhận dữ liệu giữa PLC và PM2220 ta có thể dùng chức

năng Chart Status và Program Status.
-

Kết quả đọc được:

18


BÁO CÁO ĐỒ ÁN MÔN HỌC

Kết quả lưu lại được trên Excel:

19


BÁO CÁO ĐỒ ÁN MÔN HỌC
IV.

KẾT QUẢ VÀ NHẬN XÉT

1. Kết quả đạt được
-

Nhóm đã tìm hiểu cũng như biết cách sự dụng bộ đọc dữ liệu PM2220
Schneider.

-

Biết cách truyền dữ liệu Modbus RS-485.

-

Biết các lập trình PLC S7-200 cơ bản.

-

Truyền nhận được dữ liệu giữa PLC S7-200 và PM2220 bằng Modbus RS-485

2. Nhận xét
-

Trong quá trình làm gặp nhiều khó khăn về việc tiềm hiểu truyền dữ liệu bằng
Modbus RS-485, tuy nhiên nhóm đã đạt được mục tiêu đề ra.

-

Nhóm chỉ đọc các dữ liệu cơ bản như điện áp, dòng điện từ bộ thu thập dữ liệu
PM2220, chưa phát triển thêm nhiều về đề tài được giao.

20



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×

×