6. Ý nghĩa khoa học và thực tiễn của đề tài:
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