Thiết lập thuộc tính cho các thành phần của GUI.

Một phần của tài liệu Nghiên cứu thiết kế chế tạo mạch giao tiếp giữa máy tính và ecu điều khiển động cơ (Trang 135 - 139)

- Thanh ghi điều khiển timer (TCON)

THIẾT KẾ GIAO DIỆN GIAO TIẾP BẰNG MATLAB

5.6.2.3. Thiết lập thuộc tính cho các thành phần của GUI.

Để tạo thuộc tính cho mỗi thành phần GUI, chọn Property Inspector từ trình đơn View để hiển thị hộp thoại Property Inspector.

Để tạo màu nền cho giao diện hoặc nút nhấn, ta hiệu chỉnh thuộc tính BackgroundColor cho phù hợp.

Hình 5.20. Chỉnh thuộc tính màu nền trong Hộp thoại property Inspector

Tên thuộc tính

Trong phần Property Inspector chọn figures. Tại Name, gõ vào tên trang giao diện T_CHU.

Đặt tính tiêu đề

Ta cĩ thể thay đổi tiêu đề nằm giữa, nằm trên đỉnh của panel hoặc xĩa bỏ chúng, ta chọn panel trong Layout Editor và di chuyển con trỏ vào trong Property Inspector chọn Title và xĩa từ Panel. Nếu dùng tên, ta cĩ thể sử dụng thuộc tính TitlePosition để điều khiển vị trí thanh tiêu đề.

Chuỗi thuộc tính dành cho những nút nhấn và văn bản tĩnh

Để dễ sử dụng, trước khi đặt nhãn cho các nút nhấn cũng như cho giao diện, ta nên chọn phơng chữ, kiểu chữ, kích thước, màu sắc…

Hình 5.22. Chỉnh thuộc tính phơng chữ trong hộp thoại property Inspector

Sau đĩ, cĩ thể đặt nhãn cho các nút nhấn trong giao diện điều khiển bằng thuộc tính String. Muốn đặt cho nút nhấn, chọn nút nhấn trên Layout Editor và trong phần Property Inspector, chọn thuộc tính String và đánh tên cần đổi như ĐỌC MÃ LỖI.

Thuộc tính Tag

Ta gán thuộc tính Tag cĩ tên là MLOI

Hình 5.23. Chỉnh thuộc tính String và Tag trong hộp thoại property Inspector

Khi lưu hoặc chạy GUI, GUIDE tạo ra một tập tin M gồm những hàm sẵn cĩ cho mỗi thành phần. GUIDE tạo ra một tên hàm duy nhất cho mỗi hàm callback trong tập tin M, bằng cách thêm giá trị của thuộc tính Tag thành chuỗi – Callback. Chẳng hạn, nếu tên của tập tin M trong GUI là T_CHU, thì giá trị mới của thuộc tính callback sẽ trở thành.

Hình 5.24. Chỉnh thuộc tính tên callback trong Hộp thoại property Inspector

Tương tự, đổi những thuộc tính tag của các nút nhấn thành D_DL, HDAN, THOAT, ST, IG.

Sau khi thực hiện hiệu chỉnh cho tất cả các nút nhấn ta được tập tin .fig cĩ dạng như hình 5.25.

Hình 5.25. Trang chủ khi hiệu chỉnh thuộc tính của các thành phần trong layout editor.

5.6.2.4. Lập trình GUI

Sau khi sắp xếp GUI và đặt thuộc tính thành phần, bước tiếp theo là thiết lập các thuộc tính đối tượng. Trình tự thực hiện như sau:

Tạo tập tin M GUI

Khi lần đầu lưu và chạy GUI, GUIDE tạo ra một hàm trong tập tin M mà nĩ chứa các callback thường sử dụng đối với mỗi thành phần. Nĩ cũng chứa một vài mã khởi tạo, một callback hàm opening và một callback hàm output. Mỗi callback là một hàm phụ mà lúc đầu gồm một khung làm việc chỉ chứa một hàm xác định. Chúng ta phải thêm mã vào callback để chúng hoạt độâng theo ý muốn.

Mở tập tin M- GUI

Trong phần này, cĩ thể thêm mã vào callbacks cho 6 nút nhấn. Để mở tập tin M-file, chúng ta cĩ thể mở nĩ tại editor MATLAB bằng việc nhấp vào biểu tượng Editor M-file trên thanh cơng cụ. Trong Editor chọn biểu tượng Function (f)

trên thanh cơng cụ, sau đĩ chọn callback bạn muốn trong trình đơn pop-up vừa hiển thị.

Hình 5.26. Tập tin M-file được tạo ra khi chạy GUI

Thêm mã vào hàm Opening

Trong ví dụ này, chúng ta thêm mã để hiện thị một ảnh cĩ tên banner.jpg, được lưu trong thư mục demos.

set(hObject, 'Units', 'pixels');

handles.banner = imread([matlabroot filesep 'demos' filesep 'banner.jpg']); % đọc tập tin ảnh cĩ tên banner.jpg

info = imfinfo([matlabroot filesep 'demos' filesep 'banner.jpg']); % xác định kích thước ảnh

position = get(hObject, 'Position');

set(hObject, 'Position', [position(1:2) info.Width + 1000 info.Height + 500]); axes(handles.hinh);

image(handles.banner) set(handles.hinh, ... 'Visible', 'on', ... 'Units', 'pixels', ...

'Position', [1 1 0.8*info.Width 0.8*info.Height]);

Thêm mã vào callback

Khi GUI đã hồn tất và đang chạy, người sử dụng nhấp vào một giao diện điều khiển như là nút nhấn, MATLAB thực thi callback được chỉ rõ bằng các thuộc tính callback thành phần.

Mỗi nút nhấn tạo một liên kết đến các trang giao diện phụ khác. Để thực thi việc này cần lập trình cho từng callback của nút nhấn đĩ.

Nút nhấn ĐỌC DỮ LIỆU

function D_DL_Callback(hObject, eventdata, handles) f = open('D_DL.fig') ;

data = guihandles(f);

data.errorString = 'Total number of mistakes: '; data.numberOfErrors = 0;

guidata(f, data);

Nút nhấn ĐỌC MÃ LỖI

function MLOI_Callback(hObject, eventdata, handles) f = openfig('M_LOI.fig');

data = guihandles(f);

data.errorString = 'Total number of mistakes: '; data.numberOfErrors = 0;

guidata(f, data);

Nút nhấn HƯỚNG DẪN

function HDAN_Callback(hObject, eventdata, handles) f = openfig('HDAN.fig');

data = guihandles(f);

data.errorString = 'Total number of mistakes: '; data.numberOfErrors = 0;

guidata(f, data);

Nút nhấn THỐT

user_response = modaldlg('Title','T_CHU'); switch user_response

case {'Thốt giao diện'}

close T_CHU % đĩng T_CHU case 'Thốt Matlab'

exit % đĩng chương trình Matlab end

Một phần của tài liệu Nghiên cứu thiết kế chế tạo mạch giao tiếp giữa máy tính và ecu điều khiển động cơ (Trang 135 - 139)