Xây dựng phần mềm kết nối máy tính:

Một phần của tài liệu Nghiên cứu, thiết kế chế tạo mô hình hệ thống lái ô tô trợ lực điện có kết nối máy tính để phục vụ đào tạo (Trang 83)

6. Ý nghĩa khoa học và thực tiễn của đề tài:

4.5. Xây dựng phần mềm kết nối máy tính:

4.5.1.Lựa chọn ngôn ngữ lập trình:

Hầu hết các ứng dụng ngày nay đều chạy trên nền Window. Để viết một trình ứng dụng chạy trên nền window có rất nhiều ngôn ngữ như: C, J, pascal for Windows. Delphi, Visual Basic… so với các ngôn ngữ lập trình ra đời từ trước, việc làm quen và sử dụng ngôn ngữ Visual Basic của Microsoft đơn giản hơn rất nhiều. Bên cạnh đó, Visual Basic có nhiều ưu điểm, được thể hiện rõ ở chổ trong môi trường lập trình Visual Basic có chứa tất cả các công cụ mà ta cần đến để xây dựng một cách nhanh chóng và hiệu quả các trình ứng dụng từ đơn giản đến phức tạp. Mặt khác, so với các ngôn ngữ khác, việc tiếp cận với Visual Basic sẽ tiết kiệm thời gian và công sức hơn.

False

Xóa cờ báo bộ đệm phát rỗng

Tăng nội dung con trỏ lên 1 True Ghi ký tự vào bộ phát Hết dữ liệu Bộ đệm phát rỗng False True Gán con trỏ Gửi dữ liệu Trở về chương trình chính

Visual Basic gắn liền với khái niệm lập trình trực quan, hướng đối tượng. Nghĩa là khi thiết kế chương trình, ta có thể nhìn thấy ngay kết quả của từng thao tác và đặt biệt là thấy ngay giao diện chương trình. Việc sử dụng thư viện liên kết động DLL (Dynamic link library) cho phép ta ứng dụng tối đa các tiềm năng to lớn của Window vào việc xây dựng chương trình. Bên cạnh đó, trong Visual Basic còn có sẵn các điều khiển tuỳ biến là các công cụ để mở rộng ứng dụng cho Visual Basic.

Tóm lại, so với ngôn ngữ khác, Visual Basic có nhiều ưu thế hơn. Nhưng bên cạnh đó, Visual Basic vẫn có hạn chế đó là tốc độ thực thi chậm. Tuy nhiên, ngày nay với sự nâng cao tính năng của các máy tính cá nhân, tốc độ của các chương trình Visual Basic không còn là điều quan trọng. Song song đó, cuộc sống xã hội ngày nay dần dần chuyển hoá sang quản lý thông tin nên có thể nói ngôn ngữ lập trình Visual Basic đang là thế mạnh hiện nay và có thể nâng cao trong tương lai so với các ngôn ngữ lập trình khác. Vì vậy, chúng tôi quyết định chọn ngôn ngữ Visual Basic để xây dựng phần mềm của mình.

4.5.2.Khái quát về Visual Basic 6.0 [10]:

Ngôn ngữ lập trình Visual Basic 6.0 được giới thiệu vào năm 1988, là công cụ phát triển phần mềm nhanh chóng và hiệu quả để lập trình trên Microsoft Windows. Visual Basic đang là ngôn ngữ lập trình phổ dụng trên thế giới hiện nay. Nó được tăng cường năng lực cho việc đánh chỉ mục và các tính năng cơ sở dữ liệu mạnh hơn. Mặt khác, điểm tiện lợi khi dùng Visual Basic chính là ở chỗ tiết kiệm thời gian và công sức so với các ngôn ngữ lập trình khác khi xây dựng cùng một ứng dụng.

Visual Basic gắn liền với khái niệm lập trình trực quan (Visual), nghĩa là khi thiết kế chương trình ta nhìn thấy ngay kết quả của từng thao tác và giao diện khi chương trình thực hiện. Đây là yếu tố thuận lợi lớn so với các ngôn ngữ lập trình khác. Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng. Màu sắc, kích thước, hình dáng của các đối tượng đều có mặt trong ứng dụng.

Khi viết chương trình Visual Basic phải trải qua 02 bước: + Thiết kế giao diện (Visual Programming).

+ Viết lệnh (Code Programming).

4.5.3.Truyền thông nối tiếp với Visual Basic:

Visual Basic được hỗ trợ cho việc truy nhập lên các cổng ghép nối của máy tính thông qua thành phần điều khiển truyền thông Microsoft comm. Để sử dụng thành phần

