Đồ án Điều khiển và giám sát lò nung Tuynel

Việc em chọn ngôn ngữ lập trình Visual Basic (VB) để thiết kế phần mềm giám sát, là vì: Visual Basic là ngôn ngữ lập trình hướng đối tượng, đơn giản dễ sử dụng. Đặc biệt trong việc thiết kế giao diện và khả năng lập trình trên các biến cố.Các tín hiệu cơ sở cho phần mềm được lấy từ PLC, công việc của phần mềm giám sát: + Các nút để điều khiển hệ thống: khởi động, nhập giá trị đặt, . + Hiển thị các thông số của các vòng điều khiển quá trình (có 6 vòng) + Có các đèn thông báo tình trạng làm việc của lò, các quạt, van ,. + Đặt các tín hiệu cảnh báo và báo động khi có sự cố, .

doc79 trang | Chia sẻ: oanh_nt | Lượt xem: 1405 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Điều khiển và giám sát lò nung Tuynel, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1,2,3,4,5,6. - Nếu coi lò nung Tuynel là một đối tượng điều khiển thì nó sẽ có 45 đầu vào (29 đầu vào tương tự, 16 đầu vào số) và 14 đầu ra (08 đâu ra số, 06 đầu ra tương tự). à Đây là bài toán điều khiển rất phức tạp và khó. 2.1.2. Phân bố áp suất và tốc độ khí trong lò Hình a Hình b Hình c Hình d Đường phân bố áp suất và tốc độ khí trong lò Chúng ta hãy xét lò Tuynel có quạt thổi không khí vào và quạt hút khí thải ra khỏi lò (hình a). Nhiên liệu cháy ở vùng nung chính, ở đây nhiệt độ cao nhất, khối lượng riêng của khí nhỏ hơn so với khí ở vùng nóng và vùng làm nguội. Vì vậy ở vùng nung xuất hiện áp suất hình học và nó biến thành áp suất tĩnh học, về trị số áp suất tĩnh học cao hơn so với vùng đốt nóng và vùng làm nguội. Giả thiết rằng đột nhiên ta dừng các quạt thổi không khí và quạt hút khí thải, thì áp suất tĩnh học của khí ở phía trên vùng nung chính lớn hơn so với các vùng khác (hình b). Kết quả ta có dòng khí chuyển động tự do từ vùng nung chính sang vùng làm nguội và vùng nung sơ bộ. Nếu coi áp suất ở phía trên của vùng làm nguội bằng không khí thì đường phân bố áp suất ở vùng làm nguội là 6”’, ở vùng nung là 6”. Áp suất ở vùng nung lớn hơn vùng làm nguội một đoạn 3’ và lớn hơn vùng đốt nóng một đoạn 3”. Sự giảm áp suất từ nền lò đến trần ở các vùng không giống nhau. Giảm chậm nhất là ở vùng nung chính (đường 6”) sau đó đến vùng đốt nóng (đường 6’), cuối cùng ở vùng làm nguội giảm nhanh nhất (6”’). Đại lượng áp suất tĩnh học so sánh ở phía trên vùng làm nguội đặc trưng bằng những đoạn ngang ứng với ba đường số 6. Mặc dù ở phía trên vùng nung chính, áp suất khí lớn hơn vùng làm nguội một đoạn 3’, nhưng ở sát nên goòng áp suất khí lại nhỏ hơn vùng làm nguội một đoạn 4’. Tương tự như vậy, so với vùng nung sơ bộ áp suất ở phía trên của vùng nung chính lớn hơn (đoạn 3”) và ở phía dưới lại nhỏ hơn (đoạn 4”). Vì vậy khi dừng lò đột ngột, trong lò Tuynel sẽ xuất hiện những dòng đối lưu tự nhiên. Ở phía trên khí sẽ chuyển động từ vùng nung chính sang vùng nung sơ bộ và vùng làm nguội nhanh và vùng làm nguội chậm. Tốc độ dòng khí được biểu thị bằng đường cong 7 và 8. Ở sát nền lò và trần lò tốc độ khí bằng không do ma sát quá lớn. Tốc độ khí cực đại nằm ở vị trí cách nền lò và vòm lò một chút. Vì chiều của dòng khí ngược nhau cho nên ở giữa lò có mặt tốc độ bằng không. Mặt đó gọi là mặt trung gian ứng với giao điểm của hai đường 6’ và 6’’ chồng nên nhau. Khi chúng ta cho quạt thổi không khí vào lò và quạt hút khí thải hoạt động, nghĩa là ở vùng nung sơ bộ ta có áp suất âm và ở vùng làm nguội chậm ta có áp suất dương. Nếu lượng khí chuyển động đủ lớn, mặt trung gian có tốc độ bằng không sẽ chuyển hẳn ra ngoài lò, và khí chuyển động một chiều từ vùng làm nguội đến vùng nung sơ bộ. Giả thiết rằng chế độ áp suất trong lò 6’,6”, 6’’’ chuyển thành 10’,10’’,10’’’. Vùng nung sơ bộ lượng 6’ được tăng cường một đại lượng chân không bởi quạt hút, vùng này cũng tăng cường một đại lượng chân không hoặc áp suất dương. Áp suất vùng làm nguội luôn luôn lớn hơn áp suất vùng nung, áp suất ở vùng đốt nóng thấp hơn cả. Vì thế khí sẽ đi từ vùng làm nguội chậm đến vùng nung sơ bộ. Song chênh lệch áp suất giữa vùng làm nguội và vùng nung chính ở phía trên nhỏ hơn phía dưới, vì vậy tốc độ không khí ở vùng làm nguội tăng dần theo chiều từ trên xuống mặt goòng. Đường biểu diễn tốc độ ở vùng này là đường số 8 (hình c) với tốc độ ở sát nền và vòm bằng không. Tương tự như vậy ở vùng nung sơ bộ tốc độ tăng dần từ mặt goòng đến vòm lò và đường số 7 biểu diễn tốc độ khí của vùng nung sơ bộ. Như vậy khí chuyển động chẳng những do ảnh hưởng của lực bên ngoài (nhờ quạt) mà cũng do lực bên trong lò (áp suất tĩnh học). Kết quả phân tích ở trên cho phép ta giải thích tại sao tốc độ khí ở trên vùng nung sơ bộ lớn hơn phía dưới và tốc độ khí ở phía dưới vùng làm nguội lại lớn hơn ở phía trên. Sự giải thích này cũng có thể áp dụng cho các lò vòng, lò nhiều phòng, lò rỗng và những lò tương tự. Hiện tượng này thường gọi là sự phân lớp trong lò tuynel. Ở vùng đốt nóng sản phẩm phía trên được đốt nóng nhanh hơn, có nhiệt độ cao hơn, ở vùng làm nguội sản phẩm phía trên được làm nguội chậm hơn so với phía dưới. Ngoài hiện tượng tự nhiên ở trên, còn có những nguyên nhân khác làm tăng độ chênh lệch nhiệt độ theo chiều dài của lò tuynel. Trong quá trình nung, sản phẩm co ngót làm khe hở giữa vòm lò và lớp sản phẩm trên xe goòng rạn ra. Điều đó khiến cho dòng khí có nhiệt độ cao sẽ chuyển động dễ dàng ở sát vòm lò, là điều kiện tạo ra chênh lệch nhiệt độ theo chiều cao. Ngoài ra ở chỗ khe goòng thường không kín, không khí lạnh sẽ chui vào lò qua vùng đốt nóng. Điều đó sẽ dẫn tới hạ nhiệt độ lớp vật liệu mặt goòng. Do những nguyên nhân trên, chênh lệch nhiệt độ theo chiều cao của lò tuynel khá lớn. Để khắc phục nhược điểm này người ta dùng những biện pháp sau: + Có thể xếp sản phẩm dày ở phía trên và thưa ở phía dưới để tăng sức cản thuỷ lực ở phía trên, tạo điều kiện cho khí đi phía dưới. Điều này cũng có thể áp dụng cho lò vòng. + Chỗ hút khí thải bố trí rải thành nhiều cửa ở đầu lò và phải bố trí sát mắt goòng. Cách bố trí như vậy tạo điều kiện cho dòng khí hướng xuống phía dưới. + Tốc độ khí phải đủ lớn (1¸1,5m/s), khi đó các dòng khí phân bố đều hơn theo tiết diện của lò. Nếu tốc độ khí quá lớn, sức cản thuỷ lực tăng lên và không khí lọt vào nhiều. Kết quả lại không giảm chênh lệch nhiệt độ lò. Tăng độ kín giữa goòng và lò để giảm không khí lọt qua khe goòng vào lò. Muốn vậy cần hoàn chỉnh van cát và chỗ nối goòng. 1. Cửa thổi không khí vào vùng làm nguội phải đặt gần sát vòm lò để làm nguội đồng đều theo chiều cao của vòm lò. 2. Có thể thành lập chế độ áp suất dưới gầm lò tương tự như trong lò. Làm như vậy sẽ giảm hẳn không khí lọt vào lò. Song phải bố trí các cửa kín, quạt ở hành lang dưới gầm lò, điều đó làm hệ thống chạy thêm phức tạp và điều khiển lò khó khăn thêm. 3. Biện pháp phổ biến hơn cả là cho tuần hoàn khí hoặc tạo các màn khí ở vùng đốt nóng. Khí có thể được hút từ vùng làm nguội hoặc cuối vùng đốt nóng bằng quạt chịu nhiệt hoặc vòi phun khí (injektor) sau đó thổi qua cửa hoặc qua khe hẹp ở vòm lò xuống mặt goòng. Nhờ luồng khí hay màng khí đó, dòng khí trong lò bắt buộc đi chui xuống mặt goòng và tạo điều kiện đốt nóng sản phẩm theo chiều cao. Cửa hút khí luôn đặt ngang mặt goòng trong vùng nung sơ bộ hoặc gần vòm lò trong vùng làm nguội. 2.2. Hệ thống điều khiển ở nhà máy sứ Thanh Trì 2.2.1 Hệ thống điều khiển nhiệt độ Nguyên tắc về quá trình cháy nhiên liệu: quá trình cháy nhiên liệu có thể chia thành hai loại chính: đồng thể và dị thể Cháy đồng thể: là sự cháy xảy ra đồng thời trong toàn vộ khối khí đã được trộn lẫn của không khí và nhiên liệu. Cháy dị thể: xảy ra trên bề mặt phân cách các pha của nhiên liệu. Sự cháy của nhiên liệu rắn là dạng điển hình của sự cháy ở dạng dị thể. Còn sự cháy của dạng nhiên liệu lỏng có thể coi là trung gian của hai dạng trên. Vì ở đây, trong ngọn lửa cháy của nhiên liệu lỏng khí phun tồn tại cả 3 pha: khí, lỏng và rắn. Phần lớn các quá trình cháy trong thực tế đều là dị thể. Ngay cả khi đốt nhiên liệu khí ta cũng thu được quá trình cháy là dị thể do sự tự cacbon hoá của khí đốt. Điều kiện của quá trình cháy dị thể phức tạp hơn nhiều, tuỳ thuộc vào sự phân bố đồng đều giữa các pha, vào trạng thái vật lý của hệ cũng như kích thước của buồng đốt. Quá trình cháy của nhiên liệu: với bất kỳ một nhiên liệu nào quá trình cháy cũng xảy ra hai thời kỳ: chuẩn bị cháy và thời kỳ cháy. Có rất nhiều yếu tố ảnh hưởng trực tiếp tới phản ứng hoá học trong quá trình cháy, vai trò quan trọng hơn cả trong quá trình cháy là quá trình toả nhiệt của nhiên liệu cháy, việc hấp thụ và trao đổi nhiệt với môi trường xung quanh kể cả trao đổi nhiệt ngay trong không gian cháy. Những điều khiển xảy ra trên ta gọi chung là những điều kiện nhiệt. Đối với thời kỳ chuẩn bị đốt với phản ứng cháy đồng thể là thời kỳ ban đầu. Quá trình cháy, nhờ sự hấp thụ nhiệt của môi trường xung quanh, dẫn tới quá trình oxy hoá chậm. Trong quá trình cháy xảy ra sự tích luỹ năng lượng, làm tăng dần nhiệt độ của khối khí đã đạt được mức độ của khối khí đã đạt được mức độ nào đó phản ứng oxy hoá hay là quá trình cháy nhiên liệu đột nhiên tăng mạnh chuyển thành bốc lửa. Để có quá trình cháy đồng thể nhiệt độ của một số chất phải lớn: + Khí hiđro (H2): 5300C + Khí cacbon (II) oxit: 6100C + Khí mêtan: 6450C + Khí hiđroxit lưu huỳnh (H2S): 2900C 2.2.1.1. Điều khiển nhiệt độ vùng nung sơ bộ + Can nhiệt độ : AI1 ¸ AI6 (AI1 ¸ AI6 có nghĩa là tín hiệu đầu vào analog của bộ điều khiển lấy T/C1¸T/C6. Đõy là cỏc can loại K đo nhiệt độ thấp). + Thời gian nung 3¸4 giờ + Nhiệt độ nung: 120oC (AI1) ¸ 7000C(AI6) Đầu vào của hệ thống cháy được điều chỉnh bằng tỷ lệ giữa không khí và nhiên liệu cho mỗi mỏ đốt được yêu cầu bởi đồ thị nhiệt độ sứ và khi điều khiển tỷ lệ này là duy trì nhiệt độ đặt. Các mỏ đốt này (133 mỏ đốt) được điều khiển bằng tay, tức là thông số về tỷ lệ gas khí được đặt bằng cách thay đổi độ mở van trên đường ống dẫn Gas và khí. Việc điều chỉnh này để đáp ứng với nhiệt độ đặt sẽ dựa vào nhiệt độ báo về từ các can nhiệt nói trên. Các thông số này được giữ cố định trong suốt quá trình hoạt động của lò do yêu cầu công nghệ sứ đòi hỏi nhiệt độ cung cấp cho vùng này không cao. Đầu ra khí xả được điều khiển bởi các van trên đường khí đi vào quạt Q1. Khi khí đầu ra của quạt Q1 tăng thì van mở rộng hơn và ngược lại. Mở hoặc đóng các khoang khí khác nhau cũng làm ổn định đường cong nhiệt độ của vùng nung sơ bộ. Việc tăng tốc độ của 4 quạt đầu vào sẽ tạo ra một cửa chắn khí ở đầu vào của lò với áp suất cao. Áp suất cao này sẽ ngăn không cho khí nóng trong lò thoát ra ngoài và ngăn khí lạnh từ ngoài thổi vào trong lò. Quạt Q1 sẽ hút nhiều khí ra hơn tại bất kỳ nơi nào trong lò. Vì vậy, tốc độ quạt Q1 sẽ thấp hơn là tốc độ 4 quạt đầu vào. 2.2.1.2 Điều khiển nhiệt độ của vùng nung chính + Can nhiệt: AI7¸ AI10. Các can nhiệt này là can S, T/C7 là K. + Thời gian nung: 2¸3h. + Nhiệt độ nung: 9000C( AI7 ) ¸12000C (AI10 ). Vùng nung chính có 24 mỏ đốt chia làm 4 nhóm, mỗi nhóm 6 mỏ đốt: 3 bên phải, 3 bên trái. Các nhóm từ 1¸ 4 đều được điều khiển tự động bởi các vòng TIC1 ¸ TIC4. Tín hiệu thay đổi đều được lấy từ các can nhiệt độ AI7 ¸ AI10 để điều khiển. Can nhiệt độ còn lại (T/C 8A ) cung cấp tín hiệu để hỗ trợ cho việc điều khiển nhiệt độ vùng này. Can nhiệt độ 8A cấp cho bộ điều khiển nhiệt độ tới hạn của vùng này. Nhiệt độ tới hạn là một phần của hệ thống an toàn nhiên liệu. 2.2.1.3 Điều khiển nhiệt độ vùng làm lạnh nhanh + Can nhiệt: AI11, AI12 loại S. + Thời gian nung: 1¸1,5h. + Nhiệt độ làm lạnh từ 12000C xuống 6000C . Nhiệt độ vùng làm nguội nhanh có khoảng dao động rất lớn trong khi thời gian chuyển động của sứ là nhỏ ( 1¸1,5h). Nhiệt độ giảm từ 12000C ở đầu vùng xuống 6000C ở cuối vùng. Để đáp ứng điều kiện trên, người ta làm hai hệ thống phun khí ở hai bên thành lò, mỗi bên gồm 9 vòi phun. Hoạt động của chúng được đóng mở (thông qua hai van liên động) để cho dòng khí được qua lại một cách liên tục theo hình sin. Nhân tố quan trọng nhất để đạt được kết quả mong muốn là tổng lượng khí đầu ra không đổi. Nếu không thoả mãn điều kiện này thì sẽ tồn tại một áp suất qua các vùng làm lạnh nhanh, điều này gây ra kết quả là trong bất kỳ thời điểm dao động nào của khí, áp suất tổng sẽ bằng tổng các áp suất của các nguồn, van tay để duy trì tổng lượng khí vào không đổi. Ngoài ra, đồ thị làm lạnh sẽ được điều chỉnh một phần ở đầu ra quạt cuối lò tại vùng làm nguội chậm khí lạnh xuyên qua khoang khí vào đầu vào vùng làm nguội chậm. 2.2.1.4 Điều khiển nhiệt độ vùng làm nguội chậm + Can nhiệt : AI13 – AI18 loại K + Thời gian nung 4 – 4,5 h + Nhiệt độ làm nguội từ 600° xuống 90° ở đầu ra Tấm chắn gió làm lạnh chính được đặt ở trên đường ống lấy khí vào của quạt Q3 liên quan tới lượng khí đồng thời cho cả hai vùng làm nguội nhanh và nguội chậm. Quạt hút khí nóng trong vùng này: Q4 có nhiệt độ lớn nhất là 370° nhưng làm việc quanh nhiệt độ 90°. Cặp nhiệt AI20 kiểm tra nhiệt độ mở quạt sẽ tạo ra các đường cong nhiệt độ khác nhau trong vùng này và vì vậy độ men phủ trên sứ đã được điều chỉnh. 2.2.2 Điều khiển áp suất Áp suất được đọc từ cảm biến AI28 đặt ở vùng chính. Tín hiệu này sẽ được điều khiển bởi vòng PID6. Có thể tăng hoặc giảm áp suất lò bằng cách đóng mở van ở đầu quạt Q1. Khi chọn áp suất điều khiển lò nung ta phải xem xét các yếu tố sau: + Nếu áp suất bề mặt sứ là thừa xe goòng sẽ bị ảnh hưởng bởi độ nóng toả ra xung quanh mỏ đốt. Dấu hiệu này cho thấy có bức xạ giữa phần cuối xe đã xuyên qua rìa chắn cát và do đó gây nguy hiểm cho rìa chắn cát. + Nếu áp suất ở sàn xe goòng trong vùng nung chính là giảm tại điểm có tồn tại áp suất dư là âm. Do khí bao quanh bị rò rỉ bởi cát xỉn, vì vậy giữa gầm goòng, cuối và cạnh thân xe bị “lạnh”, kết quả là đốt không đều. + Khi tốc độ đẩy goòng tăng, nhiệt độ cơ bản của lò sẽ tăng không mong muốn bởi tăng đầu vào của khí cung cấp từ quạt Q2 cho sự cháy. Việc tăng sự cháy và khí làm lạnh này làm đầu vào được cân bằng với việc tăng đầu ra quạt Q1 và quạt Q4 qua các khoang áp suất ban đầu được yêu cầu. 2.3 Đánh giá hệ thống đang vận hành nhà máy sứ thanh trỡ và đề xuất giải pháp kỹ thuật Với bộ điều khiển đang sử dụng thì lò nung Tuynel luôn hoạt động đúng theo yêu cầu công nghệ cần đáp ứng. Tuy nhiên, do đây là bộ điều khiển chuyên dụng do nước ngoài cung cấp (Swwindell Dressler-USA) nên việc sửa chữa và thay thế cũng như bảo trì, bảo dưỡng gặp nhiều khó khăn nếu không có chuyên gia nước ngoài. Đồng thời, khí cho hoạt động nói trên là rất lớn. Với sự phát triển của khoa học kỹ thuật, đặc biệt trong lĩnh vực điều khiển thì ta có thể thay thế bộ điều khiển trên bằng bộ điều khiển khác nhỏ gọn hơn, lắp đặt thuận tiện hơn, rẻ hơn, dễ dàng thay thế cũng như sửa chữa hơn, thao tác điều khiển, lập trình điều khiển đơn giản hơn và có thể thực hiện bởi các kĩ sư trong nước. PLC S7-200 của hãng Siemens (Đức ) là bộ điều khiển đáp ứng được các yêu cầu trên. Bên cạnh đó ,chúng ta cần phải thiết kế giao diện người máy: HMI cho việc điều khiển cũng như để theo dõi hoạt động của lò. Với việc sử dụng S7-200 là thiết kế bị điều khiển thì em quyết định thiết kế phần giám sát bằng ngôn ngữ lập trình Visual Basic. Với phương pháp điều khiển này thì ta chỉ cần một PLC S7-200 kết nối với một máy tính PC được cài đặt giao diện để điều khiển và theo dõi hoạt động của lò nung Tuynel Quy trình điều khiển được thực hiện như sau: + Kiểm tra hệ thống quạt, hệ thống khí đốt, hệ thống thuỷ lực, ... + Chạy phần mềm giám sát và bắt đầu khởi động hệ thống. Bộ điều khiển có nhiệm vụ điều khiển hệ thống, đồng thời gửi dữ liệu lên phần mềm giám sát để cho người điều khiển theo dõi CHƯƠNG 3 MÔ HÌNH TOÁN HỌC CỦA LÒ NUNG TUYNEL VÀ THIẾT KẾ BỘ ĐIỀU KHIỂN Đối với mỗi bài toán điều khiển thì nhiệm quan trọng đầu tiên là phải xác định được mô hình toán học của đối tượng . Xác định đặc tính động học của đối tượng là bước đầu tiên phải thực hiện khi giải quyết một bài toán điều khiển bởi vì ta chỉ có thể phân tích, tổng hợp cho hệ thống khi biết được mô hình của đối tượng. Kết quả của công việc xác định đặc tính động học là đưa ra được mô hình toán học mô tả cho đối tượng. Với một mô hình toán học của đối tượng càng chính xác thì ta càng có nhiều cơ hội để xác định một bộ điều khiển có chất lượng như ý muốn. 3.1 Vùng nung sơ bộ và vùng làm nguội chậm Vùng nung sơ bộ và vùng làm nguội chậm được thiết kế để sử dụng nhiệt của sản vật cháy của vùng nung chính. Trong vùng này không có mỏ đốt, nhiệt tại vùng này lấy từ vùng nung chính sang. Vùng này chỉ theo dõi trạng thái và nhiệt độ của phôi nung trước khi đi vào vùng nung chính. Vì vậy không cần lập mô hình toán học cho cả hai vùng này. 3.2 Vùng nung chính 3.2.1 Điều khiển nhiệt độ cho vùng nung chính Mô hình toán học của đối tượng Vùng nung chính có mỏ đốt để nung phôi đến nhiệt độ 800oC 1080oC 1200oC 1200oC. Đặc tính quá độ của vùng nung chính là đặc tính về sự biến thiên của nhiệt độ. Bằng thực nghiệm và tài liệu của công ty cung cấp ta xây dựng được đồ thị của nó có dạng như sau. Với h() =12000C Đối tượng lò nung chính được sử dụng tại nhà máy Thanh Trì là đối tượng mà hàm truyền có dạng : Lấy => Thiết kế bộ điều khiển Vì lò là đối tượng nhiệt có quán tính lớn, không cần tác động nhanh nên ta dùng bộ PI, hàm truyền đạt của bộ điều khiển Hàm truyền hở của hệ thống là: Áp dụng phương pháp Modul để xác định thông số của bộ điều khiển: Ti = 120 (s) Sơ đồ mô phỏng hệ thống trên Simulink Đặc tính đường quá độ của hệ khi có bộ điều khiển Dùng phương pháp phân miền nghiệm số Trong đó Km là hệ số khuếch đại Ti là hằng số thời gian tích phân và C0 = Km , C1 = Km/Ti Sơ đồ cấu trúc của hệ thống được mô tả như sau: Để xác định các thông số của bộ điều chỉnh ta sử dụng phương pháp phân miền nghiệm số của phương trình đặc tính với chỉ tiêu chất lượng là mức độ dao động m của hệ thống. Tia OP được mô tả bởi hàm p = w(-m+j) Vùng phân miền nghiệm số của phương trình đặc tính Hàm truyền đạt của máy điều chỉnh là: Hàm truyền đạt của đối tượng là: Hàm truyền của hệ kín là: Thay hàm truyền đạt của máy điều chỉnh và đối tượng ta có Phương trình đặc tính của hệ thống là: Thay p=w(-m+j) vào phương trình đặc tính ta có: Thay: , ta được hệ phương trình phần thực và phần ảo cùng bằng không: Giải hệ phương trình trên với nghiệm C0, C1 nhận được: Với m bất kỳ, ứng với mỗi một giá trị của w ta được một điểm (C0, C1), khi cho w thay đổi từ 0 ® ¥ trong mặt phẳng C0OC1 ta được một đường cong, đường cong có một điểm cực đại - đường đồng mức. Trên đường đồng mức với m=0.512 ta lấy được điểm (C0,C1) có giá trị (3.2 , 0.02) thay thông số này vào bộ điều khiển ta được đặc tính quá độ: Nhận xét: Cả hai phương pháp đều cho ta xác định thông số bộ PID để hệ thống có chất lượng tốt . Thông số xác định từ phương pháp Modul cho đặc tính có , còn thông số của bộ điều khiển xác định từ phương pháp phân miền nghiệm có chất lượng nhưng đặc tính không bám tốt như đặc tính của bộ điều khiển xác định theo phương pháp Modul nên ta quyết định chọn thông số bộ điều khiển theo phương pháp này Km = 2.4; Ti = 120(s) để điều khiển nhiệt độ 3.2.3 Điều khiển áp suất cho vùng nung chính Áp suất được đo bởi cám biến AI28 được đặt trong vùng nung chính, tín hiệu này được điều khiển bởi vòng PID6. Có thể tăng hoặc giảm áp suất bằng cách đóng mở van ở đầu quạt Q1. Mô hình toán học Dựa trên tái liệu nhà máy cung cấp, hàm truyền đạt của đối tượng có dạng: Thiết kế bộ điều khiển Hàm truyền đạt của bộ điều khiển Hàm truyền hở của hệ thống là: Dùng phương pháp Modul để xác định thông số của bộ điều khiển: Ti = 1.2 (s) Sơ đồ mô phỏng hệ thống trên Simulink Đặc tính đường quá độ của hệ khi có bộ điều khiển Dùng phương pháp phân miền nghiệm số Trong đó Km là hệ số khuếch đại Ti là hằng số thời gian tích phân và C0 = Km , C1 = Km/Ti Trên đường đồng mức với m=0.512 ta lấy được điểm (C0,C1) có giá trị (9.2, 6.26) thay thông số này vào bộ điều khiển ta được đặc tính quá độ: Nhận xét: Cả hai phương pháp đều cho ta xác định thông số bộ PID để hệ thống có chất lượng tốt . Thông số xác định từ phương pháp Modul cho đặc tính có , còn thông số của bộ điều khiển xác định từ phương pháp phân miền nghiệm có chất lượng do đó ta chọn tham số của bô điều khiển theo phương pháp phân miền nghiệm Km = 9.6; Ti =C0/C1= 9.6/6.26 =1.53(s) để điều khiển áp suất trong vùng nung chính. 3.3 Vùng làm lạnh nhanh 0T t τ τ+T 0 h(t) Để điều khiển nhiệt độ vùng làm lạnh nhanh, người ta dùng tín hiệu nhiệt đo từ can nhiệt T/C 12 để điều khiển độ mở van thông qua đường ống dẫn khí nguồn từ quạt gió cấp khí lạnh Q3. Đối tượng lò nung chính được sử dụng tại nhà máy Thanh Trì là đối tượng mà hàm truyền có dạng : Lấy => Thiết kế bộ điều khiển Vì lò là đối tượng nhiệt có quán tính lớn , không cần tác động nhanh nên ta dùng bộ PI, hàm truyền đạt của bộ điều khiển Hàm truyền hở của hệ thống là: Áp dụng phương pháp Modul để xác định thông số của bộ điều khiển: Ti = 200 (s) Sơ đồ mô phỏng hệ thống trên Simulink Đặc tính đường quá độ của hệ khi có bộ điều khiển Với thông số bộ điều khiển có đặc tính quá độ chất lượng tốt nên ta chọn thông số này cho bộ PID của vòng điều khiển độ mở van Q3. Trên cơ sở đã có mô hình toán học và thông số của bộ điều khiển cho từng vùng làm việc của lò. Ta viết chương trình điều khiển và giám sát cho lò. CHƯƠNG 4 THIẾT KẾ ĐIỀU KHIỂN LÒ NUNG TUYNEL BẰNG S7-200 4.1 Giới thiệu về PLC S7-200 và Step7 MicroWin32 Trong những năm 90 và sau này, ứng dụng của bộ PLC( viết tắt của Programmable Logic Control) đã trở nên thông dụng trong các mạch điều khiển. Hiện nay việc sử dụng PLC dưới nhiều hình thức chiếm đến 80% và trở thành xu hướng mới trong điều khiển công nghiệp. Điều này đã chứng minh tại nhiều nhà máy của những nước phát triển và đang được áp dụng tại Việt Nam. Người sử dụng giao tiếp với PLC thông qua chương trình điều khiển. Muốn thay đổi hay mở rộng nhiều chức năng của bộ điều khiển. Muốn thay đổi hay mở rộng nhiều choc năng của bộ điều khiển, người thiết kế chỉ cần thay đổi chương trình bên trong PLC so với bộ điều khiển dùng dây nối. ứng dụng của PLC đã thâm nhập vào các nhà máy ở nước ta như nhà máy xi măng Hoàng Thạch, nhà máy giấy Bãi Bằng, nhà máy gạch Thạch Bàn, gốm sứ Hữu Hưng, công ty vật liệu chịu lửa Tam tần Bắc Giang ….Hiện nay có rất nhiều hãng đầu tư vào PLC như MISUBISHI, OMRON của Nhật Bản, SIEMENS của Đức, ABB của Thuỵ Điển. Sản phẩm của mỗi hãng có những đặc điểm riêng nhìn chung về chức năng thì đều giống nhau, chúng đều được kiểm định và hoạt động tốt tại Việt Nam. Tập đoàn SIEMENS là nhà cung cấp đứng đầu thế giới, đã cho nhiều sản phẩm mới ứng dụng trong thực tiễn như S5, S7-200, S7- 300, S7- 400. 4.1.1 Các phần của PLC. Trong đồ án này ta dùng PLC SIMATIC S7-200, một sản phẩm của hãng SIEMENS, do những ưu điểm của nó cũng như sự quen thuộc đối với người dùng ở Việt Nam. Dưới đây là một vài nét cơ bản về bộ điều khiển này. Đơn vị cơ bản của S7-200 bao gồm bộ vi xử lý trung tâm CPU, nguồn và các đầu vào/ra. Các module mở rộng, các đầu vào/ra được nối với đơn vị cơ bản bằng cách dùng Bus connector. Đơn vị cơ bản là một PLC chuẩn bao gồm CPU (bộ vi xử lý trung tâm), các đầu vào/ra. - CPU là trung tâm của hệ xử lý các chương trình ứng dụng. - Các đầu vào/ra( I/O) là các điểm điều khiển hệ thống. Đầu vào giám sát các thiết bị như chuyển mạch và sensor, các đầu ra điều khiển các thiết bị chấp hành khác như động cơ và các thiết bị khác. - Module mở rộng: thêm các đầu vào/ra cho đơn vị cơ bản. - Bus connector: để nối tất cả các module mở rộng. - Din clip: cho phép S7- 200 gắn lên thanh gá chuẩn. Din mở cho phép gắn và đóng đảm bảo chắc chắn khi đặt trên giá. - Field wiring connector: các dây nối đầu vào, đầu ra, senso DC và nguồn tới Field wiring connector. - Trạng thái các đèn: + SF( đèn đỏ): chỉ lỗi hệ thống, đèn SF sáng là PLC đang bị lỗi. + Run( đèn xanh): đèn xanh chỉ PLC đang ở chế độ làm việc và thực hiện chương trình được nạp vào máy( module run). + Stop( đèn vàng): đèn vàng chỉ PLC đang ở trạng thái dừng ( module stop) và chương trình đang thực hiện bị dừng lại. + Ix.x( đèn xanh): chỉ trạng thái tức thời của các đầu vào. Đèn này chỉ trạng thái của tín hiệu theo giá trị logic của cổng( x.x= 0.0- 1.5) - Qy.y( xanh): chỉ trạng thái tức thời của các đầu ra. Đèn này chỉ trạng thái của tín hiệu theo giá trị logic của cổng( y.y= 0.0- 1.1). - Cổng giao tiếp: được nối sang các thiết bị lập trình như máy tính. - Module switch: cho phép lựa chọn mode để thao tác với PLC. + Run: PLC thực hiện chương trình, có thể từ module Run chuyển sang mode Stop nếu có lỗi khi thực hiện câu lệnh, ngay cả khi switch để ở vị trí Run. + Stop: PLC ngừng thực hiện chương và chuyển sang mode Stop. - Điều chỉ tương tự : (trong CPU212 có một bộ, còn trong CPU214 có hai bộ) cho phép PLC điều chỉnh các biến cần phải thay đổi và sử dụng trong chương trình. Núm chỉnh analog được lắp đặt dưới nắp đậy bên cạnh của cổng ra. Thiết bị chỉnh có thể quay 2700. - Pin và nguồn nuôi bộ nhớ: nguồn nuôi dùng để ghi chương trình hoặc cài đặt chương trình mới. Nguồn pin có thể sử dụng để mở rộng thời gian lưu giữ cho các số liệu có trong bộ nhớ, - Memory storage: chứa các chương trình và các giá trị mặc định như mã, số trạm và một vài số liệu lưu giữ thường xuyên. - Time of day clock: ghi lại ngày, giờ, tháng, năm. Tự động điều chỉnh năm nhuận. TOD sẽ được duy trì bằng tụ hoặc ắc quy khi khong có nguồn. 4.1.2 So sánh đặc điểm của CPU 212 và CPU 214 CPU 212 CPU 214 512từ ( word) tức là 1K byte của bộ nhớ chương trình ( được lưu giữ trong bộ nhớ cố định), để lưu chương trình thuộc miền bộ nhớ đọc/ ghi và không bị mất dữ liệu nhờ có giao diện với EEPROM( gọi là vùng nhớ non- valatile) 2048 từ( word) tức là 4K byte của bộ nhớ chương trình( được lưu giữ trong bộ nhhớ cố định), để lưu chương trình thuộc miền bộ nhớ đọc/ ghi và không bị mất dữ liệu nhờ có giao diện với EEPROM( gọi là vùng nhớ non- volatile). 512 từ của bộ nhớ số liệu( 100 từ lưu giữ trong bộ nhớ cố định) 2048 từ của bộ nhớ số liệu( 512 từ lưu giữ trong bộ nhớ cố định) 8 đầu vào và 6 đầu ra logic 14 đầu vào và 10 đầu ra logic Có thể ghép nối với 2 module mở rộng, bao gồm cả module tương tự. Có thể ghép nối với 7 module mở rộng, bao gồm cả module tương tự. Tổng số cổng logic vào/ ra cực đại là 64 đầu vào, 64 đầu ra. Tổng số cổng logic vào/ ra cực đại là 64 đầu vào , 64 đầu ra. Có 64 bộ tạo thời gian trễ( timer) ( trong đó có 2timer có độ phân giải 1ms, 8 timer có độ phân giải 10 ms, 54 timer có độ phân giải 10ms). Có 128 timer( 4 timer- 1ms, 16 timer- 10ms, 108 timer- 100ms) 128 bit nhớ trong 256 bit nhớ trong 368 bit nhớ đặc biệt 688 bit nhớ đặc biệt Có thể thực hiện 4phép toán Có thể thực hiện 4 phép toán . Có thể ngắt: 1 ngắt kích sườn lên hoặc sườn xuống. 1ngắt thời gian. 1 ngắt báo hiệu của bộ đếm với tốc độ cao( đầu vào xung 2KHz) Có thể ngắt: 4 ngắt kích sườn lên hoặc sườn xuống. 2 ngắt thời gian . 7 ngắt báo hiệu của bộ đếm với tốc độ cao high speed counter) 2 ngắt dãy xung 1 ngắt high speed counter với đầu vào clock 2KHz. 2 ngắt high speed counter với đầu vào clock 7 KHz. 2 xung đầu ra có điều kkhiển theo dãy xung, theo độ rộng xung. Có 1 đầu điều khiển analog Có 2 đầu điều khiển analog Thực hiện một câu lệnh nhanh 1,3ms Thực hiện một câu lệnh nhanh 0,8 ms Số liệu lưu giữ trong tụ 50 giờ khi PLC bị mất nguồn Số liệu lưu giữ trong tụ 190 giờ khi PLC bị mất nguồn Có 3 mật mã bảo vệ Có 3 mật mã được bảo vệ Lựa chọn accumulator tuỳ ý . Đọc thời gian thực . 4.1.3 Cấu trúc bộ nhớ 4.1.3.1 Phân chia bộ nhớ Bộ nhớ của S7-200 được chia làm 4 vùng với một tụ có nhiệm vụ duy trì dữ liệu trong một khoảng thời gian nhất định khi mất nguồn. Bộ nhớ của S7-200 có tính năng động cao, đọc và ghi được trong toàn vùng, loại trừ phần các bít nhớ đặc biệt được ký hiệu bởi SM (Special memory) chỉ có thể được truy cập đọc. Bộ nhớ trong và ngoài của S7-200 Vùng chương trình: là miền bộ nhớ được sử dụng để lưu trữ các chương trình. Vùng này thuộc kiểu non-volatile đọc/ghi được. Vùng tham số: là miền lưu trữ tham số như:từ khoá, địa chỉ trạm…Cũng giống như vùng chương trình, vùng tham số thuộc non-volatile đọc/ghi được. Vùng dữ liệu: được sử dụng để cất dữ các dữ liệu của chương trình bao gồm các phép tính, hằng số được định nghĩa trong chương trình, bộ đếm truyền thông…Một phần của vùng nhớ này (200 byte đầu tiên đối với CPU212, 1K byte đầu tiên đối với CPU214) thuộc kiểu non-volatile đọc/ghi được. Vùng đối tượng: Timer, bộ đếm, bộ đếm tốc độ cao và các cổng vào/ra tương tự được đặt trong vùng nhớ cuối cùng. Vùng này không thuộc kiểu non-volatile nhưng đọc/ghi được. Hai vùng nhớ cuối có ý nghĩa quan trọng trong việc thực hiện một chương trình, do vậy sẽ được trình bầy chi tiết ở mục tiếp theo. 4.1.3.2 Vùng dữ liệu Vùng dữ liệu là một miền động. Nó có thể được truy cập theo từng bít, từng byte, từng từ đơn (word) hoặc từng từ kép và được sử dụng làm miền lưu trữ dữ liệu cho các thuật toán, các hàm truyền thông, lập bảng các hàm dịch chuyển, xoay vòng thanh xoay, con trỏ địa chỉ... Ghi các dữ liệu kiểu bảng bị hạn chế rất nhiều vì các dữ liệu kiểu bảng thường chỉ được sử dụng theo những mục đích nhất định. Vùng dữ liệu lại được chia thành những miền nhớ nhỏ với công thức khác nhau.Chúng được ký hiệu bằng các chữ cái đầu của tên tiếng Anh, đặc trưng cho công dụng riêng của chúng như sau: V - Variable memory I - Input image register O - Output image register M - Internal memory bits SM - Special memory bits Tất cả các miền này đều được truy cập theo từng bít, từng byte, từng từ đơn (word-2 byte) hoặc từ kép (2 word). Hình sau mô tả dữ liệu CPU212 và CPU214 Địa chỉ truy nhập được quy ước với công thức: - Truy cập theo bit: Tên miền (+) địa chỉ byte (+).(+) chỉ số bít.Ví dụ V150.4 Chỉ bit 4 của byte 150 thuộc miền V. - Truy cập theo byte: Tên miền (+) B (+) địa chỉ của byte trong miền.Ví dụ VB150 chỉ byte 150 thuộc miền V. - Truy nhập theo từ: Tên miền (+) W (+) địa chỉ byte cao của từ trong miền. Ví dụ VW150 chỉ từ đơn 2 byte 150 và 151 thuộc miền V, trong đó byte 150 có vai trò của byte cao trong từ. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 VB150 (byte cao) VB151 (Byte thấp) - Truy nhập theo từ kép: Tên miền (+) D (+) địa chỉ byte cao của từ trong miền.Ví dụ VD150 chỉ từ kép gồm 4 byte 150,151,152,153 thuộc miền V, trong đó byte 150 có vai trò là byte cao và byte 153 là byte thấp trong từ kép. Bit 63 32 31 16 15 8 7 0 VB150(byte cao) VB151 VB152 VB153(byte thấp) Tất cả các byte thuộc vùng dữ liệu đều có thể truy nhập được bằng con trỏ. Con trỏ được định nghĩa trong miền V hoặc các thanh ghi AC1, AC2 và AC3. Mỗi con trỏ chỉ địa chỉ gồm 4 byte (từ kép). Quy ước sử dụng con trỏ để truy cập như sau. & địa chỉ byte (cao) là toán hạng lấy địa chỉ của byte, từ hoặc từ kép. Con trỏ là toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ đang chỉ vào. Phép gán địa chỉ cũng như gán con trỏ như trên cũng có tác dụng với những thanh ghi 16 bit của Timer, bộ đếm thuộc vùng đối tượng sẽ được trình bầy dưới đây. 4.1.3.3 Vùng đối tượng Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập trình như các giá trị tức thời ,giá trị đặt trước của bộ đếm, hay timer.Dữ liệu kiểu đối tượng bao gồm các thanh ghi của timer, bộ đếm , các bộ đếm tốc độ cao, bộ đếm vào ra tương tự và các thanh ghi Accumlator(AC). Kiểu dữ liệu đối tượng bị hạn chế rất nhiều vì các dữ liệu đối tượng chỉ được ghi theo mục đích cần sử dụng đối tượng đó. Vùng nhớ đối tượng được phân chia như sau: 4.1.4 Mở rộng cổng vào/ra CPU212 cho phép mở rộng nhiều nhất 2 modul và CPU214 cho phép nhiều nhất 7 modul. Các modul mở rộng tương tự và số đều có trong S7200. Có thể mở rộng cổng vào ra của PLC bẳng cách phép nối thêm vào nó các modul mở rộng về phía bên phải của CPU, làm thành một móc xích. Địa chỉ của các vị trí modul được xác định bằng kiểu vào ra và vị trí của modul trong móc xích, bao gồm các modul có cùng kiểu. Ví dụ như một modul cổng ra không thể gán địa chỉ của một modul cổng vào, cũng như một modul tương tự không thể có địa chỉ như một modul số và ngược lại. Các modul mở rộng số hay rời rạc đều chiếm chỗ trong bộ đếm, tương ứng với số đầu vào ra của modul. 4.1.5 Thực hiện một chương trình PLC thực hiện một chương trình theo chu trình lặp. Mỗi vòng lặp được gọi là vòng quét (scan). Mỗi vòng quét bắt đầu bằng giai đoạn đọc dữ liệu từ các cổng vào vùng bộ đệm ảo, tiếp theo là giai đoạn thực hiện chương trình. Trong từng vòng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc tại lệnh kết thúc (MEND). Sau giai đoạn thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm lỗi. Vòng quét được kết thúc bằng giai đoạn chuyển đổi các nội dung của bộ đệm ảo đến các cổng ra. Như vậy, tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc trực tiếp với cổng vào/ra. Mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số. Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn một và bốn do CPU quản lý. Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ cho ngừng mọi cụng việc khác. Ngay cả chương trình xử lý ngắt, để thực hiện lệnh này trực tiếp với cổng vào/ra. Nếu sử dụng các chế độ ngắt, chương trình con tương ứng với từng tín hiệu ngắt được soạn thảo và cài đặt như một bộ phận của chương trình. Chương trình xử lý ngắt chỉ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt và có thể xẩy ra ở bất cứ điểm nào trong vòng ngắt. 4.1.6 Cấu trúc chương trình của S7-200 Có thể lập trình cho PLC S7-200 bằng cách sử dụng một trong những phần mềm sau đây: -STEP7-Micro/DOS -STEP7-Micro/WIN Những phần mềm này đều có thể cài đặt được trên máy lập trình họ PG7xx và các máy tính cá nhân (PC). Các chương trình cho S7-200 phải có cấu trúc bao gồm chương trình chính (main program) và sau đó đến các chương trình con và các chương trình xử lý ngắt được chỉ ra sau đây: Chương trình chình được kết thúc bằng lệnh kết thúc chương trình MEND. Chương trình con là một bộ phận của chương trình. Các chương trình con phải được viết sau lệnh kết thúc của chương trinh chính MEND. Các chương trình xử lý ngắt là một bộ phận của chương trình nếu cần sử dụng chương trình xử lý ngắt phải viết sau lệnh kết thúc của chương trình chình MEND. Các chương trình con được nhóm lại thành một nhóm ngay sau chương trình chình. Sau đó đến ngay các chương trình xử lý ngắt. Bằng cách viết như vậy, cấu trúc chương trình được rõ ràng và thuận tiện hơn trong việc đọc chương trình sau này. Có thể tự do trộn lẫn các chương trình con và chương trình xử lý ngắt đằng sau chương trình chính. 4.2 Chương trình điều khiển viết trên PLC S7-200 (CPU 214) 4.2.1 Nội dung công việc thực hiện trong PLC S7-200 Nhiệm vụ của chương trình điều khiển: + Thu thập dữ liệu của toàn hệ thống lò nung như: nhiệt độ, áp suất lò từ các đầu vào tương tự và các tín hiệu báo lỗi được đưa vào từ các đầu vào số để báo lên màn hình. + Điều khiển logic đóng mở các van ON/OFF như bật tắt động cơ, các van Gas, các van đổi chiều khí làm lạnh. + Điều khiển quá trình nhiệt độ và áp suất thoả mãn yêu cầu công nghệ đặt ra cho 6 vòng điều khiển PID. + Thực hiện quá trình giám sát, cảnh báo hệ thống để đảm bảo an toàn cho hệ thống khi có sự cố. PLC S7-200 thực hiện hai quy trình điều khiển đó là: điều khiển logic và điều khiển quá trình. Điều khiển logic đóng mở các van ON/OFF cho quạt van, đường dẫn Gas. Điều khiển quá trình được thực hiện với 6 vòng điều khiển PID để điều chỉnh cho bốn khoang của vùng nung chính, vùng làm lạnh nhanh và cho vòng điều khiển áp suất. 4.2.2 Thiết kế phần cứng cho bài toán điều khiển lò trên PLC S7-200 Toàn bộ lò có các đầu vào/ra như sau: + Các đầu vào tương tự: 23 đầu đo nhiệt độ và áp suất. + Các đầu ra tương tự: 6 đầu ra của 6 vòng PID. + Các đầu vào số: 14 đầu vào báo nhiệt độ, áp suất, các đầu vào báo lỗi. + Các đầu ra số: 10 đầu ra điều khiển biến logic cảnh báo lỗi. Do yêu cầu công nghệ và cấu hình trên S7-200 ta đưa ra giải pháp thiết kế phần cứng như sau: - 8 đầu vào tương tự và 6 đầu ra tương tự ghép trên 2 modul mở rộng như trên hình vẽ. - 1 CPU214 và dùng các đầu vào/ra số có sẵn trên CPU 214 4.2.3 Xây dựng phần mềm điều khiển Sơ đồ thuật toán của PLC: Bảng danh mục biến vào ra số, tương tự và một số biến nhớ trung gian: Biến nhớ Kí hiệu Kiểu Chú thích AIW 0 Can_AI7 WORD Đầu vào tương tự của can nhiệt AI7 AIW2 Can_AI8 WORD Đầu vào tương tự của can nhiệt AI8 AIW4 Can_AI9 WORD Đầu vào tương tự của can nhiệt AI9 AIW6 Can_AI10 WORD Đầu vào tương tự của can nhiệt AI10 AIW8 Can_AI12 WORD Đầu vào tương tự của can nhiệt AI12 AIW10 Can_AI24 WORD Đầu vào tương tự của can nhiệt AI24 AQW0 OUT_PID1 WORD Đầu ra của vòng điều khiển PID1 AQW0 OUT_PID2 WORD Đầu ra của vòng điều khiển PID2 AQW0 OUT_PID3 WORD Đầu ra của vòng điều khiển PID3 AQW0 OUT_PID4 WORD Đầu ra của vòng điều khiển PID4 AQW0 OUT_PID5 WORD Đầu ra của vòng điều khiển PID5 AQW0 OUT_PID6 WORD Đầu ra của vòng điều khiển PID6 MD300 AI7_MAX DOUBLE WORD Giới hạn trên nhiệt độ của can nhiệt AI7 MD304 AI7_MIN DOUBLE WORD Giới hạn dưới nhiệt độ của can nhiệt AI7 MD308 AI8_MAX DOUBLE WORD Giới hạn trên nhiệt độ của can nhiệt AI8 MD312 AI8_MIN DOUBLE WORD Giới hạn dưới nhiệt độ của can nhiệt AI8 MD316 AI9_MAX DOUBLE WORD Giới hạn trên nhiệt độ của can nhiệt AI9 MD320 AI9_MIN DOUBLE WORD Giới hạn dưới nhiệt độ của can nhiệt AI9 MD324 AI10_MAX DOUBLE WORD Giới hạn trên nhiệt độ của can nhiệt AI10 MD328 AI10_MIN DOUBLE WORD Giới hạn dưới nhiệt độ của can nhiệt AI10 MD332 AI12_MAX DOUBLE WORD Giới hạn trên nhiệt độ của can nhiệt AI12 MD336 AI12_MIN DOUBLE WORD Giới hạn dưới nhiệt độ của can nhiệt AI12 MD340 AI24_MAX DOUBLE WORD Giới hạn trên nhiệt độ của can nhiệt AI24 MD344 AI24_MIN DOUBLE WORD Giới hạn dưới nhiệt độ của can nhiệt AI24 SBR1 Khoi_dong Chương trình con khởi động SBR4 Danh_lua Chương trình con đánh lửa SBR6 Kiem_tra_va_giam_sat Chương trình con kiểm tra và giám sát I0.0 Start BOOL Nút khởi động I0.1 Auto_man BOOL Auto-manual I0.2 Stop_ht BOOL Dừng hệ thống I0.3 Nguon_dien BOOL trạng thái có điện I0.4 Ap_suat_lo_max BOOL giới hạn áp suất max I0.5 Ap_khi_gas_dat BOOL Biến trạng thái I0.6 Ro_le_bao_cua_TC8A BOOL Biến trạng thái Q0.0 Mo_he_thong_van BOOL Biến trạng thái Q0.1 Quat_1 BOOL Biến trạng thái Q0.2 Quat_2 BOOL Biến trạng thái Q0.3 Quat_3 BOOL Biến trạng thái Q0.4 Quat_4 BOOL Biến trạng thái Q0.5 Quat_5 BOOL Biến trạng thái Q0.6 He_thong_danh_lua BOOL Biến trạng thái Q0.7 Den_xanh BOOL Biến trạng thái Q1.0 Den_vang BOOL Biến trạng thái Q1.1 Den_do BOOL Biến trạng thái Q1.2 He_thong_quat BOOL Biến trạng thái Chương trình chính: Network 1 LD SM0.1 A Start AN M31.0 CALL khoi_dong Network 2 LDN M31.0 A auto_man CALL danh_lua Network 3 LBL 7 Network 4 LD SM0.0 MOVR 0.0, MD0 Network 5 LDD= MD0, +0 JMP 1 Network 6 LDD= MD0, +1 JMP 2 Network 7 LDD= MD0, +2 JMP 3 Network 8 LDD= MD0, +3 JMP 4 Network 9 LDD= MD0, +4 JMP 5 Network 10 LDD= MD0, +5 JMP 6 Network 11 LD SM0.0 INCD MD0 JMP 7 Network 12 LBL 1 Network 13 LD SM0.0 MOVR 0.75, VD4 MOVR 2.4, VD12 //nhap gia tri Kp MOVR 0.1, VD16 //thoi gian lay mau tu chon MOVR 120.0, VD20 //nhap hang so thoi gian tich ph©n MOVR 0.0, VD24 //nhap hang so thoi gian vi phan MOVB 100, SMB34 ATCH NGAT_PID1, 10 // su dung ngat ENI Network 14 LBL 2 Network 15 LD SM0.0 MOVR 0.75, VD44 MOVR 2.4, VD12 //nhap gia tri Kp MOVR 0.1, VD16 //thoi gian lay mau tu chon MOVR 120.0, VD20 //nhap hang so thoi gian tich ph©n MOVR 0.0, VD24 //nhap hang so thoi gian vi phan MOVB 100, SMB34 ATCH NGAT_PID2, 10 Network 16 LBL 3 Network 17 LD SM0.0 MOVR 0.75, VD84 MOVR 2.4, VD12 //nhap gia tri Kp MOVR 0.1, VD16 //thoi gian lay mau tu chon MOVR 120.0, VD20 //nhap hang so thoi gian tich ph©n MOVR 0.0, VD24 //nhap hang so thoi gian vi phan MOVB 100, SMB34 ATCH NGAT_PID3, 10 Network 18 LBL 4 Network 19 LD SM0.0 MOVR 0.75, VD124 MOVR 2.4, VD12 //nhap gia tri Kp MOVR 0.1, VD16 //thoi gian lay mau tu chon MOVR 120.0, VD20 //nhap hang so thoi gian tich ph©n MOVR 0.0, VD24 //nhap hang so thoi gian vi phan MOVB 100, SMB34 ATCH NGAT_PID4, 10 Network 20 LBL 5 Network 21 LD SM0.0 MOVR 0.75, VD164 MOVR 10.0, VD172 //nhap gia tri Kp MOVR 0.1, VD176 //thoi gian lay mau tu chon MOVR 1.2, VD180 //nhap hang so thoi gian tich ph©n MOVR 0.0, VD184 //nhap hang so thoi gian vi phan MOVB 100, SMB34 ATCH NGAT_PID5, 10 Network 22 LBL 6 Network 23 LD SM0.0 MOVR 0.75, VD204 MOVR 0.21, VD212 //nhap gia tri Kp MOVR 0.1, VD216 //thoi gian lay mau tu chon MOVR 200.0, VD220 //nhap hang so thoi gian tich phan MOVR 0.0, VD224 //nhap hang so thoi gian vi phan MOVB 100, SMB34 ATCH NGAT_PID6, 10 //ngắt kiểu 10 là ngắt kiểu thời gian Network 24 LD M31.0 CALL Kiem_tra_va_canh_bao Các chương trình con: Chương trình con “Khoi_dong” Network1 SBR khoi_dong LD SM0.0 A nguon_dien = Mo_he_thong_van = Quat_1 = Quat_3 = Quat_4 = Quat_5 Network2 LD M31.0 CRET Network3 RET Chương trình con “danh_lua” Network1 SBR danh_lua Network2 LD SM0.0 A nguon_dien A Ap_khi_gas_dat = He_thong_danh_lua Network3 LD M31.0 CRET Network4 RET Chương trình con “kiem_tra_va_canh_bao” Network1 SBR kiem_tra_va_canh_bao Network2 LDN M31.0 ON Den_vang ON Den_do = Den_xanh Network3 LD Quat_1 A Quat_2 A Quat_3 A Quat_4 A Quat_5 = He_thong_quat Network4 LD Stop_ht LDN He_thong_quat LD Quat_1 LD Ap_suat_lo_max = M31.0 = Den_do Network5 LD M31.0 CRET Network6 RET Chương trình ngắt điều khiển của 6 vòng: Chuong trinh ngắt "ngat_PID1" của lệnh nhẩy nhãn 1 Network1 LD SM0.0 ITD Can_AI7, MD0 DTR MD0, MD0 /R 32000.0, MD0 MOVR MD0, VD0 Network2 LD auto_man PID VB0, 0 Network3 LD SM0.0 MOVR VD8, AC0 // chuyen dau ra vao thanh chua AC0 *R 32000.0, AC0 // doc gia tri trong thanh chua ROUND AC0, AC0 // Chuyen so thuc sang dang double integer DTI AC0, AC0 // chuyen double integer sang so nguyen MOVW AC0, OUT_PID1 // viet gia tri ra dau ra tuong tu Chuong trinh ngắt "ngat_PID2" của lệnh nhẩy nhãn 2 Network1 LD SM0.0 ITD Can_AI8, MD0 DTR MD0, MD0 /R 32000.0, MD0 MOVR MD0, VD40 Network2 LD auto_man PID VB40, 0 Network3 LD SM0.0 MOVR VD48, AC0 // chuyen dau ra vao thanh chua AC0 *R 32000.0, AC0 // doc gia tri trong thanh chua ROUND AC0, AC0 // Chuyen so thuc sang dang double integer DTI AC0, AC0 // chuyen double integer sang so nguyen MOVW AC0, OUT_PID2 // viet gia tri ra dau ra tuong tu Chuong trinh con "ngat_PID3" Network1 LD SM0.0 ITD Can_AI7, MD0 DTR MD0, MD0 /R 32000.0, MD0 MOVR MD0, VD80 Network2 LD auto_man PID VB80, 0 Network3 LD SM0.0 MOVR VD88, AC0 // chuyen dau ra vao thanh chua AC0 *R 32000.0, AC0 // doc gia tri trong thanh chua ROUND AC0, AC0 // Chuyen so thuc sang dang double integer DTI AC0, AC0 // chuyen double integer sang so nguyen MOVW AC0, OUT_PID3 // viet gia tri ra dau ra tuong tu Chuong trinh ngắt "ngat_PID3" của lệnh nhẩy nhãn 3 Network1 LD SM0.0 ITD Can_AI7, MD0 DTR MD0, MD0 /R 32000.0, MD0 MOVR MD0, VD120 Network2 LD auto_man PID VB120, 0 Network3 LD SM0.0 MOVR VD128, AC0 // chuyen dau ra vao thanh chua AC0 *R 32000.0, AC0 // doc gia tri trong thanh chua ROUND AC0, AC0 // Chuyen so thuc sang dang double integer DTI AC0, AC0 // chuyen double integer sang so nguyen MOVW AC0, OUT_PID1 // viet gia tri ra dau ra tuong tu Network1 Chuong trinh con "ngat_PID5" Network1 LD SM0.0 ITD Can_AI7, MD0 DTR MD0, MD0 /R 32000.0, MD0 MOVR MD0, VD160 Network2 LD auto_man PID VB160, 0 Network3 LD SM0.0 MOVR VD168, AC0 // chuyen dau ra vao thanh chua AC0 *R 32000.0, AC0 // doc gia tri trong thanh chua ROUND AC0, AC0 // Chuyen so thuc sang dang double integer DTI AC0, AC0 // chuyen double integer sang so nguyen MOVW AC0, OUT_PID5 // viet gia tri ra dau ra tuong tu Chuong trinh ngắt "ngat_PID4" của lệnh nhẩy nhãn 4 Network1 LD SM0.0 ITD Can_AI7, MD0 DTR MD0, MD0 /R 32000.0, MD0 MOVR MD0, VD120 Network2 LD auto_man PID VB120, 0 Network3 LD SM0.0 MOVR VD128, AC0 // chuyen dau ra vao thanh chua AC0 *R 32000.0, AC0 // doc gia tri trong thanh chua ROUND AC0, AC0 // Chuyen so thuc sang dang double integer DTI AC0, AC0 // chuyen double integer sang so nguyen MOVW AC0, OUT_PID1 // viet gia tri ra dau ra tuong tu Chuong trinh ngắt "ngat_PID5" của lệnh nhẩy nhãn 5 Network1 LD SM0.0 ITD Can_AI7, MD0 DTR MD0, MD0 /R 32000.0, MD0 MOVR MD0, VD160 Network2 LD auto_man PID VB160, 0 Network3 LD SM0.0 MOVR VD168, AC0 // chuyen dau ra vao thanh chua AC0 *R 32000.0, AC0 // doc gia tri trong thanh chua ROUND AC0, AC0 // Chuyen so thuc sang dang double integer DTI AC0, AC0 // chuyen double integer sang so nguyen MOVW AC0, OUT_PID5 // viet gia tri ra dau ra tuong tu Chuong trinh ngắt "ngat_PID6" của lệnh nhẩy nhãn 6 Network1 LD SM0.0 ITD Can_AI7, MD0 DTR MD0, MD0 /R 32000.0, MD0 MOVR MD0, VD200 Network2 LD auto_man PID VB200, 0 Network3 LD SM0.0 MOVR VD208, AC0 // chuyen dau ra vao thanh chua AC0 *R 32000.0, AC0 // doc gia tri trong thanh chua ROUND AC0, AC0 // Chuyen so thuc sang dang double integer DTI AC0, AC0 // chuyen double integer sang so nguyen MOVW AC0, OUT_PID1 // viet gia tri ra dau ra tuong tu 4.3 Xây dựng phần mềm giám sát Việc em chọn ngôn ngữ lập trình Visual Basic (VB) để thiết kế phần mềm giám sát, là vì: Visual Basic là ngôn ngữ lập trình hướng đối tượng, đơn giản dễ sử dụng. Đặc biệt trong việc thiết kế giao diện và khả năng lập trình trên các biến cố.Các tín hiệu cơ sở cho phần mềm được lấy từ PLC, công việc của phần mềm giám sát: + Các nút để điều khiển hệ thống: khởi động, nhập giá trị đặt, ... + Hiển thị các thông số của các vòng điều khiển quá trình (có 6 vòng) + Có các đèn thông báo tình trạng làm việc của lò, các quạt, van ,.... + Đặt các tín hiệu cảnh báo và báo động khi có sự cố, .... Mã của chương trình thiết kế giao diện: Dim T1, T2, T3, T4 As Double 'Nhiet do hien tai cua tung vung Dim Tmax1, Tmax2, Tma3, Tmax4 As Double 'Nhiet do max cua tung vung Dim Tmin1, Tmin2, Tmin3, Tmin4 As Double 'Nhiet do min cua tung vung Dim Td1, Td2, Td3, Td4 As Double 'Nhiet do dat cua tung vung Dim AsHT, AsTD, TllHT, TllTD As Double Dim T, Tmax As Double Dim x1, x2, x3, x4 As Double Sub SetColor(Shapes As Shape, color As Long) Shapes.BorderColor = color Shapes.FillColor = color End Sub Sub ChangeStatus(color As Integer) If (color = 1) Then 'Mau xam' SetColor Q1, RGB(150, 150, 150) SetColor Q2, RGB(150, 150, 150) SetColor Q3, RGB(150, 150, 150) SetColor Q4, RGB(150, 150, 150) SetColor Q5, RGB(150, 150, 150) SetColor Van, RGB(150, 150, 150) SetColor Status, RGB(150, 150, 150) ElseIf (color = 2) Then 'Mau xanh SetColor Q1, RGB(0, 0, 255) SetColor Q2, RGB(0, 0, 255) SetColor Q3, RGB(0, 0, 255) SetColor Q4, RGB(0, 0, 255) SetColor Q5, RGB(0, 0, 255) SetColor Van, RGB(0, 0, 255) SetColor Status, RGB(0, 0, 255) Else 'Mau do SetColor Q1, RGB(255, 0, 0) SetColor Q2, RGB(255, 0, 0) SetColor Q3, RGB(255, 0, 0) SetColor Q4, RGB(255, 0, 0) SetColor Q5, RGB(255, 0, 0) SetColor Van, RGB(255, 0, 0) SetColor Status, RGB(255, 0, 0) End If End Sub Private Sub cmdData_Click() txtTmax1.Text = 1000 txtTmax2.Text = 1200 txtTmax3.Text = 1350 txtTmax4.Text = 1350 txtTmin1.Text = 500 txtTmin2.Text = 600 txtTmin3.Text = 800 txtTmin4.Text = 800 txtTd1.Text = 800 txtTd2.Text = 1080 txtTd3.Text = 1200 txtTd4.Text = 1200 txtApSuatTD.Text = 250 txtTlamlanhTD.Text = 580 End Sub Private Sub cmdExit_Click() End End Sub Private Sub cmdStop_Click() SetColor Q1, RGB(150, 150, 150) SetColor Q2, RGB(150, 150, 150) SetColor Q3, RGB(150, 150, 150) SetColor Q4, RGB(150, 150, 150) SetColor Q5, RGB(150, 150, 150) SetColor V1, RGB(150, 150, 150) SetColor V2, RGB(150, 150, 150) SetColor V3, RGB(150, 150, 150) SetColor V4, RGB(150, 150, 150) SetColor Van, RGB(150, 150, 150) SetColor Status, RGB(150, 150, 150) Timer.Enabled = False End Sub Private Sub cmdStart_Click() SetColor Q1, RGB(0, 0, 255) SetColor Q2, RGB(0, 0, 255) SetColor Q3, RGB(0, 0, 255) SetColor Q4, RGB(0, 0, 255) SetColor Q5, RGB(0, 0, 255) SetColor V1, RGB(0, 0, 255) SetColor V2, RGB(0, 0, 255) SetColor V3, RGB(0, 0, 255) SetColor V4, RGB(0, 0, 255) SetColor Van, RGB(0, 0, 255) SetColor Status, RGB(0, 0, 255) Tmax1 = Val(txtTmax1.Text) Tmax2 = Val(txtTmax2.Text) Tmax3 = Val(txtTmax3.Text) Tmax4 = Val(txtTmax4.Text) Tmin1 = Val(txtTmin1.Text) Tmin2 = Val(txtTmin2.Text) Tmin3 = Val(txtTmin3.Text) Tmin4 = Val(txtTmin4.Text) Td1 = Val(txtTd1.Text) Td2 = Val(txtTd2.Text) Td3 = Val(txtTd3.Text) Td4 = Val(txtTd4.Text) AsTD = Val(txtApSuatTD.Text) TllTD = Val(txtTlamlanhTD.Text) Tmax = Val(txtTmax.Text) Timer.Enabled = True Timer.Interval = Val(txtChuKy.Text) End Sub Private Sub Form_Load() Randomize (2000) SetColor Q1, RGB(150, 150, 150) SetColor Q2, RGB(150, 150, 150) SetColor Q3, RGB(150, 150, 150) SetColor Q4, RGB(150, 150, 150) SetColor Q5, RGB(150, 150, 150) SetColor V1, RGB(150, 150, 150) SetColor V2, RGB(150, 150, 150) SetColor V3, RGB(150, 150, 150) SetColor V4, RGB(150, 150, 150) SetColor Van, RGB(150, 150, 150) SetColor Status, RGB(150, 150, 150) Timer.Enabled = False txtChuKy.Text = Str(200) txtTmax.Text = 2000 End Sub Private Sub Timer_Timer() T1 = Round(Rnd(Tmax) * Tmax, 0) T2 = Round(Rnd(Tmax) * Tmax, 0) T3 = Round(Rnd(Tmax) * Tmax, 0) T4 = Round(Rnd(Tmax) * Tmax, 0) AsHT = Round(Rnd(Tmax) * Tmax, 0) TllHT = Round(Rnd(Tmax) * Tmax, 0) 'x1 = Round(Rnd(Tmax) * 10, 0) 'x2 = Round(Rnd(Tmax) * 10, 0) 'x3 = Round(Rnd(Tmax) * 10, 0) 'x4 = Round(Rnd(Tmax) * 10, 0) 'AsHT = Round(Rnd(Tmax) * 10, 0) 'TllHT = Round(Rnd(Tmax) * 10, 0) 'T1 = T1 + x1 'T2 = T2 + x2 'T3 = T3 + x3 'T4 = T4 + x4 txtTht1.Text = Str(T1) txtTht2.Text = Str(T2) txtTht3.Text = Str(T3) txtTht4.Text = Str(T4) txtApSuatHT.Text = Str(AsHT) txtTlamlanhHT.Text = Str(TllHT) If (T1 > Tmax1) Or (T1 < Tmin1) Then SetColor V1, RGB(255, 0, 0) ChangeStatus (3) Else SetColor V1, RGB(0, 0, 255) ChangeStatus (2) End If If (T2 > Tmax2) Or (T2 < Tmin2) Then SetColor V2, RGB(255, 0, 0) ChangeStatus (3) Else SetColor V2, RGB(0, 0, 255) ChangeStatus (2) End If If (T3 > Tmax3) Or (T3 < Tmin3) Then SetColor V3, RGB(255, 0, 0) ChangeStatus (3) Else SetColor V3, RGB(0, 0, 255) ChangeStatus (2) End If If (T4 > Tmax4) Or (T4 < Tmin4) Then SetColor V4, RGB(255, 0, 0) ChangeStatus (3) Else SetColor V4, RGB(0, 0, 255) ChangeStatus (2) End If End Sub Private Sub txtTht1_Change() End Sub

Các file đính kèm theo tài liệu này:

  • docDAN176.doc