1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bộ điều khiển PID trong PLC

9 7,6K 189

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 119,5 KB

Nội dung

Tín hiệu truyền trong hệ thống có cả phần liên tục và phần số.. Trong đó :Mt : Tín hiệu ra của khối điều khiển ở thời điểm t.. Kc : Hệ số khuếch đại của bộ điều khiển et : Sai lệch giữa

Trang 1

PLC04- 28

Điều khiển liên tục

Bộ Điều khiển PID

A Mục đích yêu cầu

1 Nắm đợc nguyên lý bộ điều khiển PID bằng PLC.

2 Lập trình ứng dụng điều khiển quá trình.

B Chuẩn bi :

1 Modul đào tạo PLC tối thiểu, Hoặc mô đun đầy đủ - S7-200-CPU215.

2 Mô đun EM235.

3 Thết bị lập trình cho PLC, Cáp ghép nối.

4 Máy tính và phần mềm lập trình.

C Lý thuyết :

Giới thiệu chung : Bộ điều khiển PID bằng PLC - S7-200 có sơ đồ cấu trúc

nh sau:

Trong đó khối điều khiển (phần trong ô ) đợc thực hiện bằng phần tử PLC - S7-200-CPU215 Mô đun A/D, D/A đợc thực hiện bằng khối mở rộng EM235

Tín hiệu truyền trong hệ thống có cả phần liên tục và phần số.

Hệ điều khiển PID liên tục thực hiện luật điều khiển liên tục nh sau:

Luật điều khiển PID :

Kc, Ti, Td, Ts D/A Đối tợng

A/D

Pv

Trang 2

Trong đó :

M(t) : Tín hiệu ra của khối điều khiển ở thời điểm (t).

Kc : Hệ số khuếch đại của bộ điều khiển

e(t) : Sai lệch giữa tín hiệu đặt và tín hiệu phản hồi từ quá trình.

Ti : Hằng số thời gian tích phân

Minitial: Giá trị ban đầu của tích phân.

Td : Hằng số thời gian vi phân.

Chuyển sang hệ điều khiển số bằng PLC công thức (1) có thể viết thành :

Trong công thức 2 :

MPn: Thành phần tỷ lệ

MPn: Thành phần tỷ lệ trong tín hiệu ra tại thời điểm n

Kc hệ số khuếch đại

SPn Tín hiệu đặt tai thời điểm thứ n

PVn Tín hiệu ra của bộ điều khiển tại thời điểm thứ n

M(t) = Kc * e(t) + Kc/Ti ∫ ( et) dt + M initial + Kc* Td * de/dt (1)

Thành phần tỷ lệ Thành phần Tích phân Thành phần vi phân

MPn = Kc * ( SPn - PVn )

Trang 3

Trong đó :

MIn: Thành phần tích phân trong tín hiệu ra tại thời điểm thứ n

Kc: Hệ số khuếch đại

Ts: Chu kỳ cắt mẫu

Ti: Hằng số thời gian tích phân

SPn: Giấ trị đặt tại thời điểm thứ n

PVn: Giá trị ra của quá trình tại thời điểm thứ n

MX: Giá trị đầu của tích phân - (giá trị ra của PID tại thời điểm thứ n-1) MDn : Thành phần vi phân

Trong đó :

MDn: Thành phần vi phân trong tín hiệu ra tại thời điểm thứ n

Td: Hằng số thời gian vi phân

SPn : Giá trị đặt

PVn: Giá trị đầu ra của quá trình tại thời điểm thứ n

Các thành phần này cùng các tham số Kc, Ti, Td, Ts đều có ảnh hởng đến các

đặc tính đầu ra của quá trình nh : Độ ổn định của hệ thống, Sai số tĩnh-sai số trong chế độ xác lập, Độ quá điều chỉnh, Thời gian quá độ, số lần dao

động.v.v Ngời học nên tham khảo thêm các tài liệu liên quan để hoàn thiện kiến thức.

Giới thiệu về thí nghiệm và chơng trình :

MDn = Kc * Td/Ts * ( ( SPn- PVn ) - (SPn - PVn-1 ))

MDn = Kc * Td/Ts * ( PVn -1 - PVn )

Trang 4

Tham khảo:

Chương trình S7 – 200 dưới đây chỉ là một ví dụ ngắn về cách sử dụng PID thông qua ví dụ về điều khiển mức nước trong bể để vừa đảm bảo áp suất vừa đảm bảo nước trong bình không bị cạn hết Cấu trúc hệ thống như hình dưới đây:

Yêu cầu thiết bị điều khiển: 01 PLC S7 200/ CPU 215; 216 trở lên và 01 khối EM 235 gồm có 3 đầu vào analog và một đầu ra analog 12 bít

Mô tả hệ thống:

Trong hệ thống này, một bể nước được dùng để khống chế áp lực nước không đổi Nước liên tục được lấy ra từ vòi với một tốc độ bất kỳ Bơm được dùng