comm, trong thư mục \Window\System cần phải có các tập tin MSCOMM16.OCX (cho chế độ 16 bit) hoặc MSCOMM32.OCX (cho chế độ 32 bit).

Điều khiển truyền thông MSCOMM cung cấp hai khả năng để điều khiển việc trao đổi thông tin, đó là:

 Hỏi vòng: hỏi vòng các sự kiện và lỗi được thực hiện bằng cách kiểm tra giá trị của đặc tính comEvent sau mỗi chu kỳ của chương trình, để xác định xem liệu một sự kiện hoặc một lỗi đã xuất hiện. Do máy tính luôn ở trạng thái vòng lặp chờ nhận lệnh nên trong thời gian chưa có ký tự được nhận vào, máy tính vẫn không làm được công việc nào khác, do đó phương pháp này chỉ sử dụng cho các ứng dụng mà không cần làm việc khác khi chưa có ký tự nào nhận được.

 Truyền thông điều khiển sự kiện: là phương pháp tốt nhất được sử dụng trong quá trình điều khiển việc trao đổi thông tin nối tiếp khi nó giải phóng máy tính để làm các công việc khác. Để làm điều này, ta cần dùng sự kiện truyền thông Oncomm để bẫy và điều khiển các sự kiện. Điều khiển truyền thông còn phát hiện và điều khiển các lỗi truyền thông.

Thành phần Comm được bổ sung vào biểu mẫu khi cần đến việc truyền thông nối tiếp. Theo mặc định, cổng thứ nhất tạo ra đối tượng có tên MSComm1, đối tượng ứng với cổng thứ hai được gọi là MSComm2, v.v… Các đặc tính chính của đối tượng bao gồm: CommPort, DTREnable, EOFEnable, Handsaking, InbuffersSize, Index, Inputlen, Inputmode, Left, Name, NullDiscrd, OutbufferSize, Parityreplace, Rthreshold, RTSEnable, Settings, Sthreshold, Tag và Top. Sau đây là mô tả của các đặc tính quan trọng, cần thiết cho việc lập trình (Bảng 4.3).

Bảng 4.3. Mô tả các đặc tính quan trọng cho việc lập trình

Các thuộc tính Mô tả

 CommPort Đặt và trả lại số cổng truyền thông

 Input (nhập vào) Trả lại hoặc loại bỏ các ký tự ra khỏi bộ đệm nhận

 OutPut (xuất ra) Viết một xâu ký tự đến bộ đệm truyền

 PortOpen Mở / đóng một cổng (tuỳ thuộc vào thông số) và đặt thông số cho cổng

 Settings Đặt và trả lại các tham số truyền thông như: tốc độ, truyền theo bit, chẵn lẻ, số các bit dữ liệu v.v…

4.5.4. Thiết kế giao diện:

Do Visual Basic là một ngôn ngữ lập trình hướng đối tượng rất đơn giản, bằng cách đưa các đối tượng vào Form và tiến hành thay đổi một số thuộc tính của các đối tượng đó.

Form: Form là biểu mẫu của mỗi ứng dụng Visual Basic. Ta dùng Form nhằm định vị và sắp xếp các bộ phận trên nó khi thiết kế các phần giao tiếp với người dùng. Ta có thể xem Form như là một bộ phận mà nó có thể chứa các bộ phận khác. Form là phần chính của ứng dụng, các thành phần của nó tương tác với các Form khác và các bộ phận của chúng tạo nên giao tiếp cho ứng dụng. Form chính là giao diện chính của ứng dụng, các Form khác có thể chứa hộp thoại, hiển thị cho nhập dữ liệu.

Hình 4.38. Giao diện chính của Visual Basic

Khi thiết kế một chương trình, là tạo ra một hay nhiều cửa sổ cho chương trình đó. Một chương trình Windows ban đầu thường có một cửa sổ chính, trong quá trình làm việc có thể phát triển thêm nhiều cửa sổ con. Khi ta vào Visual Basic, ban đầu luôn có một Form cho thiết kế:

- Tools Box (Hộp công cụ): Bản thân hộp công cụ chỉ chứa các biểu tượng biểu thị cho các điều khiển mà ta có thể bổ sung vào biểu mẫu, đó là bảng chứa các đối tượng được định nghĩa sẵn của Visual Basic. Các đối tượng này được sử dụng trong Form để tạo thành giao diện cho các chương trình ứng dụng của Visual Basic. Các đối tượng trong thanh công cụ thông dụng nhất bao gồm:

- Scroll Bar (Thanh cuốn): Các thanh cuốn được dùng để nhận nhập dữ liệu hoặc hiển thị kết xuất khi người sử dụng không quan tâm đến giá trị chính xác của một đối tượng, nhưng lại quan tâm đến sự thay đổi nhỏ hay lớn.

