218 lines
7.7 KiB
VB.net
218 lines
7.7 KiB
VB.net
Public Class MainTest
|
||
|
||
Enum ColNames
|
||
No
|
||
Content
|
||
DataSource
|
||
SendData
|
||
PassResult
|
||
RetryCount
|
||
RetryInterval
|
||
ReadInterval
|
||
OperatingMode
|
||
Lower
|
||
Upper
|
||
TestVal
|
||
TestResult
|
||
IsRecord
|
||
RecordName
|
||
Max
|
||
End Enum
|
||
|
||
Public theGrid As FlexCell.Grid
|
||
|
||
Public Serial As IO.Ports.SerialPort
|
||
Public Userkeyval_ComboBox As ComboBox
|
||
Public Userkeyval_Rictext As RichTextBox
|
||
Public Label2 As Label
|
||
|
||
|
||
Public split_Curr_1 As String
|
||
Public split_Curr_2 As String
|
||
Public split_Curr_3 As String
|
||
Public split_Curr_4 As String
|
||
Public split_Curr_Peak_1 As String
|
||
Public split_Curr_Peak_2 As String
|
||
Public split_Curr_peak_3 As String
|
||
Public split_Curr_peak_4 As String
|
||
Public split_Temp As String
|
||
Public split_HumidityAs As String
|
||
|
||
|
||
|
||
|
||
Sub New(grd As FlexCell.Grid)
|
||
theGrid = grd
|
||
UpdateStepTestRecord()
|
||
DefaultData()
|
||
End Sub
|
||
#Region "初始化表格"
|
||
Public Sub UpdateStepTestRecord()
|
||
With theGrid
|
||
.AutoRedraw = False
|
||
'.AutoSize = True
|
||
.Cols = ColNames.Max
|
||
.Rows = 1
|
||
.ExtendLastCol = True '最后一列自动扩充
|
||
.DisplayRowNumber = True '首列显示数字
|
||
|
||
For col As Integer = 0 To ColNames.Max - 1
|
||
.Cell(0, col).Text = [Enum].GetName(GetType(ColNames), col) '设置列名
|
||
.Column(col).CellType = FlexCell.CellTypeEnum.TextBox '设置列型
|
||
|
||
.Column(col).Width = 140 '设置列宽
|
||
|
||
.Column(col).Alignment = FlexCell.AlignmentEnum.CenterCenter '设置对齐位置
|
||
Next
|
||
.ForeColorComment = Color.Blue
|
||
|
||
|
||
.BackColorBkg = Color.DimGray
|
||
.AutoRedraw = True
|
||
.Refresh()
|
||
.Locked = True
|
||
End With
|
||
|
||
|
||
End Sub
|
||
|
||
|
||
|
||
#End Region
|
||
#Region "加載表格數據"
|
||
Public Sub DefaultData()
|
||
|
||
Dim SendDatalist As New List(Of List(Of String))
|
||
UartSendDataList(SendDatalist, "确认测试板连接", "uts", "*IDN?", "uts-Phobos-rev01", "3", "100", "300", "comparison", "", "", "", "", "", "")
|
||
UartSendDataList(SendDatalist, "设置输出限流", "uts", "SET_PPS_CURR:400", "SET_PPS_CURR:400:TRUE", "3", "100", "300", "comparison", "", "", "", "", "", "")
|
||
UartSendDataList(SendDatalist, "设置输出电压", "uts", "SET_PPS_VOLT:2000", "SET_PPS_VOLT:2000:TRUE", "3", "100", "300", "comparison", "", "", "", "", "", "")
|
||
UartSendDataList(SendDatalist, "打开输出电压", "uts", "SET_PPS_OUTP:ON", "SET_PPS_OUTP:ON:TRUE", "3", "100", "300", "comparison", "", "", "", "", "", "")
|
||
UartSendDataList(SendDatalist, "清除峰值电流 - ch1", "uts", "CLR_PPS_CURR_PEAK:1", "CLR_PPS_CURR_PEAK:1:TRUE", "3", "100", "300", "comparison", "", "", "", "", "", "")
|
||
UartSendDataList(SendDatalist, "清除峰值电流 - ch2", "uts", "CLR_PPS_CURR_PEAK:2", "CLR_PPS_CURR_PEAK:2:TRUE", "3", "100", "300", "comparison", "", "", "", "", "", "")
|
||
UartSendDataList(SendDatalist, "清除峰值电流 - ch3", "uts", "CLR_PPS_CURR_PEAK:3", "CLR_PPS_CURR_PEAK:3:TRUE", "3", "100", "300", "comparison", "", "", "", "", "", "")
|
||
UartSendDataList(SendDatalist, "清除峰值电流 - ch4", "uts", "CLR_PPS_CURR_PEAK:4", "CLR_PPS_CURR_PEAK:4:TRUE", "3", "100", "300", "comparison", "", "", "", "", "", "")
|
||
|
||
UartSendDataList(SendDatalist, "读取平均电流(轮询直到勾选的属性测试结束)", "uts", "RUN", "10", "max", "100", "300", "split", "", "", "", "", "", "")
|
||
|
||
UartSendDataList(SendDatalist, "发送关闭电源命令", "uts", "SET_PPS_OUTP:OFF", "SET_PPS_OUTP:OFF:TRUE", "3", "100", "300", "comparison", "", "", "", "", "", "")
|
||
|
||
Grid5AddRow(SendDatalist)
|
||
|
||
End Sub
|
||
|
||
Public Function UartSendDataList(ByRef SendDatalist As List(Of List(Of String)), ParamArray ptr() As String) As List(Of String)
|
||
|
||
Dim Datalist As New List(Of String)
|
||
Datalist.AddRange(ptr)
|
||
SendDatalist.Add(Datalist)
|
||
|
||
End Function
|
||
|
||
Public Sub Grid5AddRow(SendDatalist As List(Of List(Of String)))
|
||
If SendDatalist.Count < 1 Then Return
|
||
|
||
For rowindex As Integer = 0 To SendDatalist.Count - 1
|
||
|
||
Dim Datalist As List(Of String) = SendDatalist.Item(rowindex)
|
||
|
||
|
||
AddRowToTable(theGrid, Datalist)
|
||
Next
|
||
|
||
End Sub
|
||
Public Sub AddRowToTable(tablegrid As FlexCell.Grid, Datalist As List(Of String))
|
||
tablegrid.AddItem("")
|
||
For colid As Integer = 1 To ColNames.Max - 1
|
||
tablegrid.Cell(tablegrid.Rows - 1, colid).Text = Datalist.Item(colid - 1)
|
||
Next
|
||
|
||
End Sub
|
||
|
||
#End Region
|
||
|
||
|
||
#Region "读数据并解析"
|
||
|
||
Public Function ParsingRowRead(rowid As Integer, readStr As String) As Boolean
|
||
If rowid = 0 OrElse Not rowid < theGrid.Rows Then Return False
|
||
SettheGridt(theGrid, rowid, ColNames.TestVal, readStr)
|
||
If theGrid.Cell(rowid, ColNames.OperatingMode).Text.ToLower.Contains("comparison") Then
|
||
If theGrid.Cell(rowid, ColNames.PassResult).Text.Trim.ToLower.Equals(readStr.ToLower) Then
|
||
Return True
|
||
Else
|
||
Return False
|
||
End If
|
||
ElseIf theGrid.Cell(rowid, ColNames.OperatingMode).Text.ToLower.Contains("split") Then
|
||
split_Curr_1 = ""
|
||
split_Curr_2 = ""
|
||
split_Curr_3 = ""
|
||
split_Curr_4 = ""
|
||
split_Curr_Peak_1 = ""
|
||
split_Curr_Peak_2 = ""
|
||
split_Curr_peak_3 = ""
|
||
split_Curr_peak_4 = ""
|
||
split_Temp = ""
|
||
split_HumidityAs = ""
|
||
Dim splitbuff() As String = readStr.Split(CType(",", Char))
|
||
If splitbuff.Length = CType(theGrid.Cell(rowid, ColNames.PassResult).Text, Integer) Then
|
||
split_Curr_1 = splitbuff(0)
|
||
split_Curr_2 = splitbuff(1)
|
||
split_Curr_3 = splitbuff(2)
|
||
split_Curr_4 = splitbuff(3)
|
||
split_Curr_Peak_1 = splitbuff(4)
|
||
split_Curr_Peak_2 = splitbuff(5)
|
||
split_Curr_peak_3 = splitbuff(6)
|
||
split_Curr_peak_4 = splitbuff(7)
|
||
split_Temp = splitbuff(8)
|
||
split_HumidityAs = splitbuff(9)
|
||
Return True
|
||
End If
|
||
|
||
Return False
|
||
Else
|
||
Return False
|
||
End If
|
||
|
||
End Function
|
||
Delegate Sub IPSetUILabeltext(tablegrid As FlexCell.Grid, trowel As Integer, tcol As Integer, txt As String)
|
||
Public Sub SettheGridt(tablegrid As FlexCell.Grid, trowel As Integer, tcol As Integer, txt As String)
|
||
If tablegrid.InvokeRequired Then
|
||
tablegrid.Invoke(New IPSetUILabeltext(AddressOf SettheGridt), New Object() {tablegrid, trowel, tcol, txt})
|
||
Else
|
||
tablegrid.Cell(trowel, tcol).Text = txt
|
||
End If
|
||
End Sub
|
||
|
||
|
||
Public Function GetUtsData(attri As String) As String
|
||
If attri.ToLower.Equals("tempre") Then
|
||
Return split_Temp
|
||
ElseIf attri.ToLower.Equals("humiture") Then
|
||
Return split_HumidityAs
|
||
ElseIf attri.ToLower.Equals("run") Then
|
||
Dim result As String = split_Curr_1 & "," & split_Curr_2 &
|
||
"," & split_Curr_3 & "," & split_Curr_4
|
||
|
||
|
||
Return result
|
||
ElseIf attri.ToLower.Equals("current") Then
|
||
Dim result As String = split_Curr_Peak_1 & "," & split_Curr_Peak_2 &
|
||
"," & split_Curr_peak_3 & "," & split_Curr_peak_4
|
||
Return result
|
||
End If
|
||
Return ""
|
||
End Function
|
||
|
||
|
||
#End Region
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
End Class
|