Các vấn đề về lập trình phần mềm giao diện

Một phần của tài liệu nghiên cứu, thiết kế và cài đặt bộ điều khiển dự báo trên cơ sở hệ logic mờ (Trang 109 - 111)

5.2.3.1 Công cụ lập trình.

Chương trình được viết bằng ngôn ngữ lập trình Visual C++ 6.0, dựu trên nền tảng cơ bản của C++ đó là lập trình hướng đối tượng. Môi trường xây dựng ứng dụng đ ược chọn là Dialog based vì tính đơn giản, tiện lợi, trực giác và khả năng thiết kế giao diện đẹp mắt.

5.2.3.2 Giao tiếp truyền thông.

Chương trình FMPC giao tiếp với bo mạch điều khiển thông qua cổng COM và theo chuẩn truyền tin nối tiếp RS-232. Việc lập trình giao tiếp này dựa vào điều khiển ActiveX Microsoft Communication 6.0 (MSComm). MSComm là một lớp dùng để lập trình thiết lập thông số, điều khiển và xử lý số liệu cho cổng COM. Sau đây là một số hàm thành viên quan trọng của lớp:

void SetCommPort(short nNewValue);

Hàm này dùng để thiết lập cổng COM n ào được sư dụng. nNewValue là chỉ số của cổng Com có giá trị từ 1 -> 16 và mặc định có giá trị =1. Nếu nNewValue=2 thì cổng COM2 sẽ được chọn…Thủ tục này phải được gọi trước khi mở cổng. Lỗi Error 68 (Device unavailable) nếu không mở được cổng.

short GetCommPort();

Hàm trả lại giá trị CommID, cho ta biết cổng COM nào đang được chọn.

void SetInBufferSize(short nNewValue); short GetInBufferSize();

Thiết lập và trả lại kích thước của bộ đệm nhận (tính bằng byte). Mặc định là 1024 byte.

void SetInputLen(short nNewValue); short GetInputLen();

Thiết lập và trả lại số byte được đọc mỗi lần hàm GetInput() được gọi.

void SetOutBufferSize(short nNewValue); short GetOutBufferSize();

Thiết lập và trả lại kích thước của bộ đệm phát (tính bằng byte)

void SetPortOpen(BOOL bNewValue); BOOL GetPortOpen();

Thiết lập và trả lại trạng thái của cổng (đóng hoặc mở)

void SetRThreshold(short nNewValue); short GetRThreshold();

Thiết lập và trả lại ngưỡng số byte khi nhận để gây ra sự kiện OnComm: comEvReceive. Ví dụ: nếu đặt ngưỡng bằng 1 thì sự kiện comEvReceive sẽ xảy ra khi có 1 byte được gửi đến, nếu ngưỡng bằng 0 thì không xảy ra sự kiện comEvReceive.

void SetSThreshold(short nNewValue); short GetSThreshold();

Thiết lập và trả lại ngưỡng byte phát để không gây ra sự kiện OnComm: comEvSend. Ví dụ: nếu ngưỡng phát bằng 1 thì khi phát nhiều hơn hoặc bằng 1 byte sẽ không gây sự kiện, còn khi số byte phát bằng 0 sẽ gây sự kiện comEvSend. Nói cách khác, sự kiện sẽ xuất hiện khi số byte phát nhỏ h ơn ngưỡng.

void SetOutput(const VARIANT& newValue); VARIANT GetOutput();

MAI VĂN SỸ, NGUYỄN NGỌC LINH – ĐKTĐ – KSTN– K48 111

void SetInput(const VARIANT& newValue); VARIANT GetInput();

Thiết lập và trả lại dữ liệu ở bộ đệm nhận.

short GetCommEvent();

Trả lại giá trị tương ứng với sự kiện OnComm nào. Ví dụ: giá trị trả lại là 1 ứng với sự kiện comEvSend, là 2ứng với sự kiện comEvReceive.

void SetInputMode(long nNewValue);

Định dạng dữ liệu nhận. Ví dụ nNewValue=0 thì dữ liệu nhận được là dạng string, nếu nNewValue =1 thì dạng nhị phân.

Một phần của tài liệu nghiên cứu, thiết kế và cài đặt bộ điều khiển dự báo trên cơ sở hệ logic mờ (Trang 109 - 111)