- Option Button Control (Nút chọn): Đối tượng nút chọn cho phép người sử dụng chọn một trong những lựa chọn đưa ra. Như vậy, tại một thời điểm chỉ có một trong các nút được chọn.

- Check Box (Hộp kiểm tra): Đối tượng hộp kiểm tra cho phép người sử dụng kiểm tra một hay nhiều điều kiện của chương trình ứng dụng. Như vậy, tại một thời điểm có thể có nhiều hộp kiểm tra được đánh dấu.

- Label (Nhãn): Đối tượng nhãn cho phép người sử dụng gán nhãn một bộ phận nào đó của giao diện cho chương trình ứng dụng. Dùng các nhãn để hiển thị thông tin không muốn người dùng thay đổi.

- Text Box (Hộp soạn thảo): Đối tượng Text Box cho phép người sử dụng đưa các chuỗi kí tự vào Form. Thuộc tính quan trọng nhất của Text Box là thuộc tính Text cho biết nội dung của hộp Text Box.

- Command Button (Nút lệnh): Đối tượng Command Button cho phép ta quyết định thực thi một công việc nào đó khi người sử dụng kích hoạt nó.

- Properties Windows (Cửa sổ thuộc tính): Properties Windows là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể. Các thuộc tính này có thể thay đổi được để phù hợp với yêu cầu về giao diện của nó.

* Các thuộc tính cơ bản của các đối tượng trong Visual Basic 6.0 như sau: - Name: tên của đối tượng, mỗi đối tượng phải có tên khác nhau.

- Caption: hiển thị nội dung trên cửa sổ thiết kế. - Tab Index: thứ tự chuyển đến khi nhấn phím. - Tab Font: chọn font hiển thị trên đối tượng. - Backcolor, Forecolor: chọn màu hiển thị.

- Value: giá trị của đối tượng (dùng cho Check box và Option để xác định trạng thái được chọn hay không chọn).

- Text: nội dung chứa trong một Text box.

- MultiLine: cho phép hiện nhiều dòng trên Text box hay không. - Enable: cho phép đối tượng hoạt động hay không.

- Duration: xác định thời gian Timer tràn (đơn vị là ms). Các sự kiện cơ bản của các đối tượng trên VB 6.0 bao gồm:

+ Form_Load: xảy ra mỗi khi mở một Form.

+ Click: Xảy ra khi thực hiện nhấn chuột trái trên đối tượng. + Timer: xảy ra mỗi khi Timer tràn.

4.5.5.Viết lệnh cho các đối tượng:

Dùng các lệnh của Visual Basic để quy định cách ứng xử cho mỗi Form và Control. Viết Form như vậy tức là ta đã tạo ra một dự án bao gồm tất cả các yếu tố để tạo nên chương trình.

Hình 4.39. Cửa sổ viết lệnh của Visual Basic

4.5.6.Viết chương trình với ngôn ngữ Visual Basic [10]:

Các chức năng chính của chương trình bao gồm:

- Tự động thu thập số liệu, tính toán và xuất ra kết quả các đại lượng

- Biểu diễn sự biến thiên của các đại lượng trên dưới dạng đồ thị và biểu bảng. - Lưu các kết quả đo được dưới dạng File dữ liệu.

Thiết kế theo chức năng của chương trình, ta có biểu đồ phân bố các chức năng như sau:

Hình 4.40. Biểu đồ phân bố các chức năng của chương trình

Dữ liệu thu được từ phần cứng

Giải mã dữ liệu Tính toán các đại lượng

cần đo

Biểu bảng Hình ảnh

Lưu thành File

Xuất Nhập

Giao diện chính của chương trình như sau:

