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

