Ứ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 2

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

PHỤ LỤC 3: CÀI ĐẶT TRÊN KEPWARE 32

Trang 4

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

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ô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 6

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

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ậ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 8

Hình 2.1: Sơ đồ PLC

Trang 9

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

Hình 2.4: Blocks, timers, counter của S7 - 1200

Trang 12

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

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ờ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 14

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

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ể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 16

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 ứngdụng thực tế nhất là trong lĩnh vực điều khiển và tự động

Trang 17

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á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 18

Tí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 19

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à 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 20

Hình 4.1: Tín hiệu nhiễu

Hình 4.2: Tín hiệu đã được lọc

Trang 21

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ế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 22

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ếtquả ổn định và chính xác nhất trong điều khiển tự động

Trang 23

TÀ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 24

PHỤ LỤC 1: CHƯƠNG TRÌNH TRÊN PLC

Trang 27

PHỤ LỤC 3: CÀI ĐẶT TRÊN KEPWARE

Từ khóa » Bộ Lọc Kalman Trong Matlab