Đồ án Hệ thống điều khiển và giám sát nhiệt độ cho Precalciner bằng cách sử dụng thiết bị khả trình PLC S7 – 300 thuộc họ Simatic của hăng Siemens

Qua thời gian nghiên cứu, làm việc và được sự chỉ bảo tận tình của cô giáo PGS.TS Phan Xuân Minh. Em đã hoàn thành đồ án tốt nghiệp của mình với các nhiệm vụ: - Nghiên cứu công nghệ và hệ thống điều khiển sản xuất xi măng. - Khảo sát hệ thống Precalciner của nhà máy. - Thiết kế hệ thống điều khiển nhiệt độ cho Precalciner. - Thiết kể hệ thống giám sát và thu thập dữ liệu trên nền WinCC. Đồng thời em cũng xin phép được đề xuất các ý kiến phát triển đồ án, để đồ án hoàn thiện hơn và có thể đưa vào áp dụng trong thực tế: - Xây dựng quan hệ mờ giữa lưu lượng gió và lưu lượng than cung cấp cho mỏ đốt của Precalciner. Để từ lượng than cung cấp ta có thể biết được lượng gió cần thiết để đảm bảo phản ứng cháy xảy ra hoàn toàn. Do thời gian không có nhiều và lần đầu tiên bắt tay vào thiết kế một hệ thống phức tạp nên đồ án không thể tránh được nhưng thiếu sót, do đó em mong nhận được nhiều sự chỉ bảo góp ý của các thầy giáo, cô giáo để đổ án của chúng em có thể được hoàn thiện hơn nữa. Qua đây em cũng bầy tỏ lòng biết ơn sâu sắc của mình đến các thầy cô giáo trong bộ môn, đặc biệt là cô giáo PGS.TS Phan Xuân Minh cung tập thể cán bộ kỹ sư xưởng Điện – Điện Tử nhà máy xi măng Tam Điệp đã giúp đỡ em rất nhiều tron quá trình làm đồ án.