để tăng thêm nước vào bể với một tốc độ đủ để duy trì áp suất cũng như mức nước trong bình không hạ xuống quá mức cho phép.

Giá trị đặt của hệ thống là mức nước (trong ví dụ này là 75% bể) Đại lượng đầu vào của hệ thống là tín hiệu do một cảm biến đo mức đưa về thông qua đầu vào analog A+, A- Tín hiệu đưa về có thể thay đổi từ 4 – 20mA tương ứng với 0 – 100% mức đầy của bể Tín hiệu ra của hệ thống là tín hiệu điện áp có thể thay đổi từ 0 – 10

V dùng để điều khiển tốc độ bơm tương ứng là 0 – 100% tốc độ định mức

Giá trị đặt được quyết định bởi người sử dụng và được đưa trực tiếp vào quá trình Trong chương trình này, bộ điều khiển sử dụng hai thông số là P và I, không dùng đến D Thời gian lấy mẫu là Ts = 0.1 giây, KC = 0.25 và Ti = 30 phút.

Trước tiên, bể nước sẽ được tiếp đầy nước cho đến khi được 75% Sau đó, van xả sẽ được mở để lấy nước từ bể và cùng lúc bơm sẽ được chuyển từ chế độ điều khiển bằng tay sang chế độ tự động

Trong quá trình điều khiển bằng tay, tốc độ bơm được qui định bởi số thực lưu tại VD108 nằm trong khoảng 0.0 tới 1.0.

Trang 5

SBR0 là hàm thực hiện khởi tạo hệ thống.

SBR 1 là hàm thực hiện kiểm tra lỗi của khối analog.

Đầu vào I0.0 sẽ được dùng là tín hiệu khởi động hệ thống điều khiển tự động

Đầu ra Q0.7 báo lỗi xảy ra ở module analog

Ngắt INT 0 thực hiện thuật toán PID mỗi 100 ms một lần

Bảng lặp dùng cho PID gồm có 36 byte và những thống số được đặt trong

vùng nhớ V và tất cả đều dùng là double word (VD)

Khoảng

cách so

với địa

chỉ bắt

đầu

Thông số tính

toán

có thể định nghĩa

0 PV Double word

- real

vào Tín hiệu về mức nước hiện tại trong bể, khoảng

0.0 – 1.0 tương ứng 0 – 100%

NO

4 SP Double word

- real

IN Giá trị đặt về mức nước trong bể, cũng phải nằm

trong khoảng 0.0 – 1.0

YES

8 M Double word

- real

In/Out Giá trị tín hiệu ra, nằm trong khoảng 0.0 – 1.0 NO

12 KC Double word

- real In Hệ số khuếch đại P. YES

16 TS Double word

- real In Thời gian trích mẫu YES

20 Ti Double word

- real

In Thời gian tích phân YES

24 Td Double word

- real

28 Bias (MX) Double word

- real

In/Out Tổng tích phân (bias MX or integral sum) YES

32 PVN-1 Double word

- real In/Out Giá trị mức nước đo được lần lấy mẫu trước NO

Trong chương trình dùng địa chỉ bắt đầu của bảng là VD100

Có thể tham khảo thêm về PID trong các tài liệu được cung cấp trong Hướng dẫn sử dụng hệ thống S7 200 và các sách tham khảo khác

Trang 6

Lưu đồ thuật toán

Trang 7

CHƯƠNG TRÌNH CHINH

// PID

│ SM0.1 0

1 ├─┤ ├────────────────────────( CALL ) │

│ SM0.0 1

2 ├─┤ ├────────────────────────( CALL ) │

3 ├──────────────────────────────( MEND ) │

LD SM0.1 // ON tại vòng quét đầu CALL 0 // Gọi hàm khởi tạo hệ thống LD SM0.0 // Luôn luôn ON CALL 1 // Gọi hàm kiểm tra lỗi của // khối analog MEND // Kết thúc CHUONG TRINH CON // SBR0: Khởi tạo hệ thống và khởi động ngắt thời gian ┌──────────┐ │ SBR: 0 │ └───┬──────┘ │ SM0.0 MOV_B───┐ 5 ├─┤ ├───────────┬────────────┤EN │

│ │ K100┤IN OUT├SMB34 │ │ └───────┘

│ │ ATCH────┐ │ ├────────────┤EN │

│ │ K0┤INT │

│ │ K10┤EVT │

│ │ └───────┘

│ │

│ └────────────( ENI ) │

6 ├──────────────────────────────( RET ) SBR 0 LD SM0.0 MOVB 100, SMB34 // Thời gian ngắt là 100 ms ATCH 0, 10 // Gọi chương trình ngắt thời gian (10) để thực hiện thuật toán PID ENI // Chấp nhận hoạt động RET // Trở về chươn trình chính // SBR1: Kiểm tra lỗi khối analog và báo lỗi bằng Q0.7

┌──────────┐ │ SBR: 1 │ └───┬──────┘ │ SMB8 KH19 Q0.7 8 ├─────┤ == B ├─────┤NOT├─┬──────( )

