Xây dựng giao diện chương trỡnh hỗ trợ chẩn đoán hệ thống phanh trên xe Corolla

Một phần của tài liệu Ứng Dụng Logic Mờ Xây Dựng Hệ CHuyên Gia Chẩn Đoán Trạng Thái Kỹ Thuật Hệ Thống Phanh trên Xe Con (Trang 71 - 81)

- Khi ta muốn tăng hàm thuộc đầu ra hoặc đầu vào của chương trỡnh ta theo

CỤM XYLANH CHÍNH VÀ BÀN ĐẠP PHANH

4.3 Xây dựng giao diện chương trỡnh hỗ trợ chẩn đoán hệ thống phanh trên xe Corolla

Giao diện chương trỡnh chớnh là sự biểu hiện bờn ngoài liờn kết người sử dụng với phần mềm chẩn đoỏn. Nhờ giao diện người sử dụng sẽ nhập cỏc tham số đầu vào - tức là cỏc thụng số mà người sử dụng đo được hoặc cảm nhận được. Chương trỡnh của ta sẽ thu thập cỏc kết quả nhập được và đưa ra kết quả tớnh toỏn chớnh trờn giao diện.

Để cú được sự hoạt động của chương trỡnh như vậy ta cần cú 3 file là :

hocdoan.fis (file fuzzy), cdp.m (nhằm tạo giao diện nhập thụng số đầu vào), run.m (file chạy chương trỡnh kết nối giửa việc nhập thụng số đầu vào và chương trỡnh chớnh fuzzy của ta ) đồng thời cho ra kết quả dưới dạng số hoặc ngụn ngữ trờn màn hỡnh giao diện .

Trong phần mềm Matlab cú cỏc lệnh hỗ trợ việc tạo giao diện này. Cỏc hàm đú thể hiện như sau :

- Figure là hàm tạo ra khung màn hỡnh với vị trớ so với khung màn hỡnh của mỏy vi tớnh.

- Uicontrol hàm viết ký tự, ta cú thể định dạng kiểu font chữ và vị trớ của dũng text . Trong lệnh uicontrol ta cú thể tạo ra cỏc nỳt bấm pushbutton ,cú thể kết nối callback với cỏc chương trỡnh khỏc.

- Str2num hàm cú chức năng chuyển từ dạng ngụn ngữ chuỗi ký tự string sang dạng số number.

- if

Ifelse ;

break ; lệnh thoỏt khỏi vũng lặp

return ; lệnh quay lại thực hiện cõu lệnh tiếp

end ; kết thỳc vũng lặp

- Readfis lệnh đọc hàm fuzzy, cú đuụi .fis - Evalfis hàm nhận giỏ trị của hàm fuzzy

- clc xoỏ tất cỏc lệnh thực hiện về trước trong cửa sổ command window …

Sau đõy là chương trỡnh chạy :

Cdp.m clc

H=figure('position',[100 100 700 500]);

set(H,'menubar','none','name','He chuyen gia chan doan trang thai ky thuat he thong phanh COROLLA 2000','NumberTitle','off');

t= uicontrol(H,'style','text','string','HE CHUYEN GIA CHAN DOAN TRANG THAI KY THUAT HT PHANH COROLLA 2000',...

'FontSize',12,'FontWeight','bold','HorizontalAlignment','center','position',[0 465 700 20],'foreground',[0 0 1],'background',[0.8 0.8 0.8]);

% thong so bieu hien muc do bo phanh

