T
Ứng dụng bộ lọc Kalman trong PLC Simatic
, có code
MỤC LỤC
DANH MỤC HÌNH ẢNH
i
CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI
9
1.1. Giới thiệu đề tài
9
1.2. Mục đích nghiên cứu
10
1.3. Đối tượng nghiên cứu
10
1.4. Phạm vi nghiên cứu
10
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
11
2.1. Programmable Logic Controller
11
2.1.1. Giới thiệu PLC
11
2.1.2. PLC S7 – 1200
13
2.2. Tia portal V16
16
2.3. Phần mềm Matlab/Matlab Simulink
17
2.3.1. Matlab
17
2.3.2. Matlab Simulink
18
Trang 2 / 32
2.4. Phần mềm KEPServerEX6
19
2.4.1. Giới thiệu về OPC server
19
2.4.2. Nguyên lý hoạt động của OPC Kepserver
19
2.5. Bộ lọc Kalman
19
2.5.1. Giới thiệu về bộ lọc Kalman
19
2.5.2. Bộ lọc kalman rời rạt
20
CHƯƠNG 3. GIẢI THUẬT VÀ ĐIỀU KHIỂN
22
3.1. Hoạt động của hệ thống
22
3.2. Lưu đồ giải thuật trên PLC
23
CHƯƠNG 4. THỰC NGHIỆM
24
4.1. Tiến trình thực nghiệm
24
4.2. Kết quả thực nghiệm
24
4.3. Kết luận thực nghiệm
26
CHƯƠNG 5. KẾT LUẬN
27
5.1. Ưu điểm
27
5.2. Nhược điểm
27
5.3. Hướng phát triển
27
TÀI LIỆU THAM KHẢO
28
PHỤ LỤC 1: CHƯƠNG TRÌNH PLC
29
PHỤ LỤC 2: CÀI ĐẶT TRÊN MATLAB
31
Trang 3 / 32
PHỤ LỤC 3: CÀI ĐẶT TRÊN KEPWARE
32
DANH MỤC HÌNH ẢNH
Hình 2.1: Sơ đồ PLC
Hình 2.2: PLC S7 – 1200
Hình 2.3: So sánh các module CPU
Hình 2.4: Blocks, timers, counter của S7 - 1200
Hình 2.5: Phần mềm Tia Portal V16
Hình 2.6: Phần mềm Matlab
Hình 2.7: Giao diện Matlab
Hình 2.8: Giao diện Matlab Simulink
Hình 2.9: Mơ hình hóa hoạt động của bộ lọc kalman
Hình 2.10: Thuật tốn cho hệ Kalman rời rạc
Hình 3.1: Lưu đồ giải thuật PLC
Hình 4.1: Tín hiệu nhiễu
Hình 4.2: Tín hiệu đã được lọc
Hình 4.3: So sánh kết quả hai tín hiệu
Trang 5 / 32
Chương 1. Tổng quan về đề tài
1.1. Giới thiệu đề tài
● Trong thực tế việc các cảm biến trả về giá trị chính xác liên tục là khơng
thể. Bởi vì trong q trình hoạt động ln xuất hiện các tác động của môi
trường là cho các kết quả bị sai và bị nhiễu.
● Bộ lọc Kalman được sử dụng rất nhiều trong lĩnh vực kĩ thuật, và đặt biệt
nhất là trong lĩnh vực điều khiển. Việc kết hợp bộ lọc kalman vào lập trình
plc sẽ giúp việc vận hành tự động thông qua thu thập giá trị từ cảm biến
hoạt động chính xác nhất, giảm khả năng sai số gây hư hỏng phần cứng và
sản phẩm của hệ thống.
● Với đề tài này em tập trung vào hai vấn đề chính là:
o
Tìm hiểu về bộ lọc Kalman.
o
Tìm hiểu về PLC S7 – 1200 và lập trình bộ lọc vào plc sau đó tạo tín
hiệu nhiễu bằng Simulink từ phần mềm Matlab truyền vào PLC để
lọc và trả kết quả về Matlab thông qua kết nối oPC Kepware.
● Chức năng:
o
Tín hiệu nhiễu sẽ được tạo từ Simulink của Matlab và truyền vào
PLC thông qua kết nối oPC Kepware. Trong PLC lập trình bộ lọc
Kalman và lọc tín hiệu nhiễu nhận được và trả kết quả về Matlab và
hiển thị tại Simulink.
● Ứng dụng:
o
Lọc và so sánh kết quả đã lọc được hiển thị trong Simunlink, nhận
xét kết quả. Tạo tiền đề cho các hệ thống sau này.
Trang 6 / 32
1.2. Mục đích nghiên cứu
Ứng dụng các kiến thức về lập trình PLC của hãng Siemens đã được học và tìm
hiểu về bộ lọc Kalman. Kết hợp bộ lọc vào lập trình PLC để có thể thu về giá trị chính
xác nhất từ giá trị nhiễu của cảm biến trong q trình hoạt động. Từ đó có thêm nền
tảng để có thể sử dụng vào thực tế, phát triển và mở rộng đề tài.
1.3. Đối tượng nghiên cứu
Các đối tượng nghiên cứu bao gồm:
- PLC Siemens S7 – 1200
- Matlab, Simulink
- OPC Kepware
- Bộ lọc Kalman
1.4. Phạm vi nghiên cứu
Đề tài được thực hiện và trình bày bằng phương pháp mơ phỏng:
- Tạo một sóng Sine và tạo nhiễu cho sóng Sine đó từ phần mềm Matlab sao đó truyền
vào PLC thơng qua kết nối oPC Kepware.
- Bộ lọc Kalman được thiết kế và lập trình trong PLC nhận tín hiện nhiễu từ Matlab, sau
đó tiến hành lọc và trả kết quả về Matlab cũng thông qua kết nối oPC Kepware.
Trang 7 / 32
Chương 2. Cơ sở lý thuyết
2.1. Programmable Logic Controller
2.1.1. Giới thiệu PLC
PLC (Programmable Logic Controller) bộ điều khiển cho phpes người dùng lập
trình, thơng qua plc người dùng có thể xây dựng hoặc thay đổi thuật tốn điều khiển
các hệ thống tự động đơn giản cho tới phức tạp.
Các bộ phận chính của PLC gồm:
-
RAM, ROM: bộ nhớ chứa chương trình điều khiển, có thể thêm bộ nhớ ngồi
EPROM.
-
CPU là bộ xử lí trung tâm.
-
Các module vào và ra.
Các hệ thống lớn và hiện đại có thêm các module mở rộng ngõ vào, ngõ ra và các
kết nối qua các cổng RS232, RS422, RS485, … Ngoài ra có các kết nối mạng internet
thuận tiện cho các hệ thống điều khiển từ xa như là: Profibus, Profinet, Ethernet, …
Nguyên lý vận hành của PLC: CPU đọc và kiểm tra chương trình từ bộ nhớ và
thực hiện chương trình tuần tự các lệnh, đóng và ngắt các ngõ ra theo yêu cầu của
chương trình. Các thiết bị được đấu nối vào PLC sẽ được điều khiển bằng tín hiệu ngõ
ra của PLC.
Trang 8 / 32
Hình 2.1: Sơ đồ PLC
Trang 9 / 32
2.1.2. PLC S7 – 1200
Hình 2.2: PLC S7 – 1200
PLS S7 – 1200 của Siemen được tích hợp các tính năng đáp ứng tiêu chuẩn cao
nhất của mạng truyền thông công nghiệp, khác phục được các nhược điểm của dịng S7
– 200 trước đó.
Thành phần của S7 – 1200 bao gồm:
- 3 bộ điều khiển nhỏ gọn với các phiên bàn khác nhau.
- 2 mạch tương tự và số mở rộng ngõ vào vả ra trực tiếp trên CPU làm giảm giá thành
của sản phẩm.
- 13 module tín hiệu số và tương tự bao gồm (SM và SB).
Trang 10 / 32
- 2 module RS232 và RS485.
- 4 cổng Ethernet
- Module nguồn PS 1207.
Hình 2.3: So sánh các module CPU
Trang 11 / 32
Hình 2.4: Blocks, timers, counter của S7 - 1200
Trang 12 / 32
2.2. Tia portal V16
Hình 2.5: Phần mềm Tia Portal V16
Totally Integrated Automation Portal là phần mềm tổng hợp nhiều tính năng quản
lý điều khiển hệ thống tự động hóa, vận hành của hệ thống, được phát triển vào năm
1996 bởi các kỹ sư của công ty siemen, cho phép các kỹ sư tự động phát triển và xây
Trang 13 / 32
dựng các phần mềm quản lý riêng lẽ trên một nền tảng thống nhất. Giảm thiểu thời
gian cài đặt và tích hợp các ứng dụng riêng lẻ để xây dựng thệ thống. Tia portal V16 là
phần mềm phiên bản thứ 16 của tia portal.
2.3. Phần mềm Matlab/Matlab Simulink
2.3.1. Matlab
Hình 2.6: Phần mềm Matlab
Matlab là phần mềm dùng để cung cấp mơi trường lập trình và tính tốn kỹ thuật
số của MathWorks. Matlab cho phép bạn sử dụng các con số, vẽ các hàm đồ thị từ các
thông tin, tạo các thuật tốn điều khiển, …
Hình 2.7: Giao diện Matlab
Trang 14 / 32
2.3.2. Matlab Simulink
Hình 2.8: Giao diện Matlab Simulink
Matlab Simulink là công cụ của Matlab dùng để tạo mơ hình, chạy mơ phỏng,
phân tích các hệ thống động với môi trường giao diện sử dụng bằng đồ họa. Simulink
bao gồm một bộ thư viện khối với các hộp cơng cụ tồn diện cho cả việc phân tích
tuyến tính và phi tuyến. Simulink là một phần quan trọng của Matlab và có thể dễ dàng
chuyển đổi qua lại trong q trình phân tích, và vì vậy người dùng có thể tận dụng
được ưu thế của cả hai môi trường.
Trang 15 / 32
2.4. Phần mềm KEPServerEX6
2.4.1. Giới thiệu về OPC server
OPC là từ biết tắt đại diện cho OLE, liên kết và nhúng đối tượng, để điều khiển
tiến trình. OLE được dựa trên tiêu chuẩn mơ hình đối tượng thành phần (Windows
COM).
OPC server là chương trình chuyển giao thức giao tiếp phần cứng từ PLC sang
giao thức OPC. OPC client là chương trình kết nối với phần cứng, ví dụ HMI. OPC
client giao tiếp với OPC server để nhận hoặc gửi dữ liệu tới phần cứng.
2.4.2. Nguyên lý hoạt động của OPC Kepserver
Đặt tả OPC mô tả giao diện giữa máy chủ với máy chủ, máy chủ với máy khách,
bao gồm quyền truy cập dữ liệu thời gian thực, giám sát các cảnh báo và sự kiện, truy
cập dữ liệu và các ứng dụng.
2.5. Bộ lọc Kalman
2.5.1. Giới thiệu về bộ lọc Kalman
Bộ lọc (filter) là quá trình xử lý tín hiệu nhằm loại bỏ những giá trị khơng quan
tâm đến và giữ lại các giá trị có giá trị sử dụng. Tuy nhiên không tồn tại phương pháp
lọc nào là tuyệt đối có thể loại bỏ tất cả các tín hiệu nhiễu, các phương pháp lọc cũng
chỉ lọc ra các tín hiệu ít bị nhiễu nhất nhưng cũng chỉ là ước lượng của tín hiệu thực.
Năm 1960, R.E Kalman đã xuất bản bài báo miêu tả về một giải pháp đệ quy cho
bài tốn lọc tuyến tính dữ liệu tùy ý. Từ đó, do phần tiến bộ về máy tính kỹ thuật số
Trang 16 / 32
nên bộ lọc kalman được sử dụng rộng rãi trong cáo nghiên cứu khoa học và các ứng
dụng thực tế nhất là trong lĩnh vực điều khiển và tự động
Tín hiệu đo
Bộ lọc Kalman
Dự đốn (PREDICT)
Mơ hình hệ thống
k = k+1
Hình 2.9: Mơ hình hóa hoạt động của bộ lọc kalman
2.5.2. Bộ lọc kalman rời rạc
Thuật toán Kalman gồm hai bước là dự đoán (predict) và hiệu chỉnh (correction)
dựa trên thông tin đầu vào là Z.
Hiệu chỉnh (CORRECTION)
Hình 2.10: Thuật tốn cho hệ Kalman rời rạc
Trang 17 / 32
Chương 3. Giải thuật và điều khiển
3.1. Hoạt động của hệ thống
Hệ thống hoạt động mô phỏng lại một tín hiệu nhiễu từ Matlab Simulink bằng cách
tạo một sống hình sin, cộng với tín hiệu nhiễu. Sau đó, dùng khối oPC trong simulink
để kết nối với phần mềm KEPServerEX 6 Configuration để gửi giá trị, các giá trị được
đọc và gửi đi bằng khối READ.
Tại OPC Kepware, tạo project và lưu các biến dữ liệu với địa chỉ trùng với địa chỉ
trong PLC. Tốc độ truyền dữ liệu được đặt là 10ms.
PLC viết chương trình của bộ lọc Kalman dựa theo thuật tốn Kalman rời rạc,
chương trình sẽ nhận tín hiệu từ Matlab thơng qua Kepware, sau khi nhận tín hiệu và
tiến hành lọc, tín hiệu sau khi lọc được trả về bằng ngõ ra X.
Trang 18 / 32
Tín hiệu trả về Kepware sau khi lọc, Matlab đọc giá trị từ Kepware bằng khối
WRITE, khối SCOPE dùng để hiển thị kết quả và so sánh với tín hiệu chưa lọc.
3.2. Lưu đồ giải thuật trên PLC
Trang 19 / 32
Chương 4. Thực nghiệm
4.1. Tiến trình thực nghiệm
Thao tác trên Matlab Simulink:
- Dùng khối OPC Configuration để kết nối mới Kepware, OPC Read và OPC
Write dùng để đọc và ghi dữ liệu của Kepware.
- Tạo tín hiệu nhiễu và ghi tín hiệu nhiễu đó bằng khối OPC Write.
- Khối OPC Read đọc giá trị đã được lọc từ Kepware và cho hiển thị trong khối
Scope.
Thao tác trên PLC:
- Lập trình thuật tốn bộ lọc Kalman vào trong Function Block và kéo ra
chương trình chính.
- Hiển thị địa chỉ cần đọc và ghi của chương trình PLC và lưu thành các biến
trong Kepware.
- Bộ lọc Kalman nhận giá trị nhiễu từ Matlab thông qua Kepware, lọc và cho kết
quả đã lọc về Matlab, so sánh kết quả trên Matlab.
- Tạo một sóng sin trong plc sau đó cộng tín hiệu nhiễu từ Matlab và tiến hành
lọc.
4.2. Kết quả thực nghiệm Hình 3.1: Lưu đồ giải thuật PLC
Sau khi chạy chương trình và tiến hành lọc, kết quả thu được cho thấy tín hiệu ban
đầu và tín hiệu đã được lọc có sự khác nhau cụ thể tín hiệu đã lọc (màu xanh) có đường
gai ít hơn tín hiệu ban đầu.
Trang 20 / 32
Hình 4.1: Tín hiệu nhiễu
Hình 4.2: Tín hiệu đã được lọc
Trang 21 / 32
4.3. Kết luận thực nghiệm
Sau khi tiến hành thực nghiệm mô phỏng ứng dụng bộ lọc Kalman vào PLC, kết
quả thu được cho thấy bộ lọc hoạt động và cho kết quả ổn định, tuy chưa thử nghiệm
trên các môi trường khác nhưng bộ lọc vẫn cho ra kết quả chấp nhận được.
Hình 4.3: So sánh kết quả hai tín hiệu
Trang 22 / 32
CHƯƠNG 5. KẾT LUẬN
5.1. Ưu điểm
Bộ lọc Kalman là phương pháp tối ưu khi cần lọc tín hiệu nhiễu để thu được kết
quả ổn định và chính xác nhất trong điều khiển tự động.
5.2. Nhược điểm
Hệ thống còn quá đơn giản chưa phát huy được tối đa khả năng của bộ lọc Kalman
5.3. Hướng phát triển
Vì bộ lọc có kể lọc các tín hiệu nhiễu và cho ra các tín hiệu ổn định. Vì thế chương
trình có thể áp dụng vào các hệ thống điều khiển cần sự ổng định và chính xác.
Trang 23 / 32
TÀI LIỆU THAM KHẢO
Tiếng việt:
[1] />[2] />[3] />[4] />Tiếng Anh:
[1] />[2] />
Trang 24 / 32
PHỤ LỤC 1: CHƯƠNG TRÌNH TRÊN PLC
Trang 25 / 32