This repository has been archived on 2025-11-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AUTS_OLD/SQLliteReading/AUTS_Package/ZQ/Phobos/T1-PCBA_Test/MainTest.vb
2024-03-11 16:34:21 +08:00

218 lines
7.7 KiB
VB.net
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 AddRowToTabletablegrid 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 = splitbuff0
split_Curr_2 = splitbuff1
split_Curr_3 = splitbuff2
split_Curr_4 = splitbuff3
split_Curr_Peak_1 = splitbuff4
split_Curr_Peak_2 = splitbuff5
split_Curr_peak_3 = splitbuff6
split_Curr_peak_4 = splitbuff7
split_Temp = splitbuff8
split_HumidityAs = splitbuff9
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