Nghiên cứu các phương pháp điều khiển đối tượng công nghiệp Nghiên cứu các phương pháp điều khiển đối tượng công nghiệp Nghiên cứu các phương pháp điều khiển đối tượng công nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
Bộ giáo dục Đào tạo Trường Đại học Bách khoa Hµ Néi - luận văn thạc sĩ khoa học nghiên cứu phương pháp điều khiển đối tượng công nghiệp ngành : tự động hoá mà số : 26744.3898 đặng anh tó Ngêi híng dÉn khoa häc : TS Ngun Huy phương Hà Nội 2008 Lời nói đầu Trong vài năm trở lại đây, khoa học công nghệ nói chung lĩnh vực tự động hoá nói riêng đà có phát triển vững nhiều lĩnh vực nước ta Trong công nghiệp, vấn đề ứng dụng khoa học công nghệ tự động hoá đà nhà nước quan tâm đầu t Tuy nhiªn thùc tÕ viƯc øng dơng tù động hoá sản xuất công nghiệp chậm nhiều vấn đề phải quan tâm Ngày khoa học công nghệ giới đà phát triển, phương pháp điều khiển, công nghệ phát minh ngày nhiều Đối tượng điều khiển ngày đa dạng phức tạp Các đối tượng lý thuyết nghiên cứu nhiều chiều không đơn giản phương pháp giải thường giải pháp tạo thành mạch vòng độc lập Từ tính toán hệ điều khiển riêng biệt Phương pháp có ưu ®iĨm lµ dƠ ®iỊu khiĨn nhng thùc tÕ cã đối tượng chuyển sang mạch vòng độc lập tạo sai lệch mô hình Do dẫn đến phần điều khiển tính toán khác với thực tế Vì lý đà chọn đề tài: Nghiên cứu phương pháp điều khiển đối tượng công nghiệp với mong muốn nâng cao kiến thức điều khiển đối tượng phương pháp điều khiển trình ứng dụng công nghiệp, đặc biệt mối quan hệ tác động lẫn mạch vòng trình Luận văn nghiên cứu điều khiển đối tượng vào trình đa biến hai vào hai đà biết trước mô hình toán học Với toán áp dụng phương pháp tổng hợp mà phương pháp đà đem đến nhiều ứng dụng thực tế như: tổng hợp điều khiển PID dựa trªn sù ỉn Cao häc 2006 - 2008 ∞ định M = 1,55 tiêu chuẩn tích phân cực tiểu J = e(t )dt , phương pháp điều khiển DMC dựa tiêu chuẩn tổng bình phương sai lệch cực tiểu Để giải nội dung đề tài, luận văn gồm chương: - Chương 1: Tổng quan lý thuyết điều khiển trình - Chương 2: Mô hình toán học - Chương 3: Một số phương pháp điều khiển trình - Chương 4: Thiết kế mô trình đa biến Để hoàn thành khối lượng lớn công việc mà để tài đà đặt ra, nỗ lực thân, xin bày tỏ lòng biết ơn sâu sắc đến TS Nguyễn Huy Phương, người tận tình hướng dẫn, bảo để hoàn thành đề tài Tôi xin cảm ơn người thân, bạn bè đồng nghiệp đà động viên tạo điều kiện đóng góp ý kiến cho trình nghiên cứu, cảm ơn tác giả đà cung cấp thông tin tham khảo giúp hoàn thành nghiên cứu Tuy nhiên, thời gian có hạn hạn chế thân nên luận văn không tránh khỏi thiếu sót Tôi mong nhận bảo thầy cô giáo ý kiến đóng góp bạn để luận văn đạt kết tốt Hà nội ngày 26 tháng 11 năm 2008 Học viên thực Đặng Anh Tú Cao học 2006 - 2008 Chương I : Tổng quan điều khiển trình 1.1 Giới thiệu lý thuyết điều khiển trình Điều khiển trình biết đến vào năm trước thập kỷ 40 kỷ XX Ngày đó, người vận hành đóng vai trò vừa sensor vừa điều khiển vừa cấu chấp hành Đến năm 60 người ta bắt đầu áp dụng phân tích động lực học lý thuyết điều khiển vào quy trình hoá học Cũng thời gian đà có công cụ chấp hành để điều khiển chế tạo Từ năm 70 trở lại lý thuyết điều khiển phát triển không ngừng, thiết bị chấp hành, đo lường, điện tử máy tính sensor ngày nhanh hoàn thiện Gần lý thuyết điều khiển đại có bước phát triển nhảy vọt, nhiều lý thuyết điều khiển đời ứng dụng rộng rÃi thực tiễn lý thuyết điều khiển mờ, nơron, thích nghi đà làm cho điều khiển trình sử dụng phổ biến công nghiệp Điều khiển trình lĩnh vực ứng dụng quan trọng kỹ thuật điều khiển ngành công nghiệp nặng hoá chất Điều khiển trình chiếm vị trí quan trọng hàng đầu tự động hoá công nghiệp Ngày nay, chúng ứng dụng rộng rÃi nhà máy xi măng điều khiển lò nung clanke, lò nghiền xi măng, nhà máy nhiệt điện, nhà máy lọc dầu, nhà máy hoá chất như: điều chế hoá chất natri hypoclorit, axít sunphuric, amoni nitrat, công nghiệp chế biến, công nghiệp thực phẩm: tinh luyện đường Để nghiên cứu vấn đề điều khiển trình đa biến, thực tế ta bắt gặp nhiều điều khiển máy bay bay lên cao cần phải ®iỊu chØnh b¸nh l¸i ®é cao nhng bay cao lên tốc độ giảm xuống lúc hệ thống Cao học 2006 - 2008 cần phải tự điều chỉnh nguyên liệu cấp cho phù hợp Trong công nghiệp có nhiều đối tượng vật lý có mối quan hệ lẫn áp suất ảnh hưởng đến nhiệt độ, trạng thái vật chất, phản ứng hoá học hay nhiệt độ ảnh hưởng tới độ ẩm, áp suất, chất lượng sản phẩm Do ta chọn hai đối tượng công nghiệp nơi mà xảy phản ứng hoá học, để thấy phức tạp hệ thống Đó hệ thống lò hơi, trái tim nhà máy nhiệt điện tháp chưng luyện Với tháp chưng luyện có nhiều đối tượng hoá học cã thĨ xem xÐt nh ®iỊu chÕ etylen, ethanol trường hợp giới thiệu công nghệ điều chế axít béo Các nhà máy phát điện Việt nam, hệ điều khiển trình sử dụng nhiều Cấu tạo nhà máy nhiệt điện sử dụng than hay khí hoá lỏng dùng chung nguyên lý dùng nhiệt đốt lò để vận hành tua bin Vì lò đóng vai trò quan trọng ảnh hưởng đến suất, chất lượng điện 1.1.1 Lò Có thể nói lò trái tim nhà máy điện Lò đối tượng phức tạp có nhiều thông số vào thông số ra, hình thành nhiều kênh đan chéo Đối với lò người ta quan tâm đến bốn tín hiệu lưu lượng, áp suất, nhiệt độ áp suất buồng lửa Tác động điều chỉnh để thay đổi lưu lượng vị trí van điều chỉnh nước cấp, tác động điều chỉnh van cấp không làm thay đổi lưu lượng mà thay đổi nhiệt độ nhiệt qua thay đổi chế độ truyền nhiệt buồng lửa bình giảm ôn Tác động điều chỉnh áp suất lưu lượng nhiên liệu vào buồng đốt Lưu lượng nhiên liệu vào buồng đốt không làm thay đổi áp suất hơi, tức lượng sinh ra, thay đổi nhiệt lượng tỏa buồng đốt mà qua làm thay đổi nhiệt độ nhiệt, đồng thời lưu lượng lượng sản phẩm cháy sinh buồng lửa Kết làm thay đổi ¸p suÊt hay ®é Cao häc 2006 - 2008 chân không buồng đốt Tác động điều chỉnh làm thay đổi áp suất buồng lửa lượng khí nóng phần đuôi lò Nó làm thay đổi chế độ truyền nhiệt dàn ống sinh hơi, dàn ống hâm nước, dàn ống nhiệt Do ảnh hưởng đến nhiệt độ nhiệt, lưu lượng áp suất Hình1.1: Tác động đan chéo lò Từ hình 1.1 ta thấy tác động đan xen, qua lại lẫn biến vào Chúng có tương tác ảnh hưởng thông số vào hai biến điều khiển lượng khí thải hút GT lưu lượng không khí GK với hai biến đầu áp suất chân không buồng đốt ST với lượng Oxi thừa khí thải hay cặp thông số vào lượng nhiên liệu BT lưu lượng bÃo hoà Gb với cặp thông số lưu lượng nhiệt áp suất nhiệt Pqn Ngoài trình điều khiển biến điều khiển cặp biến đầu chịu ảnh hưởng tác động biến điều khiển lại BT tác động lên Pqn hay Gb tác động lên Gqn việc điều khiển để đạt chất lượng mong muốn phức tạp Cao học 2006 - 2008 1.1.2 §iỊu chÕ axÝt bÐo Sư dơng ¸p st cao th¸p chng lun chÊt bÐo (C17) để thuỷ phân chất béo thô thành axít béo thô glycerin loÃng Sản phẩm axít béo thô Sơ đồ 1.1 : Quy trình sản xuất axit béo Chất béo chứa kho (T-18) nhiệt độ 1200F bơm cao áp (PD-18) bơm vào tháp chưng luyện Chất béo gia nhiệt đến nhiệt ®é 4000F ë HE-19 b»ng dßng níc nãng tríc bơm vào tháp chưng luyện Tháp chưng luyện vận hành liên tục áp suất 700 psig 5000F với tốc độ chất béo bơm vào 25.000bl/h Nước khử khoáng bơm vào tháp chưng luyện bơm (PD-20) Nước gia nhiệt HE-21 tới 5000F Để đảm bảo thuỷ phân chất béo hoàn toàn cần phải bơm thừa níc Cao häc 2006 - 2008 Dßng níc nãng nhiệt độ 800 psig 7000F phun trực tiếp vào tháp chưng luyện Dòng cung cấp nhiệt trộn chất béo Nước cho vào phía có tỷ trọng cao axít béo thô Chất béo thô cho vào từ phía không hoà tan nước tăng lên giống nước chảy xuống tháp Glycerin tạo phản ứng hoà tan nước tăng tỷ trọng thuỷ phân Có ranh giới tháp, phía chất béo axít béo, phía hầu hết thuỷ phân nước Glycerin Hoạt động tốt tháp chưng luyện hoàn thành vị trí ranh giới gần dòng phun nước nóng Nếu mức nước thấp, lượng axít béo thô tăng Nếu mức nước cao, chất béo phân tán nước không thuỷ phân nhiệt độ cao để đảm bảo phản ứng thuỷ phân Nguyên liệu thu phía bao gồm axít béo va lượng nhỏ nước Axít béo ướt có màu nâu sáng, trắng đục sản phẩm phía làm khô hai bước Nguyên liệu phun vào bình thứ (V-22), với hầu bay Hơi nước ngưng tụ lại (HE-27) Axít béo tiếp tục đưa qua bình chân không(V-23) để làm khô nguyên liệu hoàn toàn Thiết bị (EJ-25) làm nhiệm vụ hút chân không nước bình chân không ngưng tụ lần (HE-28) Dòng nước ngưng tụ thiết bị ngưng tụ khí áp (HE-29) Bể chân không nên hoạt động áp suất 100mm Hg Bơm cần bơm bÃo hòa đạt tốc độ 2500 lb/h áp suất 150-psig áp suất thấp tạo phần tử có trọng lượng phân tử thấp axit béo thô bị hoá chuyển tới thiết bị ngưng tụ Nếu áp suất chân không không đủ, axit béo thô đọng lại bình, mà điều lại gây vấn đề trình Pha thủy phân không từ đáy tháp chiếm 20% trọng lượng glycerine phân hủy nước Giống axit béo, giai đoạn thủy phân Cao học 2006 - 2008 diƠn nhanh chãng ë ¸p st khÝ qun (V-30) Bất kỳ nguyên liệu chất béo giai đoạn thủy phân khiến cho trình tạo glycerine nguyên chất diễn khó khăn Quá nhiều nước giai đoạn thủy phân cần thêm lượng để tạo glycerine nguyên chất Glycerine phải chất lỏng không màu suốt Nước khử khoáng Hơi nước nóng Tháp chưng luyện Lưu lượng chất béo Nhiệt độ áp suất Mức nước Hình 1.2 : Mối quan hệ đối tượng đầu vào Trong trình tinh luyện axít béo ta thấy mối quan hệ biến đầu vào nước nóng, nước khử khoáng chất béo cấp vào phải đảm bảo cho trình thuỷ phân có sản phẩm đạt chất lượng tốt Do cần phải đảm bảo yêu cầu nhiệt độ, mức nước áp suất tháp chưng luyện phải giữ ổn định suốt trình thuỷ phân Hệ điều khiển trình nghiên cứu hệ nhiều chiều cụ thể hệ (2x2) có tác động qua lại lẫn Các phương pháp điều khiển trước thường chọn giải pháp điều khiển phân ly, tức người ta tách hệ thống thành hai mạch vòng độc lập, từ thiết kế điều chỉnh riêng biệt Ngày hệ thống máy tính đủ mạnh tính toán khối lượng lớn để thiết kế điều khiển hướng giải vấn đề áp dụng lý thuyết điều khiển đa biến vào điều khiển đối tượng trình Trong luận văn ta nghiên cứu hai Cao học 2006 - 2008 phương pháp giải để làm rõ phức tạp điều khiển hệ thống trình đa biến Phương pháp 1: Đầu tiên tính toán điều khiển tương tác xen kênh, hệ thống lúc hai vòng độc lập dựa tiêu chuẩn ổn định đáp ứng tần số vòng kín M=1,55 tiêu chuẩn tÝch ph©n sai lƯch cùc tiĨu ∞ J = ∫ e(t )dt Sau cho đối tượng tác ®éng lªn hƯ thèng tiÕp theo ta cho tÊt đối tượng tương tác lẫn Kết đánh giá chưa tốt điều khiển phải thiết kế lại phải đảm bảo tiêu chuẩn ổn định tích phân sai lệch Đây phương pháp hay áp dụng đồ thị độ đưa đánh giá tương tác phần tử lên đối tượng điều khiển Phương pháp 2: phương pháp tính toán dựa mô hình mẫu người ta thiết kế ma trận động A thể mối quan hệ biến vào Dựa biến đầu vào đà biết người ta dự đoán kết đầu theo ma trận động A, so sánh với điểm đặt có giá trị sai lệch, áp dụng tiêu chuẩn ổn định tổng bình phương sai lệch cực tiểu tìm giá trị đầu tiên đoán từ xác định tham số điều chỉnh sai lệch biến điều khiển dự báo Qua ta thấy công nghiệp cần ứng dụng nhiều điều khiển trình giải toán điều khiển nhiều biến để chất lượng sản phẩm tốt Để hiểu rõ điều khiển trình, nhà khoa học đà đưa định nghĩa tổng quát 1.2 Khái niệm điều khiển trình Điều khiển trình có nhiều cách hiểu khác hiểu ứng dụng kỹ thuật điều kiển tự động điều khiển, vận hành giám sát trình công nghệ, nhằm đảm bảo chất lượng sản phẩm, hiệu sản xuất an toàn cho người, máy móc môi trường Cao học 2006 - 2008 94 Tài liệu tham khảo Tiếng việt: [1] Hoàng Minh Sơn: Cơ sở hệ thống điều khiển trình Nhà xuất Bách Khoa Hà nội 2006 [2] Nguyễn Phùng Quang: Matlab&simulink dành cho kỹ sư điều khiển tự động Nhà xuất khoa học Kỹ thuật Hà nội 2006 [3] Bùi Quốc Khánh: Tài liệu giảng dạy môn điều khiển trình [4] Phạm Thương Ngô: Kỹ thuật điều chỉnh tự động Nhà xuất khoa học kỹ thuật Hà nội - 2001 TiÕng Anh: [5] Smith, C.A & A.B Corripio: Principles and practice or automatic process control second edition [6] Stephanopulos: Chemical process control and chemical modeling [7] Marlin, T.E: Process control-Designing process and control system for Dynamic performance - Second edition -McGraw-Hill 2000 [8] G.C Goodwin & S.F Graebe & M.E Salgado: Control system design – ValparaÝso – 2000 [9] Skogestad, S & I Postlethwaite: Multivariable feedback control analysis and design – John wiley & Sons Cao häc 2006 - 2008 95 Phụ LụC Code vẽ đặc tính tần clc; % nhap ham truyen W11 k11=2; T112=120; T111=60; tdead11=10; wp11=tf([-0.5*tdead11 1],[0.5*tdead11 1]); %xap xi pade W11=tf(k11, conv([T111 1], [T112 1])); w11wdt=W11*wp11; % nhap ham truyen W12 k12=0.4 ; T12=8; tdead12=2; wp12=tf([-0.5*tdead12 1],[0.5*tdead12 1]); %xap xi pade W12=tf(k12, conv([T12 1],1)); w12wdt=W12*wp12; % nhap ham truyen W21 k21=0.4; T21=10; tdead21=3; wp21=tf([-0.5*tdead21 1],[0.5*tdead21 1]); %xap xi pade W21=tf(k21, conv([T21 1],1)); w21wdt=W21*wp21; % nhap ham truyen W22 k22=1.5; T222=110; T221=47; tdead22=15; wp22=tf([-0.5*tdead22 1],[0.5*tdead22 1]); %xap xi pade W22=tf(k22, conv([T222 1], [T221 1])); w22wdt=W22*wp22; Cao häc 2006 - 2008 96 % nhap ham truyen bo dieu khien Gc1 PI kc1=0.6 %1.02 Ti1=100 %100 Gc1=tf(kc1*[Ti1 1], [Ti1 0] ); % nhap ham truyen bo dieu khien Gc2 PID kc2=1.05 %1.65 Ti2=120 %120 Gc2=tf(kc2*[Ti2 1], [Ti2 0] ); % ham truyen T1 T2 Q1=(1+w11wdt*Gc1)*(1+w22wdt*Gc2)-Gc1*Gc2*w12wdt*w21wdt; T1=(Q1-(1+w22wdt*Gc2))/Q1; T2=(Q1-(1+w11wdt*Gc1))/Q1; w=0:0.001:0.1; T=frd(T1,w*1); A1=abs(T); %he kin tuong tac [ninf1,fpeak1]=norm(A1,inf); M=frd(T2,w*1); A2=abs(M); % he kin tuong tac [ninf2,fpeak2]=norm(A2,inf); W1=w11wdt*Gc1/(1+w11wdt*Gc1); W2=w22wdt*Gc2/(1+w22wdt*Gc2); M1=frd(W1,w); M2=frd(W2,w); A3=abs(M1); %he kin doc lap A4=abs(M2); %he kin doc lap figure (221); plot(A1,' k',A2,'r'); %plot(A4,' k',A2,'k',A3,' r',A1,'r'); grid on; legend ('Dac tinh tan cua bo dieu khien 1','Dac tinh tan cua bo dieu khien 2',2) xlabel('w [rad/sec]'),ylabel('dac tinh tan') title(['Kc1= 0.6; Ti1=100 ',' Kc2= 1,05; Ti2=120 ']) Cao học 2006 - 2008 97 Code chương trình ma trËn ®éng DMC: % chuong_trinh.m clear; clc; delt=7.5; tend=2000; NOISEYN=1; Kn=[0.001 0.001]; BETA=[1 1]; % khoang thoi gian lay mau % thoi gian mo phong % dat nhieu bang % gia tri diem dat va khoang thoi gian tre diem dat config=[1,2; %diem dat sp1 sp2 0,0]; % thoi gian tre diem dat % gia tri qua trinh thong_so; % gia tri ban dau cua diem dat va bien dieu khien inity=[0,0]; initm=[0,0]; % so bien vao va nin = 2; nout=2 ; % nhap du lieu thuat toan dieu khien W1 = 1.0 ; W2 = 1.0 ; % gia bien duoc dieu khien F1 = 0.02 ; F2 = 0.02 ; % gia sai lech bien dieu khien MM = 11; NN = 44; % gia tri ban dau cua bien duoc dieu khien de tinh simulink: y1_sim = [ 0; 0 ]; y2_sim = [ 0; 0 ] ; y1_pre = [ 0; 0 ]; % bien duoc dieu khien tien doan Cao häc 2006 - 2008 98 y2_pre = [ 0; 0 ]; %thiet lap thong so mo hinh bang thong so qua trinh tau1_m = tau1; tau2_m = tau2; Kp_m = Kp ; DT_m = DT ; gamma_m = gamma; %tinh thong so qua trinh so_kien; % tinh thong so mo hinh thong_so_mo_hinh; %tinh ma tran A ma_tran_A; %tinh thong so bo dieu khien KDMC KDMC; %tinh toan bien duoc dieu khien tinh_toan; %ve thi ve_do_thi; %thong_so.m % nhap ham truyen W11 k11=2; T112=120; T111=60; tdead11=10; % nhap ham truyen W12 k12=0.4 ; T12=8; tdead12=2; % nhap ham truyen W21 k21=0.4; T21=10; tdead21=3; % nhap ham truyen W22 Cao häc 2006 - 2008 99 k22=1.5; T222=110; T221=47; tdead22=15; Kp=[k11 k12;k21 k22]; %ma tran he so qua trinh tau1=[T112 T12;T21 T222]; tau2=[T111 0;0 T221]; DT=[tdead11 tdead12;tdead21 tdead22]; gamma=round(DT./delt); %so_kien.m if NOISEYN==1 ; rand('seed',0); end SStime=max([max(max(DT)) max(max(DT_m))]); % trang thai thoi gian ban dau nstart=round(SStime/delt)+3; % diem bat dau mo phong nmax=round(tend/delt)+nstart; % ket thuc mo phong % luu gia tri ma tran yp=zeros(2,2); yp1=zeros(2,2); yp2=zeros(2,2); noise1=zeros(nmax,1); noise2=zeros(nmax,1); y1=zeros(nmax,1); y2=zeros(nmax,1); %tinh gia tri dau y1(1:nstart,1)=ones(nstart,1)*inity(1)+Kn(1)*(rand(nstart,1)); y2(1:nstart,1)=ones(nstart,1)*inity(2)+Kn(2)*(rand(nstart,1)); % ma tran luu gia tri exp1=zeros(2,2); exp2=zeros(2,2); a1=zeros(2,2); a2=zeros(2,2); b1=zeros(2,2); b2=zeros(2,2); Cao häc 2006 - 2008 100 %tinh toan tham so mo hinh for x=1:2 for y=1:2 tau12(x,y)=tau1(x,y)-tau2(x,y); tauA1(x,y)=-tau1(x,y); tau2A(x,y)=tau2(x,y); if tau1(x,y)>0 exp1(x,y)=exp(-delt/tau1(x,y)); end if tau2(x,y)>0 exp2(x,y)=exp(-delt/tau2(x,y)); end a1(x,y)=-exp1(x,y)-exp2(x,y); a2(x,y)=exp1(x,y)*exp2(x,y); b1(x,y)=Kp(x,y)*(1+tauA1(x,y)/tau12(x,y)*exp1(x,y)+ tau2A(x,y)/tau12(x,y)*exp2(x,y)); b2(x,y)=Kp(x,y)*(a2(x,y)+tauA1(x,y)/tau12(x,y)* exp2(x,y)+tau2A(x,y)/tau12(x,y)*exp1(x,y)); end end % khoi tao gia tri ban dau deltacontout1=zeros(nmax,1); deltacontout2=zeros(nmax,1); initsp=zeros(2,1); sp1=zeros(nmax,1); sp2=zeros(nmax,1); m1=zeros(nmax,1); m2=zeros(nmax,1); error1=zeros(nmax,1); error2=zeros(nmax,1); initsp=inity; %gan gia tri ban dau voi dau m1(1:nmax,1)=ones(nmax,1)*initm(1); m2(1:nmax,1)=ones(nmax,1)*initm(2); sp1(1:nstart-1,1)=ones(nstart-1,1)*initsp(1); sp2(1:nstart-1,1)=ones(nstart-1,1)*initsp(2); Cao häc 2006 - 2008 101 %bien dieu khien va duoc dieu khien ban dau tinh toan cho DMC y1_sim = zeros(2); y2_sim = zeros(2); m1_sim = zeros(2); m2_sim = zeros(2); % gan gia tri du bao m1_pre = m1; m2_pre = m2; %thong_so_mo_hinh.m % tinh thong so mo hinh qua trinh Hm: gamma_m = round(DT_m./delt); exp1_m=zeros(2,2); exp2_m=zeros(2,2); a1_m=zeros(2,2); a2_m=zeros(2,2); b1_m=zeros(2,2); b2_m=zeros(2,2); for x=1:2 for y=1:2 tau12_m(x,y)=tau1_m(x,y)-tau2_m(x,y); tauA1_m(x,y)=-tau1_m(x,y); tau2A_m(x,y)=tau2_m(x,y); if tau1_m(x,y)>0 exp1_m(x,y)=exp(-delt/tau1_m(x,y)); end if tau2_m(x,y)>0 exp2_m(x,y)=exp(-delt/tau2_m(x,y)); end a1_m(x,y)=-exp1_m(x,y)-exp2_m(x,y); a2_m(x,y)=exp1_m(x,y)*exp2_m(x,y); b1_m(x,y)=Kp_m(x,y)*(1+tauA1_m(x,y)/tau12_m(x,y)*exp1_m(x,y)+ tau2A_m(x,y)/tau12_m(x,y)*exp2_m(x,y)); b2_m(x,y)=Kp_m(x,y)*(a2_m(x,y)+tauA1_m(x,y)/tau12_m(x,y)* exp2_m(x,y)+tau2A_m(x,y)/tau12_m(x,y)*exp1_m(x,y)); end Cao häc 2006 - 2008 102 end %ma_tran_A.m % gia tri ban dau y_m = zeros(nout) y1_m = zeros (nout) y2_m = zeros(nout) M1_m = zeros (nin) M2_m = zeros (nin) ; ; ; ; ; % tinh toan ban dau cho tre SStime_m = max (max (DT_m)) ; SSstep_m = SStime_m/delt +1 ; % dau vao bang la cu % bang la hien tai va moi for iin=1:nin for istep=1:SSstep_m-1 INSTEP(iin,istep) = 0.0 ; end for istep = SSstep_m : SSstep_m + NN INSTEP(iin,istep) = 1.0 ; end end % tinh toan buoc dap ung OUTPUT11 = zeros (1,NN) ; OUTPUT12 = zeros (1,NN); OUTPUT21 = zeros (1,NN) ; OUTPUT22 = zeros (1,NN); for ncount= SSstep_m+1 : SSstep_m + NN % anh huong cua bien dieu khien len bien duoc dieu khien M1_m=[INSTEP(1, ncount-1-gamma_m(1,1)) INSTEP(2, ncount-1gamma_m(1,2)); INSTEP(1, ncount-1-gamma_m(2,1)) INSTEP(2, ncount-1gamma_m(2,2))]; Cao häc 2006 - 2008 103 if ncount == SSstep_m+1 %tai thoi diem dau gan bang M2_m = [ 0 ; 0] ; else M2_m=[INSTEP(1,ncount-2-gamma_m(1,1)) INSTEP(2,ncount-2gamma_m(1,2)); INSTEP(1,ncount-2-gamma_m(2,1)) INSTEP(2,ncount-2gamma_m(2,2))]; kt=min(ncount*ones(2,2)-gamma_m)-2; if kt = A11(iNN,iMM) = OUTPUT11(iNN-iMM+1); Cao häc 2006 - 2008 104 A12(iNN,iMM) = OUTPUT12(iNN-iMM+1); A21(iNN,iMM) = OUTPUT21(iNN-iMM+1); A22(iNN,iMM) = OUTPUT22(iNN-iMM+1); end end end % tinh toan KDMC.m A = [ A11 A12 ; A21 A22 ]; % ma tran W du bao W11 = W1*eye(NN) ; W22 = W2*eye(NN); W12 = zeros (NN); W21 = zeros (NN); WW = [ W11 W12 ; W21 W22 ] ; % ma tran gia dau vao F11 = F1*eye(MM) ; F22 = F2*eye(MM); F12 = zeros (MM); F21 = zeros (MM); FF = [ F11 F12 ; F21 F22] ; %he so DMC Kdmc=inv(A'*WW*A+FF)*A'*WW; DMC_V1 = Kdmc(1,:) ;% KDMC cho bien dieu khien DMC_V2 = Kdmc(1+MM,:) ;% KDMC cho bien dieu khien %tinh_toan.m disp(' ') disp('***** bat dau tinh toan *****'); so_kien; % nhap gia tri ban dau if NOISEYN==1 for n=nstart:1:nmax noise1(n)=BETA(1)*noise1(n-1)+Kn(1)*randn; noise2(n)=BETA(2)*noise2(n-1)+Kn(2)*randn; end end for n=nstart:1:nmax % bien dieu khien M1=[m1(n-1-gamma(1,1))-initm(1) m2(n-1-gamma(1,2))-initm(2); m1(n-1-gamma(2,1))-initm(1) m2(n-1-gamma(2,2))-initm(2)]; Cao häc 2006 - 2008 105 M2=[m1(n-2-gamma(1,1))-initm(1) m2(n-2-gamma(1,2))-initm(2); m1(n-2-gamma(2,1))-initm(1) m2(n-2-gamma(2,2))-initm(2)]; yp=-a1.*yp1-a2.*yp2+b1.*M1+b2.*M2; yp2=yp1; % luu gia tri n-2 yp1=yp; % luu gia tri n-1 % tong tat ca dau y1(n)=sum(yp(1,:))+noise1(n)+inity(1); y2(n)=sum(yp(2,:))+noise2(n)+inity(2); % xac dinh diem dat cho buoc tiep theo if n>=(round(config(2,1)/delt)+nstart-1) sp1(n)=config(1,1); else sp1(n)=initsp(1); end if n>=(round(config(2,2)/delt)+nstart-1) sp2(n)=config(1,2); else sp2(n)=initsp(2); end %tinh toan sai lech cho bien duoc dieu khien error1(n)=sp1(n)-y1(n); % tinh toan sai lech error2(n)=sp2(n)-y2(n); % cap nhat anh huong bien dieu khien M1_sim=[m1(n-1-gamma_m(1,1))-initm(1) m2(n-1-gamma_m(1,2))initm(2); m1(n-1-gamma_m(2,1))-initm(1) m2(n-1-gamma_m(2,2))-initm(2)]; M2_sim=[m1(n-2-gamma_m(1,1))-initm(1) m2(n-2-gamma_m(1,2))initm(2); m1(n-2-gamma_m(2,1))-initm(1) m2(n-2-gamma_m(2,2))-initm(2)]; Cao häc 2006 - 2008 106 y_sim=-a1_m.*y1_sim-a2_m.*y2_sim+b1_m.*M1_sim+b2_m.*M2_sim; %luu gia tri moi nhat de tinh toan du bao y1_pre = y1_sim ; y2_pre = y2_sim ; % sau thoi gian delt luu gia tri truoc y2_sim=y1_sim; % luu va cap nhat gia tri n-2 y1_sim=y_sim; % luu va cap nhat gia tri n-1 % tong cua delt va gia tri ban dau yv1_sim(n) = sum(y_sim(1,:)) + inity(1); yv2_sim(n) = sum(y_sim(2,:)) + inity(2); % tinh toan sai lech mo hinh hien tai ERRM1(n) = y1(n) - yv1_sim(n) ; ERRM2(n) = y2(n) - yv2_sim(n) ; m1_pre(n-1) = m1(n-1) ; m2_pre(n-1)=m2(n-1); for k=n:NN+n m1_pre(k) = m1(n-1); m2_pre(k) = m2(n-1); end % mo phong cho NN buoc tuong lai for nn=n:n+NN+1 M1_pre=[m1_pre(nn-1-gamma_m(1,1))-initm(1) m2_pre(nn-1gamma_m(1,2))-initm(2); Cao häc 2006 - 2008 107 m1_pre(nn-1-gamma_m(2,1))-initm(1) m2_pre(nn-1-gamma_m(2,2))initm(2)]; M2_pre=[m1_pre(nn-2-gamma_m(1,1))-initm(1) m2_pre(nn-2gamma_m(1,2))-initm(2); m1_pre(nn-2-gamma_m(2,1))-initm(1) m2_pre(nn-2-gamma_m(2,2))initm(2)]; y_pre=-a1_m.*y1_pre-a2_m.*y2_pre+b1_m.*M1_pre+b2_m.*M2_pre; y2_pre = y1_pre; % luu va cap nhat gia tri n-2 y1_pre = y_pre; % luu va cap nhat gia tri n-1 %tong lech va gia tri ban dau yv1_pre(nn) = sum(y_pre(1,:)) + inity(1); yv2_pre(nn) = sum(y_pre(2,:)) + inity(2); end sp1_pre(1:NN) = sp1(n) * ones(1,NN); sp2_pre(1:NN) = sp2(n) * ones(1,NN); err1=zeros(1,NN); err2=zeros(1,NN); for l = 1:NN err1(l) = sp1_pre(l) - yv1_pre(n + l ) - ERRM1(n); err2(l) = sp2_pre(l) - yv2_pre(n + l ) - ERRM2(n); end err = [ err1 err2]; % tinh toan thay doi tiep theo cua bien dieu khien deltacontout1(n) = DMC_V1 * err'; deltacontout2(n) = DMC_V2 * err'; m1(n) = m1(n-1) + deltacontout1(n) ; m2(n) = m2(n-1) + deltacontout2(n) ; end Cao häc 2006 - 2008 108 disp(' ') disp('***** Tinh toan da xong *****'); pause(1); % dung giay % ve_do_thi.m disp(' ') disp('***** Ve thi *****') L=length(nstart-1:nmax)-1; tendx = - delt*(nstart-nmax); t=0:delt:tendx; figure (111),plot(t,y1(nstart-1:nmax-1),'-r',t,y2(nstart-1:nmax-1),'-k'); legend('Bien dau 1','Bien dau 2'); ylabel('bien dau ra'); grid on; [xsample,ysample1] = stairs (m1(nstart-1:nmax-1)); [xsample,ysample2] = stairs (m2(nstart-1:nmax-1)); figure (113),plot( delt*xsample, ysample1,'-r' ,delt*xsample, ysample2, '-k'); legend('Bien dieu khien 1','Bien dieu khien 2'); xlabel('Time');ylabel('bien dieu khien'); grid on; Cao häc 2006 - 2008 ... nâng cao kiến thức điều khiển đối tượng phương pháp điều khiển trình ứng dụng công nghiệp, đặc biệt mối quan hệ tác động lẫn mạch vòng trình Luận văn nghiên cứu điều khiển đối tượng vào trình đa... có đối tượng chuyển sang mạch vòng độc lập tạo sai lệch mô hình Do dẫn đến phần điều khiển tính toán khác với thực tế Vì lý đà chọn đề tài: Nghiên cứu phương pháp điều khiển đối tượng công nghiệp. .. công nghiệp chậm nhiều vấn đề phải quan tâm Ngày khoa học công nghệ giới đà phát triển, phương pháp điều khiển, công nghệ phát minh ngày nhiều Đối tượng điều khiển ngày đa dạng phức tạp Các đối