1. Trang chủ
  2. » Tất cả

Xây dựng hệ thống điều chỉnh tự động nhiệt độ lò điện trở

128 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Đồ án tốt nghiệp BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐH BÁCH KHOA HÀ NỘI Độc lập - Tự - Hạnh phúc NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Nhóm sinh viên thực hiện: Đỗ Hồng Quang Nguyễn Văn Phong Khoa : Ngành : Lớp : Khoá : Điện Điều khiển tự động ĐKTĐ 46 1.Đề tài thiết kế: Xây dựng hệ thống điều khiển nhiệt độ lò điện trở Các số liệu ban đầu: Kết thực tập tốt nghiệp ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Nội dung phần thuyết minh tính tốn - Xây dựng hệ thống điều chỉnh nhiệt độ lị điện trở khảo sát q trình nhiệt luyện - Thiết kế phần cứng - Xác định đặc tính động học đối tượng -Tổng hợp hệ thống kinh điển - Khảo sát trình nhiệt luyện vật - Phần mền chương trình điều khiển Các vẽ đồ thị (ghi rõ loại vẽ kích thước vẽ) ………………………………………………………………………………… Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 Đồ án tốt nghiệp ………………………………………………………………………………… Cán hướng dẫn Phần Họ tên cán ………………………………………………………………………………… ………………………………………………………………………………… Ngày giao nhiệm vụ thiết kế: ……………………………………………… Ngày hoàn thành nhiệm vụ thiết kế: ……………………………………… Ngày tháng năm 2006 Chủ nhiệm môn (Ký, ghi rõ họ tên) Cán hướng dẫn (Ký, ghi rõ họ tên) Sinh viên hoàn thành (và nộp toàn thiết kế cho môn) Ngày tháng năm 2006 (ký, ghi rõ họ tên) Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 Đồ án tốt nghiệp MỤC LỤC Lời mở đầu PHẦN MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ ĐỐI TƯỢNG ĐIỀU KHIỂN .7 1.1 Lò điện trở xét mặt đối tượng điều khiển 12 1.1.1 Đặc điểm lò nhỉệt điện trở: 12 1.1.2 Phân loại lò điện trở 12 1.1.3 Một số yêu cầu với vật liệu làm dây đốt 13 1.2 Các phương pháp điều chỉnh nhiệt độ lò điện trở 14 1.2.1 Phương pháp dùng biến áp: 14 1.2.2 Phương pháp dùng rơle: 15 1.2.3 Phương pháp dùng rơle kết hợp với thysistor 15 1.2.4 Phương pháp dùng hai thysistor mắc xung đối 15 1.3 Cặp nhiệt 16 CHƯƠNG THIẾT KẾ PHẦN CỨNG 17 2.1 Bộ khuếch đại 17 2.1.1 Khối ổn dòng 17 2.1.2 Khối bù 18 2.1.3 Khối khuếch đại 19 2.2 Bộ điều khiển công suất 19 2.2.1 Cấu tạo nguyên lý hoạt động Thyristor 19 2.2.2 Bộ điều khiển cơng suất lị nung : .22 2.3 Card D/A, A/D 30 2.3.1 Sơ đồ địa vào sủ dụng cho máy tính IBM tương thích .31 2.3.2 Các vi mạch dùng card .34 2.3.3 Nguyên lý hoạt động Card 39 CHƯƠNG NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN 41 3.1 Những sở lý thuyết .41 3.2 Xác định tham số mơ hình từ đặc tính động học đối tượng 43 3.3 Khảo sát tính xác mơ hình 45 CHƯƠNG CÁC PHƯƠNG PHÁP THIẾT KẾ BỘ PID KINH ĐIỂN .51 4.1 Bộ điều khiển PID 51 4.1.1 Sử dụng mơ hình xấp xỉ bậc có trễ đối tượng 53 4.1.2 Xác định tham số thực nghiệm 55 4.1.3 Phương pháp Chien-Hrrones-Reswick 57 4.1.4 Phương pháp tổng Kuhn 60 4.2 Bộ điều khiển tối ưu độ lớn 61 Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 Đồ án tốt nghiệp 4.2.1 Nguyên lý tối ưu độ lớn 61 4.2.2 Thiết kế điều khiển 62 4.3 Bộ điều khiển tối ưu đối xứng: 63 4.3.1 Nguyên lý tối ưu đối xứng 63 4.3.2 Điều khiển đối tượng tích phân- quán tính bậc hai 68 4.3.3 Điều khiển đối tượng tích phân -quán tính bậc cao .69 4.3.4 Điều khiển đối tượng 71 4.3.5 Nâng cao chất lượng hệ kín điều khiển tiền xử lý 73 4.4 Phương pháp phân bổ nghiệm số 76 4.5 Bộ PID miền thời gian xấp xỉ liên tục 78 4.5.1 Xấp xỉ thành phần I: 78 4.5.2 Xấp xỉ thành phần D 79 4.5.3 Xấp xỉ luật PID 80 CHƯƠNG TỔNG HỢP HỆ THỐNG 81 5.1 Chất lượng trình điều khiển 81 5.1.1 Đánh giá chất lượng hệ thống trạng thái xác lập 81 5.1.2 Chỉ tiêu chất lượng hệ thống trạng thái độ: 82 5.1.3 Đánh giá chất lượng hệ thống thơng qua tiêu chuẩn tích phân .83 5.2 Thiết kế điều khiển cho đối tượng lò nhiệt điện trở .84 5.2.1 Sơ đồ khối hệ thống 84 5.2.2 Xác định thông số điều khiển 85 5.2.3 Xây dựng thuật toán điều chỉnh PI số .89 5.2.4 Xây dựng điều khiển PI thông số thay đổi 92 CHƯƠNG GIAO DIỆN ĐIỀU KHIỂN VÀ GIÁM SÁT HỆ THỐNG 99 6.1 Gíới thiệu chung phẩn mềm TCS 99 KÊT LUẬN 101 TÀI LIỆU THAM KHẢO 102 PHỤ LỤC .103 BỘ PHẦN MÊM ĐIỀU KHIỂN 103 Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 Đồ án tốt nghiệp Lời mở đầu Sau gần năm học tập trường đại học bách khoa hà nội, giúp đỡ tận tình thầy giáo sụ quan tâm bảo tận tình thầy cô môn Điều Khiển Tự Động Chúng em tích luỹ kiến thức ngành Điều Khiển Tự Động Để giúp cho sinh viên nắm vững kiến thức chuyên ngành cách có hệ thống vước đầu làm quen với công việc thực tế người kỹ sư, sinh viên dược giao đị án tốt nghiệp với mục đích tập phân tích, tổng hợp xây dựng hệ thống điều khiển tự động thực tế Đề tài chúng em giao là: Xây dựng hệ thống điều chỉnh tự động nhiệt độ lò điện trở Sau gần bốn tháng làm việc nghiêm túc với nỗ lực thân giúp đỡ tận tình thầy giáo môn Điều Khiển Tự Động trường Đại Học Bách Khoa Hà Nội Đặc biệt thầy giáo hướng dẫn TS Nguyễn Văn Hoà, người hướng dẫn trực tiếp chúng em hoàn thành đồ án Với lịng kính trọng biết ơn sâu sắc, lần chúng em xin cảm ơn thầy, cô giáo môn Điều Khiển Tự Động trường Đại Học Bách Khoa Hà Nội Đặc biệt thầy giáo hướng dẫn TS Nguyễn Văn Hoà, người hướng dẫn bảo tận tình để chúng em hồn thành đồ án Hà Nội, ngày 2/6/2006 Nhóm sinh viên Nguyễn Văn Phong Đỗ Hồng Quang Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 Đồ án tốt nghiệp PHẦN MỞ ĐẦU Trong thời đại ngày với phát triển vũ bão khoa học kỹ thuật, mặt giới có thay đổi vơ to lớn Có thể nói khoa học kỹ thuật đại đã, gây ảnh hưởng mạnh mẽ đến toàn nhân loại Mọi nơi lúc sống, người trực tiếp gián tiếp có ứng dụng thành tựu khoa học kỹ thuật Cùng với phát triển vượt bậc khoa học kỹ thuật, việc ứng dụng thành tựu khoa học kỹ thuật vào lĩnh vực tự động hoá mang lại chuyển biến rõ rệt, góp phần thúc đẩy phát triển mạnh mẽ nhiều lĩnh vực công nghệ, đáp ứng tiêu chất lượng giá thành sản phẩm nhằm nâng cao chất lượng sống Trong đời sống sản xuất, yêu cầu sử dụng nhiệt lớn Trong ngành công nghiệp khác nhau, nhiệt dùng để nung sấy, nhiệt luyện, nấu chảy chất điều thiếu Nguồn nhiệt dùng từ điện quan lò điện phổ biến thuận tiện Từ điện năng, thu nhiệt nhiều cách: nhờ hiệu ứng Joule( lị điện trở), nhờ phóng điện hồ quang( lị hồ quang), nhờ tác dụng nhiệt dịng xốy Foucault thông qua tượng cảm ứng điện từ ( lị cảm ứng) v…v… Trong thực tế xí nghiệp cơng nghiệp nước ta mơ hình lị điện trở phổ biến số ưu điểm như: có kết cấu đơn giản, có dải cơng suất rộng( từ vài KW đến hàng trăng KW), dễ lắp đặt, sửa chữa, thay bảo hành Trong khuôn khổ đồ án tốt nghiệp, giới hạn việc xây dựng hệ thống cụ thể hệ thống điều chỉnh tự động nhiệt độ lò điện trở dùng để khảo sát q trình nhiệt luyện Ngồi phần mở đầu phần kết luận, đồ án đề cập đến vấn đề sau: Chương Tổng quan đối tượng điều khiển Chương Thiết kế phần cứng Chương Nhận dạng đối tượng điều khiển Chương Các phương pháp thiết kế PID kinh điển Chương Tổng hợp hệ thống Chương Giao diện điều khiển giám sát hệ thống Tuy nhiên thời gian trình độ có hạn nên có nhiều thiếu sót, mong bảo tận tình thầy giáo bạn bè đề đồ án hoàn thiện Chúng em xin chân thành cảm ơn ý kiến đóng góp quý báu Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 Đồ án tốt nghiệp CHƯƠNG TỔNG QUAN VỀ ĐỐI TƯỢNG ĐIỀU KHIỂN Mục đích thiết kế tốt nghiệp xây dựng hệ thống điều khiển nhiệt độ điện trở lấy q trình nhiệt luyện làm thí nghiệm để khảo sát Nhiệt luyện tập hợp ngun cơng nung nóng, giữ nhiệt làm nguội với tốc độ khác đẻ làm biến đổi tổ chức kim loại hợp kim làm biến đổi tính chất chúng theo ý muốn Nhiệt luyện phương pháp gia cơng có đặc điểm riêng Sau phân biệt nguyên công với nguyên công khác  Khác với đúc, hàn khơng nung nóng đến trạng thái lỏng, ln trạng thái rắn( tức nhiệt độ nưng nóng phải thấp nhiệt độ đơng đặc)  Khác với cắt gọt, biến dạng dẻo( rèn, dập) nhiệt luyện hình dạng kích thước sản phẩm không thay đổi hay thay đổi không đáng kể  Kết nhiệt luyện đánh giá biến đổi tổ chức tế vi tính khơng thể kiểm tra vẻ Sơ đồ trình nhiệt luyện đơn giản nhất: Đối với trình nhiệt luyện, đặc trưng ba thơng số quan trọng nhất: - Nhiệt độ nung nóng T0n: nhiệt độ cao mà trình phải đạt đến - Thời gian giữ nhiệt : thời gian ngưng nhiệt độ nung nóng - Tốc độ nguội Vnguội: sau giữ nhiệt Ba thông số đặc trưng cho ba giai đoạn nối tiếp trình nhiệt luyện: nung nóng, giữ nhiệt, làm nguội Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 Đồ án tốt nghiệp Đối với kết nhiệt luyện đánh giá tiêu sau:  Tổ chức tế vi: Bao gồm tạo pha, kích thước hạt, chiều sâu lớp hố bền Có thể nói tiêu gốc, song để thực thời gian nên thường để kiểm tra mẻ sản xuất ổn định  Độ cứng: Là tiêu tính đẻ xác định có liên quán đến tiêu khác độ bền, độ dẻo, độ dai Vì chi tiết, dụng cụ qua nhiệt luyện quy định giá trị độ cứng( tuỳ trường hợp, phải lớn hay nhỏ giá trị quy định) thông thường kiểm tra theo tỉ lệ( số trường hợp phải kiểm tra 100%)  Độ cong vênh, biến dạng: Nói chung độ biến dang nhiệt luyện nhiều trường hợp nhỏ không đáng kể, song số trường hợp quan trọng yêu cầu khắt khe, vượt phạm vi cho phép dùng Nhiệt luyện thường gặp dùng cách thay đổi nhiệt độ( không biến đổi thành phần biến dạng dẻo) để biến đổi tổ chức toàn diện Nó bao gồm nhiều phương pháp: - Ủ : Nung nóng làm nguội chậm đẻ đạt tổ chức cân với độ cứng độ bền thấp nhất, độ dẻo cao - Thường hố: nung nóng đến tổ chức hồn tồn Austenit, làm nguội bình thường khơng khí tĩnh để đạt tổ chức gần cân Mục đích ủ thường hố làm mềm thép để dễ gia công cắt dập nguội - Tơi: nung nóng làm xuất Austenit làm nguội nhanh để đạt tổ chức không cân với độ cứng cao ( kèm với độ giòn cao) Nếu hiệu ứng xảy bề mặt gọi bề mặt - Ram: ngun cơng bắt buộc sau tơi, nung nóng lại thép toi để điều chỉnh độ cứng, đệ bền theo yêu cầu làm việc Như ram hai nguyên công nhiệt luyện kèm với ( không tiến hành riêng lẻ mà kết hợp với nhau), mục đích củ tơi ram tạo tính phù hợp với yêu cầu làm việc cụ thể Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 Đồ án tốt nghiệp - Hoá nhiệt luyện: dùng thay đổi nhiệt độ biến đỏi thành phần hoá học bề mặt vùng để biến đổi tổ chức tính mạnh Thường tiến hành cách thấm, khếch tán hay nhiều nguyên tố định Tác dụng nhiệt luyện sản xuất khí: Nhiệt luyên khâu quan trọng thiếu sản xuất khí có tác dụng chủ yếu sau:  Tăng độ cứng, tính chống mại mòn độ bền thép: Mục tiêu sẳn xuất khó sản xuất cấu máy bền hơn, nhẹ hơn, khoẻ với tính tốt Để đạt điều khơng thể không sử dụn thành vật liệu kim loại nhiệt luyện, sử dụng triệt để tiềm vật liệu mặt tính Bằng phương pháp nhiệt luyện thích hợp tơi ram, tơi bề mặt, thấm cácbon…  Cải thiện tính công nghệ: Muốn tạo thành chi tiết máy, sản phẩm thép phải qua nhiều khâu, nguyên công gia công khí: rèn dập, cắt…Để đảm bảo sản xuất dễ dàng với suất lao đơng coa, chi phí thâp, thép phải có tính cho phù hợp với điều kiện gia công cần mềm để dễ cắt dẻo để dễ biến dạng nguội Các chuyển biến nung thép Thao tác đầu tiến nhiệt luyện nung nóng kim loại Phụ thuộc vào thành phần Cácbon cổtng thép nhiệt độ nung nóng mà thép có chuyển biến khác Cơ sở để xác định chuyển biến nung thép giản đồ pha Fe_C, song giới hạn khu vực thép trạng thái rắn Quan sát giản đồ pha ta thấy rõ nhiệt độ thường thép cấu tạo hai pha bản: Ferit Xementit, có Peclit hỗn hợp tích hai pha Thép cung tích có tổ chức đơn giản cả, có Peclit Các thép trước sau tích cótor chức phức tạp hơn: Ngồi Peclit cịn có thêm Ferit Xêmentit thứ hai Bây nung nóng thép lên nhiệt độ cao, xem chúng có chuyển biến gì? Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 Đồ án tốt nghiệp - Khi nhiệt độ nung nóng thấp 7000C thép chưa có chuyển biến gì( sau dù làm nguội tổ chức thép không bị biến đổi) - Khi nung nóng lên đến nhiệt độ 7000C phần tổ chức Peclit thép chuyển biến thành Austenit theo phản ứng sau Trong Ferit Xêmentit thứ hai thép trước sau tích chưa chuyển biến Vật nung nhiệt độ 7000C chút ta thấy: - Thép tích chuyển biến hồn tồn, có tổ chức khơng hồn tồn Austenit - Thép trước sau tích có chuyển biến chưa hồn tồn, có tổ chức khơng hồn tồn Austenit Tức có tổ chức tương ứng Austenit+Ferit Austenit+Xêmentit thứ hai Tuy nhiên nung nóng tiếp tục từ 700 0C đến 9000C có q trình hồ tan Ferit Xêmentit thứ hai dư vào Austenit, làm lượng hai pha tổ chức ngày Các chuyển biến xảy giữ nhiệt: Tiếp theo nung nóng giai đoạn giữ nhiệt, nhiên không xảy chuyển biến song lại cần thiết để: - Làm nhiệt độ thiết diện, lõi có chuyển biến bề mặt - Có đủ thời gian để hồn thành chuyển biến nung nóng - Làm đồng thành phần hố học lúc đầu hạt Austenit có thành phần không đồng Nơi trước Ferit nghèo cacbon, nơi trước Xêmentit giàu cacbon Trong giai đoạn cacbon( nguyên tố hợp kim) sang nồng độ Thời gian giữ nhiệt cần vừa đủ không nên kéo dài mức cần thiết làm hạt lớn chọn phụ thuộc vào công nghệ nhiệt luyện cụ thể Các công nghệ liên quan đến khuếch tán hoá nhiệt luyện, ủ khuếch tán thời gian dài Các chuyển biến xảy làm nguội chậm Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 10 Đồ án tốt nghiệp { // TODO: Add your control notification handler code here OnOK(); } void CTem_Controller_InterfaceDlg::OnButtonController() { // TODO: Add your control notification handler code here if(m_ControllerDlg.DoModal()==IDOK){ m_dKp=m_ControllerDlg.m_dKP; m_dKi=m_ControllerDlg.m_dKI; m_dKd=m_ControllerDlg.m_dKD; m_dSetpoint=m_ControllerDlg.m_dSETPOINT; m_lTupdate=m_ControllerDlg.m_lTUPDATE; m_lTs=m_ControllerDlg.m_lTS; m_bController=true; if(m_bCardAdd==true&&m_bController==true) GetDlgItem(IDC_BUTTON_START)>EnableWindow(true); } Invalidate(true); } void CTem_Controller_InterfaceDlg::OnButtonStart() { // TODO: Add your control notification handler code here UpdateData(true); m_cprocessTrend.ShowWindow(SW_SHOW); GetDlgItem(IDC_BUTTON_STOP)->EnableWindow(true); Matrix A(1, 1), B(1, 1), C(1, 1), D(1, 1), iNit(1, 1); Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 114 Đồ án tốt nghiệp A(0, 0) = -692; B(0, 0) = 4.5; C(0, 0) = 1.0; D(0, 0) = 0.0; iNit(0, 0) = 30.0; dy = 30.0; pPTn->SetPTnParams(A, B, C, D); pPTn->SetDelayTime(30); pPTn->SetInitValue(iNit); pPTn->SetSampleTime(m_lTs); pPTn->Start(); iDoanDK = 0; UpdateData(true); m_pid.SetParams(m_dKp, m_dKi, m_dKd, (double)m_lTs / 1000); m_pid.SetOutputRange(0, 5); dSP = m_dSetpoint / 200; // ADC m_adc.SetADCTotalChanel(8); m_adc.SetADCChanelActive(m_iObjChanel, true); m_adc.SetADCChanelActive(m_iObjChanel + 1, true); m_adc.SetLatchAddress(m_s373Add); m_adc.SetALEAddress(m_sALEAdd); m_adc.SetStartAddress(m_sStartsAdd); m_adc.SetADCAddress(m_sOEAdd); // DAC m_dac.SetDACTotalChanel(1); m_dac.SetDACAddress(m_iChanel, m_sDACAdd); m_dac.SetDACChanelActive(m_iChanel, true); Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 115 Đồ án tốt nghiệp // For trend m_cprocessTrend.SetVariables(3); // Chanel m_cprocessTrend.SetVariableID(0); m_cprocessTrend.SetVariableColor(RGB(0, 0, 255) );//Blue m_cprocessTrend.SetVariableDeltaX((double)m_lTupdate / 1000); m_cprocessTrend.SetVariableLastX(200); // 100 gia tri // Chanel m_cprocessTrend.SetVariableID(1); m_cprocessTrend.SetVariableColor(RGB(255, 0, 0) );//Red m_cprocessTrend.SetVariableDeltaX((double)m_lTupdate / 1000); m_cprocessTrend.SetVariableLastX(200); // 100 gia tri // Chanel m_cprocessTrend.SetVariableID(2); m_cprocessTrend.SetVariableColor(RGB(0, 255, 0) );//Green m_cprocessTrend.SetVariableDeltaX((double)m_lTupdate / 1000); m_cprocessTrend.SetVariableLastX(200); // 100 gia tri // chanels m_cprocessTrend.ClearAll(); m_pid.Reset(); //Set khoang thoi gian phat tin hieu dieu khien va m_ControlTimer.Interval(m_lTs); m_UpdateTimer.Interval(m_lTupdate); Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 116 Đồ án tốt nghiệp m_ControlTimer.start(); m_UpdateTimer.start(); } void CTem_Controller_InterfaceDlg::OnButtonStop() { // TODO: Add your control notification handler code here m_UpdateTimer.stop(); m_ControlTimer.stop(); GetDlgItem(IDC_BUTTON_STOP)->EnableWindow(false); } void CTem_Controller_InterfaceDlg::OnButtonUpdateValue() { // TODO: Add your control notification handler code here UpdateData(); m_pid.SetParams(m_dKp, m_dKi, m_dKd, (double)m_lTs / 1000 ); // FOR PROGRAM CONTROL // Ma tran dieu khien // Cot dau tien chua vi tri thoi gian // Cot thu hai chua vi tri nhiet tuong ung // Cot thu ba chua he so goc alpha if(m_sprogram.GetAt(0) != '(') m_sprogram.Insert(0, '('); if(m_sprogram.GetAt(m_sprogram.GetLength() - 1) != ')') m_sprogram.Insert(m_sprogram.GetLength(), ')'); UpdateData(false); CString sprogram; sprogram = m_sprogram; Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 117 Đồ án tốt nghiệp // Loai bo '(' dau tien va ')' cuoi sprogram.SetAt(0, ' '); sprogram.SetAt(sprogram.GetLength() - 1, ' '); int count_rowP = 1, count_totalelemP = 0;// So hang, cot for(int i = 0; i < sprogram.GetLength() - 1; i ++){ if(sprogram.GetAt(i) == '(') sprogram.SetAt(i, ' '); if(sprogram.GetAt(i) == ')'){ count_rowP ++; //ta phai khai bao count_rowP=1 vi ta da loai bo ')' cuoi cung sprogram.SetAt(i, ' '); } } for(i = 0; i < sprogram.GetLength() - 1; i ++) if((sprogram.GetAt(i) == ' ') && (sprogram.GetAt(i + 1) != ' ')) count_totalelemP ++; //ta phai khai bao totalelemP=0 vi tu dau da chen ' ' vao dau chuoi if( * count_rowP == count_totalelemP){ mP = Matrix(count_rowP + 1, 3); for(i = 0; i < count_rowP; i ++) for(int j = 0; j < 2; j ++){ mP(i + 1, j) = atof(sprogram); // Xoa cac ky tu ' ' dau tien do{ sprogram.Delete(0); }while(sprogram.GetAt(0) == ' '); // Xoa cac ky tu so dau tien da dc bien doi do{ Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 118 Đồ án tốt nghiệp sprogram.Delete(0); }while(sprogram.GetAt(0) != ' '); } } else MessageBox("Number element of row must equal number element of columm", "Matrix P"); mP(0, 1) = 30.0; //Nhiet moi truong (do C) // Tinh he so goc alpha for(i = 0; i < mP.size_row() - 1; i ++) mP(i, 2) = (mP(i + 1, 1) - mP(i, 1)) /(mP(i + 1, 0) - mP(i, 0)); char a[20]; for(i = 0; i < mP.size_row(); i ++){ for(int j = 0; j < mP.size_col(); j ++){ TRACE0(gcvt(mP(i, j), 5, a) ); TRACE0("\t\t"); } TRACE0("\n"); } UpdateData(false); } BEGIN_EVENTSINK_MAP(CTem_Controller_InterfaceDlg, CDialog) //{{AFX_EVENTSINK_MAP(CTem_Controller_InterfaceDlg) Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 119 Đồ án tốt nghiệp ON_EVENT(CTem_Controller_InterfaceDlg, IDC_STRIPCTRL1, 601 /* DblClick */, OnDblClickStripctrl1, VTS_NONE) //}}AFX_EVENTSINK_MAP END_EVENTSINK_MAP() void CTem_Controller_InterfaceDlg::OnDblClickStripctrl1() { // TODO: Add your control notification handler code here m_cprocessTrend.ShowPropertyPage(); } void CTem_Controller_InterfaceDlg::OnControlMsg(){ char a[20]; // Set point dong, dieu khien theo chuong trinh // Tinh Setpoint dong theo chuong trinh dieu khien double dTime = m_ControlTimer.ElapsedTime(); if(m_bProSetpoint){ dSP = mP(iDoanDK, 2) * (dTime - mP(iDoanDK, 0)) + mP(iDoanDK, 1); // Ket thuc tat ca cac doan dk if(iDoanDK >= mP.size_row() - 1){ iDoanDK = mP.size_row() - 1; dSP = mP(mP.size_row() - 1, 1); } else{ // Dkien chuyen sang doan dk moi if(dTime >= mP(iDoanDK + 1, 0) ) iDoanDK ++; } } else{ // Setpoint co dinh Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 120 Đồ án tốt nghiệp dSP = m_dSetpoint; // = 1000 / } double dy1(0.0); for (int i=0;iEnableWindow(true); GetDlgItem(IDC_BUTTON_UPDATE_VALUE)>EnableWindow(true); if(m_bProSetpoint==false){ GetDlgItem(IDC_EDIT_PROGRAM)->EnableWindow(false); GetDlgItem(IDC_BUTTON_UPDATE_VALUE)>EnableWindow(false); } UpdateData(false); } void CTem_Controller_InterfaceDlg::OnObjectRecognize() { // TODO: Add your command handler code here if (MessageBox("Do you want recognize?","Recognize!",MB_YESNO+MB_ICONQUESTION)==IDYES) { system("Recognize.exe"); } to } void CTem_Controller_InterfaceDlg::OnChangeEditObjchanel() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() Nhóm sinh viên thực the Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 123 Đồ án tốt nghiệp // with the ENM_CHANGE flag ORed into the mask // TODO: Add your control notification handler code here UpdateData(true); } // Tem_Controller_InterfaceDlg.h : header file // //{{AFX_INCLUDES() #include "strip.h" #include "ControllerDlg.h" // Added by ClassView #include "CardAddDlg.h" // Added by ClassView #include "MatrixApp.h" #include "_ADC.h" #include "_DAC.h" #include "_TrendUpdateTimer.h" #include "_PTnR_K.h" #include "_pid.h" #include "ControlTimer.h" //}}AFX_INCLUDES #if ! defined(AFX_TEM_CONTROLLER_INTERFACEDLG_H 4283A740_F4F3_48 D0_A8F9_FBEEB3CDBF5A INCLUDED_) Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 124 Đồ án tốt nghiệp #define AFX_TEM_CONTROLLER_INTERFACEDLG_H 4283A740_F4F3_48D0_A8 F9_FBEEB3CDBF5A INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 //#define WM_CONTROL_MSG (WM_USER + 100) //#define WM_VIEW_MSG (WM_USER + 101) #define WM_PLOT_MSG (WM_USER+100) #define WM_CONTROL_MSG (WM_USER+101) ///////////////////////////////////////////////////////////////////////////// // CTem_Controller_InterfaceDlg dialog class CTem_Controller_InterfaceDlg : public CDialog { // Construction public: C_PTnR_K PTnR_K; C_PTn* pPTn; C_TrendUpdateTimer m_UpdateTimer; int iDoanDK; Matrix mP; double dSP, dy, du; CControlTimer m_ControlTimer; C_PID m_pid; C_DAC m_dac; C_ADC m_adc; Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 125 Đồ án tốt nghiệp CTem_Controller_InterfaceDlg(CWnd* pParent = NULL); standard constructor // Dialog Data //{{AFX_DATA(CTem_Controller_InterfaceDlg) enum { IDD IDD_TEM_CONTROLLER_INTERFACE_DIALOG }; CString m_sTest; BOOL m_bProSetpoint; CStrip m_cprocessTrend; CString m_sprogram; int m_iObjChanel; int m_iNumberRead; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CTem_Controller_InterfaceDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); DDX/DDV support //}}AFX_VIRTUAL // // // Implementation protected: HICON m_hIcon; // Generated message map functions //{{AFX_MSG(CTem_Controller_InterfaceDlg) virtual BOOL OnInitDialog(); afx_msg void OnControlMsg(); afx_msg void OnUpdateMsg(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 126 = Đồ án tốt nghiệp afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnButtonCardAdd(); afx_msg void OnButtonExit(); afx_msg void OnButtonController(); afx_msg void OnButtonStart(); afx_msg void OnButtonStop(); afx_msg void OnButtonUpdateValue(); afx_msg void OnDblClickStripctrl1(); afx_msg void OnHelpAbout(); afx_msg void OnHelpHowtouse(); afx_msg void OnCheckStaticSetpoint(); afx_msg void OnObjectRecognize(); afx_msg void OnChangeEditObjchanel(); DECLARE_EVENTSINK_MAP() //}}AFX_MSG DECLARE_MESSAGE_MAP() private: BOOL m_bController; BOOL m_bCardAdd; int m_iChanel; double m_dKd; double m_dKi; double m_dKp; double m_dSetpoint; long m_lTupdate; long m_lTs; CString m_sStartsAdd; CString m_sOEAdd; CString m_sDACAdd; CString m_sALEAdd; Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 127 Đồ án tốt nghiệp CString m_s373Add; CCardAddDlg m_CardAddDlg; CControllerDlg m_ControllerDlg; }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line #endif // ! defined(AFX_TEM_CONTROLLER_INTERFACEDLG_H 4283A740_F4F3_48 D0_A8F9_FBEEB3CDBF5A INCLUDED_) Nhóm sinh viên thực Nguyễn Văn Phong - Đỗ Hồng Quang ĐTĐ-K46 128 ... với mục đích tập phân tích, tổng hợp xây dựng hệ thống điều khiển tự động thực tế Đề tài chúng em giao là: Xây dựng hệ thống điều chỉnh tự động nhiệt độ lò điện trở Sau gần bốn tháng làm việc... số vật liệu làm dây đốt lò điện trở 1.2 Các phương pháp điều chỉnh nhiệt độ lò điện trở Đại lượng cần điều chỉnh nhiệt độ buồng lò. Việc điều khiẻn nhiệt độ buồng lị điều chỉnh cơng suất dặt vào... đồ hệ thống điều khiển tự động nhiệt độ máy tính Trong hệ thống, đối tượng lò điện trở sử dụng loại dây nung Cr-Al( kí hiệu XA) có nhiệt độ làm việc C Tín hiêu lị lấy cặp nhiệt điện XA số Nhiệt

Ngày đăng: 20/02/2023, 17:16

w