doc111 trang | Chia sẻ: oanh_nt | Lượt xem: 1773 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Hệ thống điều khiển và giám sát nhiệt độ cho Precalciner bằng cách sử dụng thiết bị khả trình PLC S7 – 300 thuộc họ Simatic của hăng Siemens, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
và đầu ra riêng rẽ, do vậy ta cần có địa chỉ riêng cho từng đầu vào, đầu ra và cờ nhớ. PLC sẽ xử lý các lệnh của chương trình đúng theo trình tự của nó trong bộ nhớ chương trình PLC xử lý các lệnh này theo từng lệnh một. Khi bộ xử lý đã xử lý xong lệnh cuối cùng trong bộ nhớ thì nó thiết lập lại quá trình xử lý từ lệnh đầu tiên. Bắt đầu 1 A I0.0 2 AN I0.1 3 O I0.2 4 = Q4.5 BE Kết thúc Hình 2.25 Nguyên lý hoạt động của chương trình Câu trúc chương trình: Có hai cách tổ chức lập trình cho PLC Lập trình tuyến tính: Tất cả các lệnh của chương trình được viết nối tiếp nhau lệnh nọ nối tiếp lệnh kia trong mỗi khối chương trình tổ chức ( OB1 ). PLC sẽ quét lần lượt các lệnh của khối này theo chu trình, tức là sau khi quét lệnh cuối cùng thì PLC sẽ quay trở lại và tiếp tục quét từ đầu. Lập trình có cấu trúc: Nếu nhiệm vụ đặt ra cho bài toán phức tạp thì chúng ta nên tổ chức chương trình thành các khối chức năng, các đoạn chương trình rõ ràng minh bạch. Sau đó chương trình tổ chức OB1 chỉ việc gọi đến các khối chức năng này qua tên của chúng. Phương pháp lập trình có cấu trúc có ưu điểm: Lập trình đơn giản, sáng sủa. Có khả năng để chuẩn hóa các phần tử của chương trình thành các module tiêu chuẩn và có thể gọi chúng từ bất cứ chỗ nào của chương trình. Dễ dàng chạy thử. Những khối chức năng của ngôn ngữ lập trình Step7: Loại khối OBs: Đây là khối quản lý chương trình điều khiển. Khối này tạo ra giao diện giữa hệ điều hành và chương trình điều khiển, đồng thời phối hợp thực hiện chương trình điều khiển. Loại khối FCs: Đây là khối chương trình với những chức năng riêng giống như một chương trình con hoặc một hàm. Loại khối DBs: Đây là khối chức năng dữ liệu cần thiết để thực hiện chương trình. Trước khi một khối có thể được xử lý ta phải gọi chúng. Việc gọi có thể được thực hiện cần điều kiện hoặc không điều kiện. Bắt đầu chu trình quét Đọc bảng trạng thái các đầu Khối tổ chức OB1 CALL FC1 CALL FC2 Đưa ra các giá trị đầu ra FC1 FC2 Hình 2.26 Sơ đồ khối của một chương trình điều khiển Các kênh trong ngôn ngữ Step7: Nêu xét theo quan điểm mục đích người sử dụng thì bộ lệnh của Step7 được chia thành những phần chính sau: Các lệnh cơ bản: + Lệnh logic nhị phân. + Lệnh set/reset. + Lệnh nạp và chuyển số liệu. + Bộ đếm. + Bộ thời gian. + Các lệnh so sánh. + Các lệnh cho phép tính số liệu. + Các lệnh liên quan đến khối. Các lệnh trợ giúp: + Lênh logic số. + Lệnh nhảy, lệnh LOOP. + Lện đổi mã. + Lệnh dịch sang bên trái, bên phải. + Một số lệnh đặc biệt. Kiển số liệu dùng ở S7 – 300: BOOL 01 Bit TRUE FALSE BYTE 08 Bit 0 255 WORD 16 Bit 0 65535 DWORD 32 Bit 0 2exp32-1 CHAR 08 Bit ASCII INT 16 Bit - 32768 32767 DINT 32 Bit - 2exp32-1 2exp32-1 REAL 32 Bit Số floating point S5TIME 32 Bit DATA 32 Bit TOD 3.6 Kỹ thuật lập trình: Phần này đề cập về yêu cầu đối với một chương trình điều khiển. Trong bài toán điều khiển quá trình, để thực hiện một cách có hệ thống công việc điều khiển và tránh tối đa những thiết sót, nhầm lẫn trong quá trình thực hiện, người cán bộ kỹ thuật cần phả thực hiện một số bước có tính chất thử tục như sau: Bước1: Xây dựng sơ đồ khối phối hợp thao tác công nghệ của máy hoặc hệ thống thiết bị cần điều khiển. Bước2: Lập sơ đồ khối điều khiển trình tự. Bước3: Chuẩn bị phần cứng và đặc tả các thông số vào/ra. Bước4: Lập trình. Bước5: Chạy thử và hoàn thiện chương trình. CHƯƠNG 4: CHƯƠNG TRÌNH ĐIỀU KHIỂN 4.1. Cấu trúc chương trình : Sơ đồ khối chương trình điều khiển: FB41,DB1 FB41,DB1 FC106 AI/AO FC105 AI/AO Đối tượng Tín hiệu từ cảm biến (4÷20mA) SP = 8500C 1. Khối FB41, DB1: Tạo khâu quán tính bậc nhất ( bộ tiền xử lý ). 2. Khối FB41, DB2: Tạo bộ điều khiển PID. 3. Hàm FC105: Xử lý tín hiệu vào tương tự. 4. Hàm FC106: Xử lý tín hiệu ra tương tự 5. Module AI/AO: Là module vào/ra tương tự. 4.2 FC105: Mô tả: Hàm FC105 lấy vào một số nguyên và biến đổi nó thành một số thực, tỉ lệ giữa giới hạn trên ( LO_LIM ) và giới hạn dưới ( HI_LIM ). Kết quả được ghi tại đầu ra ( OUT ). Hàm tỉ lệ sử dụng công thức: OUT = [((FLOAT(IN) – K1)/(K2 – K1))*(HI_LIM – LO_LIM)] + LO_LIM Giá trị K1 và K2 được xác định dựa vào giá trị đầu vào là BIPOLAR hoặc UNIPOLAR. BIPOLAR: giá trị đầu vào nguyên nằm trong khoảng – 27648 ÷ 27648 do đó K1 = -27648.0 và K2 = 27648.0 UNIPOLAR : giá trị đầu vào nguyên nằm trong khoảng 0 ÷ +27648 do đó K1 = 0.0 và K2 = + 27648.0 Nếu giá trị nguyên đầu vào lớn hơn K2, đầu ra ( OUT ) được lấy bằng HI_LIM và có một lỗi báo về. Nếu giá trị nguyên đầu vào nhỏ hơn K1, đầu ra ( OUT ) được lấy bằng LO_LIM và có một lỗi báo về. Các biến của FC105: TÊN BIẾN KIỂU DỮ LIỆU VÙNG NHỚ MÔ TẢ EN BOOL I,Q,M,D,L Đầu vào sẽ ở trạng thái tích cực nến tín hiệu ‘EN’ có giá trị logic = 1. ENO BOOL I,Q,M,D,L Đầu ra sẽ ở trạng thái tích cực nến tín hiệu ‘ENO’ có giá trị logic = 1. IN INT I,Q,M,D,L,P Giá trị đầu vào được tỉ lệ với giá trị thực theo một đơn vị kỹ thuật nào đó. HI_LIM REAL I,Q,M,D,L,P Giới hạn trên của đơn vị kỹ thuật đó. LO_LIM REAL I,Q,M,D,L,P Giới hạn dưới của đơn vị kỹ thuật đó. BIPOLAR BOOL I,Q,M,D,L Nếu đầu vào này có giá trị bằng 1 tức là ta sử dụng BIPOLAR còn ngược lại ta sử dụng UNIPOLAR để chọn các giá trị K1, K2 OUT REAL I,Q,M,D,L,P Kết quả của quá trình biến đổi tỉ lệ RET_VAL WORD I,Q,M,D,L,P Trả lại một giá trị kiểu W#16#0000 nếu không có lỗi. Cho biết thông tin về lỗi đối với giá trị khác W#16#0000. Thông báo lỗi: Nếu giá trị nguyên đầu vào lớn hơn K2, đầu ra ( OUT ) được coi là HI_LIM và có một lỗi thông báo về. Trạng thái của ENO được thiết lập bằng 0 và RET_VAL bằng W#16#0008. Ví dụ: - Nếu tín hiệu đầu vào là I0.0 là 1( tích cực ), hàm FC105 được thực hiện, giá trị 22 sẽ được chuyển thành giá trị nằmg trong khoảng 0.0 và 100.0 sau đó được ghi ra OUT, giá trị đầu vào là BIPOLAR và được thể hiện bởi trạng thái của I0.2 - Nếu hàm thực hiện mà không có tín hiệu báo lỗi, trạng thái của ENO và Q0.0 được thiết lập bằng 1 và RET_VAL bằng W#16#0000. Trước khi thực hiện: Sau khi thực hiện: Chương trình điều khiển khối FC105 với bài toán điều khiển nhiệt độ cho Precalciner: CALL “SCALE” IN :=PIW262 HI_LIM := 1.370000e + 003 LO_LIM := 0.000000e + 000 BIPOLAR := FALSE RET_VAL := LW10 OUT :=MD17 4.3 FC106: Mô tả: Hàm UNSCALE lấy vào một số thực và biến đổi nó thành một số nguyên, tỉ lệ giữa giới hạn trên ( LO_LIM ) và giới hạn dưới ( HI_LIM ). Kết quả được ghi tại đầu ra ( OUT ). Hàm tỉ lệ sử dụng công thức: OUT = [((IN – LOW_LIM)/(HI_LIM – LO_LIM))]*(K2 – K1) + K1 Giá trị K1 và K2 được xác định dựa vào giá trị đầu vào là BIPOLAR hoặc UNIPOLAR. BIPOLAR: Giá trị đầu vào nguyên nằm trong khoảng – 27648 ÷ +27648 do đó K1 = -27648.0 và K2 = +27648.0 UNIPOLAR: Giá trị đầu vào nguyên nằm trong khoảng 0 ÷ +27648 do đó K1 = 0.0 và K2 = +27648.0 Nếu giá trị nguyên đầu vào lớn hơn K2, đầu ra ( OUT ) được lấy bằng HI_LIM và có lỗi báo về. Nếu giá trị nguyên đầu vào nhỏ hơn K1, đầu ra được lấy bằng LO_LIM và có một lỗi báo về. Các biến của FC106: TÊN BIẾN KIỂU DỮ LIỆU VÙNG NHỚ MÔ TẢ EN BOOL I,Q,M,D,L Đầu vào sẽ ở trạng thái tích cực nến tín hiệu ‘EN’ có giá trị logic = 1. ENO BOOL I,Q,M,D,L Đầu ra sẽ ở trạng thái tích cực nến tín hiệu ‘ENO’ có giá trị logic = 1. IN INT I,Q,M,D,L,P Giá trị đầu vào thực để biến đổi sang giá trị nguyên. HI_LIM REAL I,Q,M,D,L,P CONSTANT Giới hạn trên đầu vào. LO_LIM REAL I,Q,M,D,L,P CONSTANT Giới hạn dưới đầu vào. BIPOLAR BOOL I,Q,M,D,L Nếu đầu vào này có giá trị bằng 1 tức là ta sử dụng BIPOLAR còn ngược lại ta sử dụng UNIPOLAR để chọn các giá trị K1, K2 OUT REAL I,Q,M,D,L,P Kết quả của quá trình biến đổi tỉ lệ RET_VAL WORD I,Q,M,D,L,P Trả lại một giá trị kiểu W#16#0000 nếu không có lỗi. Cho biết thông tin về lỗi đối với giá trị khác W#16#0000. Thông báo lỗi: Nếu giá trị nguyên đầu vào lớn hơn K2, đầu ra ( OUT ) được coi là HI_LIM và có một lỗi thông báo về. Trạng thái của ENO được thiết lập bằng 0 và RET_VAL bằng W#16#0008. Ví dụ: - Nếu tín hiệu đầu vào là I0.0 = 1( tích cực ), hàm UNSCALE sẽ thực hiện. Trong ví dụ này giá trị thực là 50.03978588 tỉ lệ với khoảng 0.0 và 100.0 được biến đổi sang giá trị nguyên sau đó được ghi ra OUT giá trị đầu vào là BIPOLAR và được thể hiện bởi trạng thái của I0.2 - Nếu hàm thực hiện mà không có tín hiệu báo lỗi, trạng thái của ENO và Q0.0 được thiết lập bằng 1 và RET_VAL bằng W#16#0000. Trước khi thực hiện: Sau khi thực hiện: Chương trình điều khiển khối FC106 với bài toán điều khiển nhiệt độ cho Precalciner: CALL “UNSCALE” IN := MD9 HI_LIM := 1.000000e + 001 LO_LIM := 0.000000e + 001 BIPOLAR := TRUE RET_VAL := LW22 OUT := PQW26 4.4 Giới thiệu về module mềm PID: Step7 cung cấp các module mềm PID để điều khiển các đối tượng có mô hình liên tục như lò, động cơ, mức. Đầu ra của đối tượng được đưa vào đầu vào của bộ điều khiển thông qua các cổng vào tương tự của các module vào tương tự, còn tín hiệu ra của bộ điều khiển có nhiều dạng và được đưa đến các cơ cấu chấp hành thông qua các module vào/ra khác nhau như: Qua cổng ra tương tự của các module vào/ra tương tự ( AO ). Qua các cổng ra số của module ra số ( DO ). Qua các cổng phát xung ra tốc độ cao. Phụ thuộc vào cơ cấu chấp hành mà người ta chọn trong số ba module mềm PID được tích hợp sẵn trong phần mềm Step7: Điều khiển liên tục với module mêm FB41 (Cont_C ). Điều khiển bước với module mềm FB42 ( Cont_S ). Điều khiển phát xung với khối hàm hỗ trợ FB43 ( Pulsegen ). Mỗi module mềm PID đều có một khối dữ liệu riêng ( DB ) để lưu giữ các dữ liệu phục vụ cho chu trình tính toán thực hiện luật điều khiển. Các khối hàm FB của các module mềm PID đều cập nhật được những khối dữ liệu này ở mọi thời điểm. Một bộ điều khiển PID mềm được thiết kế hoàn thiện thông qua các khối hàm FB nhiều chức năng tạo tính linh hoạt cao trong thiết kế. Người sử dụng có thể chọn các chức năng này hay loại bỏ các chức năng không cần cho một hệ thống. Các chức năng cơ bản khác như xử lý tín hiệu chủ đạo, tín hiệu quá trình và tính toán các biến khác cùng với bộ điều khiển theo luật PID cũng được tích hợp sẵn trong một module điều khiển mềm. Nhưng không phải là với mọi bài toán điều khiển ra đều có thể sử dụng các module mềm này. Chú ý rằng các đặc tính điều khiển và tốc độ xử lý của module mềm PID phụ thuộc vào loại CPU được chọn để giải quyết bài toán điều khiển. Do khi xử lý một mạch vòng điều khiển người ta thực hiện công việc trích mẫu tín hiệu đầu vào cho mạch vòng điều khiển đó nên cần phải có sự tương thích giữa số mạch vòng điều khiển PID và khả năng cũng như tốc độ tính toán của CPU. Nếu bài toán điều khiển yêu cầu tần suất truy nhập càng cao thì số vòng điều khiển phải càng giảm. Chỉ ở những bài toán có số vòng điều khiển ít người ta mới có thể sử dụng các bộ module mềm PID có tần suất truy nhập cao. Tất cả các module PID đều cung cấp nhiều giải pháp lựa chọn luật điều khiển trong khi thiết kế bộ điều khiển sao cho phù hợp với đối tượng như luật điều khiển tỷ lệ ( P ), luật điểu khiển tỷ lệ tích phân ( PI ). Người thiết kế có thể chọn luật bằng cách khai báo các tham số và các biến cho bộ điều khiển trong một khối dữ liệu địa phương bằng cách sử dụng giao diện của module mềm PID. Để vào chương trình khai báo tham số ta vào: Start/Simatic/Step7/PID/Control Parameter Assignment Chất lượng của hệ thống hoàn toàn phụ thuộc vào các tham số của bộ điều khiển, do đó để thiết kế thành công người sử dụng phải có mô hình đối tượng khá chính xác. Đó cũng là nhược điểm của phương pháp kinh điển. Các đại lượng vật lý của đối tượng và đặc tính của bộ điều khiển quyết định đặc tính động của hệ thống trong quá trình điều khiển và chỉ bị thay đổi rất ít so với thiết kế. Chỉ có thể đạt được chất lượng điều khiển tốt nếu như người thiết kế chọn được thuật toán điểu khiển và thời gian trích mẫu phù hợp với đối tượng. 4.5 Điều khiển liên tục với FB41 CONT_C: 4.5.1 Giới thiệu chung về FB41: FB41 được sử dụng để điều khiển các quá trình kỹ thuật với các biến đầu vào và đầu ra tương tự trên cơ sở thiết bị khả trình của Simatic. Trong khi thiết lập các tham số, có thể tích cực hay không với một số thành phần chức năng của bộ điều khiển PID cho phù hợp với đối tượng. Có thể sử dụng module mềm PID như một bộ điều khiển với tín hiệu chủ đạo đặt cứng ( fixed setpoint ) hay thiết kế mộ hệ thống điều khiển nhiều mạch vòng theo kiểu điều khiển Cascade. Những chức năng chính điều khiển được thiết kế trên cơ sở của thuật điều khiển PID với tín hiệu tương tự. Cấu trúc của FB41 được mô tả như ở hình dưới: Hình 2.27 Sơ đồ khối cấu trúc khối FB41 Module mềm PID bào gồm tín hiệu chủ đạo SP_INT, tín hiệu ra của đối tượng PV_PER, tín hiệu giả để mô phỏng tín hiệu ra của đối tượng PV_IN, các biến trung gian trong quá trình thực hiện luật như: PVPER_ON,P_SEL... Tín hiệu chủ đạo SP_INT: Được nhập dưới dạng số thực dấu phẩy động. Tín hiệu ra của đối tượng PV_PER: Thông qua hàm nội của FB41 có tên là CRP_IN, tín hiệu ra của đối tượng có thể được dưới dạng số nguyên hoặc số thực dấu phẩy động. Chức năng của CRP_IN là chuyển đổi kiểu biểu diễn của PV_PER từ dạng số nguyên sang số thực dấu phẩy động có giá trị nằm trong khoảng -100% đến +100% theo công thức: Tín hiệu ra của Chuẩn hóa: Chức năng của hàm chuẩn hóa PV_NORM tín hiệu ra của đối tượng là chuẩn hóa tín hiệu ra của hàm CRP_IN theo công thức: Tín hiệu ra của PV_NORM = ( Tín hiệu ra của CRP_IN )*PV_FAC_OFF Hai tham trị khống chế dải giá trị cho phép của PV_NORM là PV_FAC và PV_OFF. Mặc định PV_FAC của hàm PV_NORM có giá trị bằng 1 và PV_OFF có giá trị bằng 0. Lọc nhiễu tác động trong lân cận điểm làm việc: Tín hiệu sai lệch là hiệu giữa tín hiệu chủ đạo và tín hiệu ra của đối tượng. Nó được tạo ra ngay trong FB41 và là đầu vào của khối DEADBAND có tác dụng lọc giữa những dao động nhỏ xung quánh giá trị xác lập. Nếu không muốn dùng DEADBAND hoặc với đối tượng mà có thể bỏ qua sự ảnh hưởng của nhiễu trong lân cận điểm làm việc thì ra chọn DEAD_W = 0. 4.5.2 Chọn luật điều khiển trên module FB41 CONT_C: Thuật PID được thiết kế theo kiểu song song của ba thuật điều khiển riêng lẻ: P ( tỷ lệ ), I ( tích phân ), D ( vi phân ) theo sơ đồ cấu trúc: Do cấu trúc song song như vậy nên ta có thể thông qua các tham trị P_SEL, D_SEL, I_SEL mà tích hợp được các luật điều khiển khác nhau từ bộ điều khiển này như: P, PI, PD, PID. Đặt giá trị: Phần mềm cho phép chọn chế độ tự động ( automatic mode ) hoặc chế độ bằng tay. Ở chế độ bằng tay các giá trị của các biến được thiết lập bằng tay. Bộ tích phân ( INT ) tự thiết lập chế độ LNM_LNM_P_DISV và bộ vi phân ( DIF ) tự động về 0. Điều đó đảm bảo cho việc chuyển chế độ từ thiết lập giá trị bằng tay về chế độ tự động không gây một biến đổi đột ngột nào đối với các biến đã được thiết lập giá trị bằng tay. Cũng có thể đặt giới hạn cho các giá trị được thiết lập bằng tay nhờ hàm LMNLIMIT. Một bít cờ sẽ có giá trị logic bằng 1 khi biến vào có giá trị vượt quá giới hạm đã chọn. Hàm LMN_NORM sẽ chuẩn hóa tín hiệu ra của hàm LMNLIMT theo công thức: LMN = ( tín hiệu ra của LMNLINIT )*LMN_FAC + LMN_OFF Mặc định LMN_FAC có giá trị bằng 1, còn LMN_OFF có giá trị bằng 0. Các giá trị đặt bằng tay có thể theo một cách biểu diễn riêng. Hàm CRP_OUT có chức năng biến đổi từ kiểu biểu diễn số thực dấu phẩy động sang kiểu biểu diễn riêng theo công thức: Ngoài ra nhiễu có thể lọc trước bằng cách đưa qua đầu vào DISV. 4.5.3 Khởi động và thông báo lỗi: FB41 có một chương trình con phục vụ cho việc khởi tạo lại hoàn toàn hệ thống. Chương trình này được gọi khi tín hiệu vào COM_RST có giá trị logic bằng 1. Trong khi khởi tạo luật điều khiển tích phân được tự động thiết lập với giá trị khởi tạo I_ITVAL. Nếu luật điều khiển này được gọi theo ngắt thời gian, nó sẽ luôn luôn làm việc với giá trị này. Tất cả các đầu ra khác được đặt giá trị mặc định. Khối FB41 không có khả năng tự kiểm tra lỗi bên trong của module mềm PID. Mã báo lỗi RET_VAL không được sử dụng. 4.5.4 Tham biến hình thức đầu vào: TÊN BIẾN KIỂU DỮ LIỆU PHẠM VI GIỚI HẠN GIÁ TRỊ MẶC ĐỊNH MÔ TẢ CHỨC NĂNG COM_RST BOOL FALSE COMPLETE RESTART Khối có chức năng khởi tạo lại hệ thống hoàn toàn khi đầu vào ‘complete restart’=TRUE MAN_ON BOOL TRUE MANUAL VALUA ON Khi đầu vào ‘manual valua on’ có giá trị TRUE mạch vòng điều khiển sẽ bị ngắt, các giá trị được thiết lập bằng tay. PVPER_ON BOOL FALSE PROCESS VARIABLE PERIPHERAL ON Khi đọc biến quá trình từ các cổng vào/ra, đầu vào PV_PER phải được nối với các cổng vào/ra và đầu vào ‘process variable peripheral’ có giá trị logic TRUE. P_SEL BOOL TRUE PROPORTIONAL ACTION ON Thuật toán điều khiển tỷ lệ được kích hoạt khi giá trị logic TRUE được thiết lập tại cổng ‘proportional action on’. I_SEL BOOL TRUE INTERGRAL ACTION ON D_SEL BOOL FALSE DERIVATE ACTION ON INT_HOLD BOOL FALSE INTERGRAL ACTION HOLD I_ITL_ON BOOL FALSE INITIALIZATION OF THE INTERGRAL ACTION CYCLE TIME ≥1ms T#1s SAMPLING TIME SP_INT REAL -100÷100% hoặc giá trị vật lý. 0.0 INTERNAL SETPOINT PV_IN REAL -100÷100% hoặc giá trị vật lý. 0.0 PROCESS VARIABLEN IN PV_PER WORD W#16#00 00 PROCESS VARIABLE PERIPHERAL MAN REAL -100÷100% hoặc giá trị vật lý. 0.0 MANUAL VALUE GAIN REAL 2.0 PROPORTIONAL GAIN TI TIME ≥CYCLE T#20s RESET TIME TD TIME ≥CYCLE T#10s DERIVATE TIME TM_LAG TIME ≥CYCLE T#2s TIME LAG OF DERIVATE ACTION DEADB_W REAL -100÷100% hoặc gia trị vật lý. 0.0 DEAD BAND WIDTH LMN_HLM REAL LMN_HLM... 100% hoặc giá trị vật lý. 100.0 MANIPULATED VALUE HIGH LIMIT LMN_LLM REAL -100 LMN_LLM (%) hoặc giá trị vật lý. 0.0 MANIPULATED VALUE LOW LIMIT PV_FAC REAL 1.0 PROCESS VARIABLE FACTOR PV_OFF REAL 1.0 PROCESS VARIABLE OFFSET LMN_FAC REAL 1.0 MANIPULATED VALUE FACTOR LMN_OFF REAL 0.0 MANIPULATED VALUE OFFSET I_ITLVAL REAL -100÷100% hoặc giá trị vật lý. 0.0 INTIALIZATION VALUE OF THE INTERGRAL ACTION DISV REAL -100÷100% hoặc giá trị vật lý. 0.0 DISTIRBANCE VARIABLE 4.5.5 Tham biến hình thức đầu ra: TÊN BIẾN KIỂU DỮ LIỆU GIÁ TRỊ MẶC ĐỊNH MÔ TẢ CHỨC NĂNG LMN REAL 0.0 MANIPULATED VALUE LMN_PER WORD W#16#0000 MANIPULATED VALUE PERIPHERAL QLMN_HLM BOOL FALSE HIGH LIMIT OF MANIPULATED VALUE REACHED QLMN_LLM BOOL FALSE LOW LIMIT OF MANIPULATED VALUE REACHED LMN_P REAL 0.0 PROPORTIONAL COMPONENT LMN_I REAL 0.0 INTERGRAL COMPONENT LMN_D REAL 0.0 DERIVATIVE COMPONENT PV REAL 0.0 PROCESS VALUE ER REAL 0.0 ERROR SIGNAL 4.5.6 Tạo bộ tiền xử lý: Hàm truyền của bộ tiền xử lý trong hệ thống cấp than: Mô hình: SP y Tạo khâu quán tính bậc nhất: Hàm truyền bộ tiền xử lý trong hệ thống cấp gió: SP y Tạo khâu quán tính bậc nhất: 4.6 Chương trình điều khiển trong khối OB35 4.6.1 Giới thiệu về khối OB35: Chương trình ứng dụng xử lý ngắt: Chương trình ứng dụng xử lý ngắt được hiểu là loại chương trình viết cho các khối OB và được gọi bởi các tín hiệu báo ngắt thuộc loại: Được phát ra một cách đều đặn và cách đều nhau một khoảng thời gian định truớc. Được phát ra tại một thời điểm định trước. Được phát ra từ các module ( ngắt cứng ). Ngắt tuần tự theo thời gian: Ngay khi nhận thấy trong chương trình ứng dụng có một trong các khối OB30 ÷ OB38, hệ thống sẽ tự động tích cực chế độ phát tín hiệu báo ngắt gọi các khối này với khoảng thời gian cách đều nhau. Giá trị mặc định cho chu kỳ phát tín hiệu báo ngắt này là 100ms. Nói cách khác, cứ 100ms thì các khối OB này được gọi và thực hiện một lần. Tổng quát thì tất cả các khối trong khoảng OB30÷OB38 đều thuộc nhóm khối chương trình xử lý ngắt theo chu kỳ thời gian. Song không phải module CPU nào cũng cho phép sử dụng tất cả các khối OB đó, chẳng hạn CPU314 chỉ cho phép sử dụng OB35. Trường hợp có nhiều khối OB cùng xử lý một tín hiệu báo ngắt thì ta có thể phân biệt chúng với nhau theo thứ tự ưu tiên. Chỉ số thứ tự ưu tiên được gắn cho từng khối nhờ phần mềm Step7 đê thay đổi chu kỳ phát tín hiệu báo ngắt. Ví dụ: Để trích mẫu tín hiệu tương tự u(t) có tại cổng PIW304 với chu kỳ lấy mẫu là Ta = 250ms và cất giữ giá trị uk = u(kTa) trích được vào ô nhớ MW0, trước hết ta cần phải khai báo chu kỳ phát tín hiệu báo ngắt Ta = 250ms ( nhờ Step7 ) cho module CPU và tiếp theo viết các lệnh sau vào khối OB35: L PIW304 T MWO Local block của các khối OB30_OB38 có dạng chung giống như OB35 cho trong bảng sau: TÊN HÌNH THỨC KIỂU GIÁ TRỊ VÀ Ý NGHĨA OB35_EV_CLASS BYTE Bit 0 – 3 =1 ( coming event ). Bit 4 – 7 = 1 ( Event class 1 ) OB35_SCAN_1 BYTE Báo OB35 đã được thực hiện bằng giá trị 16#36 OB35_PRIORITY BYTE Có giá trị là 11 ( thứ tự ưu tiên ) OB35_OB_NUMBR BYTE 35. Là chỉ số của khối OB35 OB35_RESERVED_1 BYTE Dự trữ ( của hệ điều hành ) OB35_RESERVED_2 BYTE Dự trữ ( của hệ điều hành ) OB35_PHASE_OFFSET WORD Thời gian trễ ( milliseconds ) OB35_REDERVED_3 INT Dự trữ ( của hệ điều hành ) OB35_EXC_FREQ INT Chu kỳ thời gian thực hiện ( milliseconds ) OB35_DATE_TIME DATE_AND_TIME Thời điểm OB35 bắt đầu được thực hiện OB35_EXC_FRED chứa chu kỳ phát tín hiệu ngắt ( mặc định là 100ms hoặc đã được quy định tại thành Ta nhờ Step7 ). OB35_PHASE_OFFSET chứa khoảng thời gian trễ kể từ khi xuất hiện tín hiệu báo ngắt cho tới khi OB35 được gọi. Thông thường ô nhớ này có nội dung bằng 0, song trong một số trương hợp ứng dụng người ta vẫn phải gán cho nó một giá trị dương khác 0 nhằm tránh nguy cơ nhiều khối OB35 ÷ OB38 cùng được thực hiện một lúc dễ gây ra lỗi về thời gian cho hệ thống. Như đã nói, ngay khi phát hiện thấy một trong các khối OB35÷OB38 có trong Load Memory, hệ thống sẽ tự động tích cực chế độ phát tín hiệu báo ngắt theo chu kỳ 100ms. Chu kỳ Ta = 100ms mặc định này có thể sửa lại được nhờ công cụ phần mềm Simatic Manager nhưng giá trị sửa lại đó là cố định trong suốt quá trình thực hiện chương trình ứng dụng sau này, tức là ta chỉ có thể sửa lại chu kỳ Ta phát tín hiệu ngắt khi CPU ở chể độ STOP và phải sử dụng Simatic Manager để nạp tham số mới cho CPU. Linh hoạt hơn so với việc sửa đổi lại chu kỳ Ta, ta có thể tích cực hoặc hủy bỏ chế độ ngắt theo chu kỳ bằng những hàm có sẵn trong hệ điều hành và do đó không cần phải chuyển CPU về trạng thái STOP. Cụ thể là: Hàm SFC39 ( tên hình thức DIS_IS ) có tác dụng che ngắt. Hàm SFC40 ( tên hình thức EN_IRT ) có tac dụng bỏ mặt nạ che ngắt. Hàm SFC41 ( tên hình thức DIS_AIRT ) có tác dụng che tất cả các ngắt có mức ưu tiên cao hơn tín hiệu ngắt đang được xử lý. Hàm SFC42 ( tên hình thức EN_AIRT ) có tác dụng bỏ mặt nạ che tất cả cho các ngắt có mức ưu tiên cao hơn tín hiệu ngắt đang được xử lý. 4.6.2 Khai báo cấu hình cho PLC Slot Module Oder number MPI… I… Q… 1 PS 307 10A 6ES 307 – 1KA00 – 0AA0 2 CPU314 2 3 4 AI4/AO4x14/12bit 256…271 256…263 4.6.3 Chương trình điều khiển viết trong khối OB35: Giải thích các biến - MD1, MD6 : Cổng ra của hàm FC105 xử lý tín hiệu của cảm biến nhiệt độ và nồng đọ khí. - MD2, MD7 : Đầu ra của bộ lọc(bộ tiền xử lý). - MD3, MD8 : Tín hiệu báo lỗi tín hiệu của (FB41, DB2), (FB41,DB3). - MD4, MD9 : Đầu ra của bộ điều khiển PID cho than , gió. - MD5, MD10 : Tín hiệu báo lỗi tín hiệu của (FB41,DB1), (FB41, DB4) Chương trình điều khiển viết trong khối OB35 : Chương trình điều khiển than CALL "SCALE" //xử lý cổng analog vào1 IN :=PIW256 HI_LIM :=1.370000e+003 LO_LIM :=0.000000e+000 BIPOLAR:=FALSE RET_VAL:=LW1 OUT :=MD1 //giá trị nhiệt độ phản hồi về CALL "CONT_C" , DB2 //tạo bộ tiền xử lý 1 COM_RST :=FALSE MAN_ON :=FALSE PVPER_ON:=FALSE P_SEL :=FALSE I_SEL :=TRUE INT_HOLD:=FALSE I_ITL_ON:=FALSE D_SEL :=FALSE CYCLE :=T#1000MS SP_INT :=8.500000e+002 PV_IN :=MD2 PV_PER :=W#16#0 MAN :=0.000000e+000 GAIN :=1.000000e+000 TI :=T#2M42S TD :=T#0MS TM_LAG :=T#2S DEADB_W :=0.000000e+000 LMN_HLM :=3.200000e+003 LMN_LLM :=-3.200000e+003 PV_FAC :=1.000000e+000 PV_OFF :=1.000000e+000 LMN_FAC :=1.000000e+000 LMN_OFF :=0.000000e+000 I_ITLVAL:=0.000000e+000 DISV :=0.000000e+000 LMN :=MD2 //tín hiệu ra của bộ tiền xử lý LMN_PER := QLMN_HLM:= QLMN_LLM:= LMN_P := LMN_I := LMN_D := PV := ER :=MD3 //tín hiệu báo lỗi CALL "CONT_C" , DB1 //bộ diều khiển PID1 COM_RST :=FALSE MAN_ON :=TRUE PVPER_ON:=FALSE P_SEL :=TRUE I_SEL :=TRUE INT_HOLD:=FALSE I_ITL_ON:=FALSE D_SEL :=TRUE CYCLE :=T#1000MS SP_INT :=MD2 PV_IN :=MD1 PV_PER :=W#16#0 MAN :=0.000000e+000 GAIN :=1.170000e-006 TI :=T#5M49S4MS TD :=T#1M27S4MS TM_LAG :=T#2S DEADB_W :=0.000000e+000 LMN_HLM :=2.764800e+004 LMN_LLM :=-2.764800e+004 PV_FAC :=1.000000e+000 PV_OFF :=1.000000e+000 LMN_FAC :=1.000000e+000 LMN_OFF :=0.000000e+000 I_ITLVAL:=0.000000e+000 DISV :=0.000000e+000 LMN :=MD4 //tín hiệu ra của bộ PID1 LMN_PER := QLMN_HLM:= QLMN_LLM:= LMN_P := LMN_I := LMN_D := PV := ER :=MD5 //tín hiệu báo lỗi 1 CALL "UNSCALE" //xu ly cong analog ra 1 IN :=MD4 HI_LIM :=1.000000e+001 LO_LIM :=0.000000e+000 BIPOLAR:=FALSE RET_VAL:=LW2 OUT :=PQW256 //tín hiệu đi điều khiển động cơ than Chương trình điều khiển gió CALL "SCALE" IN :=PIW262 HI_LIM :=1.000000e+000 LO_LIM :=0.000000e+000 BIPOLAR:=FALSE RET_VAL:=LW20 OUT :=MD6 //giá trị nồng độ CO2 phản hồi về CALL "CONT_C" , DB3 //bộ tiền xử lý 2 COM_RST :=FALSE MAN_ON :=FALSE PVPER_ON:=FALSE P_SEL :=TRUE I_SEL :=FALSE INT_HOLD:=FALSE I_ITL_ON:=FALSE D_SEL :=FALSE CYCLE :=T#1000MS SP_INT :=8.000000e-001 //giá trị đặt của CO2 PV_IN :=MD7 PV_PER :=W#16#0 MAN :=0.000000e+000 GAIN :=1.000000e+000 TI :=T#8MS TD :=T#0MS TM_LAG :=T#2S DEADB_W :=0.000000e+000 LMN_HLM :=1.000000e+000 LMN_LLM :=0.000000e+000 PV_FAC :=1.000000e+000 PV_OFF :=1.000000e+000 LMN_FAC :=1.000000e+000 LMN_OFF :=0.000000e+000 I_ITLVAL:=0.000000e+000 DISV :=0.000000e+000 LMN :=MD7 //tín hiệu ra của bộ tiền xử lý 2 LMN_PER := QLMN_HLM:= QLMN_LLM:= LMN_P := LMN_I := LMN_D := PV := ER :=MD8 CALL "CONT_C" , DB4 //bộ điều khiển PID2 COM_RST :=FALSE MAN_ON :=TRUE PVPER_ON:=FALSE P_SEL :=TRUE I_SEL :=TRUE INT_HOLD:=FALSE I_ITL_ON:=FALSE D_SEL :=FALSE CYCLE :=T#1000MS SP_INT :=MD7 PV_IN :=MD6 PV_PER :=W#16#0 MAN :=0.000000e+000 GAIN :=7.1430000e-002 TI :=T#8MS TD :=T#0MS TM_LAG :=T#2S DEADB_W :=0.000000e+000 LMN_HLM :=2.764800e+004 LMN_LLM :=-2.764800e+004 PV_FAC :=1.000000e+000 PV_OFF :=1.000000e+000 LMN_FAC :=1.000000e+000 LMN_OFF :=0.000000e+000 I_ITLVAL:=0.000000e+000 DISV :=0.000000e+000 LMN :=MD9 //tín hiệu ra của bộ PID2 LMN_PER := QLMN_HLM:= QLMN_LLM:= LMN_P := LMN_I := LMN_D := PV := ER :=MD10 //tín hiệu báo lỗi 2 CALL "UNSCALE" //xử lý cổng analog ra 2 IN :=MD9 HI_LIM :=1.000000e+001 LO_LIM :=0.000000e+000 BIPOLAR:=FALSE RET_VAL:=LW0 OUT :=PQW262 //đưa ra điều khiển động cơ gió CHƯƠNG 5: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT HỆ THỐNG TRÊN NỀN WINCC 5.1 Tổng quan về WinCC: WinCC là Giao diện Máy_ Ngươời Tích hợp đầu tiên trên thế giới. Với WinCC, ta có một chơương trình trực quan hóa cho phép chúng ta dễ dàng quan sát tất cả các khía cạnh của những quá trình tự động hóa. WinCC kết hợp kiến trúc hiện đại của dòng Windows NT (kể từ 4.0) với một thiết kế đồ thị lập trình. WinCC bao gồm tất cả các phần tử cần thiết để giải quyết những nhiệm vụ bộ kiểm tra và điều khiển quá trình. Yêu cầu cấu hình cài đặt: Hệ điều hành: Window NT 4.0 Work station / Server. 5.1.1 Cấu hình trong WinCC 5.0 Ta có ba lựa chọn cấu hình thiết kế trong WinCC: - Single-User Project: Đây là thiết kế một trạm vận hành đơn. Việc tạo cấu hình, kết nối với bus quá trình và lưu trữ dữ liệu của project được thực hiện ở đây. - Multi-User Project:Cho phép cấu hình nhiều client và một serve, tất cả làm việc chung trong một project. Tối đa 16 client được truy nhập vào một server. Có thể đặt cấu hình trong server hoặc trong một vài client. Dữ liệu của project được lưu trữ trong server và cung cấp cho các client, client thực hiện vận hành hệ thống. Từ Single-User Project ta có thể chuyển sang Multi - User Project được. - Multi-Client Project:Đây là loại project mà một client có thể truy nhập vào nhiều server. Đối với dự án của chúng ta sẽ chọn “ Single-User Project” và chọn phím “OK” để thừa nhận. Sau đó nhập tên cho dự án và chọn đường dẫn cho dự án. Nếu muốn mở một dự án đã tồn tại, hộp thoại “ Open” sẽ cho phép tìm kiếm các file có đuôi “.mcp”, tiếp theo là khởi động Wincc. Nó sẽ tự động mở lại dự án cũ mà ta đã làm việc trước đó. Nếu dự án được tích cực trước đó, khi thoát ra khỏi Wincc, nó sẽ tự động mở lại trạng thái tích cực. Sau khi thực hiện tạo một dự án như trên thì trong Wincc Explorer có dạng như sau: Và mọi công việc thiết kế một giao diện sẽ được tiến hành trên dự án mà ta đã tạo ra ở trên. 5.1.2 WinCC EXPLORER Tất cả các phần của WinCC đều được khởi động từ WinCC EXPLORER. Từ cửa sổ này ta có thể xâm nhập vào tất cả các thành phần mà một project giao diện người-máy cần có cũng như việc xây dựng cấu hình cho các phần riêng rẽ đó. - Chức năng của WinCC EXPLORER: WinCC EXPLORER bao gồm tất cả các chức năng quản lý, đặt cấu hình và khởi động chạy runtime (computer, driver, tag …). - Thành phần: + Đặt cấu hình. + Hướng dẫn đặt cấu hình. + Gọi và lưu trữ project. + Quản lý project: mở, lưu, di chuyển, và sao chép. + Chức năng in ấn mạng cho nhiều người sử dụng (Client-Server environment). + Thể hiện cấu hình dữ liệu. + Điều khiển và đặt cấu hình các cấp bậc của các picture/kiến trúc hệ thống (chẳng hạn bằng cách thể hiện cây thư mục). + Cài đặt thông số tổng thể như: Ngôn ngữ, hệ thống/đường dẫn người dùng. + Feed back documention. + Lập báo cáo các trạng thái của hệ thống. + Chuyển đổi giữa chạy thực và đặt cấu hình . + Thử các chế độ (mode) như: Mô phỏng khi chạy (simulation), trợ giúp hoạt động đặt cấu hình dữ liệu, chuyển đổi các picture, thể hiện trạng thái và lập thông báo. 5.1.3 Các module chức năng - Thiết kế đồ hoạ (Graphic Designer): Hiển thị và liên kết các hình ảnh quá trình. - Ấn bản các Action (Global Script): Tạo ra các thuộc tính động của project cho các yêu cầu riêng. - Hệ thống cảnh báo (Alarm Logging): Đưa ra các thông báo, cảnh báo - Lưu trữ các giá trị đo của quá trình (Tag Logging): Lập báo cáo về tình trạng của hệ thống. 5.2 Các thành phần cơ bản trong một project của WinCC: Một project bao gồm các thành phần: - Computer: Quản lý tất cả các trạm vận hành (Work Station) và trạm chủ (Server) nằm trong project. - Tag Management Là khu vực quản lý tất cả các kênh, các quan hệ logic, các biến quá trình (Tag Process), biến nội (Tag internal) và các nhóm biến (Tag Group). - Các kiểu dữ liệu (Data Type):Chứa các kiểu dữ liệu được gán cho Tag và các kênh. - Editor:Sử dụng trình soạn thảo để soạn thảo và điều khiển một project hoàn chỉnh. 5.2.1. Các trình soạn thảo chuẩn của WinCC - Graphic Designer: Là trình soạn thảo tạo giao diện đồ hoạ, nó cung cấp các đối tương đồ hoạ và các bản mẫu cho phép tạo các hình ảnh của các quá trình từ đơn giản tới phức tạp. Những đặc tính động có thể được tạo ra cho từng đối tượng đồ hoạ riêng. Người sử dụng tạo ra các đối tượng đồ hoạ và có thể được lưu trữ vào trong thư viện. - Alarm Logging: Cho phép hiển thị các thông báo trong quá trình chạy (runtime) nhờ việc thu thập và lưu trữ các kết quả của quá trình. Có hai loại: Khối thông báo (Message Block), các lớp thông báo (Message Classes), loại thông báo (Message Type), hiển thị thông báo và báo cáo. - Tag Logging: Tag Logging được sử dụng để thu thập dữ liệu từ các quá trình để hiển thị và lưu trữ. Thời gian thu thập và lưu trữ có thể được lựa chọn. Để hiển thị những giá trị quá trình trên dạng Trend và dạng Table được thực hiện qua “WinCC Online Trend” và “Table Control” của Graphic Designer. - Report Designer: Report Designer là một hệ thống tích hợp các báo cáo để cung cấp tài liệu theo thời gian định trước hoặc theo sự kiện điều khiển của các thông báo, các thao tác, các nội dung lưu trữ, các dữ liệu hiện thời hoặc dữ liệu lưu trữ trong các dạng báo cáo của người sử dụng hoặc có thể lựa chọn các dạng layout trong project. Nó cung cấp đầy đủ các giao diện cho người sử dụng với các công cụ đồ hoạ và đưa ra các kiểu báo cáo khác nhau. 5.2.2. Các hệ thống layout chuẩn và các print job có sẵn - Global Scrip: Là ngôn ngữ thông dụng cho phép tạo ra các hàm giống như trong C và các action, có thể sử dụng trong một project hoặc nhiều project phụ thuộc vào loại hàm được tạo ra. - Text Library: Cho phép soạn thảo các văn bản để sử dụng trong khi chạy runtime bởi các module khác nhau. Có nhiều ngôn ngữ được định nghĩa để sử dụng cho các văn bản hiển thị trong quá trình chạy runtime. - User Administrator: “User Administrator” được sử dụng để xác định và giám sát quyền truy nhập của người sử dụng. Tạo ra tính bảo mật của hệ thống. - Cross Reference: “Cross Reference” được sử dụng để tìm và hiển thị tất cả các vị trí của các đối tượng sử dụng như: Tag, picture, hàm …Với hàm Linking tên của các tag có thể bị thay đổi nhưng không bị mâu thuẫn trong cấu hình. 5.2.3 Các lựa chọn cơ bản trong WinCC - Client Server: Với chức năng Client Server, WinCC có thể được ứng dụng để vận hành nhiều trạm cùng cấp trong một hệ thống mạng. - Redundancy: WinCC Redundancy cho phép vận hành với chế độ dự phòng, song song hai máy tính server. Nếu một trong hai máy tính server bị sự cố thì máy còn lại sẽ vận hành toàn bộ hệ thống. Sau khi máy bị sự cố hoạt động trở lại thì nội dung những thông báo và các dữ liệu lưu trữ được sao chép lại. - User Achives: Là một hệ thống cơ sở dữ liệu được đặt bởi người sử dụng. Dữ liệu từ quá trình kỹ thuật có thể được hiển thị trực tiếp và lưu trữ trong máy tính server. Công thức điều khiển và các giá trị đặt được cất tại “User Achives”, khi cần sử dụng thì chỉ việc gọi ra. - Tag và Tag Group: Tag là một thành phần trung gian cho việc truy nhập các giá trị quá trình. Mỗi Tag được đặc trưng bằng một tên duy nhất và một kiểu dữ liệu. Có hai loại Tag cơ bản : + Internal Tag: Còn gọi là các biến nội, biến này có thể được tính toán và chỉnh sửa trong WinCC, không có địa chỉ trên PLC. + External Tag: Biến ngoài, được gán địa chỉ và kết nối với PLC. 5.3 Kết nối giao diện giữa WinCC và PLC: 5.3.1 Mục đích ghép nối: Để nhằm mục đích điều khiển và giám sát hệ thống một cách hiệu quả, nên ta chọn giải pháp thiết lập một giao diện người máy. Phần giao diện này được viết bằng phần mềm chuyên dụng là “ Wincc” cuả hãng Siemen. Với phần mềm giao diện này, cho phép ta thiết kế một giao diện bất kỳ từ đơn giản tới phức tạp. Giao diện được lập ra, sau khi kết nối với PLC, cho phép ta điều khiển, giám sát toàn bộ tình trạng hoạt động của hệ thống. Giúp người điều khiển có thể quản lý tốt hệ thống từ đặt thông số hoạt động, theo dõi và xử lý kịp thời khi có sự cố xảy ra, người điều khiển chỉ ngồi trong phòng và điều khiển hoạt động cho cả một hệ thống một cách chính xác. Bởi vì mọi thông tin về tình trạng hoạt động của nó được lưu trữ và đưa ra cho người điều khiển biết thông qua cảnh báo lỗi xuất hiện khi xảy ra. Do không có điều kiện để ghép nối thực, nên công việc ghép nối này được thực hiện trên mô phỏng trực tiếp giữa phần mềm Wincc với Step 7 thông qua PLC sim. Mặc dù vậy vẫn đảm bảo chính xác các yêu cầu đặt ra của hệ thống, minh hoạ chính xác chương trình lập trong PLC. 5.3.2 Phương thức ghép nối: 5.3.2.1. Chọn kênh truyền thông: Để thực hiện việc kết nối giữa Wincc với Step7, trước hết ta phải chọn kênh truyền thông. ở đây phương thức truyền thông được lựa chọn phụ thuộc vào PLC sử dụng. Đối với họ SIMATIC PLC có phạm vi từ vài trăm tới vài nghìn đầu vào ra, thì việc lựa chọn một kênh truyền thông rất quan trọng. Trong hệ thống của chúng ta sẽ chọn “ SIMATIC S7 Protocol Suite”, cho phép truyền thông với với họ S7. Trong “ SIMATIC S7 Protocol Suite”, quản lý các kênh truyền thông như Industrial Ethernet, Industrial Ethernet II, MPI,… Trong dự án của chúng ta chọn kênh truyền thông MPI . MPI là một kênh truyền thông dùng để quản lý các trạm PLC của chúng ta. Trong MPI có địa chỉ mặc định là 2, đây là địa chỉ được sử dụng để kết nối với Step 7. Ngoài ra, ta phải thiết lập các giá trị cho trao đổi dữ liệu giữa Wincc với Step 7 như làm trong hộp thoại sau. Tất cả các kênh trên đều chịu sự quản lý của “Tag Mangement”, trong đó chức năng chính là quản lý mọi quan hệ logic, mọi biến ngoại, biến nội, các nhóm Tag. ở đây ta phải lưu ý rằng, mọi công việc kết nối đều thông qua trực tiếp các Tag. Nên ta chọn phương thức ghép nối chủ yếu bằng cách gán Tag trực tiếp cho đối tượng, vì thế ta chọn “ Wincc Tags” như trong hộp thoại dưới đây. 5.3.2.2 Cách thức tạo ra kênh truyền thông: Từ “Tag Mangement”, chọn “ Add New Driver”, trong hộp thoại tiếp theo ta chọn “SIMATIC S7 Protocol Suite”. Để tạo ra một sự liên kết mới, nhắp chuột vào biểu tượng “ +” khi đó các kênh truyền thông có sẵn xuất hiện. Ta nhắp chuột phải trên kênh MPI, ở phía trên ta chọn “ Add New Driver connection” như hộp thoại dưới đây. Trong “ Add New Driver connection” xuất hiện dưới đây, ta nhập tên cho trạm PLC trong khung “Name” và kết thúc bằng phím “ OK” như hộp thoại dưới đây. Và đây chính là một trạm PLC có chức năng quản lý mọi địa chỉ vào, ra, các biến nhớ trong chương trình PLC thông qua các Tag ngoại. Như vậy là ta đã tạo xong một trạm PLC, và từ đây ta sẽ thiết lập hàng loạt các Tag ngoại để truy nhập các địa chỉ trong PLC mà ta đã lập trình. Cách tạo một Tag ngoại: Trước hết, ta phải nói rằng, Tag ngoại “ External Tag” là một biến ngoại, có chức năng truy cập các địa chỉ vào, ra trong PLC. Theo sự truy cập địa chỉ này mà ta có thể thực hiện việc kết nối giữa Wincc với Step 7. Với “Tag group” là một nhóm các Tag đơn được tổ chức thành một cấu trúc để dễ dàng trong việc quản lý cũng như truy cập. Cấu hình tạo ra một Tag group cũng tương tự như việc tạo ra một Tag ngoại. Chỉ có điều khác là trong Tag group ta phải thiết lập ra các Tag đơn có kiểu dữ liệu, truy cập địa chỉ khác nhau. ở đây, ta sẽ đưa ra các bước tạo một Tag ngoại, để tạo ra một Tag ngoại ta thực hiện các bước sau. - Nhắp chuột phải vào PLC mà ta đã tạo ra, sau đó vào “New Tag”. - Trong hộp thoại “ Tag Properties” hãy đặt tên Tag, chọn kiểu dữ liệu như trong ví dụ của hộp thoại dưới đây. Trong hộp thoại này ta có thể thiết lập các giá trị ban đầu cho Tag bằng cách nhắp chuột vào “ Limits/ Reporting. Từ đây, ta tạo ra giá trị ban đầu là “0” hay bằng “1” cho Tag bằng cách tick vào ô “ Start Velue”. Đối với Tag group cũng thực hiện đặt các thông số tương tự như trên. 5.3.4 Truy nhập địa chỉ cho Tag: Tuỳ theo mục đích ghép nối mà ta truy cập địa chỉ vào, ra hay biến nhớ. Nói chung, cách truy cập này đảm bảo cho quá trình kết nối giữa giao diện trên Wincc với Step 7. Cách thức thực hiện truy cập địa chỉ được thực hiện như sau. - Nhắp chuột vào nút “ Select” để mở hộp thoại “ Address Properties”, - Từ hộp thoại này, ta có thể chọn các kiểu dữ liệu, địa chỉ vào, ra, hay biến nhớ như trong hộp thoại sau. Lưu ý rằng tuỳ thuộc vào kiểu đối tượng mà trong chương trình lập trình PLC đã lập cho nó, mà ta truy nhập địa chỉ cho chính xác. Tránh trường hợp gán nhầm địa chỉ dẫn tới lỗi cho hệ thống. Dưới đây là một hộp thoại gán địa chỉ cho Tag ngoại như ví dụ dưới đây: Lưu ý rằng, trong khung dữ liệu “ Data” có nhiều kiểu dữ liệu cho ta chọn như DB, Bitmemory, Input, Output. Và tương ứng với mỗi một kiểu dữ liệu là một kiểu địa chỉ khác nhau có thể là kiểu “ Word” hoặc kiểu “Byte”… Tiếp theo ta có thể đặt địa chỉ tuyến tính cho các Tag khi cần thiết, chức năng này chỉ cần thiết khi truy nhập các Tag ngoại, công việc này được tiến hành như sau. Chọn “Linear Scaling” và cho tích cực các trường “Process Value Range” và “ Tag value Range” Sau đó tiến hành đặt các giá trị cho các khoảng giá trị trên như ví dụ trong hộp thoại sau. Chú ý rằng, nếu muốn sử dụng các số dương hay âm để truy cập cho các Tag thì phải sử dụng một Tag tín hiệu. 5.4 Địa chỉ kết nối với PLC của các thiết bị trong hệ thống: Hệ thống van: Tên đối tượng Tag ghép nối Địa chỉ Van điều khiển lượng than V1 Q8.1 Van trao đổi nhiệt V2 Q8.2 Van trao đổi nhiệt V3 Q8.3 Van dẫn gió 3 vào Precalciner V4 Q8.4 Van điều khiển gió 3 V5 Q8.5 Van cấp bột liệu từ cyclon tầng 5 V6 Q8.6 Van cấp dầu V7 Q8.7 Van cấp bột liệu từ cyclon tầng 4 V8 Q8.8 Hệ thống cảm biến: Tên đối tượng Tag ghép nối Địa chỉ Cảm biến nồng độ O2 “Nong_do_O2” Q4.1 Cảm biến nồng độ CO2 “Nong_do_CO2” Q4.2 Cảm biến nồng độ NO2 “Nong_do_NO2” Q4.3 Cảm biến nhiệt độ than “Nhiet_do_than” Q4.4 Cảm biến lưu lượng than “Luu_luong_than” Q4.5 Cảm biến nhiệt độ gió “Nhiet_do_gio” Q4.6 Cảm biến lưu lượng gió “Luu_luong_gio” Q4.7 Cảm biến áp suất gió “Ap_suat_gio” Q4.8 Cảm biến nhiệt độ Calciner “Nhiet_do_1” Q4.9 Cảm biến áp suất Calciner “Ap_suat” Q4.10 Cảm biến tốc độ động cơ cấp than “Toc_do_thuc” Q4.11 Cảm biến tốc độ động cơ cấp gió “Toc_do_thuc_1” Q4.12 Cảm biến báo sự cố “Bao_su_co” Q4.13 Thông số PID điều khiển hệ thống: Tên đối tượng Tag ghép nối Địa chỉ Kp điều khiển than Kp DD124 Ki điều khiển than Ki DD16 Kd điều khiển than Kd DD20 Kp điều khiển gió Kp_1 DD24 Ki điều khiển gió Ki_1 DD28 Kd điều khiển gió Kd_1 DD32 Hệ thống động cơ: Tên đối tượng Tag ghép nối Địa chỉ Động cơ điều khiển van cấp than “ĐC1” Q4.1 Động cơ điều khiển van cấp gió “ĐC2 Q4.2 Động cơ điều khiển van cấp dầu “ĐC3” Q4.3 Động cơ điều khiển băng tải “ĐC5” Q4.5 Động cơ điều khiển khí từ lò nung lên Calciner “ĐC6” Q4.6 5.5Giao diện giám sát hệ thống: 5.5.1 Giới thiệu: - Từ giao diện giới thiệu ta có thể truy cập vào giao diện chính bằng cách click vào nút “ Precalciner”. Để xem toàn bộ hệ thống - Nêu muốn thoát khỏi chương trình thì click vào nút “ Exit “. 5.5.2 Giao diện chính: Giao diện chính gồm có : Hai hệ thống tháp trao đổi nhiệt 5 tầng. Mỏ đốt. Hệ thống van cấp than, dầu cho mỏ đốt. Hệ thống van cung cấp gió ba cho Calciner. Calciner Ngoài ra ta có thể truy nhập để xem đồ thị nhiệt độ của quá trình cháy bằng cách click vào nút “ Đồ thị “ sau đó chọn “ Đồ thị nhiệt độ “ Khi hệ thống có lỗi thì nút “ Cảnh báo ” sẽ chuyển sang màu đỏ, để phát hiện lỗi từ vị trí nào của hệ thống ta click vào nút này. Ta có thể cài đặt thông số Kp, Ki, Kd của bộ điều khiển gió và bộ điều khiển than khi click vào nút “ ĐK Than “ , “ ĐK Gió “. Ta cũng có thể giám sát tốc độ của động cơ cấp than và động cơ cấp gió khi click vào nút “ ĐC1 “ và “ ĐC2 “ Từ giao diện chính ta có thể giám sát được toàn bộ tình trạng hoạt động của hệ thống. Calciner Bunrner là phần hiện thị số liệu của mỏ đốt bao gồm: + Nhiệt độ dầu cung cấp. + Áp suất dầu cung cấp. + Lượng dầu cung cấp cho mỏ đốt. + Phần trăm cháy của dầu. + Giá trị nhiệt độ đặt của Calciner. + Giá trị nhiệt độ thực của Calciner. Bảng hiện thị nồng độ của các khí có trong Calciner khi quá trình nung xảy ra: + Nồng độ khí O2. + Nồng độ khí CO. + Nồng độ khí NO2. Bảng hiển thị nhiệt độ, lưu lượng của than và gió cung cấp cho mỏ đốt trong một giờ. 5.5.3 Đồ thị: Muốn xem đồ thị biểu diễn nhiệt độ của Calciner theo thời gian ta click vào nút “ Đô thị nhiệt độ “ Bên phải cửa sổ là đồ thị nhiệt độ của Calciner theo thời gian. Bên trái cửa sổ là thông số của nhiệt độ được ghi chi tiết theo từng thời điểm. Cứ một giây giá trị của nhiệt độ lại được cập nhật và gửi về bảng thống kê. Nếu click vào nút hình máy in của bảng thông số nhiệt độ thì tất cả các thống kê này sẽ được in ra một file văn bản, đây là chức năng Report của WinCC. Điều này giúp cho người vận hành có thể giám sát được nhiệt độ của hệ thống một cách triệt để nhất. Ngoài ra các nút còn lại sẽ cho ta thầy đồ thị của nồng độ các khí có trong thành phần cháy của Calciner. Như:O2, CO2, NO2. 5.5.4 Giám sát động cơ: Chức năng này cho ta giám sát được tốc độ của động cơ theo từng thời điểm, điều này giúp cho việc so sánh tốc độ thực và tốc độ đặt của động cơ rất thuận tiện. Các trạng thái làm việc của động cơ cũng được hiển thị trên giao diện giám sát, như: động cơ dừng, động cơ đang chạy, động cơ bị hỏng. Động cơ làm việc ở trạng thái nào thì đèn tín hiệu ở trạng thái đó sẽ nhấp nháy. Ví dụ: động cơ đang chạy việc thì đèn xanh sẽ nhấp nháy. Động cơ cấp than cũng được giám sát với giao diện giống như của động cơ điều khiển gió. 5.5.5 Chức năng điều khiển: Việc nhập tham số điều khiển cho bộ điều khiển than và bộ điều khiển gió được thực hiện từ giao diện điều khiển than và điều khiển gió. Các tham số Kp, Ki, Kd của bộ điều khiển lưu lượng than sẽ được nhập từ cửa sổ này sau khi ấn nút “ Chấp nhận “ số liệu sẽ được truyền xuống PLC qua địa chỉ được khai báo từ trước. Nếu như nhập sai ta có thể hủy bỏ và nhập lại. 5.5.6 Giao diện cảnh báo Nếu có cảnh báo ta chỉ cần truy nhập vào nút “ cảnh báo “ từ đó ta có thể biến nào đang được cảnh báo.Như ở trên ta thấy nut “ nhiệt độ “ chuyển sang mà đỏ tức là biến nhiệt độ đang được cảnh báo. Truy nhập vào đó ta được bảng báo cáo. Từ bảng báo cáo ta có thể biết được thời gian, ngày, giờ xảy ra sự cố để có thể giám sát quy trách nhiệm cho tổ, ca đã vận hành gây ra sự cố. KẾT LUẬN Qua thời gian nghiên cứu, làm việc và được sự chỉ bảo tận tình của cô giáo PGS.TS Phan Xuân Minh. Em đã hoàn thành đồ án tốt nghiệp của mình với các nhiệm vụ: Nghiên cứu công nghệ và hệ thống điều khiển sản xuất xi măng. Khảo sát hệ thống Precalciner của nhà máy. Thiết kế hệ thống điều khiển nhiệt độ cho Precalciner. Thiết kể hệ thống giám sát và thu thập dữ liệu trên nền WinCC. Đồng thời em cũng xin phép được đề xuất các ý kiến phát triển đồ án, để đồ án hoàn thiện hơn và có thể đưa vào áp dụng trong thực tế: Xây dựng quan hệ mờ giữa lưu lượng gió và lưu lượng than cung cấp cho mỏ đốt của Precalciner. Để từ lượng than cung cấp ta có thể biết được lượng gió cần thiết để đảm bảo phản ứng cháy xảy ra hoàn toàn. Do thời gian không có nhiều và lần đầu tiên bắt tay vào thiết kế một hệ thống phức tạp nên đồ án không thể tránh được nhưng thiếu sót, do đó em mong nhận được nhiều sự chỉ bảo góp ý của các thầy giáo, cô giáo để đổ án của chúng em có thể được hoàn thiện hơn nữa. Qua đây em cũng bầy tỏ lòng biết ơn sâu sắc của mình đến các thầy cô giáo trong bộ môn, đặc biệt là cô giáo PGS.TS Phan Xuân Minh cung tập thể cán bộ kỹ sư xưởng Điện – Điện Tử nhà máy xi măng Tam Điệp đã giúp đỡ em rất nhiều tron quá trình làm đồ án. TÀI LIỆU THAM KHẢO [1] Nguyễn Doãn Phước: Lý thuyết điều khiển tuyến tính. Nhà xuát bản Khoa học và Giáo dục,2002. [2] PGS.TS Phan Xuân Minh; Nguyễn Doãn Phước; Vũ Vân Hà: Tự động hóa với Simatic S7 – 300 . Nhà xuất bản Khoa học và Kỹ thuật 2002. [3] Nguyễn Văn Hòa: Cơ sở tự động hóa. [4] Phạm Công Ngô: Lý thuyết điều khiển tự động. [5] Tài liệu kỹ thuật về nhà máy xi măng Tam Điệp Mục Lục Lời nói đầu…………..……………………………………………………...1 Phần 1: Nghiên công nghệ sản xuất xi măng và hệ thống điều khiển của nhà máy...........................................................................................2 Chương 1 Công nghệ sản xuất xi măng……………………………………………….3 Giới thiệu chung về nhà máy……………………………………………3 1.2 Giới thiệu các công đoạn trong nhà máy………………………………..4 Chương 2 Cầu trúc hệ thống điều khiển của nhà máy…………………………...…..9 2.1 Hệ thống điều khiển……………………………………………………..9 2.2 Các vị trí vận hành………………………………………………………9 2.3 Chức năng của hệ thống……………………………………………….10 2.4 Giám sát và điều khiển FLF - ECS Expert…………………………….13 Chương 3 Hệ thống mạng Ethernet toàn nhà máy……………………………….....16 Giới thiêu chung………………………………………………………16 Hệ thống mạnh lưới đầu nối…………………………………………..17 Hoạt động của mạng Ethernet………………………………………...19 Hệ thống PLC Cabinet………………………………………………..22 Bộ xử lý điều khiển ( Process controller)…………………………….25 3.6 Các bộ cung cấp nguồn……………………………………………….25 3.7 Hệ thống chuyển mạch quang FIBER SWICHES……………………25 Phần 2: Thiết kế hệ thống điều khiển nhiệt độ cho Precalciner……….28 Chương 1 Nghiên cứu quá trình tiền nung Clinker…………………………………29 Cấu tạo và chứng năng của PRECALCINER………………………...29 Thiết kế khoang xoáy…………………………………………………30 Nguyên lý buồng trộn…………………………………………………31 Công thức hoạt động………………………………………………….31 Pyromet quang học……………………………………………………32 Phễu cấp than………………………………………………………….32 Van cấp than và động cơ servo hỗ trợ………………………………...32 Mô hình hóa đối tượng:……………………………………………….35 1.9 Nhiệm vụ điều khiển…………………………………………………..36 Chương 2: Thiết kế bộ điều khiển PID cho hệ thống cấp than và cấp gió……...…..37 2.1 Giới thiệu bộ điều khiển PID…………………………………………..37 2.2 Phân tích các luật điều khiển…………………………………………..38 2.3 Xác định tham số cho bộ điều khiển bằng phương pháp tối ưu đối xứng……………………………………………………………………………….43 2.4 Mô phỏng hệ thống cấp than trên nền Matlab Simulink………………48 2.5 Mô phỏng hệ thống cấp gió trên nền Matlab Simulink:……………….49 2.6 Mô phỏng tổng hợp hệ thống…………………………………………..51 Chương 3 Giới thiệu về PLC S7 – 300……………………………………………….53 3.1 Tổng quan về PLC…………………………………………………….53 3.2 Cấu tạo và hoạt động của PLC………………………………………..54 3.3 Lập trình cho PLC…………………………………………………….56 3.4 Các ứng dụng của PLC………………………………………………..57 3.5 PLC thuộc họ Simatic của hãng Siemens……………………………..58 3.6 Kỹ thuật lập trình……………………………………………………...65 Chương 4 Chương trình điều khiển………………………………………………….66 4.1 Cấu trúc chương trình………………………………………………….66 4.2 FC105………………………………………………………………….66 4.3 FC106………………………………………………………………….68 4.4 Giới thiệu về module mềm PID……………………………………….71 4.5 Điều khiển liên tục với FB41 CONT_C……………………………….72 4.6 Chương trình điều khiển trong khối OB35 ……………………………79 Chương 5 Thiết kế hệ thống điều khiển và giám sát hệ thống trên nền WinCC….88 5.1 Tổng quan về WinCC…………………………………………………88 5.2 Các thành phần cơ bản trong một project của WinCC……………….90 5.3 Kết nối giao diện giữa WinCC và PLC……………………………….92 5.4 Địa chỉ kết nối với PLC của các thiết bị trong hệ thống……………..97 5.5Giao diện giám sát hệ thống………………………………………….100 Kết Luận………………………………………………………………….107 Tài liệu tham khảo

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

  • docDAN244.doc