t= uicontrol(H,'style','text','string','Muc do bo phanh,: 0..1',...

'position',[35 400 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left'); e1= uicontrol(H,'style','edit','position',[250 400 80 20],'BackgroundColor',[1 1 1],... 'string','','tag','e1');

% thong so bieu hien su mat on dinh phanh

t= uicontrol(H,'style','text','string','Muc do mat on dinh phanh: 0..1',...

'position',[35 350 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left'); e2= uicontrol(H,'style','edit','position',[250 350 80 20],'BackgroundColor',[1 1 1],... 'string','','tag','e2');

% thong so bieu hien do cao chan phanh

t= uicontrol(H,'style','text','string','Muc do giam do cao chan phanh: 0..1',...

'position',[35 300 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left'); e3= uicontrol(H,'style','edit','position',[250 300 80 20],'BackgroundColor',[1 1 1],... 'string','','tag','e3');

% thong so bieu hien chan phanh nang nhung phanh khong an

t= uicontrol(H,'style','text','string','Muc do giam hieu qua phanh: 0..1',...

'position',[35 250 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left'); e4= uicontrol(H,'style','edit','position',[250 250 80 20],'BackgroundColor',[1 1 1],... 'string','','tag','e4');

% thong so bieu hien muc do phanh qua an

t= uicontrol(H,'style','text','string','Muc do phanh qua an: 0..1',...

'position',[35 200 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left'); e5= uicontrol(H,'style','edit','position',[250 200 80 20],'BackgroundColor',[1 1 1],... 'string','','tag','e5');

% thong so bieu hien tieng keu khac thuong

'position',[35 150 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left'); e6= uicontrol(H,'style','edit','position',[250 150 80 20],'BackgroundColor',[1 1 1],... 'string','','tag','e6');

%=============

% Nut bam chay chuong trinh

p1= uicontrol(H,'style','pushbutton','position',[460 35 70 40],'string','Chan doan',... 'callback','run');

p2= uicontrol(H,'style','pushbutton','position',[530 35 80 40],'string','Luu so lieu',... 'callback','lusl');

p3= uicontrol(H,'style','pushbutton','position',[610 35 60 40],'string','Thoat',... 'callback','close(gcf)');

% Nhap thong so bieu hien

a=str2num(get(findobj(gcf,'tag','e1'),'string')); b=str2num(get(findobj(gcf,'tag','e2'),'string')); c=str2num(get(findobj(gcf,'tag','e3'),'string')); d=str2num(get(findobj(gcf,'tag','e4'),'string')); e=str2num(get(findobj(gcf,'tag','e5'),'string')); f=str2num(get(findobj(gcf,'tag','e6'),'string')); if isempty(a)|isempty(b)|isempty(c)|isempty(d)|isempty(e)|isempty(f) msgbox('Ban chua nhap du so lieu','Chu y','warn');

break;

return;

end;

% Chan doan mo

x=evalfis([a b c d e f],fismat);

% Chuyen ket qua chan doan sang ngon ngu tu nhien if (0.72<x(1))&(x(1)<1)

xlvabd='co hu hong';

elseif (0.25<x(1))&(x(1)<0.72)

xlvabd='co bien xau trang thai ky thuat'; else

xlvabd='van con tot'; end

if (0.75<x(2))&(x(2)<1) troluc='co hu hong';

elseif (0.32<x(2))&(x(2)<0.75)

troluc='co bien xau trang thai ky thuat'; else

troluc='van con tot'; end

if (0.75<x(3))&(x(3)<1)

duongongdandau='co hu hong'; elseif (0.35<x(3))&(x(3)<0.75)

duongongdandau='co bien xau trang thai ky thuat'; else

duongongdandau='van con tot'; end

if (0.85<x(4))&(x(4)<1) abs-pvan='co hu hong'; elseif (0.4<x(4))&(x(4)<0.85)

else

abs-pvan='van con tot'; end

if (0.72<x(5))&(x(5)<1) ccphanhsau='co hu hong'; elseif (0.18<x(5))&(x(5)<0.72)

ccphanhsau='co bien xau trang thai ky thuat'; else

ccphanhsau='van con tot'; end

if (0.7<x(6))&(x(6)<1)

ccphanhtruoc='co hu hong'; elseif (0.3<x(6))&(x(6)<0.7)

ccphanhtruoc='co bien xau trang thai ky thuat'; else

ccphanhtruoc='van con tot'; end

% HIEN THI GIA TRI THONG SO CHAN DOAN t= uicontrol(H,'style','text','string','Nhomxlcvabd:',... 'position',[350 400 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left');

e7= uicontrol(H,'style','edit','position',[450 400 80 20],'BackgroundColor',[1 1 1],... 'string',num2str(x(1)),'tag','e7');

t= uicontrol(H,'style','text','string','Nhom tlck :',... 'position',[350 350 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left');

'string',num2str(x(2)),'tag','e8');

t= uicontrol(H,'style','text','string','Nhom dodd:',... 'position',[350 300 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left');

e9= uicontrol(H,'style','edit','position',[450 300 80 20],'BackgroundColor',[1 1 1],... 'string',num2str(x(3)),'tag','e9');

t= uicontrol(H,'style','text','string','Nhom abs+pvan:',... 'position',[350 250 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left');

e10= uicontrol(H,'style','edit','position',[450 250 80 20],'BackgroundColor',[1 1 1],...

'string',num2str(x(4)),'tag','e10');

t= uicontrol(H,'style','text','string','Nhom ccps:',... 'position',[350 200 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left');

e11= uicontrol(H,'style','edit','position',[450 200 80 20],'BackgroundColor',[1 1 1],...

'string',num2str(x(5)),'tag','e11');

t= uicontrol(H,'style','text','string','Nhom ccpt:',... 'position',[350 150 350 20],'background',[0.8 0.8 0.8],'HorizontalAlignment','left');

e12= uicontrol(H,'style','edit','position',[450 150 80 20],'BackgroundColor',[1 1 1],...

'string',num2str(x(6)),'tag','e12');

% HIEN THI THONG SO CHAN DOAN QUA NGON NGU

'string',xlvabd,'tag','e7');

e8= uicontrol(H,'style','edit','position',[540 350 80 20],'BackgroundColor',[1 1 1],... 'string',troluc,'tag','e8');

e9= uicontrol(H,'style','edit','position',[540 300 80 20],'BackgroundColor',[1 1 1],... 'string',duongongdandau,'tag','e9');

e10= uicontrol(H,'style','edit','position',[540 250 80 20],'BackgroundColor',[1 1 1],...

'string',abs-pvan,'tag','e10');

e11= uicontrol(H,'style','edit','position',[540 200 80 20],'BackgroundColor',[1 1 1],...

'string',ccphanhsau,'tag','e11');

e12= uicontrol(H,'style','edit','position',[540 150 80 20],'BackgroundColor',[1 1 1],...

'string',ccphanhtruoc,'tag','e12');

* Để chạy chương trỡnh tớnh toỏn ta chỉ cần khởi động Matlab / comman window/ cddc (là sẽ hiển thị giao diện chương trỡnh ).

Tài liệu tham khảo

Một phần của tài liệu Ứng Dụng Logic Mờ Xây Dựng Hệ CHuyên Gia Chẩn Đoán Trạng Thái Kỹ Thuật Hệ Thống Phanh trên Xe Con (Trang 71 - 81)

Tải bản đầy đủ (DOCX)

(82 trang)
w