Nguyễn VĂN TRUNG Bộ giáo dục đào tạo Trường đạI học bách khoa hà nội - NguyÔn V¡N TRUNG øng dụng plc s7-200 kết hợp với gíao diện máy tính điều khiển hệ thống động điều khiển tự động hóa 2009 luận văn thạc sỹ: Điều khiển tự động hóa Hà Nội - 2009 2007- Bộ giáo dục đào tạo Trường đại học bách khoa hà néi NGUYÔN VĂN TRUNG Đề tài: ứng dụng plc S7- 200 KếT HợP VớI GIAO DIệN MáY TíNH ĐIềU KHIểN Hệ THốNG động Chuyên ngành: Đo lường hệ thống điều khiển Luận văn thạc sỹ: Điều khiển tự ®éng hãa Ngêi híng dÉn khoa häc: TS ngun viƯt tïng Hµ Néi - 2009 s uTiΦ 2s ss H s s((kk(k)+) 1) 22 Luận văn thạc sỹ Điều khiển tự động hóa LI CAM ĐOAN Tôi xin cam đoan kết trình bày luận văn kết tự nghiên cứu thân, không chép từ tài liệu có trước người khác Tác giả luận văn Nguyễn Văn Trung Học viên: Nguyễn Văn Trung Khoa Điện s uTiΦ 2s ss ψ H s s((kk(k)+) 1) 22 Luận văn thạc sỹ Điều khiển tự động hóa LI CảM ƠN Luận văn kết thời gian dài nghiên cứu làm việc để áp dụng kiến thức đà học vào thùc tiƠn díi sù híng dÉn tËn t×nh cđa TS Nguyễn Việt Tùng, giúp đỡ nhiệt tình thầy cô giáo Khoa Điện Quản lý trường Đại học Bách Khoa Hà Nội, hỗ trợ chân tình Ban giám hiệu, anh chị bạn đồng nghiệp công tác trường Cao đẳng Công nghiệp Sao Đỏ quan hữu quan Với tình cảm chân thành, người viết xin gửi lời cảm ơn đến: - TS Nguyễn Việt Tùng người hướng dẫn khoa học đà tận tình hướng dẫn cho lời khuyên sâu sắc giúp hoàn thành luận văn mà truyền đạt cho kiến thức quý báu nghề nghiệp - Các thầy cô giáo trường Đại học Bách khoa Hà Nội đà tận tình giảng dạy, hướng dẫn, giúp đỡ suốt hai năm học để có kiến thức ứng dụng công tác sở thực luận văn - Quý thầy cô đà dành thời gian quý báu để đọc phản biện luận văn này, xin cảm ơn ý kiến nhận xét sâu sắc quý thầy cô - Ban giám hiệu anh chị, bạn đồng nghiệp trường Cao đẳng Công nghiệp Sao Đỏ đà đóng góp ý kiến quý báu cho việc hoàn thành luận văn - Các đơn vị doanh nghiệp đà cung cấp số liệu điều tra phục vụ cho trình nghiên cứu viết luận văn Mặc dù đà cố gắng thời gian có hạn, kinh nghiệm trình độ thân nhiều hạn chế nên chắn luận văn không tránh khỏi sai sót, tác giả mong nhận ý kiến góp ý thầy cô bạn đồng nghiệp để luận văn hoàn thiện Hà Nội, ngày tháng 11 năm 2009 Học viên: Nguyễn Văn Trung Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hóa DANH MC CC BNG Trang Bảng 2.1 Trạng thái Logic véctơ điện áp chuẩn Bảng 2.2 Trạng thái Logic góc phần sáu S1 Bảng 2.3 Giá trị véctơ biên phụ thuộc vào vị trí véctơ điện áp Bảng 2.4 Các model họ 3G3JV Bảng 2.5 Lùa chän tÝn hiệu tần số chuẩn Bng 2.6 Phân chia vùng nhớ Bng 2.7 Phân chia vùng đối tượng Bng 2.8 Cỏch đặt địa cho modul mở rộng CPU 224 Bng 2.9 Bảng cấu trúc Bng 3.1 Phân địa đầu vào Bng 3.2 Phân địa đầu Học viên: Nguyễn Văn Trung 40 42 44 45 48 58 59 60 61 69 69 Khoa Điện Luận văn thạc sỹ Điều khiển tự động hóa DANH MC CÁC HÌNH VẼ, ĐỒ THỊ Trang Hình 1.1 Sơ đồ khối chung HTC Hình 1.2 Hệ thống HTC có cấu trúc song song Hình 1.3 Hệ thống HTC có cấu trúc nối tiếp Hình 1.4 Hệ thống HTC có cấu trúc song song- nối tiếp Hinh 1.5 Hệ thống kiểm tra tự động 10 Hinh 1.6 Sơ đồ mơ hình phân cấp HTC 13 Hình 1.7 Hệ thống HTC theo cấu trúc phân tán 14 Hình 2.1 Mơ hình đơn giản ĐCKĐB 15 Hình 2.2 Thiết lập véctơ khơng gian từ đại lượng ba pha 17 Hình 2.3 Biểu diễn hệ toạ độ d-q ĐCKĐB 19 Hình 2.4 Thu thập giá trị thực véctơ dòng stato hệ tọa độ (d,q) 19 Hình 2.5 Mơ hình trạng thái với hệ số hàm ĐCKĐB hệ tọa độ (α,β) 25 Hình 2.6 Mơ hình liên tục ĐCKĐB hệ tọa độ (α,β) 26 Hình 2.7 Mơ hình liên tục ĐCKĐB hệ tọa độ (α,β) trưêng hợp ni biến tần nguồn dịng 27 Hình 2.8 Mơ hình trạng thái dạng phi tuyến tính yếu ĐCKĐB hệ tọa độ (d,q) 30 Hình 2.9 Mơ hình liên tục ĐCKĐB hệ tọa độ (d,q) 31 Hình 2.10 Mơ hình liên tục ĐCKĐB hệ tọa độ (d,q) trưêng hợp ni biến tần nguồn dịng 32 Hình 2.11 Cấu trúc mơ hình trạng thái gián đoạn ĐCKĐB hệ tọa độ (α,β) 34 Hình 2.12 Cấu trúc mơ hình đối tượng dịng stato hệ tọa độ (α,β) 35 Hình 2.13 Cấu trúc mơ hình i-ω từ thơng r«to hệ tọa độ (α,β) 35 Hình 2.14 Cấu trúc mơ hình trạng thái gián đoạn ĐCKĐB hệ tọa độ (d,q) 37 Hình 2.15 Cấu trúc mơ hình đối tượng dịng stato hệ tọa độ (d,q) 38 Hình 2.16 Cấu trúc mơ hình i-ω từ thơng r«to hệ tọa độ (d,q) 38 Hình 2.17 Sơ đồ mạch nghịch lưu 39 Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hóa Hỡnh 2.18 Các véctơ điện áp chuẩn u0,u1, u7 tạo ba nhánh van 40 nghịch lưu Q1, Q2, Q3, Q4: Các góc phần tư, S1, S2, …S6: Các góc phần sáu Hình 2.19 Thực véctơ điện áp từ hai véctơ biên 41 Hình 2.20 Mẫu xung véctơ điện áp thuộc S1 42 Hình 2.21 Các khả cho trước us 43 Hình 2.22 KÝch thíc biÕn tÇn 46 Hỡnh 2.23 Công tắc lựa chọn để điều trỉnh tÇn sè chn 47 Hình 2.24 Sơ đồ nguyên lý kết nối đầu vào 48 Hỡnh 2.25 Sơ đồ ®Êu d©y 49 Hỡnh 2.26 Sơ đồ cấu trúc PLC 50 Hỡnh 2.27 Các thiết bị vào thường gặp 52 Hình 2.28 S¬ đồ kết nối đầu vào 52 Hình 2.29 CÊu t¹o PLC 53 Hình 2.30 KÕt nèi PLC víi m¸y tÝnh 54 Hình 2.31 CÊu tróc bé nhí 57 Hỡnh 2.32 Mở rộng đầu vào cho PLC 60 Hình 2.33 PLC thực chương trình theo vũng lp 60 Hỡnh 3.1 Sơ đồ m¹ch lùc 66 Hỡnh 3.2 Sơ đồ mạch điều khiển 68 Hình 4.1 Giao diện hệ thống động không đồng pha r«to lång sãc 72 Hình 4.2 Giao diƯn ®iỊu khiĨn biÕn tÇn víi cÊp tÇn sè cao nhÊt cho động 73 Hình 4.3 Giao diện điều khiển biến tần với cấp tần số tải khác cho động 74 Hỡnh 4.4 Giao diện đường đặc tính khởi động động 75 Hỡnh 4.5 Giao diện đường đặc tính đảo chiều ®éng c¬ 76 Hình 4.6 Giao diện đường đặc tính thay đổ tốc độ động c¬ 77 Hình 4.7 Giao diƯn đường đặc tính thay đổi tải động 78 Hỡnh 4.8 Giao diện lịch báo thêi gian lµm viƯc vµ sù cè cđa hƯ thèng ®éng c¬ 78 Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tù ®éng hãa CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Các ký hiệu dùng is, ir : Véctơ dịng điện stato, dịng điện r«to isu, isv, isw, : Dòng điện pha stato iss, isf : Véctơ is hệ tọa độ cố định stator r«to isd, isq isα, isβ mT, mM us usα, usβ usd, usq uss, usf ω, ωs, ωr ψr, ψs |ψr| ψrd, ψrq : Thành phần dòng stato theo trục d trục q : Thành phần dòng stato theo trục α trục β : Mômen tải mômen điện từ động : Véctơ điện áp stato : Thành phần điện áp stato theo trục α, trục β : Thành phần điện áp stato theo trục d, trục q : Véctơ điện áp stato hệ tọa độ stato hệ tọa độ r«to : Vận tốc góc cơ, vận tốc gốc mạch stato vận tốc gốc r«to : Véctơ từ thơng r«to stato : Mơđun từ thơng r«to : Thành phần từ thơng r«to theo trục d trục q fs ϑ , ϑs : Tần số mạch stato : Góc cơ, góc pha từ thơng J Lm : Mơmen qn tính : Hỗ cảm stato r«to zp Rs, Rr : Số đơi cực từ : Điện trở stato, r«to p Ts Tr : Tốn tử Laplace : Hằng số thời gian stato : Hằng số thời gian r«to σ MTt MNt Dt MT : Hệ số tản tồn phần : Khëi ®éng quay thn động : Khởi động ngược động : Dừng theo động : Khởi động thuận động Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hóa MN : Khởi động ngược động D : Dừng động MTtdt : Tăng tốc theo chiều thn MTtdg : Gi¶m tèc theo chiỊu thn MNtdt : Tăng tốc theo chiều ngược MNtdg : Giảm tốc theo chiều ngược DCt-n : Đảo chiều quay thuận ngược DCn-t : Đảo chiều quay ngược thuận S1-1 : Khởi động động quay thuận S2-1 : Khởi ®éng ®éng c¬ quay thuËn S3-1 : Khëi ®éng ®éng c¬ quay thuËn S1-2 : Khëi ®éng ®éng quay ngược S2-2 : Khởi động động quay ngược S3-2 : Khởi động động quay ngược S1,2,3-3 : Điều chỉnh tốc độ S1,2,3-4 : Điều chỉnh tốc độ S1,2,3-5 : Điều chỉnh tèc ®é Chỉ số viết nhỏ, góc phải phía f : Đại lượng quan sát hệ tọa độ từ thơng r«to (hệ tọa độ (d,q)) s R : Đại lượng quan sát hệ tọa độ stato (hệ tọa độ (α,β)) : Đại lượng quan sát hệ tọa độ r«to với trục thục trục r«to * : Giá trị chủ đạo, giá trị đặt [] : Chỉ thứ nguyên Chỉ số viết nhỏ, góc trái phía a Chữ đầu tiên: s : Đại lượng mạch stato r : Đại lượng mạch r«to b Chữ thứ hai: d, q : Đại lượng thuộc hệ tọa độ (d,q) α, β : Đại lượng thuộc hệ tọa độ (α,β) u, v, w : Đại lượng thuộc pha u, v, w Ma trn Học viên: Nguyễn Văn Trung Khoa §iÖn s uTiΦ 2s ss ψ H s s((kk(k)+) 1) 22 Luận văn thạc sỹ Điều khiển tù ®éng hãa I : Ma trận đơn vị Các chữ viết tắt HTC : Hệ thống thông tin cơng nghiệp CPU : Máy tính cơng nghiệp DCS : Cấu trúc phân tán SCADA : Cấu trúc tập trung TB TT ĐL1 S1 TB TT GM M SS ĐK HIS CGU FI ĐCKĐB : Thiết bị : Thông tin : Đo lường : Sensor1 : Thiết bị : Thông tin : Gộp kênh : Bộ tạo mẫu : So sánh : Điều khiển : Máy tính giám sát (Human Interface Station) : Cổng thông tin (Communition Gateway Unit) : Thiết bị trường (Field Instruments) : Động khụng ng b rôto lồng súc Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tù ®éng hãa End If ' tinh song tocdodatp1 If Abs(Abs(tocdodop1) - Abs(tocdodatp1)) >= 100 Then Timer6.Interval = 30 If tocdodop1 < tocdodatp1 Then sailech2 = tocdodatp1 - tocdodop1 If sailech2 < 0.05 * tocdodatp1 Then doandc2 = 10 Else doandc2 = End If Timer6.Enabled = True ElseIf tocdodop1 > tocdodatp1 Then sailech2 = tocdodop1 - tocdodatp1 If sailech2 < Abs(0.07 * tocdodatp1) Then 'doandc2 = 10 doandc2 = 27 Else doandc2 = 20 End If Timer6.Enabled = True End If End Sub Private Sub Label4_Change() uon1 = tocdodo = CDbl(Label7.Caption) tocdodat = CDbl(Label4.Caption) Dim hsb, diemketthuc As Double hsb = tocdodat + 35 * Sgn(tocdodat) ' he so b pt1 diemketthuc = hsb - (52.5) * Sgn(hsb) hsb = diemketthuc + 49.125 * 150 * Sgn(tocdodat) diemketthuc = Abs(hsb / 49.125) - If HScroll1.Value 150 And HScroll1.Value < diemketthuc Then tocdodat = -49.125 * CDbl(HScroll1.Value) * Sgn(CDbl(Label4.Caption)) + hsb Else tocdodat = End If ' tinh song tocdodat If Abs(Abs(tocdodo) - Abs(tocdodat)) >= 100 Then Timer5.Interval = 30 If tocdodo < tocdodat Then sailech1 = tocdodat - tocdodo Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hãa If sailech1 < 0.05 * tocdodat Then doandc1 = 10 Else doandc1 = End If Timer5.Enabled = True ElseIf tocdodo > tocdodat Then sailech1 = tocdodo - tocdodat If sailech1 < Abs(0.07 * tocdodat) Then 'doandc1 = 10 doandc1 = 27 Else doandc1 = 20 End If Timer5.Enabled = True End If End Sub Chương trình cho hình ảnh Private Sub Picture1_Click() Form4.Visible = True End Sub Private Sub Picture2_Click() Form3.Visible = True End Sub Private Sub Picture3_Click() Form8.Visible = True End Sub Chương trình mà lệnh dùng cho định thời Private Sub Timer1_Timer() On Error Resume Next Picture2.DrawWidth = a = 750 b = 650 Picture2.Picture = Image2.Picture If (x 0) Then x = 360 ElseIf (x >= 360) And (tocdodo < 0) Then Häc viªn: Ngun Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hóa x=0 ElseIf tocdodo Then x = x - Round(tocdodo / 60) End If x1 = x - 45 If x1 < Then x1 = 360 - Abs(x1) End If x2 = x + 45 If x2 >= 360 Then x2 = x2 - 360 End If x3 = x - 45 + 180 If x3 < Then x3 = 360 - Abs(x3) ElseIf x3 >= 360 Then x3 = x3 - 360 End If x4 = x + 45 + 180 If x4 < Then x4 = 360 - Abs(x4) ElseIf x4 >= 360 Then x4 = x4 - 360 End If Picture2.Line (b + 600 * Sin(rads(x1)), a + 600 * Cos(rads(x1)))-(b + 600 * Sin(rads(x1)) - (600 * Sin(rads(x1)) + 600 * Sin(rads(x2))) / 4, a + 600 * Cos(rads(x1)) - (600 * Cos(rads(x1)) + 600 * Cos(rads(x2))) / 4), vbRed Picture2.Line (b + 600 * Sin(rads(x3)), a + 600 * Cos(rads(x3)))-(b + 600 * Sin(rads(x3)) - (600 * Sin(rads(x3)) + 600 * Sin(rads(x4))) / 4, a + 600 * Cos(rads(x3)) - (600 * Cos(rads(x3)) + 600 * Cos(rads(x4))) / 4), vbRed Picture2.Line (b + 600 * Sin(rads(x2)), a + 600 * Cos(rads(x2)))-(b + 600 * Sin(rads(x2)) - (600 * Sin(rads(x2)) + 600 * Sin(rads(x1))) / 4, a + 600 * Cos(rads(x2)) - (600 * Cos(rads(x2)) + 600 * Cos(rads(x1))) / 4), vbRed Picture2.Line (b + 600 * Sin(rads(x4)), a + 600 * Cos(rads(x4)))-(b + 600 * Sin(rads(x4)) - (600 * Sin(rads(x4)) + 600 * Sin(rads(x3))) / 4, a + 600 * Cos(rads(x4)) - (600 * Cos(rads(x4)) + 600 * Cos(rads(x3))) / 4), vbRed Picture2.Line (b + 600 * Sin(rads(x1)) - (600 * Sin(rads(x1)) + 600 * Sin(rads(x2))) / 4, a + 600 * Cos(rads(x1)) - (600 * Cos(rads(x1)) + 600 * Cos(rads(x2))) / 4)-(b + 600 * Sin(rads(x2)) - (600 * Sin(rads(x2)) + 600 * Sin(rads(x1))) / 4, a + 600 * Cos(rads(x2)) - (600 * Cos(rads(x2)) + 600 * Cos(rads(x1))) / 4), vbRed Picture2.Line (b + 600 * Sin(rads(x4)) - (600 * Sin(rads(x4)) + 600 * Sin(rads(x3))) / 4, a + 600 * Cos(rads(x4)) - (600 * Cos(rads(x4)) + 600 * Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hãa Cos(rads(x3))) / 4)-(b + 600 * Sin(rads(x3)) - (600 * Sin(rads(x3)) + 600 * Sin(rads(x4))) / 4, a + 600 * Cos(rads(x3)) - (600 * Cos(rads(x3)) + 600 * Cos(rads(x4))) / 4), vbRed Picture2.Circle (b, a), 600, vbRed, rads(x1), rads(x2) Picture2.Circle (b, a), 600, vbRed, rads(x3), rads(x4) Picture2.Circle (b, a), 650, vbRed labela: End Sub Private Sub Timer5_Timer() 'tocdodo = CDbl(Label7.Caption) tocdodat = CDbl(Label4.Caption) Dim hsb, diemketthuc As Double hsb = tocdodat + 35 * Sgn(tocdodat) ' he so b pt1 diemketthuc = hsb - (52.5) * Sgn(hsb) hsb = diemketthuc + 49.125 * 150 * Sgn(tocdodat) diemketthuc = Abs(hsb / 49.125) - If HScroll1.Value 150 And HScroll1.Value < diemketthuc Then tocdodat = -49.125 * CDbl(HScroll1.Value) * Sgn(CDbl(Label4.Caption)) + hsb Else tocdodat = If Not quataidc1 Then quataidc1 = True Set LI = Form5.LV.ListItems.Add(, , "DC1") LI.SubItems(1) = Time LI.SubItems(2) = "motor is overload " End If tocdodo = tocdodo - Sgn(tocdodo) * 15 If Abs(tocdodo) < 10 Then tocdodo = Timer5.Enabled = False Call KewlButtons2_Click End If Label7.Caption = Round(tocdodo) GoTo vedt 'Exit Sub End If Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hóa quataidc1 = False 'sailech1a = (tocdodo - tocdodat) * Sgn(tocdodat) If start1 Then If doandc1 = Then ' hieu chinh tang toc doan sailech1 = tocdodat - tocdodo If tocdodo < tocdodat - 0.01 * tocdodat Then uon1 = uon1 + 0.35 If 0.05 * uon1 * uon1 < 20 Then tocdodo = tocdodo + 0.05 * uon1 * uon1 Else tocdodo = tocdodo + 20 uon1 = 100 End If Label7.Caption = Round(tocdodo) Else doandc1 = End If ElseIf doandc1 = Then ' dc tang doan If tocdodo < tocdodat + 0.035 * tocdodat Then tocdodo = tocdodo + Label7.Caption = Round(tocdodo) Else doandc1 = End If ElseIf doandc1 = Then ' dc tang doan If tocdodo < tocdodat + 0.045 * tocdodat Then tocdodo = tocdodo + Label7.Caption = Round(tocdodo) Else doandc1 = End If ElseIf doandc1 = Then ' dc tang doan If tocdodo < tocdodat + 0.05 * tocdodat Then tocdodo = tocdodo + 0.5 Label7.Caption = Round(tocdodo) Else sailech1 = tocdodo - tocdodat doandc1 = End If ElseIf doandc1 = Then ' dc tang doan If tocdodo > tocdodat + 0.7 * sailech1 Then Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hãa tocdodo = tocdodo - Label7.Caption = Round(tocdodo) Else doandc1 = End If ElseIf doandc1 = Then ' dc tang doan If tocdodo > tocdodat + 0.5 * sailech1 Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) Else doandc1 = End If ElseIf doandc1 = Then ' dc tang doan If tocdodo > tocdodat - 0.2 * sailech1 Then tocdodo = tocdodo - 2.5 Label7.Caption = Round(tocdodo) Else doandc1 = End If ElseIf doandc1 = Then ' dc tang doan If tocdodo > tocdodat - 0.35 * sailech1 Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) Else doandc1 = End If ElseIf doandc1 = Then ' dc tang doan If tocdodo > tocdodat - 0.5 * sailech1 Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) Else sailech1 = sailech1 * 0.5 doandc1 = End If ElseIf doandc1 = Then ' dc tang doan If tocdodo < tocdodat - 0.6 * sailech1 Then tocdodo = tocdodo + 0.5 Label7.Caption = Round(tocdodo) Else sailech1 = sailech1 * 0.76 doandc1 = 10 End If ElseIf doandc1 = 10 Then ' dc tang doan Học viên: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hóa If tocdodo < tocdodat + 0.3 * sailech1 Then tocdodo = tocdodo + Label7.Caption = Round(tocdodo) Else doandc1 = 11 End If ElseIf doandc1 = 11 Then ' dc tang doan If tocdodo < tocdodat + 0.5 * sailech1 Then tocdodo = tocdodo + 0.5 Label7.Caption = Round(tocdodo) Else 'sailech1 = sailech1 * 0.75 If sailech1 < 10 Then Timer5.Interval = 80 doandc1 = End If '=============================================giam toc ElseIf doandc1 = 20 Then ' hieu chinh tang toc doan sailech1 = tocdodat - tocdodo If tocdodo > tocdodat - 0.01 * tocdodat Then uon1 = uon1 + 0.35 If 0.05 * uon1 * uon1 < 20 Then tocdodo = tocdodo - 0.05 * uon1 * uon1 Else tocdodo = tocdodo - 20 uon1 = 100 End If Label7.Caption = Round(tocdodo) Else doandc1 = 21 End If ElseIf doandc1 = 21 Then ' dc tang doan If tocdodo > tocdodat + 0.035 * tocdodat Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) Else doandc1 = 22 End If ElseIf doandc1 = 22 Then ' dc tang doan If tocdodo > tocdodat + 0.045 * tocdodat Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) Häc viªn: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hóa Else doandc1 = 23 End If ElseIf doandc1 = 23 Then ' dc tang doan If tocdodo > tocdodat + 0.05 * tocdodat Then tocdodo = tocdodo - 0.5 Label7.Caption = Round(tocdodo) Else sailech1 = tocdodo - tocdodat doandc1 = 24 End If ElseIf doandc1 = 24 Then ' dc tang doan If tocdodo < tocdodat + 0.7 * sailech1 Then tocdodo = tocdodo + Label7.Caption = Round(tocdodo) Else doandc1 = 25 End If ElseIf doandc1 = 25 Then ' dc tang doan If tocdodo < tocdodat + 0.5 * sailech1 Then tocdodo = tocdodo + Label7.Caption = Round(tocdodo) Else doandc1 = 26 End If ElseIf doandc1 = 26 Then ' dc tang doan If tocdodo < tocdodat - 0.2 * sailech1 Then tocdodo = tocdodo + 2.5 Label7.Caption = Round(tocdodo) Else doandc1 = 27 End If ElseIf doandc1 = 27 Then ' dc tang doan If tocdodo < tocdodat - 0.35 * sailech1 Then tocdodo = tocdodo + Label7.Caption = Round(tocdodo) Else doandc1 = 28 End If ElseIf doandc1 = 28 Then ' dc tang doan If tocdodo < tocdodat - 0.5 * sailech1 Then tocdodo = tocdodo + Label7.Caption = Round(tocdodo) Häc viªn: Nguyễn Văn Trung Khoa Điện Luận văn thạc sỹ Điều khiển tự động hóa Else sailech1 = sailech1 * 0.5 doandc1 = 29 End If ElseIf doandc1 = 29 Then ' dc tang doan If tocdodo > tocdodat - 0.6 * sailech1 Then tocdodo = tocdodo - 0.5 Label7.Caption = Round(tocdodo) Else sailech1 = sailech1 * 0.76 doandc1 = 30 End If ElseIf doandc1 = 30 Then ' dc tang doan If tocdodo > tocdodat + 0.3 * sailech1 Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) Else doandc1 = 31 End If ElseIf doandc1 = 31 Then ' dc tang doan If tocdodo > tocdodat + 0.5 * sailech1 Then tocdodo = tocdodo - 0.5 Label7.Caption = Round(tocdodo) Else 'sailech1 = sailech1 * 0.75 If sailech1 > -10 Then Timer5.Interval = 80 doandc1 = 24 End If End If '======================================================= Else If tocdodo >= 800 Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) ElseIf tocdodo > 200 Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) ElseIf tocdodo > 100 Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) ElseIf tocdodo > 50 Then tocdodo = tocdodo - Học viên: Nguyễn Văn Trung Khoa §iƯn s uTiΦ 2s ss ψ H s s((kk(k)+) 1) 22 Luận văn thạc sỹ Điều khiển tự động hóa Label7.Caption = Round(tocdodo) ElseIf tocdodo > 10 Then tocdodo = tocdodo - Label7.Caption = Round(tocdodo) ElseIf tocdodo