│ │

│ │

│ │

│ │

│ SMB9 KH0 │

├─────┤ == B ├─────┤NOT├─┘ │

9 ├──────────────────────────────( RET ) │

SBR 1 LDB= SMB8, 16#19

// Nếu không có khối EM235 thì báo lỗi

NOT LDB= SMB9, 16#0

// Nếu đã có EM235 nhưng có lỗi thì cũng báo lỗi

NOT OLD

= Q0.7

// Error reading analog module

RET

// INT 0: Thực hiện thuật toán PID - Chuonh trinh ngat

Trang 8

│ INT: 0 │

└───┬──────┘

│ Q0.7 WXOR_DW─┐

11 ├─┤ / ├───────────┬────────────┤EN │

│ │ AC0┤IN1 OUT├AC0

│ │ AC0┤IN2 │

│ │ └───────┘

│ │ MOV_W───┐

│ ├────────────┤EN │

│ │ AIW0┤IN OUT├AC0

│ │ └───────┘

│ │ DI_REAL─┐

│ ├────────────┤EN │

│ │ AC0┤IN OUT├AC0

│ │ └───────┘

│ │ SUB_R───┐

│ ├────────────┤EN │

│ │ KR+6400.00┤IN1 OUT├AC0

│ │ AC0┤IN2 │

│ │ └───────┘

│ │ DIV_R───┐

│ ├────────────┤EN │

│ │ AC0┤IN1 OUT├AC0

│ │ KR+25600.0┤IN2 │

│ │ └───────┘

│ │ MOV_R───┐

│ └────────────┤EN │

│ AC0┤IN OUT├VD100

│ └───────┘

│ I0.0 PID─────┐

12 ├─┤ ├────────────────────────┤EN │

│ VB100┤TBL │

│ 0┤LOOP │

│ └───────┘

│ SM0.0 MUL_R───┐

13 ├─┤ ├───────────┬────────────┤EN │

│ │ VD108┤IN1 OUT├AC0

│ │ KR+32000.0┤IN2 │

│ │ └───────┘

│ │ TRUNC───┐

│ ├────────────┤EN │

│ │ AC0┤IN OUT├AC0

│ │ └───────┘

│ │ MOV_W───┐

│ └────────────┤EN │

│ AC0┤IN OUT├AQW0

│ └───────┘

14 ├──────────────────────────────( RETI )

INT 0 LDN Q0.7

// Nếu khối analog không có lỗi

XORD AC0, AC0

// Xóa AC0

MOVW AIW0, AC0

// Lấy giá trị đo được về mức nước PV

DTR AC0, AC0

// Chuyển đổi sang số thực 32 bít

-R 6400.0, AC0

// Chuyển đổi sang tín hiệu 4 – 20 mA

/R 25600.0, AC0

// Chuyển PV về giá trị thường dùng

MOVR AC0, VD100

// Lưu vào vùng nhớ

LD I0.0 // Chế độ Auto

PID VB100, 0 // Thực hiện PID với địa chỉ bắt đầu là VB100

// Tín hiệu đầu ra analog

LD SM0.0 MOVR VD108, AC0 // Đưa ra AC0

*R 32000.00, AC0 // chuyển thang giá trị

TRUNC AC0, AC0

//Chuyển sang số nguyên 32 bít

MOVW AC0, AQW0

// Gửi ra đầu ra

RETI // Trở lại chương trình chính

Trang 9

Dữ liệu DB1 (V Memory):

// Khoi tao cac tham so dieu khien cho bo dieu khien PID co the thuc hien bang cac lenh MOV trong chuong trinh con SBR_0 hoac tu man hinh TD-200.

D Các bớc thực hành

1 Tìm hiểu kỹ yêu cầu công nghệ nêu trên, phân tích dac điểm của hệ thống và cách làm việc của hệ.

2 Liệt kê các đầu và ra :

3 Phân cổng vào ra cho PLC :

4 Dựng lu đồ chơng trình - mô ta cách làm việc của chơng trình :

5 Dich lu đồ sang giản đồ thang:

6 Lập trình giản đồ thang vào PLC

7 Nối PLC va cac thiet bi theo so do hinh 7-3

8 Chạy kiểm tra toàn bộ hệ thống - viết báo cáo nhận xét kết quả.

E Câu hỏi cuối bài học

1 Giải thích nội dung quan sát đợc trong thực hành 8.

2 Thử nghiệm chơng trình trên với các bộ thông số điều khiển Kc, Ti, Td khác

nhau, rút ra nhận xét

3 Tìm tham số điều khiển tối u tác động nhanh của hệ.

Ngày đăng: 29/06/2014, 10:56

HÌNH ẢNH LIÊN QUAN

Bảng lặp dùng cho PID gồm có 36 byte và những thống số được đặt trong - Bộ điều khiển PID trong PLC
Bảng l ặp dùng cho PID gồm có 36 byte và những thống số được đặt trong (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w