Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
233,8 KB
Nội dung
LỜI MỞ ĐẦU Phương pháp mô phát triển từ năm 40 kỉ 20 Lúc người ta ứng dụng mơ hình hố để nghiên cứu phản ứng hạt nhân chế tạo bom nguyên tử Ngày với phát triển vượt bậc máy tính điện tử mà mơ hình hố ứng dụng nhiều ngành, kĩ thuật, lĩnh vực khác Ngày nay, mơ hình hố phương pháp nghiên cứu khoa học ứng dụng rộng rãi: từ thiết chế tạo, vận hành Nhờ giúp đỡ máy tính có tốc độ nhanh, nhớ lớn mà phương pháp mơ hình hố phát triển mạnh mẽ Mơ hình hố mơ ứng dụng khơng vào lĩnh lực khoa học, cơng nghệ mà ứng dụng hiệu vào lĩnh vực khác kinh tế, quân sự, xã hội Hiểu vấn đề để đáp ứng kịp thời tiến khoa học kĩ thuật, đáp ứng thực tiễn mà chúng em giao đề tài: Mô để khảo sát tính ổn định hệ thống Em xin chân thành cảm ơn cô Phạm Thị Hồng Anh hướng dẫn nhóm em hồn thành tập lớn Do thời gian hạn chế nên nhiều thiếu sót, em mong góp ý bạn để nhóm em hồn thiện MỤC LỤC Đề số 1: Dùng máy tính khảo sát q trình q độ hệ thống điều khiển tự động Cho hệ thống điều khiển tự động có sơ đồ cấu trúc sau: Thơng số: K1=100; K2=0,1; T1=0,2s; T2=0,1s Viết phương trình sai phân tuyến tính hệ thống W(s) = == = (*) Thay s= vào phương trình (*) ta ; W(Z)= = = = = Đặt: =A =B =C =D W(z)= Ta có: W(z) = Y(Z).=U(Z).+3.U(Z).+3.U(Z) +U(Z) A.Z +B Z+C Z+D Z=Z (**) Vì u(t)=1t =u(k+2)=u(k+1)=u(k)=1 (**) =A.y(k+3)+ B.y(k+2)+C y(k+1)+D y(k)=8 y(k+3)= - -+)Cách chọn bước cắt mẫu cho trình mơ cho phần mơ => chọn T = 0.001 Tra bảng 2.33-sách Mơ hình hố hệ thống Bảng 2.2 Chọn bước cắt mẫu Loại biến q trình Bước cắt mẫu(s) Lưu lượng 1÷3 Mức 5÷10 Áp suất 1÷5 Nhiệt độ 10÷45 Chưng cất 10÷180 Sấy 20÷45 Hệ thống điều khiển 0.001÷0.1 Viết chương trình khảo sát trình hệ điều khiển tự động phần mềm Visual Basic 2.1 Thiết kế giao diện Hình 2.1 giao diện phần mềm Visual Basic 2.2 Code lệnh chương trình Dim h, w As Integer Dim A, B, C, D As Double Dim K1, K2 As Double Dim T, T1, T2 As Double Dim x0, y0 As Double Dim Ymax, Yod, Tod, Tmax, Sigma As Double Dim Y(2000) As Double Dim Xmin, Xmax, Ymin As Integer Dim k, i As Double Dim Z, J As Double Private Sub Thoat_Click() MsgBox " An OK de thoat" End End Sub Private Sub Timer1_Timer() Text3 = Time & " " & Date End Sub Private Sub Ve_Click() K1 = Val(txtK1) K2 = Val(txtK2) T1 = Val(txtT1) T2 = Val(txtT2) T = Val(txtT.Text) Time = Time.Text Y(0) = A = * T1 * T2 + * T * (T1 + T2) + * T ^ + (K1 * K2 * T ^ 3) B = -24 * T1 * T2 - * T * (T1 + T2) + * T ^ (2) + * K1 * K2 * T ^ (3) C = 24 * T1 * T2 - * T * (T1 + T2) - * T ^ (2) + * K1 * K2 * T ^ (3) D = -8 * T1 * T2 + * T * (T1 + T2) - * T ^ (2) + K1 * K2 * T ^ (3) Ymax = Y(0) For k = To 1500 Y(k + 3) = (8 * K1 * T ^ 3) / A - (B * Y(k + 2)) / A - (C * Y(k + 1)) / A - (D * Y(k)) /A If Y(k) > Ymax Then Ymax = Y(k) Tmax = k * T End If Next k ' ve truc toa Xmin = 600 Ymin = 400 h = Graph.Height w = Graph.Width Xmax = w - 400 ' ve truc toa Graph.DrawStyle = Graph.Line (Xmin, h - 500)-(Xmax, h - 500) ' .ve tia ox Graph.Line (Xmax, h - 500)-(Xmax - 100, h - 500 + 50) ' .mui ten tren truc ox Graph.Line (Xmax, h - 500)-(Xmax - 100, h - 500 - 50) ' .mui ten duoi truc ox Graph.Line (Xmin, h - 500)-(Xmin, 350) ' ve tia oy Graph.Line (Xmin, 300)-(Xmin - 50, 400) ' mui ten trai truc oy Graph.Line (Xmin, 300)-(Xmin + 50, 400) ' mui ten phai truc oy ' dat ten truc oy Graph.CurrentX = Xmin - 300 Graph.CurrentY = Ymin Graph.Print ("y(t)") ' dat ten truc ox Graph.CurrentX = Xmax - 200 Graph.CurrentY = h - 500 Graph.Print ("time(s)") ' danh dau goc toa Graph.CurrentX = Xmin - 150 Graph.CurrentY = h - 500 Graph.Print ("0") ' khac Ox Z = (w - 400 - 600 - 500) / For i = To Graph.Line (Z * i + 600, h - 450)-(Z * i + 600, h - 550) Graph.CurrentX = Z * i + 600 Graph.CurrentY = h - 400 Graph.Print CStr(Time * i / 5) Next i ' .khac Oy J = ((h - 500) - 800) / For i = To Graph.Line (Xmin - 50, J * i + 800)-(Xmin + 50, J * i + 800) Graph.CurrentX = Xmin - 400 Graph.CurrentY = J * i + 800 Graph.Print Format(CStr(Ymax * (5 - i) / 5), "#0.00") Next i ' Ve thi va hien thi 100 gia tri ' goc toa x0 = Xmin y0 = h - 1500 ' in 100 gia tri txty = "" For i = To 999 Step If i Mod 10 = Then Text1.Text = Text1.Text + "y[" + CStr(i) + "] = " + Format(CStr(Y(i)), "#0.0000") + vbNewLine End If Graph.DrawStyle = vbSolid Graph.Line (x0, y0)-(Xmin + (i + 1) * T * (w - 1500) / Time, h - 1500 - Y(i + 1) * (h - 2300) / Ymax), vbBlue x0 = Xmin + (i + 1) * T * (w - 1500) / Time y0 = h - 1500 - Y(i + 1) * (h - 2300) / Ymax Next i ' ve duong Ymax,Tmax Graph.DrawStyle = Graph.Line (Xmin, 800)-(w - 500, 800) Graph.Line (Xmin + (Tmax / Time) * (w - 1500), 800)-(Xmin + (Tmax / Time) * (w - 1500), h - 400) Graph.CurrentX = Xmin + (Tmax / Time) * (w - 1500) - 100 Graph.CurrentY = 600 Graph.Print "Ymax=" + Format(CStr(Ymax), "#0.000") Graph.CurrentX = Xmin + (Tmax / Time) * (w - 1500) - 200 Graph.CurrentY = h - 300 Graph.Print "Tmax=" + CStr(Tmax) Yod = K1 / (K1 * K2) i=k Do While Abs(Y(i) - Yod) / Yod