Trong đó:

 Thanh tiêu đề: hiển thị tên phần mềm, người sử dụng có thể cập nhật vào thực đơn hệ thống bằng cách click chuột lên biểu tượng nhỏ tại đỉnh trái.

 Thanh thực đơn gồm các thực đơn sau:

 Thực đơn File: bao gồm các chức năng:

 Export to Excel: cho phép xuất dữ liệu thu thập sang dạng Excel

 Print: cho phép in đồ thị.

 Exit: thoát khỏi trương trình trở về Window.

 Thực đơn Settings: gồm các chức năng cho phép cấu hình khi truyền dữ liệu:

 Port: cho phép chọn cổng COM kết nối với bộ ECU của mô hình.

 Speed: cho phép chọn tốc độ truyền dữ liệu.

 Data Bits: chọn khung dữ liệu truyền.

 Parity: lựa chọn kiểm tra lỗi truyền dữ liệu.

 Thực đơn View: cho phép lựa chọn hình thức hiển thị dữ liệu:

 Table data: cho phép hiển thị dữ liệu dưới dạng bảng biểu các dữ liệu thu thập được.

 Thực đơn Connect: cho phép bắt đầu hay kết thúc kết nối với thiết bị ngoại vi.

 Màn hình chính: gồm có hai lựa chọn hiển thị thông qua hai Tab hoặc có thể truy xuất từ thực đơn View, có hai chế độ hiển thị hoặc lựa chọn hiển thị dữ liệu dưới dạng biểu bảng “DU LIEU BIEU BANG” hoặc hiển thị dữ liệu dưới dạng đồ thị “DU LIEU DO THI”. Ngoài ra, để có thể hiển thị dữ liệu đồ thị được rõ ràng, sinh động trên màn hình còn có các nút kiểm (Check box) cho phép hiển thị một hoặc nhiều đồ thị cùng lúc. Trên màn hình còn có thêm các nút lệnh để giúp cho việc tương tác với phần mềm dễ dàng hơn.

Dưới đây là một số đoạn mã chính của chương trình thu thập dữ liệu:

--- Private Sub MSComm1_OnComm()

Dim txtBuf As String Dim i As Integer Dim c() As String

Dim Current_Direct, M_Steer, Speed_car, I_Support As Integer With MSComm1

Select Case .CommEvent Case comEvReceive txtBuf = .Input

InputString = InputString & txtBuf c(i) = Mid(txtBuf, i, 1) Current_Direct = Val(Asc(c(1))) / 100 M_Steer = Val(Asc(c(2))) Speed_car = Val(Asc(c(3))) I_Support = Val(Asc(c(4))) thoigian = Time Pindex = Pindex + 1 ParrParameter(Pindex).Current_Direct = Current_Direct

If Current_Direct = 2 Then ParrParameter(Pindex).M_Steer = -M_Steer ParrParameter(Pindex).I_Support = -I_Support Else ParrParameter(Pindex).M_Steer = M_Steer ParrParameter(Pindex).I_Support = I_Support End If ParrParameter(Pindex).Speed_car = Speed_car ParrParameter(Pindex).Time = thoigian

Select Case Current_Direct Case 0

txtTextOut = "" Case 1

txtTextOut = "Quay phai" Case 2

txtTextOut = "Quay trai" End Select txtResponse = M_Steer Text3 = I_Support Text4 = Speed_car Text1 = thoigian If Check1.Value = 1 Then With TChart1.Series(0)

.AddXY thoigian, M_Steer, "", vbRed End With

With TChart1.Series(3)

.AddXY thoigian, Current_Direct, "", vbBlack End With

End If

With TChart1.Series(1)

.AddXY thoigian, I_Support, "", vbBlue End With

End If

If Check3.Value = 1 Then With TChart1.Series(2)

.AddXY thoigian, Speed_car, "", vbGreen End With End If End If End Select End With txtResponse.SelStart = Len(txtResponse) End Sub --- Private Sub SSTab1_Click(PreviousTab As Integer)

Dim i As Integer

If PreviousTab = 0 Then 'MsgBox ("vao tab")

MSFlexGrid1.Rows = Pindex + 5 For i = 1 To Pindex

MSFlexGrid1.TextMatrix(i, 0) = i

Select Case ParrParameter(i).Current_Direct Case 0

MSFlexGrid1.TextMatrix(i, 1) = "" Case 1

Case 2

MSFlexGrid1.TextMatrix(i, 1) = "Quay trai" End Select MSFlexGrid1.TextMatrix(i, 2) = ParrParameter(i).M_Steer MSFlexGrid1.TextMatrix(i, 3) = ParrParameter(i).Speed_car MSFlexGrid1.TextMatrix(i, 4) = ParrParameter(i).I_Support MSFlexGrid1.TextMatrix(i, 5) = ParrParameter(i).Time Next End If End Sub ---

Chương 5: THỬ NGHIỆM VÀ BÀN LUẬN

5.1. Hướng dẫn sử dụng mô hình

5.1.1. Mô tả các chức năng trên bảng điều khiển Panel: 5.1.1.1. Màn hình hiển thị LCD: 5.1.1.1. Màn hình hiển thị LCD:

Cho phép người sử dụng theo dõi diễn biến của quá trình hệ thống trợ lực lái làm việc. Màn hình LCD cho phép quan sát các thông số sau:

- Dòng 1: hiển thị giá trị điện áp hồi về từ hai cảm biến mômen lái dưới dạng

Một phần của tài liệu Nghiên cứu, thiết kế chế tạo mô hình hệ thống lái ô tô trợ lực điện có kết nối máy tính để phục vụ đào tạo (Trang 83)