Tổng quan hệ thống quản trị tòa nhà. Cơ sở lý thuyết về quản trị tòa nhà. Thiết kế hệ thống điều khiển tòa nhà.Tổng quan hệ thống quản trị tòa nhà. Cơ sở lý thuyết về quản trị tòa nhà. Thiết kế hệ thống điều khiển tòa nhà.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN SỸ CƢƠNG Mã đề tài: 2012BCĐT-KT12 TÊN ĐỀ TÀI LUẬN VĂN ĐIỀU KHIỂN CƠ CẤU TỪ XA SỬ DỤNG SỰ TRỢ GIÚP CỦA MÁY TÍNH Chuyên ngành : CƠ ĐIỆN TỬ LUẬN VĂN THẠC SĨ KỸ THUẬT CHUYỂN NGÀNH CƠ ĐIỆN TỬ NGƢỜI HƢỚNG DẪN KHOA HỌC : PGS.TS Phan Bùi KHôi Hà Nội – 2014 LỜI CAM ĐOAN Đề tài nghiên cứu đến mảng vấn đề nội dung có từ trước theo hướng riêng biệt Tôi cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, nội dung kết nêu luận văn trung thực chưa công bố cơng trình khác Tác giả luận văn Danh mục ký hiệu chữ viết tắt STT Chữ viết tắt ký hiệu BMS RS232/RS485 UART C# Giải thích BMS (Building Management System) - Hệ thống quản trị nhà Chuẩn giao tiếp máy tính Truyền thơng nối tiếp khơng đồng Ngơn ngữ lập trình C# DANH MỤC CÁC BẢNG Số hiệu bảng Trang 1.1 Tên bảng Bảng mô tả chân cổng Com 1.2 Tên Địa Ngắt Vị trí chứa địa 27 1.3 Các ghi UART 30 1.4 Ảnh hƣởng phép toán lên SREG 45 1.5 Bảng vector ngắt Reset 48 1.6 Bảng INT1 Sense Control 50 1.7 Bảng vector_name cho atmega 53 1.8 Bảng chức bit CS0X 55 1.9 Bảng chức bit CS12, CS11 CS10 59 26 Bảng bit WGM chế độ hoạt động 1.10 61 T/C1 1.11 Bảng mô tả bit COM chế độ fast PWM 62 1.12 Bảng chọn kiểm tra parity 70 1.13 Bảng độ dài liệu truyền 71 1.14 Bảng tính tốc độ baud 72 DANH MỤC HÌNH ẢNH Số hiệu hình vẽ Tên hình vẽ Trang Cấu trúc BMS/BAS 11 Mạng Ethernet TCP/IP Bacnet/IP 13 Cấp điều khiển hệ thống 15 Mô tả điều khiển hệ thống điều hịa 16 Mơ tả điều khiển hệ thống báo cháy 18 Bảng điều khiển hệ thống điện 19 Định dạng khung truyền liệu 26 Tín hiệu truyền ký tự „A‟ 27 Sơ đồ chân cổng nối tiếp 28 10 Kết nối đơn giản truyền thông nối tiếp 29 11 Kết nối truyền thông nối tiếp dùng tín hiệu bắt tay 29 12 Giao diện khởi động Visual Studio 35 13 Cửa sổ đặt tên Project 35 14 Môi trƣờng thiết kế Visual Studio 36 15 Thanh công cụ Toolbox 36 16 Thanh công cụ Solution Explorer 36 17 Cửa sổ Properties 37 18 Mơi trƣờng thiết kế 37 19 Mơi trƣờng lập trình 38 20 Tổ chức nhớ AVR 39 21 Thanh ghi bits 40 22 Register file 41 23 Cấu trúc bên AVR 43 24 Stack 43 25 Thanh ghi trạng thái 26 Ngắt 27 Kết nối ngắt cho atmega16 50 28 Thiết lập ngắt 52 29 Tín hiệu tƣơng đƣơng UART RS232 66 30 Truyền bit theo phƣơng pháp song song nối tiếp 67 31 Môi trƣờng thiết kế luận văn 81 32 Cửa sổ Login 81 33 Mô tả bƣớc tạo Project 81 34 Mô tả bƣớc đặt tên lƣu trữ Project 83 35 Môi trƣờng thiết kế giao diện luận văn 83 36 Cửa sổ Toolbox mơi trƣờng lập trình 84 37 Các bƣớc vào cửa sổ đặc tính đối tƣợng 85 38 Cửa sổ Login hoàn thành 85 39 Cơ sở liệu tên đăng nhập mật 87 40 Các thêm sở liệu vào chƣơng trình 87 41 Kết sau add sở liệu 88 42 Các bƣớc add thêm Form vào chƣơng trình 89 43 Chọn item để thêm 89 44 Giao diện chƣơng trình điều khiển 89 45 Các cửa sổ để thiết lập đặc tính cổng COM 90 46 Cửa sổ để thiết lập đặc tính cổng timer 91 47 Giao diện khối điều khiển ánh sáng phòng 92 48 Giao diện khối hiển thị trạng thái phòng 97 49 Giao diện khối hiển thị trạng thái mở phòng 97 50 Giao diện khối hiển thị trạng thái tắt phòng 98 51 Sơ đồ Atmega 16 mạch điều khiển 99 45 49 52 Sơ đồ kết cổng COM 100 53 Khởi tạo RS232 100 54 Sơ đồ chân LCD 16x2 101 55 Mạch mở rộng chân 103 56 Sơ đồ đấu nối chân 74HC 595 Atmega16 104 57 Sơ đồ khối hệ thống 107 58 Sơ đồ đấu nối qua cấp Rơ le bảo vệ 108 MỞ ĐẦU Ngày nay, thời đại công nghệ thông tin tự động hóa phát triển cao việc ứng dụng thành công nghệ thông tin tự động hóa vào phục vụ sống cơng việc giúp ngƣời trở nên cần thiết Một mảng ứng dụng việc ứng dụng cơng nghệ thơng tin tự động hóa vào việc điều khiển, giám sát tòa nhà hay ngƣời ta gọi nhà thông minh Tuy nhiên nội dung điều khiển tịa nhà rộng lớn, có liên quan tới nhiều nội dung khác tự động hóa Để phù hợp với thời gian kiến thức luận văn thạc sĩ, em chọn nghiên cứu mảng nhỏ điều khiển giám sát điều khiển cấu từ xa sử dụng trợ giúp máy tính Mục tiêu đề tài nghiên cứu việc điều khiển cấu từ xa máy tính Nghiên cứu việc thiết lập giao diện mơ máy tính, từ giao diện điều truyền tín hiệu điều khiển cấu, nghiên cứu vi điều khiển, phục vụ cơng việc nhận tín hiệu điều khiển từ máy tính xuất tín hiệu điều khiển tới mạch điều khiển Nghiên cứu thiết bị đóng ngắt điện sử dụng cho việc điều khiển cấu chấp hành Để thực đề tài, tiến hành nghiên cứu phần mềm lập trình Visual Studio 2012, vi điều khiển AVR, trình dịch cho vi điều khiển phục vụ cơng việc lập trình điều khiển Ngồi kiến thức lập trình, đề tài yêu cầu kiến thức tự động hóa điều khiển logic Để hồn thành đề tài, em xin trân trọng cảm ơn PGS.TS Phan Bùi Khơi có hƣớng dẫn bảo tận tình giúp em thực hồn thành đề tài đạt kết MỤC LỤC CHƢƠNG I TỔNG QUAN HỆ THỐNG QUẢN TRỊ TÒA NHÀ 10 1.1 SƠ LƢỢC LIÊN QUAN 10 1.2 CÁC NGHIÊN CỨU TRONG NƢỚC VÀ NGOÀI NƢỚC 10 1.3 NỘI DUNG CHÍNH LUẬN VĂN 24 1.3.1 TÊN LUẬN VĂN 25 1.3.2 MỤC ĐÍCH VÀ GIỚI HẠN NGHIÊN CỨU 25 1.3.3 PHƢƠNG PHÁP NGHIÊN CỨU 25 CHƢƠNG II CƠ SỞ LÝ THUYẾT VỀ QUẢN TRỊ TÒA NHÀ 26 2.1 GIỚI THIỆU CƠ SỞ LÝ THUYẾT 26 2.1.1 Truyền tín hiệu nối tiếp 26 2.1.2 Lập trình hƣớng đối tƣợng 33 a Giới thiệu C # 33 b Mơi trƣờng lập trình 35 c Biến toán tử 38 2.1.3 Vi điều khiển AVR 39 2.1.3.1 Tổ chức AVR 39 2.1.3.2 Stack 43 2.1.3.3 Thanh ghi trạng thái - SREG (STATUS REGISTRY) 45 2.1.3.4 Macro chƣơng trình 46 2.1.3.5 Ngắt AVR 47 2.1.3.6 Tổng quan Timer/Counter chip Atmega 54 2.1.3.7 Truyền thông nối tiếp không đồng 66 2.1.3.8 Truyền thông nối tiếp không đồng với AVR (UART) 69 CHƢƠNG III THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TÒA NHÀ 81 3.1 NỘI DUNG CỤ THỂ 81 3.2 CẤU TRÚC HỆ THỐNG 81 3.2.1 Phần mềm giao diện máy tính 81 3.2.2 Nhận tín hiệu điều khiển – vi điều khiển 98 3.2.3 Chƣơng trình cho vi điều khiển 104 3.2.4 Mạch động lực 107 CHƢƠNG IV KẾT LUẬN 109 TÀI LIỆU THAM KHẢO 110 PHỤ LỤC 111 CHƢƠNG I TỔNG QUAN HỆ THỐNG QUẢN TRỊ TÒA NHÀ 1.1 SƠ LƢỢC LIÊN QUAN Hệ thống quản trị nhà - BMS (Building Management System) hệ thống điều khiển giám sát kỹ thuật Hệ thống quản trị nhà BMS mang tính tổng thể cao điều khiển giám sát hệ thống kỹ thuật tòa nhà Hệ thống BMS thực tốt nhiệm vụ điều khiển vận hành hệ thống môi trƣờng thu nhận, quản lý toàn thong số kỹ thuật thiết bị hệ thống kết nối tới Thông qua trao đổi thông tin, BMS điều khiển vận hành thiết bị chấp hành hệ thống kỹ thuật khác hoạt động theo yêu cầu ngƣời quản lý, đảm bảo yếu tố kỹ thuật nhƣ yếu tố an toàn, an ninh Một hệ thống BMS kết nối để điều khiển giám sát hệ thống tịa nhà nhƣ: • Hệ thống điều hịa, thơng khí • Hệ thống an ninh • Hệ thống điều khiển chiếu sang • Hệ thống đo đếm lƣợng • Thang máy • Hệ thống điện • Hệ thống chữa cháy 1.2 CÁC NGHIÊN CỨU TRONG NƢỚC VÀ NGOÀI NƢỚC Tìm hiểu việc ứng dụng hệ thống BMS nƣớc BMS hệ thống an toàn tính ổn định cao BMS bao gồm phần mềm điều khiển phần mềm chuyên dụng việc điều khiển, quản lý nhà cao tầng, phần mềm có ứng dụng sau: Thu nhận thơng tin: • Thu nhận thông số môi trƣờng, thông tin trạng thái hoạt động thiết bị, thông tin hoạt động hệ thống, phối hợp vận hành hệ thống đƣợc kết nối đến BMS. • Lƣu giữ, xử lý thơng tin xử dụng thơng tin lâu dài theo yêu cầu quản lý, sửa chữa, cải tạo tịa nhà. Giám sát: • Phần mềm điều khiển BMS cung cấp hình đồ hoạ quản lý tín hiệu cảnh báo, báo động kỹ thuật Mọi thông tin báo lỗi hệ thống, báo lỗi thiết bị hệ thống đƣợc kết nối tới BMS đƣợc thể hình báo lỗi này. 10 } const string message = "Chua Mo Cong COM! Ban Co Muon Mo Cong COM"; const string message1 = "XIN DONG CHUONG TRINH"; const string caption = "COM open"; const string message2 = " XIN CHON CONG COM"; const string caption2 = " SELECT_COM"; int intlent = 0; private void timer1_Tick(object sender, EventArgs e) { string[] ports = SerialPort.GetPortNames(); if (intlent != ports.Length) { intlent = ports.Length; cbb_com1.Items.Clear(); for (int j = 0; j < intlent; j++) { cbb_com1.Items.Add(ports[j]); } } } private void bt_connect_Click(object sender, EventArgs e) { if (lb_status.Text == "Disconnect") { if (cbb_com1.Text != "") { com.PortName = cbb_com1.Text; lb_status.Text = "Connect"; bt_connect.Text = "Disconnect"; com.Open(); } else { var result2 = MessageBox.Show(message2, caption2); } } else { com.Close(); lb_status.Text = "Disconnect"; bt_connect.Text = "Connect"; } } private void button1_Click(object sender, EventArgs e) { } private void bt_Thoat_Click(object sender, EventArgs e) { this.Close(); Form1 aa = new Form1(); aa.Close(); } 120 private void Main_Load(object sender, EventArgs e) { } private void bt_On_Click(object sender, EventArgs e) { if (lb_status.Text == "Connect") { if (cb_P1.Checked == true) { label1.BackColor = System.Drawing.Color.Green; label1.Text = "ON"; com.WriteLine("1"); } if (cb_P2.Checked == true) { label2.BackColor = System.Drawing.Color.Green; label2.Text = "ON"; com.WriteLine("2"); } if (cb_P3.Checked == true) { label3.BackColor = System.Drawing.Color.Green; label3.Text = "ON"; com.WriteLine("3"); } if (cb_P4.Checked == true) { label4.BackColor = System.Drawing.Color.Green; label4.Text = "ON"; com.WriteLine("4"); } if (cb_P5.Checked == true) { label5.BackColor = System.Drawing.Color.Green; label5.Text = "ON"; com.WriteLine("5"); } if (cb_P6.Checked == true) { label6.BackColor = System.Drawing.Color.Green; label6.Text = "ON"; com.WriteLine("6"); } if (cb_P7.Checked == true) { label7.BackColor = System.Drawing.Color.Green; label7.Text = "ON"; com.WriteLine("7"); } if (cb_P8.Checked == true) { label8.BackColor = System.Drawing.Color.Green; label8.Text = "ON"; com.WriteLine("8"); } 121 if (cb_P9.Checked == true) { label9.BackColor = System.Drawing.Color.Green; label9.Text = "ON"; com.WriteLine("9"); } if (cb_P10.Checked == true) { label10.BackColor = System.Drawing.Color.Green; label10.Text = "ON"; com.WriteLine("10"); } if (cb_P11.Checked == true) { label11.BackColor = System.Drawing.Color.Green; label11.Text = "ON"; com.WriteLine("11"); } if (cb_P12.Checked == true) { label12.BackColor = System.Drawing.Color.Green; com.WriteLine("12"); label12.Text = "ON"; } if (cb_P13.Checked == true) { label13.BackColor = System.Drawing.Color.Green; com.WriteLine("13"); label13.Text = "ON"; } if (cb_P14.Checked == true) { label14.BackColor = System.Drawing.Color.Green; com.WriteLine("14"); label14.Text = "ON"; } if (cb_P15.Checked == true) { label15.BackColor = System.Drawing.Color.Green; com.WriteLine("15"); label15.Text = "ON"; } if (cb_P16.Checked == true) { label16.BackColor = System.Drawing.Color.Green; com.WriteLine("16"); label16.Text = "ON"; } if (cb_P17.Checked == true) { label17.BackColor = System.Drawing.Color.Green; com.WriteLine("17"); label17.Text = "ON"; } if (cb_P18.Checked == true) { label18.BackColor = System.Drawing.Color.Green; com.WriteLine("18"); label18.Text = "ON"; 122 } if (cb_P19.Checked == true) { label19.BackColor = System.Drawing.Color.Green; com.WriteLine("19"); label19.Text = "ON"; } if (cb_P20.Checked == true) { label20.BackColor = System.Drawing.Color.Green; com.WriteLine("20"); label20.Text = "ON"; } if (cb_P21.Checked == true) { label21.BackColor = System.Drawing.Color.Green; com.WriteLine("21"); label21.Text = "ON"; } if (cb_P22.Checked == true) { label22.BackColor = System.Drawing.Color.Green; com.WriteLine("22"); label22.Text = "ON"; } if (cb_P23.Checked == true) { label23.BackColor = System.Drawing.Color.Green; com.WriteLine("23"); label23.Text = "ON"; } if (cb_P24.Checked == true) { label24.BackColor = System.Drawing.Color.Green; com.WriteLine("24"); label24.Text = "ON"; } if (cb_P25.Checked == true) { label25.BackColor = System.Drawing.Color.Green; com.WriteLine("25"); label25.Text = "ON"; } if (cb_P26.Checked == true) { label26.BackColor = System.Drawing.Color.Green; com.WriteLine("26"); label26.Text = "ON"; } if (cb_P27.Checked == true) { label27.BackColor = System.Drawing.Color.Green; com.WriteLine("27"); label27.Text = "ON"; } if (cb_P28.Checked == true) { label28.BackColor = System.Drawing.Color.Green; com.WriteLine("28"); label28.Text = "ON"; 123 } if (cb_P29.Checked == true) { label29.BackColor = System.Drawing.Color.Green; com.WriteLine("29"); label29.Text = "ON"; } if (cb_P30.Checked == true) { label30.BackColor = System.Drawing.Color.Green; com.WriteLine("31"); label30.Text = "ON"; } if (cb_P31.Checked == true) { label31.BackColor = System.Drawing.Color.Green; com.WriteLine("31"); label31.Text = "ON"; } if (cb_P32.Checked == true) { label32.BackColor = System.Drawing.Color.Green; com.WriteLine("32"); label32.Text = "ON"; } } else { var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (cbb_com1.Text != "") { com.PortName = cbb_com1.Text; lb_status.Text = "Connect"; bt_connect.Text = "Disconnect"; com.Open(); } else { var result2 = MessageBox.Show(message2, caption2); } } else { var hienthi = MessageBox.Show(message1); } } } private void rectangleShape2_Click(object sender, EventArgs e) { } private void bt_OFF_Click(object sender, EventArgs e) 124 { if (lb_status.Text == "Connect") { if (cb_P1.Checked == true) { label1.BackColor = System.Drawing.Color.Red; label1.Text = "OFF"; com.WriteLine("1a"); } if (cb_P2.Checked == true) { label2.BackColor = System.Drawing.Color.Red; label2.Text = "OFF"; com.WriteLine("2a"); } if (cb_P3.Checked == true) { label3.BackColor = System.Drawing.Color.Red; label3.Text = "OFF"; com.WriteLine("3a"); } if (cb_P4.Checked == true) { label4.BackColor = System.Drawing.Color.Red; label4.Text = "OFF"; com.WriteLine("4a"); } if (cb_P5.Checked == true) { label5.BackColor = System.Drawing.Color.Red; label5.Text = "OFF"; com.WriteLine("5a"); } if (cb_P6.Checked == true) { label6.BackColor = System.Drawing.Color.Red; label6.Text = "OFF"; com.WriteLine("6a"); } if (cb_P7.Checked == true) { label7.BackColor = System.Drawing.Color.Red; label7.Text = "OFF"; com.WriteLine("7a"); } if (cb_P8.Checked == true) { label8.BackColor = System.Drawing.Color.Red; label8.Text = "OFF"; com.WriteLine("8a"); } if (cb_P9.Checked == true) { label9.BackColor = System.Drawing.Color.Red; label9.Text = "OFF"; com.WriteLine("9a"); } if (cb_P10.Checked == true) { 125 label10.BackColor = System.Drawing.Color.Red; label10.Text = "OFF"; com.WriteLine("10a"); } if (cb_P11.Checked == true) { label11.BackColor = System.Drawing.Color.Red; label11.Text = "OFF"; com.WriteLine("11a"); } if (cb_P12.Checked == true) { label12.BackColor = System.Drawing.Color.Red; com.WriteLine("12a"); label12.Text = "OFF"; } if (cb_P13.Checked == true) { label13.BackColor = System.Drawing.Color.Red; com.WriteLine("13a"); label13.Text = "OFF"; } if (cb_P14.Checked == true) { label14.BackColor = System.Drawing.Color.Red; com.WriteLine("14a"); label14.Text = "OFF"; } if (cb_P15.Checked == true) { label15.BackColor = System.Drawing.Color.Red; com.WriteLine("15a"); label15.Text = "OFF"; } if (cb_P16.Checked == true) { label16.BackColor = System.Drawing.Color.Red; com.WriteLine("16a"); label16.Text = "OFF"; } if (cb_P17.Checked == true) { label17.BackColor = System.Drawing.Color.Red; com.WriteLine("17a"); label17.Text = "OFF"; } if (cb_P18.Checked == true) { label18.BackColor = System.Drawing.Color.Red; com.WriteLine("18a"); label18.Text = "OFF"; } if (cb_P19.Checked == true) { label19.BackColor = System.Drawing.Color.Red; com.WriteLine("19a"); label19.Text = "OFF"; } if (cb_P20.Checked == true) { 126 label20.BackColor = System.Drawing.Color.Red; com.WriteLine("20a"); label20.Text = "OFF"; } if (cb_P21.Checked == true) { label21.BackColor = System.Drawing.Color.Red; com.WriteLine("21a"); label21.Text = "OFF"; } if (cb_P22.Checked == true) { label22.BackColor = System.Drawing.Color.Red; com.WriteLine("22a"); label22.Text = "OFF"; } if (cb_P23.Checked == true) { label23.BackColor = System.Drawing.Color.Red; com.WriteLine("23a"); label23.Text = "OFF"; } if (cb_P24.Checked == true) { label24.BackColor = System.Drawing.Color.Red; com.WriteLine("24a"); label24.Text = "OFF"; } if (cb_P25.Checked == true) { label25.BackColor = System.Drawing.Color.Red; com.WriteLine("25a"); label25.Text = "OFF"; } if (cb_P26.Checked == true) { label26.BackColor = System.Drawing.Color.Red; com.WriteLine("26a"); label26.Text = "OFF"; } if (cb_P27.Checked == true) { label27.BackColor = System.Drawing.Color.Red; com.WriteLine("27a"); label27.Text = "OFF"; } if (cb_P28.Checked == true) { label28.BackColor = System.Drawing.Color.Red; com.WriteLine("28a"); label28.Text = "OFF"; } if (cb_P29.Checked == true) { label29.BackColor = System.Drawing.Color.Red; com.WriteLine("29a"); label29.Text = "OFF"; } if (cb_P30.Checked == true) { 127 label30.BackColor = System.Drawing.Color.Red; com.WriteLine("30a"); label30.Text = "OFF"; } if (cb_P31.Checked == true) { label31.BackColor = System.Drawing.Color.Red; com.WriteLine("31a"); label31.Text = "OFF"; } if (cb_P32.Checked == true) { label32.BackColor = System.Drawing.Color.Red; com.WriteLine("32a"); label32.Text = "OFF"; } } else { var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (cbb_com1.Text != "") { com.PortName = cbb_com1.Text; lb_status.Text = "Connect"; bt_connect.Text = "Disconnect"; com.Open(); } else { var result2 = MessageBox.Show(message2, caption2); } } else { var hienthi = MessageBox.Show(message1); } } } private void com_DataReceived(object sender, SerialDataReceivedEventArgs e) { } private void label33_Click(object sender, EventArgs e) { } private void bt_DH_ON_Click(object sender, EventArgs e) { if (lb_status.Text == "Connect") { if (checkBox1.Checked == true) { 128 label33.BackColor = System.Drawing.Color.Green; com.WriteLine("33"); label33.Text = "ON"; } if (checkBox2.Checked == true) { label34.BackColor = System.Drawing.Color.Green; com.WriteLine("34"); label34.Text = "ON"; } if (checkBox3.Checked == true) { label35.BackColor = System.Drawing.Color.Green; com.WriteLine("35"); label35.Text = "ON"; } if (checkBox4.Checked == true) { label36.BackColor = System.Drawing.Color.Green; com.WriteLine("36"); label36.Text = "ON"; } } else { var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (cbb_com1.Text != "") { com.PortName = cbb_com1.Text; lb_status.Text = "Connect"; bt_connect.Text = "Disconnect"; com.Open(); } else { var result2 = MessageBox.Show(message2, caption2); } } else { var hienthi = MessageBox.Show(message1); } } } private void button1_Click_1(object sender, EventArgs e) { if (lb_status.Text == "Connect") { if (checkBox5.Checked == true) { label37.BackColor = System.Drawing.Color.Red; com.WriteLine("37"); label37.Text = "OFF"; 129 } if (checkBox6.Checked == true) { label38.BackColor = System.Drawing.Color.Red; com.WriteLine("38"); label38.Text = "OFF"; } if (checkBox7.Checked == true) { label39.BackColor = System.Drawing.Color.Red; com.WriteLine("39"); label39.Text = "OFF"; } if (checkBox8.Checked == true) { label40.BackColor = System.Drawing.Color.Red; com.WriteLine("40"); label40.Text = "OFF"; } if (checkBox9.Checked == true) { label41.BackColor = System.Drawing.Color.Red; com.WriteLine("37"); label41.Text = "OFF"; } if (checkBox10.Checked == true) { label42.BackColor = System.Drawing.Color.Red; com.WriteLine("38"); label42.Text = "OFF"; } if (checkBox11.Checked == true) { label43.BackColor = System.Drawing.Color.Red; com.WriteLine("39"); label43.Text = "OFF"; } if (checkBox12.Checked == true) { label44.BackColor = System.Drawing.Color.Red; com.WriteLine("40"); label44.Text = "OFF"; } } else { var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (cbb_com1.Text != "") { com.PortName = cbb_com1.Text; lb_status.Text = "Connect"; bt_connect.Text = "Disconnect"; com.Open(); } else { var result2 = MessageBox.Show(message2, caption2); 130 } } else { var hienthi = MessageBox.Show(message1); } } } private void checkBox10_CheckedChanged(object sender, EventArgs e) { } private void bt_clr_Click(object sender, EventArgs e) { if (lb_status.Text == "Connect") { com.Write("c"); } else { var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (cbb_com1.Text != "") { com.PortName = cbb_com1.Text; lb_status.Text = "Connect"; bt_connect.Text = "Disconnect"; com.Open(); } else { var result2 = MessageBox.Show(message2, caption2); } } else { var hienthi = MessageBox.Show(message1); } } } private void bt_DH_OFF_Click(object sender, EventArgs e) { if (lb_status.Text == "Connect") { if (checkBox1.Checked == true) { label33.BackColor = System.Drawing.Color.Red; com.WriteLine("37"); label33.Text = "OFF"; } if (checkBox2.Checked == true) { label34.BackColor = System.Drawing.Color.Red; com.WriteLine("38"); 131 label34.Text = "OFF"; } if (checkBox3.Checked == true) { label35.BackColor = System.Drawing.Color.Red; com.WriteLine("39"); label35.Text = "OFF"; } if (checkBox4.Checked == true) { label36.BackColor = System.Drawing.Color.Red; com.WriteLine("40"); label36.Text = "OFF"; } } else { var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (cbb_com1.Text != "") { com.PortName = cbb_com1.Text; lb_status.Text = "Connect"; bt_connect.Text = "Disconnect"; com.Open(); } else { var result2 = MessageBox.Show(message2, caption2); } } else { var hienthi = MessageBox.Show(message1); } } } private void button2_Click(object sender, EventArgs e) { if (lb_status.Text == "Connect") { if (checkBox5.Checked == true) { label37.BackColor = System.Drawing.Color.Green; com.WriteLine("37"); label37.Text = "ON"; } if (checkBox6.Checked == true) { label38.BackColor = System.Drawing.Color.Green; com.WriteLine("38"); label38.Text = "ON"; } if (checkBox7.Checked == true) { 132 label39.BackColor = System.Drawing.Color.Green; com.WriteLine("39"); label39.Text = "ON"; } if (checkBox8.Checked == true) { label40.BackColor = System.Drawing.Color.Green; com.WriteLine("40"); label40.Text = "ON"; } if (checkBox9.Checked == true) { label41.BackColor = System.Drawing.Color.Green; com.WriteLine("37"); label41.Text = "ON"; } if (checkBox10.Checked == true) { label42.BackColor = System.Drawing.Color.Green; com.WriteLine("38"); label42.Text = "ON"; } if (checkBox11.Checked == true) { label43.BackColor = System.Drawing.Color.Green; com.WriteLine("39"); label43.Text = "ON"; } if (checkBox12.Checked == true) { label44.BackColor = System.Drawing.Color.Green; com.WriteLine("40"); label44.Text = "ON"; } } else { var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (cbb_com1.Text != "") { com.PortName = cbb_com1.Text; lb_status.Text = "Connect"; bt_connect.Text = "Disconnect"; com.Open(); } else { var result2 = MessageBox.Show(message2, caption2); } } else { var hienthi = MessageBox.Show(message1); } } 133 } } } 134 ... cấu từ xa sử dụng trợ giúp máy tính Mục tiêu đề tài nghiên cứu việc điều khiển cấu từ xa máy tính Nghiên cứu việc thiết lập giao diện mơ máy tính, từ giao diện điều truyền tín hiệu điều khiển cấu, ... nghiên cứu vi điều khiển, phục vụ công việc nhận tín hiệu điều khiển từ máy tính xuất tín hiệu điều khiển tới mạch điều khiển Nghiên cứu thiết bị đóng ngắt điện sử dụng cho việc điều khiển cấu chấp... vi xử lý nhận chƣơng trình điều khiển đƣợc cấu chấp hành + Làm mơ hình thực tế tiến hành cấu chấp hành 1.3.1 TÊN LUẬN VĂN Điều khiển cấu từ xa sử dụng trợ giúp máy tính 1.3.2 MỤC ĐÍCH VÀ GIỚI