Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ thuật PLC Việt Nam
MỤC LỤC
LỜI CẢM ƠN i
PHIẾU ĐÁNH GIÁ KẾT QUẢ THỰC TẬP ii
NỘI DUNG THỰC TẬP iv
PHẦN 1 LẬP TRÌNH PLC S7-300 VÀ PHẦN MỀM SCADA 7
CHƯƠNG 1 LẬP TRÌNH SCL S7-300 TRÊN STEP7 MANAGER 7
CHƯƠNG 2 LẬP TRÌNH S7-300 TRÊN PHẦN MỀM TIA PORTAL 13
1). Giới thiệu về phần mềm TIA portal . 13
2). Sử dụng TIA portal để cấu hình cho các trạm MPS 300. 13
CHƯƠNG 3 KẾT NỐI CÁC PHẦN MỀM SCADA VỚI S7300 VÀ OPC SERVER 17
I) GIAO TIẾP S7-300 VỚI CÁC PHẦN MỀM SCADA THÔNG QUA CÁP USB MPI 17
1. Kết nối S7-300 với WinCC. 17
2. Kết nối S7-300 với các phần mềm SCADA khác. 19
A. Cấu hình các thông số trên phần mềm IBH OPC Server. 20
B. Cấu hình trên phần mềm Citect SCADA để liên kết với IBH OPC. 24
II) GIAO TIẾP S7-300 VỚI CÁC PHẦN MỀM SCADA THÔNG QUA CÁP
ETHERNET . 27
A. Cấu hình cho PLC . 27
B. Cấu hình cho máy tính . 32
C. Cấu hình cho OPC Server . 33
CHƯƠNG 4 TRAO ĐỔI DỮ LIỆU TỪ WINCC VÀ SQL DATABASE 37
PHẦN 2 LẬP TRÌNH ĐIỀU KHIỂN VÀ GIÁM SÁT TRẠM MPS 44
A. TRẠM CUNG CẤP 44
1. Chức năng . 44
2. Các module và I/O. 45
3. Lập trình chương trình điều khiển. 48
4. Thiết kế chương trình giám sát. 57
B. TRẠM PHÂN LOẠI SẢN PHẪM 60
1) Chức năng . 61
2) Các module và I/O. 61
3) Lập trình chương trình điều khiển. 63
4) Thiết kế chương trình giám sát. 69
C. TRẠM BỒN NƯỚC - EDUKIT PA 72
1. Giới thiệu hệ thống bồn nước:. 72
2. Cấu tạo: . 72
3. Kết nối hệ thống với PLC S7-300:. 76
4. Giải thuật PID ổn định mực nước và lập trình khối PID bằng Ngôn ngữ SCL . 77
left, top; left = GetLeft("Root_Screen.pdl","PHOI"); // bang tai chyen dong if ( GetTagBit ("motor_bangtai")==1 ) { if ( GetTagWord("THOIGIAN_KIEMTRA") >0 && GetTagBit("THANHCHAN") ==0 ) { if ( GetLeft("Root_Screen.pdl","PHOI") < 380 ) { left = left + 10; SetLeft("Root_Screen.pdl","PHOI",left); } else { left = 380; top = 240; SetLeft("Root_Screen.pdl","PHOI",left); SetTop("Root_Screen.pdl","PHOI",top); } Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm SV: Nguyễn Phước Lộc trang 70 GVHD: TS. Nguyễn Thiện Thành } else if ( GetTagWord("THOIGIAN_KIEMTRA") == 0 && GetTagBit("THANHCHAN") == 1) { if ( GetTagBit("W2") == 1 && GetLeft("Root_Screen.pdl","PHOI") < 613 ) { left = left + 15; SetLeft("Root_Screen.pdl","PHOI",left); } else if ( GetTagBit("W1") == 1 && GetLeft("Root_Screen.pdl","PHOI") < 708 ) { left = left + 15; SetLeft("Root_Screen.pdl","PHOI",left); } else if ( GetTagBit("W1") == 0 && GetTagBit("W2") == 0 && GetLeft("Root_Screen.pdl","PHOI") < 790 ) { left = left + 15; SetLeft("Root_Screen.pdl","PHOI",left); } } } // dat lai vi tri ban dau if ( GetTagBit ("co_vat_xuong")==1 ) { if ( GetTagBit("W2") == 1 && GetTagBit("W1") == 0 ) // PHOI MAU DO { left = 689; top = 92 ; SetLeft("Root_Screen.pdl","PHOI",left); SetTop("Root_Screen.pdl","PHOI",top); } if ( GetTagBit("W1") == 1 && GetTagBit("W2") == 0 ) // PHOI MAU DEN { left = 780; top = 92 ; SetLeft("Root_Screen.pdl","PHOI",left); SetTop("Root_Screen.pdl","PHOI",top); } if ( GetTagBit("W1") == 0 && GetTagBit("W2") == 0 ) // PHOI KIM LOAI { left = 870; top = 92 ; SetLeft("Root_Screen.pdl","PHOI",left); SetTop("Root_Screen.pdl","PHOI",top); } } if (GetTagBit("RESET") == 1 ) { left = 270; top = 240; SetLeft("Root_Screen.pdl","PHOI",left); SetTop("Root_Screen.pdl","PHOI",top); } return 0; Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm SV: Nguyễn Phước Lộc trang 71 GVHD: TS. Nguyễn Thiện Thành } Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển Trạm Bồn Nước SV: Nguyễn Phước Lộc trang 72 GVHD: TS. Nguyễn Thiện Thành C. TRẠM BỒN NƯỚC - EDUKIT PA 1. Giới thiệu hệ thống bồn nước: EDUKIT PA là một hệ thống 2 bồn nước đôi được thiết kế bởi Festo nhằm mục đích đào tạo và nghiên cứu về điều khiển hệ thống vòng kín đơn giản. Bên cạnh đó, người sử dụng sẽ được làm quen với việc sử dụng một số loại cảm biến như: cảm biến tiệm cận, cảm biến lưu lượng, cảm biến áp suất, cảm biến điện dung 2. Cấu tạo: Hệ thống gồm 2 bồn nước được kết nối với nhau bởi các ống dẫn và van và các khớp nối rẽ nhánh, một bơm tuyến tính để bơm nước từ bồn B101 sang bồn B102 và các cảm biến để xác định mực nước trong các bồn, áp suất trong đường ống và lưu lượng nước trong ống. Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển Trạm Bồn Nước SV: Nguyễn Phước Lộc trang 73 GVHD: TS. Nguyễn Thiện Thành Sơ đồ P&ID của hệ thống Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển Trạm Bồn Nước SV: Nguyễn Phước Lộc trang 74 GVHD: TS. Nguyễn Thiện Thành Hình ảnh thực tế Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển Trạm Bồn Nước SV: Nguyễn Phước Lộc trang 75 GVHD: TS. Nguyễn Thiện Thành Các cảm biến sử dụng trên KIT: Cảm biến lưu lượng: Flow sensor type 2 Cảm biến lưu lượng là thiết bị để cảm biến tốc độ dòng chảy của chất lỏng trong suốt thông qua hệ thống opto hồng ngoại. Thông số kĩ thuật: - Điện áp cung cấp cho phép: 8 – 24 V - Dòng tiêu thụ: 18 – 30 mA - Tần số (ngõ ra): 40 – 1200 Hz - Giới hạn đo: 0.3 – 9 l/min - Áp suất hoạt động: Max 10 bar Cảm biến áp suất: Pressure sensor Cảm biến có thể được kết nối với công nghệ 2 dây hay 3 dây. Việc bù áp suất được thực hiện bởi 1 lỗ trống trên đàu của cảm biến. Thông số kĩ thuật: - Tầm đo: 0 400 mbar - Tầm nhiệt độ: o Nhiệt độ xử lí: -25ºC +100ºC o Nhiệt độ tích lũy: -40ºC +85ºC o Nhiệt độ môi trường cho phép: -25ºC +85ºC o Tầm nhiệt bù: -10ºC +55ºC - Nguồn cung cấp: o Điện áp danh định: 24 VDC o Tầm điện áp: 11 VDC 40 VDC o Áp cung cấp cho phép max: 40 VDC - Tín hiệu ra: o Kỹ thuật 2 dây: 4 20 mA o Kỹ thuật 3 dây: 0 20 mA hay 0 10 V - Thời gian đáp ứng: 3ms Cảm biến tiệm cận điện dung: Capacitive proximity sensor Nguyên lý hoạt động của cảm biến tiệm cận điện dung dựa trên việc ước lượng 1 thay đổi điện dung của tụ điện trong mạch RC. Thông số kĩ thuật: - Điện áp hoạt động cho phép: 12 – 48 VDC - Khoảng cách ngắt danh định: 9.5 – 10 mm - Trễ (liên quan tới khoảng cách ngắt): 1.9 – 2 mm Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển Trạm Bồn Nước SV: Nguyễn Phước Lộc trang 76 GVHD: TS. Nguyễn Thiện Thành - Dòng tối đa trên tiếp xúc: 20 mA - Tiêu thụ dòng khi rảnh ( tại 55V): ≤20 mA - Nhiệt độ hoạt động cho phép: -10ºC +50ºC Cảm biến siêu âm: Ultrasonic sensor Hàm nguyên lý của 1 cảm biến siêu âm dựa trên sự phát sóng âm và việc phát hiện theo phản xạ thông qua 1 đối tượng. Thông số kĩ thuật: - Ngõ ra Analogue ( tầm điện áp): 0 – 10V - Nhiệt độ xung quanh: -25ºC 70ºC - Điện áp hoạt động: 24 VDC - Tầm điện áp hoạt động: 10 – 35 VDC - Dòng rảnh IO: <50 mA - Tầm đo: o Chương trình: 48 – 270 mm o Cài đặt công nghiệp: 50 – 300 mm 3. Kết nối hệ thống với PLC S7-300: Loại PLC : CPU 313C6ES7 313-5BF03-0AB0 , có tích hợp module AnalogAI5/AO2, module DI24/DO16. Cảm biến siêu âm xác định mực nước trong bồn B102 được nối với ngõ vào analog PIW752 Cảm biến lưu lượng : PIW754 Cảm biến áp suất : PIW756 Cảm biến tiệm cận xác định giới hạn dưới được nối với ngõ vào: I0.4 Cảm biến tiệm cận xác định giới hạn trên được nối với ngõ vào: I0.3 Bơm tuyến tính được nối với ngõ ra analog PQW 752 Van xả: Q0.0 Relay cho phép bơm hoạt động: Q0.2 Nút nhấn Start: I1.0 Nút nhấn Stop: (thường đóng) I1.3 Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển Trạm Bồn Nước SV: Nguyễn Phước Lộc trang 77 GVHD: TS. Nguyễn Thiện Thành Đấu dây của các cảm biến 4. Giải thuật PID ổn định mực nước và lập trình khối PID bằng Ngôn ngữ SCL Cơ sở lý thuyết: PID (Proportional Integral Derivative) là một trong những thuật toán được sử dụng phổ biến nhất trong điểu khiển quá trình (process control) các hệ thống kín (điều khiển có hồi tiếp). Sơ đồ khối của thuật toán PID: Mô hình toán học của bộ điều khiển PID đơn giản: 𝑈𝑑𝑘(𝑡) = 𝐾𝑝 ∗ 𝑒(𝑡) + 𝐾𝑖 ∫ 𝑒(𝑡)𝑑(𝑡) 𝑡 0 + 𝐾𝑑 𝑑𝑒(𝑡) 𝑑𝑡 Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển Trạm Bồn Nước SV: Nguyễn Phước Lộc trang 78 GVHD: TS. Nguyễn Thiện Thành Ảnh hưởng của các khâu tỉ lệ (P), tích phân (I) và đạo hàm (D) lên hệ thống: Đáp ứng vòng kín Thời gian lên Độ vọt lố Thời gian xác lập Sai số xác lập Kp Giảm Tăng Thay đổi nhỏ Giảm Ki Giảm Tăng Tăng Loại bỏ Kd Thay đổi nhỏ Giảm Giảm Thay đổi nhỏ Ảnh hưởng của các khâu P,I,D là cơ sở để chọn các hệ số phù hợp với hệ thống trong quá trình lập trình. Khâu tỉ lệ (P) sẽ ảnh hưởng nhiều đến thời gian lên (rising time) và đáp ứng của hệ thống, tuy nhiên nếu không chọn giá trị Kp hợp lý sẽ gây ra độ vọt lố cao và làm hệ thống giao động. Khâu tích phân (I) có tác dụng triệt tiêu sai số xác lập của hệ thống, giúp cho hệ thống đáp ứng nhanh lên nhưng đồng thời cũng dễ gây ra độ vọt lố lớn và làm tăng thời gian xác lập. Khâu vi phân ( D) có tác dụng hiệu chỉnh để giảm thời gian xác lập và độ vọt lố, tuy nhiên do đặc tính của khâu vi phân là nhạy với nhiễu tần số cao nên rất dễ làm cho hệ thống mất ổn định . Vì vậy đây là khâu ít được sử dụng nhất trong 3 thông số của bộ điều khiển này. Xây dựng thuật toán PID điều khiển hệ thống bồn nước bằng ngôn ngữ lập trình có cấu trúc SCL: Chương trình chính OB1: Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển Trạm Bồn Nước SV: Nguyễn Phước Lộc trang 79 GVHD: TS. Nguyễn Thiện Thành Chương trình OB 35: Khối ngắt thời gian theo chu kỳ OB35 gọi đọc giá trị cảm biến siêu âm, gọi hàm PID và xuất giá trị điều khiển ra bơm. Chương trình khối hàm PID FB1: IF (#Out_type=1) THEN #KO1 := #Out_max; #KO2 := -#Out_max; ELSE #KO1 := #Out_max; #KO2 := 0; END_IF; #Error_0 := #Set_val- #Real_val; #Error_sum := #Error_sum_1*0.995+ #Error_0; IF (#Error_sum > 30000) THEN //hàm bão hòa cho khâu I #Error_sum_1 := 30000; ELSIF (#Error_sum <= -30000) THEN Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam Lập trình điều khiển Trạm Bồn Nước SV: Nguyễn Phước Lộc trang 80 GVHD: TS. Nguyễn Thiện Thành #Error_sum_1 := -30000; ELSE #Error_sum_1 := #Error_sum; END_IF; IF (#Error_0 >= 1000) THEN #Udk_temp := #Out_max; ELSIF (#Error_0>500) THEN #Udk_temp := #Out_max*3/4; ELSE #Error_den:= #Error_0-#Error_1; #Error_1 := #Error_0; #Udk_temp := #Kp*#Error_0; #Udk_temp := #Udk_temp+ #Ki* #Error_sum_1; #Udk_temp := #Udk_temp+ #Kd* #Error_den; IF(#Udk_temp >= #Out_max) THEN //hàm bão hòa tín hiệu ngõ ra #Udk_temp := #Out_max; ELSIF (#Udk_temp <= 0) THEN #Udk_temp := 0; ELSE ; END_IF; END_IF; IF (#Error_0=0) THEN #Error_sum := 0; END_IF; #Output := REAL_TO_INT( #Udk_temp); Tùy vào tầm giá trị đặt khác nhau và các hệ thống khác nhau, ta sẽ chọn được các bộ hệ số PID phù hợp với yêu cầu điều khiển. trong trường hợp này với hệ số đã chọn tương ứng với giá trị đặt, độ vọt lố của hệ thống <2% và sai số xác lập <=0.5%.
File đính kèm:
- bao_cao_thuc_tap_tot_nghiep_cong_ty_tnhh_ky_thuat_plc_viet_n.pdf