Ứng Dụng Bộ Lọc Kalman Trong PLC Simatic, Có Code - 123doc
Việc kết hợp bộ lọc kalman vào lập trìnhplc sẽ giúp việc vận hành tự động thông qua thu thập giá trị từ cảm biếnhoạ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
Trang 1Ứng dụng bộ lọc Kalman trong PLC Simatic
, có code
MỤC LỤC
2.1 Programmable Logic Controller 11
Trang 22.4 Phần mềm KEPServerEX6 192.4.1 Giới thiệu về OPC server 192.4.2 Nguyên lý hoạt động của OPC Kepserver 19
Trang 3PHỤ LỤC 3: CÀI ĐẶT TRÊN KEPWARE 32
Trang 4Hì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 toá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 5Chươ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ôngthể Bởi vì trong quá trình hoạt động luôn xuất hiện các tác động của môitrườ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ệtnhấ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ìnhplc sẽ giúp việc vận hành tự động thông qua thu thập giá trị từ cảm biếnhoạ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ínhiệ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àoPLC thông qua kết nối oPC Kepware Trong PLC lập trình bộ lọcKalman 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ậnxét kết quả Tạo tiền đề cho các hệ thống sau này
Trang 61.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ìmhiể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ínhxác nhất từ giá trị nhiễu của cảm biến trong quá trình hoạt động Từ đó có thêm nềntả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:
Đề 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ềnvà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 7Chươ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ậptrình, thông qua plc người dùng có thể xây dựng hoặc thay đổi thuật toán điều khiểncá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ớ ngoàiEPROM
- 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áckết nối qua các cổng RS232, RS422, RS485, … Ngoài ra có các kết nối mạng internetthuậ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ủachươ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 8Hình 2.1: Sơ đồ PLC
Trang 92.1.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 caonhấ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ànhcủa sản phẩm
- 13 module tín hiệu số và tương tự bao gồm (SM và SB)
Hình 2.2: PLC S7 – 1200
Trang 10- 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 11Hình 2.4: Blocks, timers, counter của S7 - 1200
Trang 122.2 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
Hình 2.5: Phần mềm Tia Portal V16
Trang 13dự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ờigian 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
Matlab là phần mềm dùng để cung cấp môi trường lập trình và tính toá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ácthông tin, tạo các thuật toán điều khiển, …
Hình 2.6: Phần mềm Matlab
Hình 2.7: Giao diện Matlab
Trang 142.3.2 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 Simulinkbao gồm một bộ thư viện khối với các hộp công cụ toàn diện cho cả việc phân tíchtuyến tính và phi tuyến Simulink là một phần quan trọng của Matlab và có thể dễ dàngchuyển đổi qua lại trong quá 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
Hình 2.8: Giao diện Matlab Simulink
Trang 152.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ểntiến trình OLE được dựa trên tiêu chuẩn mô hình đối tượng thành phần (WindowsCOM)
OPC server là chương trình chuyển giao thức giao tiếp phần cứng từ PLC sanggiao thức OPC OPC client là chương trình kết nối với phần cứng, ví dụ HMI OPCclient 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, truycậ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 quantâ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áplọ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ũngchỉ 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 chobài toá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 16nê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 ứngdụng thực tế nhất là trong lĩnh vực điều khiển và tự động
Trang 17Chươ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áchtạ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 toá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 18Tín hiệu trả về Kepware sau khi lọc, Matlab đọc giá trị từ Kepware bằng khốiWRITE, 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 19Chươ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à OPCWrite 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ốiScope
Hình 3.1: Lưu đồ giải thuật PLC
Trang 20Hình 4.1: Tín hiệu nhiễu
Hình 4.2: Tín hiệu đã được lọc
Trang 214.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ếtquả thu được cho thấy bộ lọc hoạt động và cho kết quả ổn định, tuy chưa thử nghiệmtrê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 22CHƯƠ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ếtquả ổn định và chính xác nhất trong điều khiển tự động
Trang 23TÀI LIỆU THAM KHẢO Tiếng việt:
http://blog.tkjelectronics.dk/2012/09/a-practical-approach-to-kalman-filter-and-[2] https://www.kalmanfilter.net/default.aspx
Trang 24PHỤ LỤC 1: CHƯƠNG TRÌNH TRÊN PLC
Trang 27PHỤ LỤC 3: CÀI ĐẶT TRÊN KEPWARE
Từ khóa » Bộ Lọc Kalman Trong Matlab
-
Xây Dựng Bộ Lọc Kalman đơn Giản - Tamgiang
-
Bộ Lọc Kalman: Lý Thuyết Và Thực Hành Sử Dụng Matlab - ABC Tech
-
Lọc Kalman - Lý Thuyết Và Thực Hành Bằng Cách Sử Dụng MATLAB (P5)
-
[PDF] Nghiên Cứu Lọc Thích Nghi - Kalman Cho Cảm Biến Gia Tốc Trên
-
Lọc Kalman - Lý Thuyết Và Thực Hành Bằng Cách Sử Dụng MATLAB (P7)
-
Lọc Kalman - Lý Thuyết Và Thực Hành Bằng Cách Sử Dụng MATLAB (P4)
-
Bộ LọC Kalman Là Gì - WiKiCongNghe
-
[PDF] ỨNG DỤNG BỘ LỌC KALMAN XỬ LÝ TÍN HIỆU CÂN ĐỘNG - Neliti
-
BỘ LỌC KALMAN LIÊN TỤC - Tài Liệu Text - 123doc
-
[PDF] Lời Cam đoan Tôi Xin Cam đoan đây Là Công Trình Nghiên Cứu Của Cá ...
-
Mô Phỏng Bộ Lọc Kalman Mở Rộng Trong Matlab | VI
-
[PDF] Sử Dụng Lọc Kalman để Quan Sát Từ Thông Rotor Và - TaiLieu.VN
-
Ứng Dụng Bộ Lọc Kalman Lọc Nhiễu Của Cảm Biến Trong Bộ ...
-
How To Use A Kalman Filter In Simulink - File Exchange - MathWorks
-
Hướng Dẫn Sử Dụng Bộ Lọc Nhiễu Trong MATLAB Simulink
-
Cần Giúp đỡ Về Matlab Và Lọc Kalman - Dien Tu Viet Nam