1
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
LỜI CAM ĐOAN
Tôi tên là Lê Kim Phụng hiện đang là học viên lớp Cao học ngành Tự động
hóa khóa 2008 của Trường Đại học Giao thông Vận tải Thành phố Hồ Chí Minh.
Tôi xin cam đoan và hoàn toàn chịu trách nhiệm về toàn bộ nội dung của luận văn
này do chính tôi thực hiện dưới sự hướng dẫn tận tình của thầy TS. Trương Đình
Châu.
Học viên
Lê Kim Phụng
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
2
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
LỜI CẢM ƠN
Em xin được gởi lời cảm ơn chân thành và sâu sắc đến:
− Quý thầy cô Trường Đại học Giao Thông Vận Tải Thành Phố Hồ Chí Minh và
quý thầy cô Trường Đại học Bách Khoa Thành Phố Hồ Chí Minh đã giảng dạy cho
em nhiều kiến thức bổ ích trong suốt quá trình học tập, cũng như quá trình nghiên
cứu.
− Quý thầy cô Phòng Khoa học Công nghệ và Đào Tạo sau Đại học Trường Đại
học Giao thông Vận tải Thành Phố Hồ Chí Minh đã tạo mọi điều kiện để em hoàn
thành luận văn này.
− Các bạn học viên, sinh viên đã học tập và đang giảng dạy tại Trường Đại Học
Công Nghiệp Thành Phố Hồ Chí Minh, Trường Đại học Bách Khoa Thành Phố Hồ
Chí Minh, Trường Cao Đẵng Kinh tế Kỹ thuật Phú Lâm Thành Phố Hồ Chí Minh
đã nhiệt tình giúp đỡ em hoàn thành luận văn này.
− Đặc biệt em xin được gởi lời biết ơn chân thành sâu sắc đến thầy Tiến sĩ
Trương Đình Châu, người hướng dẫn và định hướng đề tài đã tận tình giúp đỡ để
em hoàn thành được luận văn này.
− Cuối cùng em xin cảm ơn các bạn học viên Cao học, đồng nghiệp, người thân
và gia đình đã giúp đỡ em trên con đường học tập và nghiên cứu.
Học viên
Lê Kim Phụng
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
3
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
MỤC LỤC
Trang phụ bìa
Lời cam đoan
Mục lục
Danh mục các bảng
Danh mục các hình
MỞ ĐẦU
Chương 1 – TỔNG QUAN ....................................................................................12
1.1 ĐẶT VẤN ĐỀ................................................................................................13
1.2 TÍNH CẤP THIẾT CỦA LUẬN VĂN.........................................................14
1.3 MỤC TIÊU CỦA LUẬN VĂN ....................................................................14
Chương 2 - GIẢI PHÁP HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN CÁC
TRẠM BƠM XĂNG DẦU ....................................................................................15
2.1 GIỚI THIỆU CẤU TRÚC HỆ THỐNG SCADA ĐA CẤP.........................16
2.1.1 Cấu trúc phần cứng ...............................................................................16
2.1.2 Phần mềm của hệ thống SCADA .........................................................17
2.2 GIẢI PHÁP THIẾT KẾ HỆ THỐNG ...........................................................18
2.2.1 Đặt vấn đề .............................................................................................18
2.2.2 Phân tích yêu cầu của hệ thống giám sát và điều khiển các trạm bơm xăng
dầu…......... ..................................................................................................19
2.2.3 Giải pháp hệ thống phần cứng ..............................................................19
2.2.4 Giải pháp phần mềm .............................................................................20
2.2.5 Giải pháp quản lý và lưu trữ dữ liệu .....................................................20
2.3 XÂY DỰNG CẤU TRÚC HỆ THỐNG .......................................................21
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
4
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
2.3.1 Cấu trúc hệ thống giám sát và điều khiển các trạm bơm xăng dầu ......21
2.3.2 Nguyên lý hoạt động của hệ thống .......................................................22
2.3.3 Chức năng nhiệm vụ của các cấp trong hệ thống .................................23
2.4 GIẢI PHÁP PHẦN MỀM.............................................................................25
2.4.1 Tổng quan hệ thống phần mềm ............................................................25
2.4.2 Xây dựng Server dữ liệu thời gian thực ...............................................26
2.4.3 Xây dựng hệ cơ sở dữ liệu quan hệ .....................................................27
Chương 3 - THIẾT KẾ MÔ HÌNH HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN
CÁC TRẠM BƠM XĂNG DẦU...........................................................................27
3.1 XÂY DỰNG HỆ THỐNG PHẦN CỨNG ....................................................28
3.1.1 Cấu trúc phần cứng của mô hình ..........................................................29
3.1.2 Cấu trúc phần cứng của hệ thống .........................................................31
3.1.3 Thiết kế hệ thống phần cứng ................................................................32
3.2 TRUYỀN THÔNG.........................................................................................57
3.2.1 Cáp PC/PPI .............................................................................................57
3.2.2 Các chuẩn giao tiếp................................................................................60
3.2.3 Thiết kế mạch truyền thông ...................................................................65
3.3 LƯU ĐỒ GIẢI THUẬT.................................................................................73
3.3.1 Lưu đồ giải thuật trên vi điều khiển PIC ..............................................73
3.3.2 Lưu đồ giải thuật trên PLC ...................................................................79
3.4 THIẾT KẾ PHẦN MỀM GIAO DIỆN .........................................................81
3.4.1 Tổng quan hệ thống phần mềm. ...........................................................81
3.4.2 Xây dựng giao diện quản lý hệ thống. ..................................................82
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
5
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
Chương 4 - KẾT LUẬN.........................................................................................91
4.1 CÁC KẾT QUẢ ĐẠT ĐƯỢC ......................................................................91
4.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI ..................................................................93
TÀI LIỆU THAM KHẢO ......................................................................................95
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
6
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
DANH MỤC CÁC BẢNG
Bảng 3.1 - Vị trí công tắc chọn tốc độ truyền cáp PC/PPI.......................................58
Bảng 3.2 - Các chân của cổng RS – 232 ở cáp PC/PPI ...........................................59
Bảng 3.3 - Thời gian quay vòng của cáp PC/PPI .....................................................59
Bảng 3.4 – Chức năng các chân của rãnh cắm RS232. .............................................61
Bảng 3.5 - Các chân của cổng truyền thông S7-200 ..............................................63
Bảng 3.6 - So sánh các chuẩn truyền thông nối tiếp. ...............................................64
Bảng 3.7 - Hoạt động truyền ........................................................................... 1;
output_low(pin_e0);
//clear shift clock
if (digital ==0b1000000000000000)
output_high(pin_e2);
else
output_low(pin_e2);
output_high(pin_e0);
// set shift clock
}
output_high(pin_e1); // set latch clock
}
void maled(int8 num)
{
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
129
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
switch(num)
{
case 0:
portb=0x0F;
break;
case 1:
portb=0x1F;
break;
case 2:
portb=0x2F;
break;
case 3:
portb=0x3F;
break;
case 4:
portb=0x4F;
break;
case 5:
portb=0x5F;
break;
case 6:
portb=0x6F;
break;
case 7:
portb=0x7F;
break;
case 8:
portb=0x8f;
break;
case 9:
portb=0x9F;
break;
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
130
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
}
}
// ham goi command
void TraCommand(int8 comm)
{
output_high(pin_A1); // set /EN
output_low(pin_A2); // clear RS (command)
dich(comm);
// goi data ra bus
output_low(pin_A1); // clear /EN ---> tao canh xuong
delay_ms(3);
}
// ham goi data
void TraData(int8 data)
{
output_high(pin_A2); //set RS (data)
output_high(pin_A1); // set /EN
dich(data);
output_low(pin_A1);
//clear /EN
delay_ms(3);
}
// chuong trinh dich tren 74HC595
void dich(int8 digital1)
{
int8 temp,i;
temp = digital1;
output_low(pin_c2); // clear latch clock
for ( i =0;i<8;i++)
{
digital1 = temp & 0b10000000;
temp = temp << 1;
output_low(pin_c1);
//clear shift clock
if (digital1 ==0b10000000)
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
131
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
output_high(pin_c3);
else
output_low(pin_c3);
output_high(pin_c1);
// set shift clock
}
output_high(pin_c2); // set latch clock
}
void traphim()
{
///////////////////////////////
portd=0b1110;
delay_ms(3);
if(input(pin_d4)==0)
{
delay_us(100);
if(input(pin_d4)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d4)){;}
}
phim=1;
}
}
if(input(pin_d5)==0)
{
delay_us(100);
if(input(pin_d5)==0)
{
int a;
for(a=0;a<200;a++)
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
132
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
{
while(!input(pin_d5)){;}
}
phim=2;
}
}
if(input(pin_d6)==0)
{
delay_us(100);
if(input(pin_d6)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d6)){;}
}
phim=3;
}
}
if(input(pin_d7)==0)
{
delay_us(100);
if(input(pin_d7)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d7)){;}
}
phim=4;
}
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
133
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
}
/////////////////////////////////////////////////
portd=0b1101;
delay_ms(3);
if(input(pin_d4)==0)
{
delay_us(100);
if(input(pin_d4)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d4)){;}
}
phim=5;
}
}
if(input(pin_d5)==0)
{
delay_us(100);
if(input(pin_d5)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d5)){;}
}
phim=6;
}
}
if(input(pin_d6)==0)
{
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
134
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
delay_us(100);
if(input(pin_d6)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d6)){;}
}
phim=7;
}
}
if(input(pin_d7)==0)
{
delay_us(100);
if(input(pin_d7)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d7)){;}
}
phim=8;
}
}
///////////////////////////////
portd=0b1011;
delay_ms(3);
if(input(pin_d4)==0)
{
delay_us(100);
if(input(pin_d4)==0)
{
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
135
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d4)){;}
}
phim=9;
}
}
if(input(pin_d5)==0)
{
delay_us(100);
if(input(pin_d5)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d5)){;}
}
phim=10;
}
}
if(input(pin_d6)==0)
{
delay_us(100);
if(input(pin_d6)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d6)){;}
}
phim=11;
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
136
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
}
}
if(input(pin_d7)==0)
{
delay_us(100);
if(input(pin_d7)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d7)){;}
}
phim=12;
}
}
/////////////////////////////////////////////////
portd=0b0111;
delay_ms(3);
if(input(pin_d4)==0)
{
delay_us(100);
if(input(pin_d4)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d4)){;}
}
phim=13;
}
}
if(input(pin_d5)==0)
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
137
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
{
delay_us(100);
if(input(pin_d5)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d5)){;}
}
phim=14;
}
}
if(input(pin_d6)==0)
{
delay_us(100);
if(input(pin_d6)==0)
{
int a;
for(a=0;a<200;a++)
{
while(!input(pin_d6)){;}
}
phim=15;
}
}
if(input(pin_d7)==0)
{
delay_us(100);
if(input(pin_d7)==0)
{
int a;
for(a=0;a<200;a++)
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
138
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
{
while(!input(pin_d7)){;}
}
phim=16;
}
}
}
void gtphim_so(int phim)
{
SWITCH (phim)
{
CASE 2:
//tradata('0');
if(s!=0)
{
phimso[s]=0;
phimchu[s]='0';
tradata(phimchu[s]);
s++;
}
BREAK;
CASE 5:
//tradata('1');
phimso[s]=1;
phimchu[s]='1';
tradata(phimchu[s]);
s++;
BREAK;
CASE 6:
//tradata('2');
phimso[s]=2;
phimchu[s]='2';
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
139
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
tradata(phimchu[s]);
s++;
BREAK;
CASE 7:
//tradata('3');
phimso[s]=3;
phimchu[s]='3';
tradata(phimchu[s]);
s++;
BREAK;
CASE 9:
//tradata('4');
phimso[s]=4;
phimchu[s]='4';
tradata(phimchu[s]);
s++;
BREAK;
CASE 10:
//tradata('5');
phimso[s]=5;
phimchu[s]='5';
tradata(phimchu[s]);
s++;
BREAK;
CASE 11:
//tradata('6');
phimso[s]=6;
phimchu[s]='6';
tradata(phimchu[s]);
s++;
BREAK;
CASE 13:
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
140
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
/////tradata('7');
phimso[s]=7;
phimchu[s]='7';
tradata(phimchu[s]);
s++;
BREAK;
CASE 14:
//tradata('8');
phimso[s]=8;
phimchu[s]='8';
tradata(phimchu[s]);
s++;
BREAK;
CASE 15:
//tradata('9');
phimso[s]=9;
phimchu[s]='9';
tradata(phimchu[s]);
s++;
BREAK;
}
}
void gtphim_khac(int phim)
{
SWITCH (phim)
{
CASE 1:
//tradata('#');
tradata('0');
tradata('0');
tradata('0');
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
141
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
BREAK;
CASE 3:
// tradata('*');
tam=0;
s=0;
gia_tien=0;
xung=0;
giado=0;
tracommand(0x01);
tradata(' ');
tradata(' ');
tradata(' ');
tradata(' ');
tradata(' ');
tradata(' ');
tracommand(0x01);
BREAK;
CASE 4:
//tradata('D');
tinh_xung();
BREAK;
CASE 8:
//tradata('C')
BREAK;
CASE 12:
// tradata('B');
BREAK;
CASE 16:
//tradata('A');
BREAK;
}
}
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng
142
GVHD: TS. TRƯƠNG ĐÌNH CHÂU
void khoi_dong_lcd()
{
tracommand(0x01);
}
void giai_ma_lit_do()
{
so_lit=xung*16.667;
led12=so_lit/10000;
led13=(so_lit%10000)/1000;
led14=(so_lit%1000)/100;
led15=(so_lit%100)/10;
}
void giai_ma_gia_do()
{
led6=giado/100000;
led7=(giado%100000)/10000;
led8=(giado%10000)/1000;
led9=(giado%1000)/100;
led10=(giado%100)/10;
led11=(giado%10);
}
void giai_ma_gia_dat()
{
led6=gia_tien/100000;
led7=(gia_tien%100000)/10000;
led8=(gia_tien%10000)/1000;
led9=(gia_tien%1000)/100;
led10=(gia_tien%100)/10;
led11=(gia_tien%10);
}
Luận văn Thạc sĩ kỹ thuật
HVTH: Lê Kim Phụng