3.1.1. Giới thiệu về MatLab
MatLab vừa là mơi trƣờng vừa là ngơn ngữ lập trình đƣợc viết dựa trên cơ sở tốn học nhƣ: lý thuyết ma trận, đại số tuyến tính, phân tích số, … nhằm sử dụng cho các mục đích tính tốn khoa học và kỹ thuật.
MatLab cho phép ngƣời sử dụng thiết kế các hộp cơng cụ của riêng mình. Ngày càng nhiều các hộp cơng cụ đƣợc tạo ra bởi các nhà nghiên cứu trên các lãnh vực khác nhau. Sau đây là một số hộp cơng cụ trong MatLab ứng dụng trong lĩnh vực điều khiển tự dộng:
Control System Toolbox: nền tảng của một nhĩm các dụng cụ để thiết kế trong lãnh vực điều khiển. Bao gồm các hàm dành cho việc mơ hình hố, phân tích, thiết kế hệ thống điều khiển tự động.
Frequency Domain System Identification Toolbox: bao gồm một tập các file .m dùng cho việc mơ hình hố hệ tuyến tính dựa trên sự đo lƣờng đáp tuyến tần số của một hệ thống.
Fuzzy Logic Toolbox: bao gồm một tập hồn chỉnh các cơng cụ giao diện với ngƣời dùng dành cho việc thiết kế, mơ phỏng và phân tích hệ thống suy luận mờ.
Neutral Network Toolbox: bao gồm một tập các hàm của MatLab dành cho việc thiết kế và mơ phỏng mạng neutral.
Nonlinear Control Design Toolbox: là một giao diện đồ hoạ ngƣời dùng cho phép thiết kế hệ điều khiển tuyến tính và phi tuyến sử dụng kỹ thuật tối ƣu trong miền thời gian.
Simulink: Simulink là phần mở rộng của MatLab tạo ra thêm một mơi trƣờng đồ hoạ dùng cho việc mơ hình hố, mơ phỏng và phân tích hệ tuyến tính và phi tuyến động.
System Identification Toolbox: bao gồm các cơng cụ để phỏng tính và nhận dạng hệ thống.
3.1.2.1. Yêu cầu cụ thể
Xây dựng một hệ thống tƣới tự động, gồm một đầu vào là ẩm độ đất, một đầu vào là giai đoạn sinh trƣởng. Đầu ra sẽ là điều khiển tốc độ mở van.
Hình 3.1 Mơ hình hệ thống tƣới tổng quát
3.1.2.2. Mơ hình vật lý
Ƣng dụng để điều khiển thời gian mở valve tƣới. Cần cĩ các khâu cảm biến để hồi tiếp về, các khâu biến đổi A/D, D/A để chuyển đổi tín hiệu tƣơng tự về dạng số để Bộ Điều khiển xử lý dữ liệu và chuyển đổi tín hiệu từ dạng số sang tƣơng tự để điều khiển khối .
Hình 3.2 Mơ hình vật lý
3.1.2.3. Mơ hình tốn học
Từ mơ hình vật lý ta xác định mơ hình tốn học của các phần tử riêng lẻ: Khâu A/D: là khâu giữ bậc khơng (ZOH)
BỘ ĐIỀU KHIỂN
Bơm
Sai lệch Ẩm độ đất Tốc độ thay đổi Ẩm độ đất
Biến tần KĐ Biến tần Cảm biến ẩm độ đất Bộ Điều Khiển A/D D/A bơm
Hàm truyền: S e S G TS 1 ) ( 1
Chuyển sang hệ rời rạc: T
S e Z Z G TS 1 ) ( 1
Khâu D/A: là khâu lấy mẫu với thời gian lấy mẫu là T.
3.1.2.4. Bộ điều khiển số (BDK)
Để cải thiện chất lƣợng của hệ, ta cho thêm khâu điều khiển I ở ngõ vào kết hợp với khâu Fuzzy để điều khiển.
Khâu I sẽ đƣợc thực hiện nhờ phần mềm. Vì vậy trong BDK sẽ bao gồm các khâu sau:
Khâu I: khâu tích phân Hàm truyền:
S S G2( )1
Khâu Fuzzy
Bƣớc 1. Định nghĩa các biến vào/ ra
Biến vào :
+ Ta gọi Sai lệch ẩm độ đất là ET. Sai lệch ẩm độ đất thay đổi trong khoảng (-4, +4)%.
+ Ta gọi Tốc độ sai lệch độ ẩm đất là DET. Tốc độ lệch ẩm thay đổi trong khoảng DET (-2, +2).
Biến ra :
+ Tín hiệu ngõ ra của bộ điều khiển mờ là tần số biến tần F (0, 50) Hz.
Bƣớc 2. Chọn số lƣợng tập mờ:
Ta chọn 7 giá trị cho các biến ngõ vào
Đối với ET: NB,NM,NS,ZERO,PS,PM,PB. T
+ I FUZZY
Tín hiệu điều khiển -
Đối với DET: NB,NM,NS,ZERO,PS,PM,PB..
Chọn 6 giá trị cho các biến ngõ ra V: V1, V2, V3, V4, V5, V6
Bƣớc 3. Xác định hàm liên thuộc:
Ta chọn tập mờ cĩ hình thang và hình tam giác cân:
Bƣớc 4. Xây dựng các luật điều khiển:
Rời rạc hĩa hàm liên thuộc:
Đối với biến vào Tốc độ sai lệch Ẩm độ DET:
Đối với biến vào sai lệch ẩm độ đất DET :
FUZZY S 1 f(u) X Bƣớc 5. Giải mờ: Dùng phƣơng pháp trọng tâm S S dz z dz z y z ) ( ) ( '
Biểu diễn mơ hình với các biến dƣới dạng vector. Đặt X = (x1, x2), Y = (y1, y2)
Mơ hình trở thành:
Với f(u) là quan hệ vào ra của khâu đối tƣợng.
3.1.3. Mơ phỏng trên MatLab 2010b
FIS Editor là một chƣơng trình tạo lập bộ điều khiển mờ cơ bản, trong đĩ cĩ cả chƣơng trình tạo lập hàm liên thuộc, chƣơng trình soạn thảo hàm liên thuộc, …
FIS Editor cho phép xác định số đầu vào, số đầu ra, đặt tên các biến vào, các biến ra.
+
X + Y
Hình 3.3 Mơ hình điều khiển tƣới mờ
Để kiểm tra lại hoạt động của bộ điều khiển mờ, ta vào menu View, chọn View Rules.
Hình 3.4 Hình hoạt động luật tƣới mờ
Tại ơ Input, ta cĩ thể nhập các giá trị của biến ngã vào để quan sát các giá trị của biến ngã ra.
Dựa trên cơ sở luật điều khiển mờ, để xem luật điều khiển trong khơng gian, chọn View Surface trong menu View.
Hình 3.5 Luật điều khiển trong khơng gian
Để mơ tả cho mối liên hệ giữa các biến đầu vào và đầu ra, áp dụng cơng thức [5]:
y = y1*sin(pi*t/x1) Đặt u= pi*t/x1 Vậy ta cĩ, y=y1*sin(u)
Trong đĩ, y là các biến đầu vào, t là tốc độ bơm, y1 , x1 đƣợc xác định bằng thực nghiệm qua thực tế.
Sơ đồ hệ thống điều khiển
Hình 3.6 Mơ phỏng mơ hình trên Simulink
Thiết lập giá trị độ ẩm là 37%, đƣờng cong đầu ra của mơ phỏng bộ điều khiển mờ và mơ phỏng bộ điều khiển PID đƣợc thể hiện trong hình. 3.10. Từ đồ thị mơ phỏng chúng ta cĩ thể thấy rằng tốc độ phản ứng điều khiển PID là nhanh hơn so
với điều khiển mờ, tỷ lệ vƣợt qua lớn, hệ thống điều khiển mờ cĩ tính ổn định hơn, phù hợp hơn để kiểm sốt tƣới.
Hình 3.7 Mơ phỏng các đƣờng cong của PID và Fuzzy
3.2. Thiết kế hệ thống tƣới tự động .
3.2.1. Tìm hiểu về thiết bị PLC S7-300 và ngơn ngữ lập trình a. Thiết bị PLC S7-300 CPU 313C a. Thiết bị PLC S7-300 CPU 313C
Cĩ chức năng điều khiển và giám sát hệ thống tƣới, đƣa ra phƣơng pháp điều khiển thích hợp, nhằm tăng độ chính xác cho việc cung cấp nƣớc tƣới cho cây.
Hình 3.8 Thiết bị PLC S7-300 Kích thƣớc W x H x D: 120 x 125 x 130mm.
PLC S7-300 CPU 313C với mã hiệu 6ES7313-5BF03-0AB0 cĩ các thơng số kỹ thuật sau:
o Phần mềm lập trình : Step7 từ V5.1 hoặc cao hơn.
o Bộ nhớ chƣơng trình: MMC (tối đa 4MB).
o Số đầu vào số tích hợp sẵn: 24 (24 VDC).
o Số đầu ra số tích hợp sẵn: 16 (24 VDC).
o Số đầu vào tƣơng tự tích hợp sẵn: 4 AI ( +/-10V; 0 đến 10V; +/- 20mA; 0/4 đến 20 mA), 1 nhiệt điện trở PT 100.
o Đầu ra số tƣơng tự tích hợp sẵn 2AO ( +/-10V, 0 đến 10V, +/- 20mA, 0/4 đến 20 mA).
o Bộ đếm: 256.
o Bộ định thời: 256.
o Vùng địa chỉ vào/ra: 1024/1024 byte ( Cĩ thể định địa chỉ tự do).
o Vùng đệm vào/ra: 128/128 byte.
o Kênh số vào/ra tối đa: 992/992.
o Kênh tƣơng tự vào/ra tối đa: 248/124.
o Khả năng mở rộng module:
+ Số CPU/Rack tối đa: 1/3
+ Số modul tối đa: 31.
o Tần số chuyển mạch tối đa: 100Hz (tải trở), 0.5 Hz (tải cảm)
o Đồng hồ thời gian thực.
o Kiểu kết nối: MPI.
o Ngơn ngữ lập trình: Step 7 (LAD/FBD/STL), GRAPH, HIGRAPH.
o Nguồn cung cấp: 24 VDC.
o Dịng tiêu thụ: 0.7A.
o Cơng suất tiêu thụ: 14W.
o Kích thƣớc W x H x D: 120 x 125 x 130mm.
Các loại PLC thƣờng cĩ nhiều ngơn ngữ lập trình nhằm phục vụ các đối tƣợng sử dụng khác nhau. PLC-300 cĩ bốn ngơn ngữ lập trình cơ bản:
Ngơn ngữ “liệt kê lệnh” (STL - Statement List) là một ngơn ngữ lập trình dạng text đƣợc dùng để viết các đoạn mã cho các khối logic. Cú pháp
lệnh giống với ngơn ngữ assembler, bao gồm lệnh đi kèm với địa chỉ mà lệnh sẽ làm việc trên đĩ.
Ngơn ngữ “hình thang” (LAD – Ladder Logic) là dạng ngơn ngữ đồ họa thích hợp với những ngƣời quen thiết kế mạch điều khiển logic
Ngơn ngữ “hình khối” (FBD – Function Block Diagram) cũng là kiểu ngơn ngữ đồ họa dành cho ngƣời cĩ thĩi quen thiết kế mạch điều khiển số.
SCL : Lập trình theo ngơn ngữ Pascal
b. NGƠN NGỮ LẬP TRÌNH SCL
Mỗi ngơn ngữ lập trình cĩ một đặc điểm lợi thế riêng,tuỳ vào ứng dụng của chƣơng trình,ta cĩ thể sử dụng linh hoạt các ngơn ngữ này cho phù hợp.Thơng thƣờng ngƣời lập trình thƣờng chia nhỏ chƣơng trình thành các chƣơng trình con và mỗi một chƣơng trình con đĩ sử dụng các ngơn ngữ lập trình sao cho phù hợp.Tất cả các chƣơng trình con này sẽ đƣợc gọi trong một chƣơng trình chính, hoặc sẽ tự động đƣợc gọi ở trong mỗi chƣơng trình ngắt.
Thơng thƣờng, ngơn ngữ SCL đƣợc sử dụng để viết các chƣơng trình con cĩ cấu trúc phức tạp,hoặc cĩ nhiều phép tốn hay vịng lặp đƣợc thực thi, với cấu trúc chƣơng trình đơn giản và tập lệnh đa dạng ,phong phú lối viết chƣơng trình dùng
ngơn ngữ SCL đƣợc ngƣời lập trình chuyên nghiệp sử dụng khá nhiều trong chƣơng trình lập trình cho hệ thống.
Source SCL đƣợc tạo ra bằng cách :
Cấu trúc của một chƣơng trình con đơn giản:
FUNCTION FC1: INT Tên chƣơng trình con và kiểu trả về VAR_TEMP
Khai báo biến sử dụng cho chƣơng trình END_VAR BEGIN IF a = b THEN ; ELSIF a = c THEN
; Cấu trúc tập lệnh trong chƣơng trình
ELSE ;
FOR Control Variable:= Start TO End BY Increment DO ; END_FOR; WHILE a = b DO ; END_WHILE; ; FC1 := 100; Giá trị trả về cho hàm END_FUNCTION Kết thúc hàm
Sau khi hàm con đƣợc viết trong SCL Source, chƣơng trình con sẽ đƣợc tạo ra bằng cách biên dịch SCL Source, tuỳ theo trong cấu trúc Source SCL mà số lƣợng chƣơng trình con đƣợc biên dịch tƣơng ứng,hàm FC1 sẽ đƣợc tạo ra nếu ta biên dịch Source SCL.
c. HÀM THƢ VIỆN S7 300 THƠNG DỤNG
1. Hàm FB41”CONT_C”
Hình 3.9 : Cấu trúc của Modun mềm PID –FB41
FB41”CONT_C” đƣợc sử dụng để điều khiển các quá trình kỹ thuật với các biến đầu vào và ra tƣơng tự nhƣ trên cơ sở thiết bị khả trình Simatic. Trong khi thiết lập tham số, cĩ thể tích cực hoặc khơng tích cực một số thành phần chức năng của bộ điều khiển PID cho phù hợp với đối tƣợng.
Module mềm PID bao gồm:
Tín hiệu đầu vào SP_INT: Lệnh nhập mức tín hiệu điều khiển, là số thực, tính theo giá trị % của tín hiệu cực đại thang điều khiển.
Tín hiệu phản hồi PV_PER: Tín hiệu phản hồi lấy từ đối tƣợng đƣợc điều khiển. Nĩ thƣờng đƣợc đọc từ một cảm biến Analog qua đầu vào Analog nên ngƣời ta chọn kiểu dữ liệu đầu vào này là số nguyên kiểu Word. Chức năng CRP_IN biến đổi kiểu dữ liệu từ số nguyên sang dạng số thực tính theo % cho phù hợp với lệnh. Do Module Analog cĩ giới hạn thang đo tuyến tính là 27648 nên ta coi giới hạn đĩ là 100% và tín hiệu ra CRP_IN đƣợc tính:
CRP_IN=PV_PER
27648 100
Để hiệu chỉnh giá trị cảm biến phản hồi, khối chức năng PV_NORM sẽ thực hiện biến đổi tuyến tính, hiệu chỉnh độ nhạy (PV_FAC) và độ trơi (PV_OFF):
PV_NORM= CRP_INPV_FAC +PV_OFF
Khi thay thế cảm biến, ta cần hiệu chỉnh 2 giá trị trên để kết quả đo lƣờng khơng đổi.
Trong trƣờng hợp tín hiệu phản hồi khơng thu đƣợc từ cảm biến cĩ dữ liệu tƣơng ứng đầu vàoPV_PER, ta cĩ thể đƣa qua tính tốn khác và đƣa đến đầu vào PV_IN dạng số thực, tính theo %, lúc đĩ lệnh PVPER_ON phải đặt về mức “0”.
Khối sẽ so sánh 2 giá trị vào, cho ra tín hiệu sai lệch. Tín hiệu sai lệch đƣợc đƣa qua khối chức năng DEADBAND để hệ thống khơng hoạt động với các sai lệch nhỏ dƣới mức cần tác động. Điều này cần thiết nếu các hệ làm việc trong mơi trƣờng nhiều nhiễu. Trong mơi trƣờng ít nhiễu, ta giảm DEAD_W về “0” để tăng độ nhạy, độ chính xác của hệ thống. Hệ số khuếch đại tín hiệu sai lệch của hệ chính là thành phần tỉ lệ Kp, đƣợc đặt bằng hệ số GAIN. GAIN là số thực, nếu chọn lớn hệ sẽ tác động nhanh, chính xác nhƣng dễ mất ổn định.
Khâu PID thực sự gồm 3 thành phần:
- Thành phần tỉ lệ, đƣợc lựa chọn nhờ lệnh chuyển mạch P_SEL - Thành phần tích phân đƣợc hình thành bởi khối chức năng INT và
đƣợc chọn nhờ lệnh chuyển mạch I_SEL. Tính chất khối tích phân xác định nhờ giá trị hằng số thời gian TI (Dữ liệu kiểu TIME), giá trị ban đầu I_ITLVAL (Dạng số thực tính theo %). Cĩ sử dụng giá trị ban đầu hay khơng tuỳ thuộc lệnh I_ITL_ON, và cĩ thể dùng quá trình tích phân giữ nguyên giá trị đầu ra bằng lệnh INT_HOLD.
- Thành phần vi phân đƣợc hình thành bởi khối chức năng DIF, đƣợc lựa chọn nhờ lệnh chuyển mạch D_SEL. Tính chất khối vi phân đƣợc xác lập bởi hằng số thới gian TD (Dữ liệu kiểu TIME) và thời gian giữ chậm TM_LAG (Dữ liệu kiểu TIME).
- Ba thành phần này đƣợc cộng với nhau. Nhờ các lệnh chuyển mạch P_SEL, I_SEL, D_SEL mà ta cĩ thể thành lập các chế độ điều khiển P, PI, PD, PID khác nhau.
° Tín hiệu sai lệch tổng hợp đƣợc cộng thêm thành phần DISV dùng để bù tác động hiễu theo chiều thuận. Giá trị của DISV cĩ dạng số thực, tính theo %.
° Tín hiệu sai lệch đƣợc đƣa qua bộ hạn chế mức tín hiệu điều khiển LMNLIMIT. Mức hạn chế trên LMN_HLM và hạn chế dƣới LMN_LLM đƣợc đƣa vào dạng số thực, tính theo%. Đầu vào của khối đƣợc lựa chọn theo chế độ bằng tay hay tự động nhờ lệnh MAN_ON. Đầu vào MAN, dạng số thực, tính theo %, dùng để đặt mức tín hiệu ra LMN trong chế độ điều khiển bằng tay.
° Khối LMN_NORM biến đổi tuyến tính, bù lệch tĩnh và độ nhạy của cơ cấu chấp hành. Tín hiệu điều khiển đầu ra LMN cĩ dạng số thực, tính theo %.
LMN=LMNLIMITLMN_FAC+LMN_OFF
° Khối CRP_OUT biến đổi tín hiệu ra dạng số thực ra dạng số nguyên LMN_PER thích ứng với dạng ra các Module ra Analog.
LMN_PER=LMN
100 27648
° Các đầu ra trung gian, kiểm tra:
- PV_IN: Tín hiệu phản hồi, dạng số thực, tính theo % ở đầu vào mạch so sánh.
- LMN_P, LMN_I, LMN_D: các thành phần tỉ lệ, tích phân, vi phân của tín hiệu sai lệch ở đầu vào bộ tổng hợp.
- QLMN_HLM, QLMN_LLM: Tín hiệu báo độ sai lệch vƣợt mức hạn chế trên và dƣới.
Các tín hiệu đầu ra này cĩ thể dùng theo dõi, báo hiệu hoặc các xử lý khác.
2. Sử dụng khối hàm FB41
° Để sử dụng module mềm FB41, ta xét sơ đồ khối tín hiệu:
° Lệnh điều khiển đƣợc đặt vào dạng số thực (%) qua đầu vào SP_INT. Đầu ra LMN (số nguyên) hoặc LMN_PER (số thực) đƣợc đƣa đến cơ cấu chấp hành, điều khiển đối tƣợng. Tín hiệu phản hồi đƣợc đƣa trở về đầu vào PV_PER (số nguyên) hoặc PV_IN (số thực).
° Đầu vào DISV sử dụng khi cĩ tác động trực thuận cĩ thể đo lƣờng đƣợc, giảm sai lệch đầu ra, nâng cao độ chính xác cho hệ.
3.2.2.PHẦN MỀM SOẠN THẢO CHƢƠNG TRÌNH ĐIỀU KHIỂN
3.2.2.1. Phần mềm STEP7
STEP7 là một phần mềm hổ trợ :
Khai báo cấu hình phần cứng cho một trạm PLC thuộc họ Simatic S7_300/400. Xây dựng cấu hình mạng gồm nhiều trạm PLC cũng nhƣ thủ tục truyền thơng
giữa chúng.
Soạn thảo và cài đặt chƣơng trình điều khiển cho một hoặc nhiều trạm.
Quan sát việc thực hiện chƣơng trình điều khiển trong một trạm PLC và gỡ rối