7782 lines
287 KiB
VB.net
7782 lines
287 KiB
VB.net
Imports System.Drawing.Drawing2D
|
|
Imports System.IO
|
|
Imports System.IO.Ports
|
|
Imports System.Math
|
|
Imports System.Text
|
|
Imports AForge.Video.DirectShow
|
|
Imports OpenCvSharp
|
|
Imports uPLibrary.Networking.M2Mqtt
|
|
|
|
Public Class Main_Form
|
|
Public Program_Name As String = "DUALSONIC_Multi_Function_Tester Ver."
|
|
Public Program_Version As String = "1.1.2"
|
|
|
|
''데이터 베이스 테이블 목록
|
|
|
|
Private TDTable As String = "jomtTesterDB.jomtCartridgeTbl"
|
|
Private TDTestTable As String = "jomtTesterServerDB.jomtCartridgeTbl"
|
|
|
|
Private hfDataTable As String = "jomtTesterDB.jomtHFTestTbl"
|
|
Private hfDataTestTable As String = "jomtTesterServerDB.jomtHFTestTbl"
|
|
|
|
Private rfDataTable As String = "jomtTesterDB.jomtRFTestTbl"
|
|
Private rfDataTestTable As String = "jomtTesterServerDB.jomtRFTestTbl"
|
|
|
|
Private pd1CntTable As String = "jomtTesterDB.jomtMES_PD1Tbl"
|
|
Private pd1CntTestTable As String = "jomtTesterServerDB.jomtMES_PD1Tbl"
|
|
|
|
Private iqcCntTable As String = "jomtTesterDB.jomtMES_IQCTbl"
|
|
Private iqcCntTestTable As String = "jomtTesterServerDB.jomtMES_IQCTbl"
|
|
|
|
Private NonTDTable As String = "jomtTesterDB.jomtNonTDTbl"
|
|
Private NonTDTestTable As String = "jomtTesterServerDB.jomtNonTDTbl"
|
|
|
|
''사용하고자 하는 데이터베이스
|
|
Private TDTableNow As String = TDTable
|
|
Private hfTableNow As String = hfDataTable
|
|
Private rfTableNow As String = rfDataTable
|
|
Private pd1CntTableNow As String = pd1CntTable
|
|
Private iqcCntTableNow As String = iqcCntTable
|
|
Private NonTDTableNow As String = NonTDTable
|
|
|
|
|
|
Private ParaComport As String
|
|
Private modeSaveSwitch As Boolean = False
|
|
|
|
Private Enum testRunningList
|
|
Running
|
|
Fail
|
|
Success
|
|
End Enum
|
|
Private testState(testRunningList.Success) As String
|
|
|
|
Private Enum ConnectList
|
|
USB
|
|
GPIB
|
|
MAXConnect
|
|
End Enum
|
|
Private ConnectName(ConnectList.GPIB) As String
|
|
Private ConnectSelect As Int16
|
|
|
|
Private Enum formTypeList
|
|
full
|
|
iqc
|
|
prod_HF
|
|
prod_RF
|
|
altoIQC
|
|
altoPD
|
|
Company
|
|
DS_IQC
|
|
DS_PD
|
|
EF_IQC
|
|
EF_PD
|
|
|
|
MAX_FORM_TYPE
|
|
End Enum
|
|
Private formType As Int16
|
|
Private formProdCode(formTypeList.MAX_FORM_TYPE) As String
|
|
|
|
Private StartSwitch As Boolean
|
|
|
|
Private TDSNHead1 As String = "DIT"
|
|
Private TDSNHead2 As String = "J3"
|
|
|
|
Private Const TestType As String = "SET"
|
|
Private Const TestModel As String = "MAXIMUM"
|
|
Private Const TestModel_EF As String = "EFFECT"
|
|
|
|
Private Const TestCount As Int16 = 10
|
|
|
|
Private Const RFTest_Count As Int16 = 2 ''0,1,2 = 세번 측정
|
|
Private Const RFTest_Type As Int16 = 1 ''0,1 = 세번 측정
|
|
Private Const MCTest_Count As Int16 = 1 ''0,1 = 두번 측정
|
|
Private Const EPTest_Count As Int16 = 2 ''0,1,2 = 세 번 측정
|
|
Private Const EPTest_WCount As Int16 = 1
|
|
Private Const DataSaveCount As Int16 = 10
|
|
Private Const LEDReTest As Int16 = 8 ''원하는 좌표 기준 8방위 = 총 9 차례 시도
|
|
Private Const SuccessCode As Int16 = 23
|
|
|
|
Private Const ImgSave As String = "ImgSave"
|
|
Private Const ImgCvt As String = "ImgConvert"
|
|
|
|
Private Const LEDColorCk As Int16 = 1
|
|
Public LedColorName(LEDColorCk) As String
|
|
Private LedCoordinate(LEDColorCk, LEDColorCk) As Int16
|
|
Private LedCoordinate2(LEDColorCk, LEDColorCk) As Int16
|
|
Private LedHueMin(LEDColorCk) As TextBox
|
|
Private LedHueMax(LEDColorCk) As TextBox
|
|
Private LedSaturMin(LEDColorCk) As TextBox
|
|
Private LedSaturMax(LEDColorCk) As TextBox
|
|
Private LedBrightMin(LEDColorCk) As TextBox
|
|
Private LedBrightMax(LEDColorCk) As TextBox
|
|
|
|
Private LedData(LEDColorCk, 2) As Int16
|
|
|
|
Public HF_OutMIN As TextBox
|
|
Public HF_OutMax As TextBox
|
|
Public HF_OutRange As TextBox
|
|
Public RF_VRMSMax(RFTest_Count) As TextBox
|
|
Public RF_VRMSMin(RFTest_Count) As TextBox
|
|
Public MC_VPPtxb(MCTest_Count + 1) As TextBox
|
|
Public MC_Widthtxb(MCTest_Count + 1) As TextBox
|
|
Public EP_VPPtxb(EPTest_Count) As TextBox
|
|
Public EP_FREQtxb(EPTest_Count) As TextBox
|
|
Public HF_Outtxb(HFTest_Count) As TextBox
|
|
|
|
Public JIGON_Timeout As Int16
|
|
Public JIGON_Delay As Int16
|
|
Public JIGDT_Timeout As Int16
|
|
Public StepDelay As Integer
|
|
Public HFRunCount As Int16
|
|
Public HFDataValid As Int16
|
|
Public HFReCkCount As Int16
|
|
Public HFLowShot As Int16
|
|
|
|
Private XMoveCrd As Int16
|
|
Private YMoveCrd As Int16
|
|
|
|
Private textRunning(TestCount) As TextBox
|
|
|
|
Public txbWindow As TextBox
|
|
|
|
Private EPVppMin As TextBox
|
|
Private EPVppMax As TextBox
|
|
Private EPFreq(EPTest_Count) As TextBox
|
|
Private EPWidthMin(EPTest_Count) As TextBox
|
|
Private EPWidthMax(EPTest_Count) As TextBox
|
|
Private FWVerNow As TextBox
|
|
Private BatCapacityMin As TextBox
|
|
Private BatCapacityMax As TextBox
|
|
|
|
Private rxMessage, cmdMessage, tmpCmdMessage As String
|
|
|
|
Private dupDATA As Int16 = 0
|
|
Private Const td_name_size As Int16 = 8
|
|
|
|
Private SetTimeScale As Single
|
|
Private SetDelay As Single
|
|
Private SetRunShot As Int16
|
|
Private WebCamNum As Integer
|
|
Private OLEDCamNum As Int16
|
|
|
|
Private TestError As Boolean = False
|
|
|
|
Private DBCmd As String
|
|
Private InputCnt As Int16
|
|
Private Const InputCntVal As Int16 = 10
|
|
|
|
Private DataSaveName(DataSaveCount) As String
|
|
Private ScopeList() As String
|
|
Private SpecList() As String
|
|
|
|
Private StartTime As Long
|
|
Private EndTime As Long
|
|
|
|
Private NowDate As String
|
|
Private NowTime As String
|
|
|
|
Public Structure TestDataList
|
|
Public Test_Serial As String
|
|
Public Test_Firmware As String
|
|
Public Test_Battery As Single
|
|
Public Test_Temperature() As Double
|
|
Public Test_HFData() As Double
|
|
Public Test_HFInterval() As Single
|
|
Public Test_RFVRMS() As Single
|
|
Public Test_RFFreq() As Int16
|
|
Public Test_RFPWidth() As Single
|
|
Public Test_RFNWidth() As Single
|
|
Public Test_MCVpp() As Single
|
|
Public Test_MCWidth() As Single
|
|
Public Test_MCFreq() As Single
|
|
Public Test_EPVpp() As Single
|
|
Public Test_EPFreq() As Single
|
|
Public Test_EPPWidth() As Single
|
|
Public Test_EPNWidth() As Single
|
|
End Structure
|
|
Private TestData As TestDataList
|
|
|
|
Private Enum TestStepList
|
|
HF_NewSuc = 21
|
|
HF_NewFail
|
|
RF_NewSuc
|
|
RF_NewFail
|
|
HF_ReSuc
|
|
HF_ReFail
|
|
RF_ReSuc
|
|
RF_ReFail
|
|
End Enum
|
|
Private processNum As Int16
|
|
|
|
|
|
Private Enum TD_Data
|
|
TestStep
|
|
TestDate
|
|
Freq
|
|
Grade
|
|
power
|
|
motor
|
|
End Enum
|
|
Private TDDataSet(TD_Data.motor) As String
|
|
|
|
Private Enum TestList
|
|
Start
|
|
HIFU
|
|
RF
|
|
MC
|
|
EP
|
|
Battey
|
|
Temp
|
|
DataWrite
|
|
MESreg
|
|
DBWrite
|
|
COUNT
|
|
CSV
|
|
|
|
Firmware
|
|
Wait
|
|
End Enum
|
|
Private TestStep As Int16 = TestList.Wait
|
|
|
|
Private Enum HifuTest_Step
|
|
Step1 '6850
|
|
Step2 '7000
|
|
step3 '7150
|
|
|
|
step4
|
|
step5
|
|
End Enum
|
|
Private HifuStep(HifuTest_Step.step5) As Int16
|
|
|
|
Private Enum HifuTest_Diff
|
|
Step1_2
|
|
Step2_3
|
|
End Enum
|
|
|
|
Private HFTest_Count As Int16 = HifuTest_Step.step3
|
|
|
|
Private Enum TempData
|
|
DivTemp
|
|
CartTemp
|
|
CPUTemp
|
|
End Enum
|
|
|
|
Private TmpMin(TempData.CartTemp) As TextBox
|
|
Private TmpMax(TempData.CartTemp) As TextBox
|
|
Private TempSet(TempData.CPUTemp) As TextBox
|
|
|
|
''MQTT
|
|
|
|
Public MQTClient As MqttClient
|
|
Public mqttBroker As String = String.Empty
|
|
Public mqttTopic As String = String.Empty
|
|
|
|
Private todayCount As Integer = 1 '' 금일 측정 개수
|
|
|
|
Private Sub typeDataSetting()
|
|
If rdbAltoIqc.Checked = True Or rdbAltoPD.Checked = True Then
|
|
TmpMin(TempData.DivTemp) = txbTpDevMin_AL
|
|
TmpMin(TempData.CartTemp) = txbTpCartMin_AL
|
|
TmpMax(TempData.DivTemp) = txbTpDevMax_AL
|
|
TmpMax(TempData.CartTemp) = txbTpCartMax_AL
|
|
|
|
RF_VRMSMin(0) = txbRFVRmin1_AL
|
|
RF_VRMSMin(1) = txbRFVRmin2_AL
|
|
RF_VRMSMin(2) = txbRFVRmin3_AL
|
|
|
|
RF_VRMSMax(0) = txbRFVRmax1_AL
|
|
RF_VRMSMax(1) = txbRFVRmax2_AL
|
|
RF_VRMSMax(2) = txbRFVRmax3_AL
|
|
|
|
EPVppMin = txbEPVPmin_AL
|
|
EPVppMax = txbEPVPmax_AL
|
|
|
|
EPWidthMin(0) = txbEPDYmin1_AL
|
|
EPWidthMin(1) = txbEPDYmin2_AL
|
|
EPWidthMin(2) = txbEPDYmin3_AL
|
|
|
|
EPWidthMax(0) = txbEPDYmax1_AL
|
|
EPWidthMax(1) = txbEPDYmax2_AL
|
|
EPWidthMax(2) = txbEPDYmax3_AL
|
|
|
|
FWVerNow = txbFirmVer_AL
|
|
|
|
BatCapacityMin = txbBatMin_AL
|
|
BatCapacityMax = txbBatMax_AL
|
|
|
|
ElseIf rdbDsIQC.Checked = True Or rdbDsPD.Checked = True Then
|
|
TmpMin(TempData.DivTemp) = txbDSTmpDe_stMin
|
|
TmpMin(TempData.CartTemp) = txbDSTmpCa_stMin
|
|
TmpMax(TempData.DivTemp) = txbDSTmpDe_stMax
|
|
TmpMax(TempData.CartTemp) = txbDSTmpCa_stMax
|
|
|
|
BatCapacityMin = txbDSbat_stMin
|
|
BatCapacityMax = txbDSbat_stMax
|
|
|
|
FWVerNow = txbDSfw_st
|
|
|
|
HF_OutMIN = txbDShfOut_stMin
|
|
HF_OutMax = txbDShfOut_stMax
|
|
HF_OutRange = txbDShfDif_st
|
|
|
|
Else
|
|
HF_OutMIN = txbHFOutMin
|
|
HF_OutMax = txbHFOutMax
|
|
HF_OutRange = txbHFMin
|
|
|
|
TmpMin(TempData.DivTemp) = txbTpDevMin
|
|
TmpMin(TempData.CartTemp) = txbTpCartMin
|
|
TmpMax(TempData.DivTemp) = txbTpDevMax
|
|
TmpMax(TempData.CartTemp) = txbTpCartMax
|
|
|
|
RF_VRMSMin(0) = txbRFVRmin1
|
|
RF_VRMSMin(1) = txbRFVRmin2
|
|
RF_VRMSMin(2) = txbRFVRmin3
|
|
|
|
RF_VRMSMax(0) = txbRFVRmax1
|
|
RF_VRMSMax(1) = txbRFVRmax2
|
|
RF_VRMSMax(2) = txbRFVRmax3
|
|
|
|
EPVppMin = txbEPVPmin
|
|
EPVppMax = txbEPVPmax
|
|
|
|
EPWidthMin(0) = txbEPDYmin1
|
|
EPWidthMin(1) = txbEPDYmin2
|
|
EPWidthMin(2) = txbEPDYmin3
|
|
|
|
EPWidthMax(0) = txbEPDYmax1
|
|
EPWidthMax(1) = txbEPDYmax2
|
|
EPWidthMax(2) = txbEPDYmax3
|
|
|
|
FWVerNow = txbFirmVer
|
|
|
|
BatCapacityMin = txbBatMin
|
|
BatCapacityMax = txbBatMax
|
|
|
|
End If
|
|
|
|
If rdbCompany.Checked <> True Then
|
|
|
|
If todayCountSet() Then
|
|
txbWindow.AppendText("Today Count Setting Error ! " & vbCrLf)
|
|
txbDayCount.Text = "0"
|
|
txbOkCount.Text = "0"
|
|
txbNgCount.Text = "0"
|
|
End If
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Public Sub Data_Setting()
|
|
typeDataSetting()
|
|
|
|
testState(testRunningList.Running) = "Running"
|
|
testState(testRunningList.Fail) = "F A I L"
|
|
testState(testRunningList.Success) = "O K"
|
|
|
|
HifuStep(HifuTest_Step.Step1) = txbFrStep1.Text
|
|
HifuStep(HifuTest_Step.Step2) = txbFrStep2.Text
|
|
HifuStep(HifuTest_Step.step3) = txbFrStep3.Text
|
|
|
|
'HifuStep(HifuTest_Step.Step1) = "6850"
|
|
'HifuStep(HifuTest_Step.Step2) = "6900"
|
|
'HifuStep(HifuTest_Step.step3) = "7000"
|
|
HifuStep(HifuTest_Step.step4) = "7100"
|
|
HifuStep(HifuTest_Step.step5) = "7150"
|
|
|
|
TempSet(TempData.DivTemp) = txbDevTmp
|
|
TempSet(TempData.CartTemp) = txbCartTmp
|
|
TempSet(TempData.CPUTemp) = txbCPUTemp
|
|
|
|
EPFreq(0) = txbEPFreq1
|
|
EPFreq(1) = txbEPFreq2
|
|
EPFreq(2) = txbEPFreq3
|
|
|
|
textRunning(1) = txbStep1
|
|
textRunning(2) = txbStep2
|
|
textRunning(3) = txbStep3
|
|
textRunning(4) = txbStep4
|
|
textRunning(5) = txbStep5
|
|
textRunning(6) = txbStep6
|
|
textRunning(7) = txbStep7
|
|
textRunning(8) = txbStep8
|
|
textRunning(9) = txbStep9
|
|
textRunning(10) = txbStep10
|
|
|
|
LedColorName(0) = "Red"
|
|
LedColorName(1) = "Yellow"
|
|
|
|
LedCoordinate(0, 0) = Val(txbRedCdn_X1.Text) ''Red X
|
|
LedCoordinate(0, 1) = Val(txbRedCdn_Y1.Text) ''Red Y
|
|
LedCoordinate(1, 0) = Val(txbYelCdn_X1.Text) ''Red X
|
|
LedCoordinate(1, 1) = Val(txbYelCdn_Y1.Text) ''Red Y
|
|
|
|
LedCoordinate2(0, 0) = Val(txbYelX1.Text) ''Yellow X
|
|
LedCoordinate2(0, 1) = Val(txbYelY1.Text) ''Yellow Y
|
|
LedCoordinate2(1, 0) = Val(txbYelX2.Text) ''Yellow X
|
|
LedCoordinate2(1, 1) = Val(txbYelY2.Text) ''Yellow Y
|
|
|
|
LedHueMin(0) = txbRHueMin
|
|
LedHueMin(1) = txbYHueMin1
|
|
LedHueMax(0) = txbRHueMax
|
|
LedHueMax(1) = txbYHueMax1
|
|
LedSaturMin(0) = txbRSatMin
|
|
LedSaturMin(1) = txbYSatMin1
|
|
LedSaturMax(0) = txbRSatMax
|
|
LedSaturMax(1) = txbYSatMax1
|
|
LedBrightMin(0) = txbRBgtMin
|
|
LedBrightMin(1) = txbYBgtMin1
|
|
LedBrightMax(0) = txbRBgtMax
|
|
LedBrightMax(1) = txbYBgtMax1
|
|
|
|
''jig 관련 변수
|
|
JIGON_Timeout = txbJgTimeout.Text
|
|
JIGON_Delay = txbJgDelay.Text
|
|
JIGDT_Timeout = txbDTTimeout.Text
|
|
|
|
''구간별 딜레이
|
|
StepDelay = nudStepDelay.Text
|
|
|
|
''HIFU 관련 변수
|
|
HFRunCount = txbHFReCnt.Text
|
|
HFDataValid = txbHFeffect.Text
|
|
HFReCkCount = txbHFReCkCnt.Text
|
|
HFLowShot = txbHFLowShot.Text
|
|
|
|
''항목별 제품 코드
|
|
formProdCode(formTypeList.full) = "30"
|
|
formProdCode(formTypeList.iqc) = "30"
|
|
formProdCode(formTypeList.prod_HF) = "30"
|
|
formProdCode(formTypeList.prod_RF) = "30"
|
|
formProdCode(formTypeList.altoIQC) = "50"
|
|
formProdCode(formTypeList.altoPD) = "50"
|
|
formProdCode(formTypeList.Company) = "00"
|
|
formProdCode(formTypeList.DS_IQC) = "40"
|
|
formProdCode(formTypeList.DS_PD) = "40"
|
|
formProdCode(formTypeList.EF_IQC) = "60"
|
|
formProdCode(formTypeList.EF_PD) = "60"
|
|
|
|
End Sub
|
|
|
|
|
|
'' 바코드 스캐너 동작
|
|
|
|
Private Sub SetInputCnt()
|
|
InputCnt = InputCntVal
|
|
BarTimer.Enabled = True
|
|
End Sub
|
|
|
|
Private Sub chbUseBarcode_CheckedChanged(sender As Object, e As EventArgs) Handles chbUseBarcode.CheckedChanged, chbAutoMeasure.CheckedChanged
|
|
txbBarcode.Focus()
|
|
End Sub
|
|
|
|
Private Sub BarTimer_Tick(sender As Object, e As EventArgs) Handles BarTimer.Tick
|
|
If InputCnt Then
|
|
InputCnt -= 1
|
|
Else
|
|
BarTimer.Enabled = False
|
|
If txbBarcode.Text.Replace(" ", "") <> "" Or chbAutoMeasure.Checked Then
|
|
If InStr(txbBarcode.Text, TDSNHead1) > 0 Or InStr(txbBarcode.Text, TDSNHead2) > 0 Or InStr(txbBarcode.Text, "[START]") > 0 Then
|
|
btnRun_Click(sender, e)
|
|
End If
|
|
txbBarcode.Focus()
|
|
Else
|
|
btnRun.Focus()
|
|
End If
|
|
txbBarcode.Refresh()
|
|
btnRun.Refresh()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub txbBarcode_TextChanged(sender As Object, e As EventArgs) Handles txbBarcode.TextChanged
|
|
Dim TmpStr As String
|
|
|
|
If InputCnt = 0 And chbUseBarcode.Checked = True Then
|
|
If TestStep = TestList.Wait Then
|
|
TmpStr = txbBarcode.Text
|
|
txbCmdWindow.AppendText(TmpStr)
|
|
If (Len(TmpStr) > 1) Then
|
|
TmpStr = Mid(TmpStr, Len(TmpStr), 1)
|
|
txbBarcode.Clear()
|
|
txbBarcode.AppendText(TmpStr)
|
|
End If
|
|
SetInputCnt()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub txbBarcode_Click(sender As Object, e As EventArgs) Handles txbBarcode.Click
|
|
txbBarcode.BackColor = Color.White
|
|
If chbUseBarcode.Checked = False Then
|
|
txbBarcode.Clear()
|
|
End If
|
|
End Sub
|
|
|
|
'' ------------------------------------------------------
|
|
|
|
Private Sub Main_Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
PositionSetting()
|
|
txbWindow = txbCmdWindow
|
|
txbWindow.AppendText("Config Data Loading...." & vbCrLf)
|
|
WebCamNum = -1
|
|
|
|
'' 연결 방식 관련
|
|
ConnectName(ConnectList.USB) = "USB"
|
|
ConnectName(ConnectList.GPIB) = "GPIB"
|
|
|
|
ConfigIniLoad()
|
|
loadLocalFile()
|
|
|
|
txbWindow.AppendText("Config Data Loading Success" & vbCrLf)
|
|
|
|
txbWindow.AppendText("Data Setting Loading...." & vbCrLf)
|
|
Data_Setting()
|
|
txbWindow.AppendText("Data Setting Loading Success" & vbCrLf)
|
|
|
|
dgvID.Font = New Font("함초롱바탕", 11.25, FontStyle.Bold)
|
|
'EquipSetting()
|
|
TestDBCon()
|
|
|
|
modeSaveSwitch = True
|
|
txbBarcode.Focus()
|
|
|
|
End Sub
|
|
|
|
Private Function todayCountSet() As Boolean ''
|
|
Dim NotChecked As Boolean = False
|
|
NowDate = Format(Now, "yyyy-MM-dd")
|
|
|
|
If rdbIQC.Checked = True Or rdbAltoIqc.Checked = True Then
|
|
DBCmd = "SELECT COUNT(NUMBER) FROM " & iqcCntTableNow & " WHERE IQC_Date = '" & NowDate & "'"
|
|
If DBQueryScalar(DBCmd) = 0 Then
|
|
DBCmd = "INSERT INTO " & iqcCntTableNow & " (IQC_Date) VALUES ('" & NowDate & "')"
|
|
|
|
If DBCommand(DBCmd) = False Then
|
|
Return True
|
|
End If
|
|
End If
|
|
Else
|
|
DBCmd = "SELECT COUNT(NUMBER) FROM " & pd1CntTableNow & " WHERE PD1_Date = '" & NowDate & "'"
|
|
If DBQueryScalar(DBCmd) = 0 Then
|
|
DBCmd = "INSERT INTO " & pd1CntTableNow & " (PD1_Date) VALUES ('" & NowDate & "')"
|
|
|
|
If DBCommand(DBCmd) = False Then
|
|
Return True
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If rdbAltoPD.Checked = True Then
|
|
DBCmd = "SELECT PD1_AltoCnt,PD1_AltoOkCnt,PD1_AltoNgCnt FROM " & pd1CntTableNow & " WHERE PD1_Date = '" & NowDate & "'"
|
|
ElseIf rdbHF.Checked = True Or rdbEFPD.Checked = True Then
|
|
DBCmd = "SELECT PD1_MaxHFTotalCnt,PD1_MaxHFOkCnt,PD1_MaxHFNgCnt FROM " & pd1CntTableNow & " WHERE PD1_Date = '" & NowDate & "'"
|
|
ElseIf rdbRFMCEP.Checked = True Then
|
|
DBCmd = "SELECT PD1_MaxRFTotalCnt,PD1_MaxRFOkCnt,PD1_MaxRFNgCnt FROM " & pd1CntTableNow & " WHERE PD1_Date = '" & NowDate & "'"
|
|
ElseIf rdbIQC.Checked = True Then
|
|
DBCmd = "SELECT IQC_MAXTotalCnt,IQC_MAXOkCnt,IQC_MAXNgCnt FROM " & iqcCntTableNow & " WHERE IQC_Date = '" & NowDate & "'"
|
|
ElseIf rdbAltoIqc.Checked = True Then
|
|
DBCmd = "SELECT IQC_ALTOTotalCnt,IQC_ALTOOkCnt,IQC_ALTONgCnt FROM " & iqcCntTableNow & " WHERE IQC_Date = '" & NowDate & "'"
|
|
ElseIf rdbDsPD.Checked = True Then
|
|
DBCmd = "SELECT PD1_DevTotalCnt,PD1_DevOkCnt,PD1_DevNgCnt FROM " & pd1CntTableNow & " WHERE PD1_Date = '" & NowDate & "'"
|
|
Else
|
|
NotChecked = True
|
|
End If
|
|
|
|
If (NotChecked = False) Then
|
|
If DBQueryReader(DBCmd) Then
|
|
|
|
txbDayCount.Text = sqlDataQuery(0)
|
|
txbOkCount.Text = sqlDataQuery(1)
|
|
txbNgCount.Text = sqlDataQuery(2)
|
|
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
Else
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Private Sub PositionSetting()
|
|
MainSetting()
|
|
TopPositonSet()
|
|
BarcPositionSet()
|
|
StatePosition()
|
|
SituationPosition()
|
|
End Sub
|
|
|
|
Private Sub TestDBCon()
|
|
DBCmd = "select database()"
|
|
If DBQueryScalar(DBCmd) = "False" Then
|
|
txbWindow.AppendText("DataBase Connection Error!!" & vbCrLf)
|
|
End If
|
|
|
|
txbWindow.AppendText("DataBase Connection Success!!" & vbCrLf)
|
|
End Sub
|
|
|
|
Private Sub btnReStart_Click(sender As Object, e As EventArgs) Handles btnReStart.Click
|
|
StartSwitch = False
|
|
|
|
loadLocalFile()
|
|
Data_Setting()
|
|
changeMode()
|
|
txbBarcode.Focus()
|
|
End Sub
|
|
|
|
Private Sub EquipSetting()
|
|
Dim ErrorSwitch As Boolean = False
|
|
|
|
If EquipSet() Then
|
|
txbWindow.AppendText("Scope Setting Fail!!" & vbCrLf)
|
|
ErrorSwitch = True
|
|
Else
|
|
txbWindow.AppendText("Scope Setting Success!!" & vbCrLf)
|
|
End If
|
|
|
|
If SpecSet() Then
|
|
txbWindow.AppendText("Spectrum Setting Fail!!" & vbCrLf)
|
|
ErrorSwitch = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Setting Success!!" & vbCrLf)
|
|
End If
|
|
|
|
If ErrorSwitch = False Then
|
|
StartSwitch = True
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub btnSerial_Click(sender As Object, e As EventArgs) Handles btnSerial.Click
|
|
|
|
If btnSerial.Text = "스캔" Then
|
|
If LoadComportName() Then
|
|
btnSerial.Text = "연결"
|
|
End If
|
|
Else
|
|
If cbbSerial.SelectedIndex = -1 Then
|
|
MsgBox("포트를 선택하여 주십시오.", vbExclamation, Program_Name & Program_Version)
|
|
Exit Sub
|
|
End If
|
|
|
|
If JigSerial.IsOpen Then
|
|
JigSerial.Close()
|
|
End If
|
|
|
|
If cbbJgBaudRate.SelectedIndex = -1 Then
|
|
cbbJgBaudRate.SelectedIndex = 1
|
|
End If
|
|
|
|
ParaComport = cbbSerial.SelectedItem
|
|
OpenSerial(cbbJgBaudRate.SelectedItem)
|
|
btnSerial.Text = "스캔"
|
|
|
|
txbBarcode.Focus()
|
|
End If
|
|
End Sub
|
|
|
|
Private Function LoadComportName() As Boolean
|
|
Dim portname() As String
|
|
Try
|
|
cbbSerial.Items.Clear()
|
|
portname = SerialPort.GetPortNames
|
|
|
|
For i = 0 To portname.Length - 1
|
|
cbbSerial.Items.Add(portname(i))
|
|
Next
|
|
cbbSerial.Text = "Select!"
|
|
Return True
|
|
|
|
Catch ex As Exception
|
|
MsgBox("COM 포트 에러" & vbCrLf & "", vbOK + vbCritical, "DUALSONIC Cartridge Film Pressing")
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Private Sub OpenSerial(baudNum As Integer)
|
|
Try
|
|
If JigSerial.IsOpen = False Then
|
|
With JigSerial
|
|
.PortName = ParaComport
|
|
.BaudRate = baudNum
|
|
.DataBits = 8
|
|
.Parity = IO.Ports.Parity.None
|
|
.StopBits = IO.Ports.StopBits.One
|
|
.Handshake = IO.Ports.Handshake.None
|
|
.ReadTimeout = 0
|
|
.WriteTimeout = 1
|
|
End With
|
|
JigSerial.Open()
|
|
txbWindow.AppendText("JIG Serial Port Open!!" & vbCrLf)
|
|
|
|
Else
|
|
MsgBox("열려있는 시리얼 포트가 존재합니다! 시리얼 포트를 끊고 다시 설정하여 주십시오." & vbCrLf & "", vbCritical, "DUALSONIC Cartridge Film Pressing")
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox("COM 포트 에러" & vbCrLf & "", vbOK + vbCritical, "DUALSONIC Cartridge Film Pressing")
|
|
End Try
|
|
End Sub
|
|
|
|
'' Spectrum Command------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
Private Function SpecConnectSelect(SpecID As String) As Int16
|
|
|
|
If SpecID = "" Then
|
|
Return -1
|
|
End If
|
|
|
|
Dim SpecConnect As String = Mid(SpecID, 1, InStr(1, SpecID, "0:") - 1)
|
|
|
|
For i = ConnectList.USB To ConnectList.MAXConnect - 1
|
|
If SpecConnect = ConnectName(i) Then
|
|
Return i
|
|
End If
|
|
Next
|
|
|
|
Return -1
|
|
End Function
|
|
|
|
Private Function SpecSet() As Boolean
|
|
Dim ScopeData As String
|
|
Dim ErrCheck As Boolean = False
|
|
|
|
ConnectSelect = SpecConnectSelect(txbSpecID.Text)
|
|
|
|
If ConnectSelect = -1 Then
|
|
MsgBox("연결된 Spectrum 이 존재하지 않습니다. 연결을 확인하여 주십시오.", vbCritical)
|
|
Return True
|
|
End If
|
|
|
|
ScopeData = SpecOpen(txbSpecID.Text, nudSpTimeout.Text)
|
|
txbWindow.AppendText("Spectrum Data:" & ScopeData & vbCrLf)
|
|
|
|
If ScopeData = "FAIL" Then
|
|
MsgBox("Spectrum 연결에 실패했습니다.", vbCritical, Program_Name & Program_Version)
|
|
Return True
|
|
End If
|
|
|
|
|
|
If ConnectSelect = ConnectList.USB Then
|
|
|
|
ScopeData = RunCommand("*CLS")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Data initialization Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Data initialization:" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":FREQuency:CENTer " & txbFrStep1.Text & "kHz")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Center Frequence Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Center Frequence Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":FREQuency:SPAN " & txbSpan.Text & "MHz")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Span Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Span Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":BANDwidth:AUTO OFF")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum RBW Auto Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum RBW Auto Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":BANDwidth " & txbRBW.Text & " MHz")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum RBW Auto Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum RBW Auto Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":BANDwidth:VIDeo:AUTO ON")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum VBW Auto Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum VBW Auto Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":DISPlay:WINDow:TRACe:Y:PDIVision 1")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Scale/Div Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Scale/Div Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":DISPlay:WINDow:TRACe:Y:SPACing LOGarithmic")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Scale Type Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Scale Type Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
If ckbScopeZ.Checked = True Then
|
|
ScopeData = RunCommand(":CORRection:IMPedance 50")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Impedance Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Impedance Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
End If
|
|
|
|
'ScopeData = RunCommand(":POWer:ATTLimit:STATe ON")
|
|
'If ScopeData <> "PASS" Then
|
|
' txbWindow.AppendText("Spectrum Att Limit Setting Error:" & ScopeData & vbCrLf)
|
|
' ErrCheck = True
|
|
'Else
|
|
' txbWindow.AppendText("Spectrum Att Limit Setting :" & ScopeData & vbCrLf)
|
|
'End If
|
|
|
|
ScopeData = RunCommand(":UNIT:POWer W")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Y Axis Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Y Axis Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":POWer:ATTenuation:AUTO ON")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Attenuation Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Attenuation Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":POWer:ATTenuation 25dB")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Attenuation Number Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Attenuation Number Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":DISPlay:WINDow:TRACe:Y:RLEVel:OFFSet " & txbHFRefLev.Text & "")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Ref Level Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Ref Level Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = RunCommand(":DISPlay:WINDow:TRACe:Y:RLEVel 28.18W")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Ref Level Setting Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Ref Level Setting :" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ElseIf ConnectSelect = ConnectList.GPIB Then
|
|
|
|
Else
|
|
MsgBox("잘못된 연결 방식의 Spectrum 입니다. 확인하여 주십시오.", vbCritical)
|
|
Return True
|
|
End If
|
|
|
|
|
|
|
|
|
|
If ErrCheck = True Then
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Private Function CalMarker_Set() As Boolean
|
|
Dim ScopeData As String = RunCommand(":CALCulate:MARKer1:MAXimum")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Spectrum Trace1 CalCulate Marker1 Maximum Check Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Spectrum Trace1 CalCulate Marker1 Maximum Check : " & ScopeData & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function SpecFreq_Set(FreqReg As Single) As Boolean
|
|
Dim specData As String = RunCommand(":FREQuency:CENTer " & FreqReg & "kHz")
|
|
If specData <> "PASS" Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function Clear_Set() As Boolean
|
|
Dim ScopeData As String = RunCommand(":TRACe1:MODE WRITe")
|
|
If ScopeData <> "PASS" Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function MaxHold_Set() As Boolean
|
|
Dim ScopeData As String = RunCommand(":TRACe1:MODE MAXHold")
|
|
If ScopeData <> "PASS" Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
|
|
Private Function TektronixReset() As Boolean
|
|
Dim ScopeData As String = RunCommand(":TRACe1:AVERage:CLEar")
|
|
If ScopeData <> "PASS" Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
''' Scope Command------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
Private Function EquipSet() As Boolean
|
|
Dim ScopeData As String
|
|
Dim ErrCheck As Boolean = False
|
|
ScopeData = ScopeOpen(txbScopeID.Text, nudScTimeout.Value)
|
|
txbWindow.AppendText(vbCrLf & "Scope Data:" & ScopeData & vbCrLf)
|
|
If ScopeData = "FAIL" Then
|
|
MsgBox("Scope 연결에 실패했습니다.", vbCritical, Program_Name & Program_Version)
|
|
Return True
|
|
End If
|
|
|
|
ScopeData = DoCommand("*RST")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Factory initialization Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Scope Factory initialization:" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = DoCommand("*CLS")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Data initialization Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Scope Data initialization:" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = DoCommand(":DISPlay:ANNotation 1")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Annotation use Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Scope Annotation use:" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = DoCommand(":DISPlay:ANNotation:Text 'JION Meditech Function Tester'")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Annotation Text Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Scope Annotation Text:" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = DoCommand(":DISPlay:ANNotation:COLor CH3")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Annotation Color Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Scope Annotation Color:" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = DoCommand(":DISPlay:ANNotation:BACKground TRAN")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Annotation BackGround Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText("Scope Annotation BackGround:" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
ScopeData = DoCommand(":CHANnel1:COUPling DC")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText(vbCrLf & "Scope Coupling Set Error:" & ScopeData & vbCrLf)
|
|
ErrCheck = True
|
|
Else
|
|
txbWindow.AppendText(vbCrLf & "Scope Coupling Set:" & ScopeData & vbCrLf)
|
|
End If
|
|
|
|
RF_Setting() '' 50ms 단축을 위해 사용 - 안할시 170ms / 적용시 110ms
|
|
|
|
If ErrCheck = True Then
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Private Function RF_Setting() As Boolean
|
|
Dim SetString As String
|
|
|
|
If TrigSlope_Set("POS") = False Then
|
|
Return True
|
|
End If
|
|
|
|
If rdbRFTrAuto.Checked = True Then
|
|
SetString = "AUTO"
|
|
Else
|
|
SetString = "NORMal"
|
|
End If
|
|
|
|
If TriggerSet(SetString) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If TrigMod_Set() = False Then
|
|
Return True
|
|
End If
|
|
|
|
If TrigLv_Set(nudRFTrgLv.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If TimeScale_Set(CSng(txbRFtime.Text)) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If Delay_Select(Val(txbRFDelay.Text)) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If CH_Select(nudRFCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If rdbRFUnitV.Checked = True Then
|
|
SetString = "VOLT"
|
|
Else
|
|
SetString = "AMPere"
|
|
End If
|
|
|
|
If Unit_Select(SetString, nudRFCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If Scale_Select(nudRFScale.Value, nudRFCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If MeasClear() = False Then
|
|
Return True
|
|
End If
|
|
|
|
If VRMS_Set(nudRFCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If Freq_Set(nudRFCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Private Function MC_Setting() As Boolean
|
|
Dim SetString As String
|
|
|
|
If TrigSlope_Set("POS") = False Then
|
|
Return True
|
|
End If
|
|
|
|
If rdbMCTrAuto.Checked = True Then
|
|
SetString = "AUTO"
|
|
Else
|
|
SetString = "NORMal"
|
|
End If
|
|
|
|
If TriggerSet(SetString) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If TrigLv_Set(nudMCFVTrgLv.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If TrigMod_Set() = False Then
|
|
Return True
|
|
End If
|
|
|
|
If CH_Select(nudMCCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If rdbMCUnitV.Checked = True Then
|
|
SetString = "VOLT"
|
|
Else
|
|
SetString = "AMPere"
|
|
End If
|
|
|
|
If Unit_Select(SetString, nudMCCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If TimeScale_Set(Val(txbMCFVtime.Text)) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If Delay_Select(Val(txbMCFVDelay.Text)) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If Scale_Select(nudMCScale.Value, nudMCCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If MeasClear() = False Then
|
|
Return True
|
|
End If
|
|
|
|
If VPP_Set(nudMCCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If Freq_Set(nudMCCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If PWidth_Set(nudMCCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If NWidth_Set(nudMCCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
|
|
End Function
|
|
|
|
Private Function EP_Setting() As Boolean
|
|
Dim SetString As String
|
|
|
|
If TrigSlope_Set("POS") = False Then
|
|
Return True
|
|
End If
|
|
|
|
If rdbEPTrAuto.Checked = True Then
|
|
SetString = "AUTO"
|
|
Else
|
|
SetString = "NORMal"
|
|
End If
|
|
|
|
If TriggerSet(SetString) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If TrigMod_Set() = False Then
|
|
Return True
|
|
End If
|
|
|
|
If TrigLv_Set(nudEPFVTrgLv.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If TimeScale_Set(Val(txbEPFVtime.Text)) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If Delay_Select(Val(txbEPFVDelay.Text)) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If CH_Select(nudEPCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If rdbEPUnitV.Checked = True Then
|
|
SetString = "VOLT"
|
|
Else
|
|
SetString = "AMPere"
|
|
End If
|
|
If Unit_Select(SetString, nudEPCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If Scale_Select(nudEPScale.Value, nudEPCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If MeasClear() = False Then
|
|
Return True
|
|
End If
|
|
|
|
If VPP_Set(nudEPCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If Freq_Set(nudEPCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If PWidth_Set(nudEPCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
If NWidth_Set(nudEPCh.Value) = False Then
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Private Function TrigLv_Set(Tg_Lv As Single) As Boolean
|
|
Dim ScopeData As String = DoCommand(":TRIGger:LEVel " & Tg_Lv)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Trigger Level Setting Error :" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Trigger Level Setting :" & ScopeData & vbCrLf) '' TS_Value 값 출력되도록 변경해야 함
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
|
|
Private Function TimeScale_Set(TS_Value As Single) As Boolean
|
|
Dim ScopeData As String = DoCommand(":TIMebase:SCALe " & TS_Value)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Time Scale Setting Error :" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Time Scale Setting :" & ScopeData & vbCrLf) '' TS_Value 값 출력되도록 변경해야 함
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function TriggerSet(Trigger_Sweep As String) As Boolean
|
|
Dim ScopeData As String = DoCommand(":TRIGger:SWEep " & Trigger_Sweep)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Trigger Mode Error:" & Trigger_Sweep & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Trigger Mode Setting: " & Trigger_Sweep & "/ Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function CH_Select(chNum As Int16) As Boolean
|
|
Dim ScopeData As String = DoCommand(":MEASure:SOURce CHANnel" & chNum)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Channel Select Error :" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Channel Select Setting : " & ScopeData & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function Unit_Select(Scope_Unit As String, chNum As Int16) As Boolean
|
|
Dim ScopeData As String = DoCommand(":CHANnel" & chNum & ":UNITs " & Scope_Unit)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Channel Units Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Channel Units Setting: " & Scope_Unit & "/ Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function Scale_Select(ScaleValue As Single, chNum As Int16) As Boolean
|
|
Dim ScopeData As String = DoCommand(":CHANnel" & chNum & ":SCALe " & ScaleValue)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Channel Scale Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Channel Scale Setting: " & ScaleValue & "/" & ScopeData & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function Delay_Select(DelayCount As String) As Boolean
|
|
Dim ScopeData As String = DoCommand(":TIMebase:DELay " & DelayCount)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Time Delay Set Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Time Delay Set Setting: " & DelayCount & "-" & ScopeData & "_Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function TrigMod_Set() As Boolean
|
|
Dim ScopeData As String = DoCommand(":TRIGger:MODE EDGE")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Trigger Mode Set Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Trigger Mode Set : Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function TrigSlope_Set(slope_Type As String) As Boolean
|
|
Dim ScopeData As String = DoCommand(":TRIGger:EDGE:SLOPe " & slope_Type)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Trigger Edge Slope Set Error : " & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Trigger Edge Slope Set: EDGE_Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function VPP_Set(chNum As Int16) As Boolean
|
|
Dim ScopeData As String = DoCommand(":MEASure:VPP CHANnel" & chNum)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Measure VPP Set Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Measure VPP Set: Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function VRMS_Set(chNum As Int16) As Boolean
|
|
Dim ScopeData As String = DoCommand(":MEASure:VRMS DISPlay,DC,CHANnel" & chNum)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Measure VRMS DC Set Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Measure VRMS DC Set: Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function Freq_Set(chNum As Int16) As Boolean
|
|
Dim ScopeData As String = DoCommand(":MEASure:FREQuency CHANnel" & chNum)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Measure PWidth Set Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Measure PWidth Set: Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function MeasClear() As Boolean
|
|
Dim ScopeData As String = DoCommand(":MEASure:CLEar")
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Measure Clear Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Measure Clear Set: Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function PWidth_Set(chNum As Int16) As Boolean
|
|
Dim ScopeData As String = DoCommand(":MEASure:PWIDth CHANnel" & chNum)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Measure PWidth Set Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Measure PWidth Set: Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function NWidth_Set(chNum As Int16) As Boolean
|
|
Dim ScopeData As String = DoCommand(":MEASure:NWIDth CHANnel" & chNum)
|
|
If ScopeData <> "PASS" Then
|
|
txbWindow.AppendText("Scope Measure NWidth Set Error:" & ScopeData & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("Scope Measure NWidth Set: Success" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
'' JIG Command------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
Private Function SendData(SendMessage As String) As Boolean
|
|
Try
|
|
If JigSerial.IsOpen = True Then
|
|
JigSerial.DiscardInBuffer()
|
|
JigSerial.DiscardOutBuffer()
|
|
If JigSerial.BytesToRead Then
|
|
JigSerial.DiscardInBuffer()
|
|
End If
|
|
JigSerial.WriteTimeout = -1
|
|
JigSerial.WriteLine(SendMessage)
|
|
|
|
Return False
|
|
Else
|
|
MsgBox("통신 포트가 열리지 않았습니다.", vbCritical)
|
|
Return True
|
|
End If
|
|
Catch ex As Exception
|
|
Return True
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
Private Function PollingReceiveData(RdTimeout As Long) As String
|
|
Try
|
|
If JigSerial.IsOpen = True Then
|
|
rxMessage = ""
|
|
JigSerial.ReadTimeout = RdTimeout
|
|
rxMessage = JigSerial.ReadLine
|
|
|
|
Return ParsingData()
|
|
Else
|
|
MsgBox("통신 포트가 열리지 않았습니다.", vbCritical)
|
|
Return "close"
|
|
End If
|
|
Catch timeout As TimeoutException
|
|
rxMessage = ""
|
|
Return "timeout"
|
|
Catch ex As Exception
|
|
rxMessage = ""
|
|
MsgBox(Err.Description, vbCritical)
|
|
Return "pass"
|
|
End Try
|
|
End Function
|
|
|
|
Private Function ParsingData() As String
|
|
Dim cmdStr As String
|
|
Dim cmdVal(0 To 6) As String
|
|
Dim i As Integer
|
|
|
|
Try
|
|
cmdStr = "0"
|
|
|
|
If rxMessage <> "" Then
|
|
cmdMessage = ""
|
|
|
|
If Mid(rxMessage, 1, 1) = "[" Then
|
|
cmdMessage = Mid(rxMessage, 2, Len(rxMessage))
|
|
|
|
cmdStr = Mid(cmdMessage, 1, (InStr(rxMessage, " ") - 2))
|
|
cmdMessage = Mid(rxMessage, InStr(rxMessage, " ") + 1, Len(cmdMessage))
|
|
|
|
For i = 1 To 5
|
|
If InStr(cmdMessage, ",") <> 0 Then
|
|
cmdVal(i) = Mid(cmdMessage, 1, InStr(cmdMessage, ",") - 1)
|
|
cmdMessage = Mid(cmdMessage, InStr(cmdMessage, ",") + 1, Len(cmdMessage))
|
|
ElseIf InStr(cmdMessage, "]") <> 0 Then
|
|
cmdVal(i) = Mid(cmdMessage, 1, InStr(cmdMessage, "]") - 1)
|
|
'cmdMessage = Mid(cmdMessage, InStr(cmdMessage, "]") + 1, Len(cmdMessage))
|
|
Else
|
|
Exit For
|
|
End If
|
|
Next i
|
|
rxMessage = ""
|
|
|
|
Select Case cmdStr
|
|
|
|
Case "deviceon"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "entermft"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "mftmode"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "runmc"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "runrf"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "runep"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "endmft"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "runhifu"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "dsfwver"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "rdbattlv"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "rdtemp"
|
|
cmdStr = cmdVal(1) & "," & cmdVal(2)
|
|
Return cmdStr
|
|
Case "resetinf"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "settdsn"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "settdcnf"
|
|
cmdStr = cmdVal(1) & "," & cmdVal(2)
|
|
Return cmdStr
|
|
Case "runled"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
Case "setmotor"
|
|
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5)
|
|
Return cmdStr
|
|
Case "runbuzz"
|
|
cmdStr = cmdVal(1)
|
|
Return cmdStr
|
|
End Select
|
|
End If
|
|
rxMessage = ""
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
rxMessage = ""
|
|
Return Err.Description
|
|
End Try
|
|
End Function
|
|
|
|
Private Function DeviceOn() As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "deviceon"
|
|
cmdMessage = "[" & tmpCmdMessage & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGON_Timeout)
|
|
|
|
If retVal = "success" Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function FirmVerCheck() As Boolean
|
|
|
|
'MeasureTimeFunc(MeasStart)
|
|
'MainTextChange("펌웨어 측정중")
|
|
TestStep = TestList.Firmware
|
|
TestData.Test_Firmware = String.Empty
|
|
|
|
tmpCmdMessage = "dsfwver"
|
|
cmdMessage = "[" & tmpCmdMessage & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
txbVer.ForeColor = Color.Red
|
|
txbWindow.AppendText("Product Firmware/ JIG Connecter ERROR!" & vbCrLf)
|
|
Return True
|
|
End If
|
|
|
|
TestData.Test_Firmware = PollingReceiveData(JIGDT_Timeout)
|
|
txbVer.Text = TestData.Test_Firmware
|
|
txbVer.Refresh()
|
|
|
|
If TestData.Test_Firmware = FWVerNow.Text Then
|
|
txbVer.ForeColor = Color.Blue
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
txbWindow.AppendText("Firmware Time(ms) : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbVer.ForeColor = Color.Red
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
txbWindow.AppendText("Firmware Time(ms) : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function TestMode_On(ModeNum As Int16) As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "mftmode"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & ModeNum & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal = "sucess" Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function RunHifu(FreqUse As Boolean, Freq As Int16, Timeset As Int16) As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "runhifu"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & Math.Abs(Val(FreqUse)) & "," & Freq & "," & Timeset & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal = "sucess" Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function RunRF(runType As Int16) As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "runrf"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & runType & "," & nudRFRun.Value & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal = "sucess" Then
|
|
Return False
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Private Function RunMC(runType As Int16, RunTime As Int16) As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "runmc"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & runType & "," & RunTime & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal = "sucess" Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function RunEP(runType As Int32) As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "runep"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & runType & "," & nudEPFVRun.Value & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal = "sucess" Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function RunTemp() As String
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "rdtemp"
|
|
cmdMessage = "[" & tmpCmdMessage & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return "conerror"
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
Return retVal
|
|
End Function
|
|
|
|
Private Function RunBattery() As String
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "rdbattlv"
|
|
cmdMessage = "[" & tmpCmdMessage & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return "conerror"
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
Return retVal
|
|
End Function
|
|
|
|
Private Function LEDRun(ColorNum As Int16, OnSet As Boolean) As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "runled"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & ColorNum & "," & Abs(Val(OnSet)) & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal = "sucess" Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function SerialWrite(TDSN As String) As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "settdsn"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & TDSN & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal.ToLower = TDSN.ToLower Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function FreqWrite(Freq As Int16, Power As Int16) As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "settdcnf"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & Freq & "," & Power & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal = Freq & "," & Power Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function ResetData() As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "resetinf"
|
|
cmdMessage = "[" & tmpCmdMessage & "]"
|
|
|
|
delay_run(300)
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal = "ok" Then
|
|
Return False
|
|
End If
|
|
|
|
txbWindow.AppendText(retVal & vbCrLf)
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function EndTest() As Boolean
|
|
Dim retVal As String
|
|
|
|
tmpCmdMessage = "endmft"
|
|
cmdMessage = "[" & tmpCmdMessage & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retVal = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If retVal = "ok" Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
''----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
Private Function NonTDExist() As Boolean
|
|
DBCmd = "SELECT COUNT(PV_SN) FROM " & NonTDTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
Dim sqlData As String = DBQueryScalar(DBCmd)
|
|
|
|
If sqlData = "False" Then
|
|
txbWindow.AppendText("DataBase TD DATA Connect Fail!!" & vbCrLf)
|
|
TestError = False
|
|
Return False
|
|
End If
|
|
|
|
If IsNumeric(sqlData) = False Then
|
|
txbWindow.AppendText("DataBase TD DATA Numeric Fail!!" & vbCrLf)
|
|
TestError = False
|
|
Return False
|
|
End If
|
|
|
|
If Val(sqlData) > 0 Then '' td 데이터가 db에 있을 경우
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function TDExist() As Boolean
|
|
DBCmd = "SELECT COUNT(PV_SN) FROM " & TDTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
Dim sqlData As String = DBQueryScalar(DBCmd)
|
|
|
|
If sqlData = "False" Then
|
|
txbWindow.AppendText("DataBase TD DATA Connect Fail!!" & vbCrLf)
|
|
TestError = False
|
|
Return False
|
|
End If
|
|
|
|
If IsNumeric(sqlData) = False Then
|
|
txbWindow.AppendText("DataBase TD DATA Numeric Fail!!" & vbCrLf)
|
|
TestError = False
|
|
Return False
|
|
End If
|
|
|
|
If Val(sqlData) < 1 Then
|
|
txbWindow.AppendText("DataBase TD DATA Exist Fail!!" & vbCrLf)
|
|
Return False
|
|
End If
|
|
|
|
txbWindow.AppendText("DataBase TD DATA Exist Success!!" & vbCrLf)
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Sub TDCompare()
|
|
Dim tableName() As String
|
|
Dim dupCount As Int16 = 0
|
|
dupDATA = 0
|
|
|
|
If formType = formTypeList.full Then
|
|
ReDim tableName(1)
|
|
|
|
tableName(0) = hfTableNow
|
|
tableName(1) = rfTableNow
|
|
|
|
ElseIf formType = formTypeList.prod_HF Or formType = formTypeList.EF_PD Then
|
|
ReDim tableName(0)
|
|
|
|
tableName(0) = hfTableNow
|
|
|
|
ElseIf formType = formTypeList.prod_RF Or formType = formTypeList.altoPD Then
|
|
ReDim tableName(0)
|
|
|
|
tableName(0) = rfTableNow
|
|
|
|
Else
|
|
ReDim tableName(1)
|
|
|
|
tableName(0) = hfTableNow
|
|
tableName(1) = rfTableNow
|
|
End If
|
|
|
|
For i = 0 To tableName.Length - 1
|
|
DBCmd = "SELECT COUNT(PV_SN) FROM " & tableName(i) & " WHERE PV_SN = '" & TestData.Test_Serial & "'" &
|
|
" AND DATE(TestDate) = CURDATE()"
|
|
|
|
Dim DupYn As Int16 = DBQueryScalar(DBCmd)
|
|
|
|
If DupYn > 0 Then
|
|
|
|
If tableName(i) = hfTableNow Then
|
|
dupCount = 1
|
|
Else
|
|
dupCount = 2
|
|
End If
|
|
Else
|
|
dupCount = 0
|
|
End If
|
|
|
|
dupDATA = dupDATA + dupCount
|
|
|
|
Next
|
|
|
|
End Sub
|
|
|
|
Private Function StepSearch() As Boolean
|
|
DBCmd = "SELECT TestStep FROM " & NonTDTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
TDDataSet(TD_Data.TestStep) = DBQueryScalar(DBCmd)
|
|
|
|
If TDDataSet(TD_Data.TestStep) = "False" Then
|
|
txbWindow.AppendText("DataBase TestStep DATA Load Fail!!" & vbCrLf)
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Private Function TDTestNG() As Boolean
|
|
DBCmd = "SELECT TestStep,QC_Date,QC_Frequency,QC_Grade,Ct_Power,Ct_Motor_Lv FROM " & TDTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
If DBQueryReader(DBCmd) Then
|
|
For i = 0 To sqlDataQuery.Length - 1
|
|
TDDataSet(i) = sqlDataQuery(i)
|
|
Next
|
|
|
|
txbWindow.AppendText("DataBase TD DATA Load Success!!" & vbCrLf)
|
|
Return False
|
|
End If
|
|
|
|
txbWindow.AppendText("DataBase TD DATA Load Fail!!" & vbCrLf)
|
|
Return True
|
|
End Function
|
|
|
|
''----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
Public Function HFTestRun() As Boolean
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("HIFU 측정중")
|
|
TestStep = TestList.HIFU
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
Const ModCnt As Int16 = 1
|
|
Dim ErrorCheck As Boolean = False
|
|
Dim ForCnt As Int16 = 0
|
|
Dim PlayCount As Int16 = nudHFCount.Value
|
|
|
|
For cnt = 0 To HifuTest_Step.step3
|
|
TestData.Test_HFData(cnt) = 0
|
|
If cnt < HifuTest_Step.step3 Then
|
|
TestData.Test_HFInterval(cnt) = 0
|
|
End If
|
|
Next
|
|
|
|
If TestMode_On(ModCnt) Then
|
|
txbWindow.AppendText("TestMode_Microcurrent Entrance Fail: " & ModCnt & vbCrLf)
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
For cnt = 0 To HifuTest_Step.step3
|
|
ForCnt = cnt
|
|
hfTestState(cnt)
|
|
|
|
If ConnectSelect = ConnectList.GPIB Then
|
|
If TektronixReset() = False Then
|
|
txbWindow.AppendText("Spectrum Reset Fail :" & cnt & vbCrLf)
|
|
GoTo ForSettingFail
|
|
End If
|
|
Else
|
|
If SpecFreq_Set(HifuStep(cnt)) = False Then
|
|
txbWindow.AppendText("Spectrum Center Frequence Fail :" & cnt & vbCrLf)
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
If Clear_Set() = False Then
|
|
txbWindow.AppendText("Spectrum Trace Clear Fail : " & cnt & vbCrLf)
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
If MaxHold_Set() = False Then
|
|
txbWindow.AppendText("Spectrum Trace MaxHold Fail : " & cnt & vbCrLf)
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
txbWindow.AppendText("Run Hifu setting : " & cnt & vbCrLf)
|
|
End If
|
|
|
|
delay_run(txbHFStDelay.Text)
|
|
|
|
For i = 0 To PlayCount - 1
|
|
|
|
If RunHifu(False, HifuStep(cnt), nudHFRun.Value) Then
|
|
txbWindow.AppendText("Run Hifu Fail : " & cnt & vbCrLf)
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
txbWindow.AppendText("Run Hifu freq : " & HifuStep(cnt) & vbCrLf)
|
|
|
|
txbWindow.AppendText("Run HIFU Success : " & cnt & vbCrLf)
|
|
delay_run(nudHFwait.Value)
|
|
|
|
Next
|
|
|
|
If CalMarker_Set() = False Then
|
|
txbWindow.AppendText("Spectrum CALCulate Marker Fail : " & cnt & vbCrLf)
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
TestData.Test_HFData(cnt) = Round(Convert.ToDouble(SpecQueryStr(":CALCulate:MARKer1:Y?")), 3)
|
|
|
|
If formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
|
|
If cnt Mod 2 = 0 Then
|
|
If TestData.Test_HFData(cnt) < Convert.ToDouble(Val(txbDSSub_Min.Text)) Or TestData.Test_HFData(cnt) > Convert.ToDouble(Val(txbDSSub_Max.Text)) Then
|
|
txbWindow.AppendText("Run Hifu Fail " & cnt & " : " & TestData.Test_HFData(cnt) & vbCrLf)
|
|
hfTestFail(cnt)
|
|
ErrorCheck = True
|
|
Else
|
|
txbWindow.AppendText("Run Hifu " & cnt & " : " & TestData.Test_HFData(cnt) & vbCrLf)
|
|
hfTestSuccess(cnt)
|
|
End If
|
|
|
|
Else
|
|
|
|
If TestData.Test_HFData(cnt) < Convert.ToDouble(Val(txbDShfOut_stMin.Text)) Or TestData.Test_HFData(cnt) > Convert.ToDouble(Val(txbDShfOut_stMax.Text)) Then
|
|
txbWindow.AppendText("Run Hifu Fail " & cnt & " : " & TestData.Test_HFData(cnt) & vbCrLf)
|
|
hfTestFail(cnt)
|
|
ErrorCheck = True
|
|
Else
|
|
txbWindow.AppendText("Run Hifu " & cnt & " : " & TestData.Test_HFData(cnt) & vbCrLf)
|
|
hfTestSuccess(cnt)
|
|
End If
|
|
|
|
End If
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("Run Hifu setting : " & TestData.Test_HFData(cnt) & vbCrLf)
|
|
|
|
If TestData.Test_HFData(cnt) < Convert.ToDouble(Val(HF_OutMIN.Text)) Or TestData.Test_HFData(cnt) > Convert.ToDouble(Val(HF_OutMax.Text)) Then
|
|
txbWindow.AppendText("Run Hifu Fail " & cnt & " : " & TestData.Test_HFData(cnt) & vbCrLf)
|
|
hfTestFail(cnt)
|
|
ErrorCheck = True
|
|
Else
|
|
txbWindow.AppendText("Run Hifu " & cnt & " : " & TestData.Test_HFData(cnt) & vbCrLf)
|
|
hfTestSuccess(cnt)
|
|
End If
|
|
|
|
End If
|
|
|
|
Next
|
|
|
|
If formType = formTypeList.DS_PD Or formType = formTypeList.DS_IQC Then
|
|
|
|
If TestData.Test_HFData(HifuTest_Step.Step1) > TestData.Test_HFData(HifuTest_Step.step3) Then
|
|
TestData.Test_HFInterval(HifuTest_Diff.Step1_2) = TestData.Test_HFData(HifuTest_Step.Step1) - TestData.Test_HFData(HifuTest_Step.Step2)
|
|
txbWindow.AppendText("Run Hifu Step1 - Step2 : " & TestData.Test_HFInterval(HifuTest_Diff.Step1_2) & vbCrLf)
|
|
TestData.Test_HFInterval(HifuTest_Diff.Step2_3) = 0
|
|
txbWindow.AppendText("Run Hifu Step2 - Step3 : " & TestData.Test_HFInterval(HifuTest_Diff.Step2_3) & vbCrLf)
|
|
ElseIf TestData.Test_HFData(0) = TestData.Test_HFData(2) Then
|
|
TestData.Test_HFInterval(HifuTest_Diff.Step1_2) = TestData.Test_HFData(HifuTest_Step.Step1) - TestData.Test_HFData(HifuTest_Step.Step2)
|
|
txbWindow.AppendText("Run Hifu Step1 - Step2 : " & TestData.Test_HFInterval(HifuTest_Diff.Step1_2) & vbCrLf)
|
|
TestData.Test_HFInterval(HifuTest_Diff.Step2_3) = 0
|
|
txbWindow.AppendText("Run Hifu Step2 - Step3 : " & TestData.Test_HFInterval(HifuTest_Diff.Step2_3) & vbCrLf)
|
|
Else
|
|
TestData.Test_HFInterval(HifuTest_Diff.Step1_2) = 0
|
|
txbWindow.AppendText("Run Hifu Step1 - Step2 : " & TestData.Test_HFInterval(HifuTest_Diff.Step1_2) & vbCrLf)
|
|
TestData.Test_HFInterval(HifuTest_Diff.Step2_3) = TestData.Test_HFData(HifuTest_Step.Step2) - TestData.Test_HFData(HifuTest_Step.step3)
|
|
txbWindow.AppendText("Run Hifu Step2 - Step3 : " & TestData.Test_HFInterval(HifuTest_Diff.Step2_3) & vbCrLf)
|
|
End If
|
|
|
|
Else
|
|
|
|
TestData.Test_HFInterval(HifuTest_Diff.Step1_2) = TestData.Test_HFData(HifuTest_Step.Step1) - TestData.Test_HFData(HifuTest_Step.Step2)
|
|
txbWindow.AppendText("Run Hifu Step1 - Step2 : " & TestData.Test_HFInterval(HifuTest_Diff.Step1_2) & vbCrLf)
|
|
TestData.Test_HFInterval(HifuTest_Diff.Step2_3) = TestData.Test_HFData(HifuTest_Step.Step2) - TestData.Test_HFData(HifuTest_Step.step3)
|
|
txbWindow.AppendText("Run Hifu Step2 - Step3 : " & TestData.Test_HFInterval(HifuTest_Diff.Step2_3) & vbCrLf)
|
|
|
|
End If
|
|
|
|
If Abs(TestData.Test_HFInterval(HifuTest_Diff.Step1_2)) >= Abs(Convert.ToDouble(HF_OutRange.Text)) Or Abs(TestData.Test_HFInterval(HifuTest_Diff.Step2_3)) >= Abs(Convert.ToDouble(HF_OutRange.Text)) Then
|
|
txbWindow.AppendText("Run Hifu Range Value Fail" & vbCrLf)
|
|
ErrorCheck = True
|
|
End If
|
|
|
|
If ErrorCheck = True Then
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
Else
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
End If
|
|
|
|
txbWindow.AppendText("Hifu Test Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
Return False
|
|
|
|
ForSettingFail:
|
|
hfTestFail(ForCnt)
|
|
SettingFail:
|
|
MeasureTimeFunc(MeasEnd)
|
|
TestError = False
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
Return True
|
|
|
|
End Function
|
|
Private Sub hfTestState(cnt As Int16)
|
|
If rdbHF.Checked = True Or rdbEFPD.Checked = True Then
|
|
If cnt = HifuTest_Step.Step1 Then
|
|
txbHFtest1.Text = "측정중"
|
|
txbHFtest1.BackColor = Color.Yellow
|
|
txbHFtest1.Refresh()
|
|
ElseIf cnt = HifuTest_Step.Step2 Then
|
|
txbHFtest2.Text = "측정중"
|
|
txbHFtest2.BackColor = Color.Yellow
|
|
txbHFtest2.Refresh()
|
|
Else
|
|
txbHFtest3.Text = "측정중"
|
|
txbHFtest3.BackColor = Color.Yellow
|
|
txbHFtest3.Refresh()
|
|
End If
|
|
ElseIf formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
If cnt = HifuTest_Step.Step1 Then
|
|
txbDSHifu_1.Text = "측정중"
|
|
txbDSHifu_1.BackColor = Color.Yellow
|
|
txbDSHifu_1.Refresh()
|
|
ElseIf cnt = HifuTest_Step.Step2 Then
|
|
txbDSHifu_2.Text = "측정중"
|
|
txbDSHifu_2.BackColor = Color.Yellow
|
|
txbDSHifu_2.Refresh()
|
|
Else
|
|
txbDSHifu_3.Text = "측정중"
|
|
txbDSHifu_3.BackColor = Color.Yellow
|
|
txbDSHifu_3.Refresh()
|
|
End If
|
|
Else
|
|
If cnt = HifuTest_Step.Step1 Then
|
|
txbIQCHF1.Text = "측정중"
|
|
txbIQCHF1.BackColor = Color.Yellow
|
|
txbIQCHF1.Refresh()
|
|
ElseIf cnt = HifuTest_Step.Step2 Then
|
|
txbIQCHF2.Text = "측정중"
|
|
txbIQCHF2.BackColor = Color.Yellow
|
|
txbIQCHF2.Refresh()
|
|
Else
|
|
txbIQCHF3.Text = "측정중"
|
|
txbIQCHF3.BackColor = Color.Yellow
|
|
txbIQCHF3.Refresh()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub hfTestFail(cnt As Int16)
|
|
If rdbHF.Checked = True Or rdbEFPD.Checked = True Then
|
|
If cnt = HifuTest_Step.Step1 Then
|
|
txbHFtest1.Text = "FAIL"
|
|
txbHFtest1.BackColor = Color.Red
|
|
txbHFtest1.Refresh()
|
|
ElseIf cnt = HifuTest_Step.Step2 Then
|
|
txbHFtest2.Text = "FAIL"
|
|
txbHFtest2.BackColor = Color.Red
|
|
txbHFtest2.Refresh()
|
|
Else
|
|
txbHFtest3.Text = "FAIL"
|
|
txbHFtest3.BackColor = Color.Red
|
|
txbHFtest3.Refresh()
|
|
End If
|
|
ElseIf formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
If cnt = HifuTest_Step.Step1 Then
|
|
txbDSHifu_1.Text = "FAIL"
|
|
txbDSHifu_1.BackColor = Color.Red
|
|
txbDSHifu_1.Refresh()
|
|
ElseIf cnt = HifuTest_Step.Step2 Then
|
|
txbDSHifu_2.Text = "FAIL"
|
|
txbDSHifu_2.BackColor = Color.Red
|
|
txbDSHifu_2.Refresh()
|
|
Else
|
|
txbDSHifu_3.Text = "FAIL"
|
|
txbDSHifu_3.BackColor = Color.Red
|
|
txbDSHifu_3.Refresh()
|
|
End If
|
|
Else
|
|
If cnt = HifuTest_Step.Step1 Then
|
|
txbIQCHF1.Text = "FAIL"
|
|
txbIQCHF1.BackColor = Color.Red
|
|
txbIQCHF1.Refresh()
|
|
ElseIf cnt = HifuTest_Step.Step2 Then
|
|
txbIQCHF2.Text = "FAIL"
|
|
txbIQCHF2.BackColor = Color.Red
|
|
txbIQCHF2.Refresh()
|
|
Else
|
|
txbIQCHF3.Text = "FAIL"
|
|
txbIQCHF3.BackColor = Color.Red
|
|
txbIQCHF3.Refresh()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub hfTestSuccess(cnt As Int16)
|
|
If rdbHF.Checked = True Or rdbEFPD.Checked = True Then
|
|
If cnt = HifuTest_Step.Step1 Then
|
|
txbHFtest1.Text = "SUCCESS"
|
|
txbHFtest1.BackColor = Color.Green
|
|
txbHFtest1.Refresh()
|
|
ElseIf cnt = HifuTest_Step.Step2 Then
|
|
txbHFtest2.Text = "SUCCESS"
|
|
txbHFtest2.BackColor = Color.Green
|
|
txbHFtest2.Refresh()
|
|
Else
|
|
txbHFtest3.Text = "SUCCESS"
|
|
txbHFtest3.BackColor = Color.Green
|
|
txbHFtest3.Refresh()
|
|
End If
|
|
ElseIf formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
If cnt = HifuTest_Step.Step1 Then
|
|
txbDSHifu_1.Text = "SUCCESS"
|
|
txbDSHifu_1.BackColor = Color.Green
|
|
txbDSHifu_1.Refresh()
|
|
ElseIf cnt = HifuTest_Step.Step2 Then
|
|
txbDSHifu_2.Text = "SUCCESS"
|
|
txbDSHifu_2.BackColor = Color.Green
|
|
txbDSHifu_2.Refresh()
|
|
Else
|
|
txbDSHifu_3.Text = "SUCCESS"
|
|
txbDSHifu_3.BackColor = Color.Green
|
|
txbDSHifu_3.Refresh()
|
|
End If
|
|
Else
|
|
If cnt = HifuTest_Step.Step1 Then
|
|
txbIQCHF1.Text = "SUCCESS"
|
|
txbIQCHF1.BackColor = Color.Green
|
|
txbIQCHF1.Refresh()
|
|
ElseIf cnt = HifuTest_Step.Step2 Then
|
|
txbIQCHF2.Text = "SUCCESS"
|
|
txbIQCHF2.BackColor = Color.Green
|
|
txbIQCHF2.Refresh()
|
|
Else
|
|
txbIQCHF3.Text = "SUCCESS"
|
|
txbIQCHF3.BackColor = Color.Green
|
|
txbIQCHF3.Refresh()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Public Function RFTestRun() As Boolean
|
|
Dim ForCnt As Int16 = 0
|
|
Try
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("RF 측정중")
|
|
TestStep = TestList.RF
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
Const ModCnt As Int16 = 2
|
|
Dim ScopeData As String = String.Empty
|
|
Dim ErrorCheck As Boolean = False
|
|
|
|
For i = 0 To RFTest_Count
|
|
TestData.Test_RFVRMS(i) = 0
|
|
TestData.Test_RFFreq(i) = 0
|
|
Next
|
|
|
|
If RF_Setting() Then
|
|
txbWindow.AppendText("RF Scope Setting Fail: " & ModCnt & vbCrLf)
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
If TestMode_On(ModCnt) Then
|
|
txbWindow.AppendText("TestMode_Microcurrent Entrance Fail: " & ModCnt & vbCrLf)
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
For i = RFTest_Count To 0 Step -1
|
|
ForCnt = i
|
|
Dim freqCount As Int16 = 0
|
|
|
|
If rdbAltoIqc.Checked = True Or rdbAltoPD.Checked = True Then
|
|
freqCount = (i * 2) + 2
|
|
Else
|
|
freqCount = i
|
|
End If
|
|
|
|
rfTestState(i)
|
|
DoCommand(":Single")
|
|
|
|
If RunRF(freqCount) Then
|
|
GoTo forSettingFail
|
|
End If
|
|
|
|
ScopeData = DoQueryString(":MEASure:VRMS? CHANnel" & nudRFCh.Value)
|
|
|
|
If InStr(1, ScopeData.ToLower, "error") > 0 Then
|
|
GoTo forSettingFail
|
|
End If
|
|
|
|
TestData.Test_RFVRMS(i) = Convert.ToDouble(ScopeData).ToString("f12")
|
|
|
|
ScopeData = DoQueryString(":MEASure:FREQuency? CHANnel" & nudRFCh.Value)
|
|
|
|
If InStr(1, ScopeData.ToLower, "error") > 0 Then
|
|
GoTo forSettingFail
|
|
End If
|
|
|
|
TestData.Test_RFFreq(i) = Convert.ToDouble(ScopeData).ToString("f12") / 1000000
|
|
|
|
|
|
If (TestData.Test_RFVRMS(i) < CSng(RF_VRMSMin(i).Text) Or TestData.Test_RFVRMS(i) > CSng(RF_VRMSMax(i).Text)) Or Round(TestData.Test_RFFreq(i), 0) <> i + 1 Then
|
|
txbWindow.AppendText("Run RF FAIL" & i & " : " & TestData.Test_RFVRMS(i) & "/" & TestData.Test_RFFreq(i) & vbCrLf)
|
|
rfTestFail(i)
|
|
ErrorCheck = True
|
|
Else
|
|
txbWindow.AppendText("Run RF " & i & " : " & TestData.Test_RFVRMS(i) & "/" & TestData.Test_RFFreq(i) & vbCrLf)
|
|
rfTestSuccess(i)
|
|
End If
|
|
|
|
Next
|
|
|
|
If ErrorCheck = True Then
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
Else
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
End If
|
|
|
|
txbWindow.AppendText("RF Test Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
Return False
|
|
|
|
Catch ex As Exception
|
|
txbWindow.AppendText("Run RF Try Error : " & ex.Message & vbCrLf)
|
|
GoTo SettingFail
|
|
End Try
|
|
|
|
forSettingFail:
|
|
rfTestFail(ForCnt)
|
|
SettingFail:
|
|
txbWindow.AppendText("Run RF FAIL" & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End Function
|
|
|
|
Private Sub rfTestState(cnt As Int16)
|
|
If rdbRFMCEP.Checked = True Then
|
|
If cnt = 2 Then
|
|
txbRFtest1.Text = "측정중"
|
|
txbRFtest1.BackColor = Color.Yellow
|
|
txbRFtest1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbRFtest2.Text = "측정중"
|
|
txbRFtest2.BackColor = Color.Yellow
|
|
txbRFtest2.Refresh()
|
|
Else
|
|
txbRFtest3.Text = "측정중"
|
|
txbRFtest3.BackColor = Color.Yellow
|
|
txbRFtest3.Refresh()
|
|
End If
|
|
|
|
ElseIf rdbAltoIqc.Checked = True Or rdbAltoPD.Checked = True Or rdbCompany.Checked = True Then
|
|
If cnt = 2 Then
|
|
txbAlIQCRF_1.Text = "측정중"
|
|
txbAlIQCRF_1.BackColor = Color.Yellow
|
|
txbAlIQCRF_1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbAlIQCRF_2.Text = "측정중"
|
|
txbAlIQCRF_2.BackColor = Color.Yellow
|
|
txbAlIQCRF_2.Refresh()
|
|
Else
|
|
txbAlIQCRF_3.Text = "측정중"
|
|
txbAlIQCRF_3.BackColor = Color.Yellow
|
|
txbAlIQCRF_3.Refresh()
|
|
End If
|
|
|
|
Else
|
|
If cnt = 2 Then
|
|
txbIQCRF1.Text = "측정중"
|
|
txbIQCRF1.BackColor = Color.Yellow
|
|
txbIQCRF1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbIQCRF2.Text = "측정중"
|
|
txbIQCRF2.BackColor = Color.Yellow
|
|
txbIQCRF2.Refresh()
|
|
Else
|
|
txbIQCRF3.Text = "측정중"
|
|
txbIQCRF3.BackColor = Color.Yellow
|
|
txbIQCRF3.Refresh()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rfTestFail(cnt As Int16)
|
|
If rdbRFMCEP.Checked = True Then
|
|
If cnt = 2 Then
|
|
txbRFtest1.Text = "FAIL"
|
|
txbRFtest1.BackColor = Color.Red
|
|
txbRFtest1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbRFtest2.Text = "FAIL"
|
|
txbRFtest2.BackColor = Color.Red
|
|
txbRFtest2.Refresh()
|
|
Else
|
|
txbRFtest3.Text = "FAIL"
|
|
txbRFtest3.BackColor = Color.Red
|
|
txbRFtest3.Refresh()
|
|
End If
|
|
|
|
ElseIf rdbAltoIqc.Checked = True Or rdbAltoPD.Checked = True Or rdbCompany.Checked = True Then
|
|
If cnt = 2 Then
|
|
txbAlIQCRF_1.Text = "FAIL"
|
|
txbAlIQCRF_1.BackColor = Color.Red
|
|
txbAlIQCRF_1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbAlIQCRF_2.Text = "FAIL"
|
|
txbAlIQCRF_2.BackColor = Color.Red
|
|
txbAlIQCRF_2.Refresh()
|
|
Else
|
|
txbAlIQCRF_3.Text = "FAIL"
|
|
txbAlIQCRF_3.BackColor = Color.Red
|
|
txbAlIQCRF_3.Refresh()
|
|
End If
|
|
|
|
Else
|
|
If cnt = 2 Then
|
|
txbIQCRF1.Text = "FAIL"
|
|
txbIQCRF1.BackColor = Color.Red
|
|
txbIQCRF1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbIQCRF2.Text = "FAIL"
|
|
txbIQCRF2.BackColor = Color.Red
|
|
txbIQCRF2.Refresh()
|
|
Else
|
|
txbIQCRF3.Text = "FAIL"
|
|
txbIQCRF3.BackColor = Color.Red
|
|
txbIQCRF3.Refresh()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rfTestSuccess(cnt As Int16)
|
|
If rdbRFMCEP.Checked = True Then
|
|
If cnt = 2 Then
|
|
txbRFtest1.Text = "SUCCESS"
|
|
txbRFtest1.BackColor = Color.Green
|
|
txbRFtest1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbRFtest2.Text = "SUCCESS"
|
|
txbRFtest2.BackColor = Color.Green
|
|
txbRFtest2.Refresh()
|
|
Else
|
|
txbRFtest3.Text = "SUCCESS"
|
|
txbRFtest3.BackColor = Color.Green
|
|
txbRFtest3.Refresh()
|
|
End If
|
|
|
|
ElseIf rdbAltoIqc.Checked = True Or rdbAltoPD.Checked = True Or rdbCompany.Checked = True Then
|
|
If cnt = 2 Then
|
|
txbAlIQCRF_1.Text = "SUCCESS"
|
|
txbAlIQCRF_1.BackColor = Color.Green
|
|
txbAlIQCRF_1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbAlIQCRF_2.Text = "SUCCESS"
|
|
txbAlIQCRF_2.BackColor = Color.Green
|
|
txbAlIQCRF_2.Refresh()
|
|
Else
|
|
txbAlIQCRF_3.Text = "SUCCESS"
|
|
txbAlIQCRF_3.BackColor = Color.Green
|
|
txbAlIQCRF_3.Refresh()
|
|
End If
|
|
|
|
Else
|
|
If cnt = 2 Then
|
|
txbIQCRF1.Text = "SUCCESS"
|
|
txbIQCRF1.BackColor = Color.Green
|
|
txbIQCRF1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbIQCRF2.Text = "SUCCESS"
|
|
txbIQCRF2.BackColor = Color.Green
|
|
txbIQCRF2.Refresh()
|
|
Else
|
|
txbIQCRF3.Text = "SUCCESS"
|
|
txbIQCRF3.BackColor = Color.Green
|
|
txbIQCRF3.Refresh()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Public Function MCTestRunSp() As Boolean
|
|
|
|
Try
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("미세전류 측정중")
|
|
TestStep = TestList.MC
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
Const ModCnt As Int16 = 3
|
|
Dim ScopeData As String
|
|
Dim CheckData As String = "NWIDth"
|
|
Dim forCnt As Int16 = 0
|
|
Dim ErrorCheck As Boolean = False
|
|
|
|
For i = 0 To MCTest_Count
|
|
TestData.Test_MCVpp(i) = 0
|
|
TestData.Test_MCWidth(i) = 0
|
|
TestData.Test_MCFreq(i) = 0
|
|
Next
|
|
|
|
If MC_Setting() Then
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
If TestMode_On(ModCnt) Then
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
For i = 0 To MCTest_Count
|
|
forCnt = i
|
|
|
|
If i = MCTest_Count Then
|
|
|
|
If Not TrigSlope_Set("NEG") Then
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
CheckData = "PWIDth"
|
|
End If
|
|
|
|
DoCommand(":Single")
|
|
|
|
If RunMC(i, nudMCFVRun.Value) Then
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
ScopeData = DoQueryString(":MEASure:" & CheckData & "? CHANnel" & nudMCCh.Value)
|
|
|
|
If InStr(1, ScopeData.ToLower, "error") > 0 Then
|
|
GoTo SettingFail
|
|
End If
|
|
TestData.Test_MCWidth(i) = Convert.ToDouble(ScopeData).ToString("f12") * 1000
|
|
|
|
ScopeData = DoQueryString(":MEASure:VPP? CHANnel" & nudMCCh.Value)
|
|
|
|
If InStr(1, ScopeData.ToLower, "error") > 0 Then
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
TestData.Test_MCVpp(i) = Convert.ToDouble(ScopeData).ToString("f12")
|
|
|
|
ScopeData = DoQueryString(":MEASure:FREQuency? CHANnel" & nudMCCh.Value)
|
|
|
|
If InStr(1, ScopeData.ToLower, "error") > 0 Then
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
TestData.Test_MCFreq(i) = Convert.ToDouble(ScopeData).ToString("f12")
|
|
|
|
If (TestData.Test_MCVpp(i) < txbMCVPmin.Text Or TestData.Test_MCVpp(i) > txbMCVPmax.Text) Or (TestData.Test_MCFreq(i) < txbMCFrmin.Text Or TestData.Test_MCFreq(i) > txbMCFrmax.Text) Or ((TestData.Test_MCWidth(i) < txbMCDYmin.Text Or TestData.Test_MCWidth(i) > txbMCDYmax.Text)) Then
|
|
txbWindow.AppendText("Run MC FAIL" & i & " : " & TestData.Test_MCVpp(i) & "/" & TestData.Test_MCFreq(i) & "/" & TestData.Test_MCWidth(i) & vbCrLf)
|
|
ErrorCheck = True
|
|
Else
|
|
txbWindow.AppendText("Run MC " & i & " : " & TestData.Test_MCVpp(i) & "/" & TestData.Test_MCFreq(i) & "/" & TestData.Test_MCWidth(i) & vbCrLf)
|
|
End If
|
|
|
|
Next
|
|
|
|
If ErrorCheck = True Then
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
Else
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
End If
|
|
|
|
txbWindow.AppendText("MC Test Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
Return False
|
|
Catch ex As Exception
|
|
txbWindow.AppendText("MC Try Error : " & ex.Message & vbCrLf)
|
|
GoTo SettingFail
|
|
End Try
|
|
|
|
SettingFail:
|
|
txbWindow.AppendText("Run MC FAIL" & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
|
|
End Function
|
|
|
|
'Private Sub Jig_End()
|
|
' If EndTest() Then
|
|
' txbWindow.AppendText("JIG Serial Test End : FAIL" & vbCrLf)
|
|
' Exit Sub
|
|
' End If
|
|
' txbWindow.AppendText("JIG Serial Test End : Success" & vbCrLf)
|
|
'End Sub
|
|
|
|
Private Sub Jig_End()
|
|
For retryCount As Integer = 0 To 2
|
|
txbWindow.AppendText($"JIG 종료 시도 {retryCount + 1}/3" & vbCrLf)
|
|
|
|
If EndTest() Then
|
|
txbWindow.AppendText($"JIG Serial Test End : FAIL (시도 {retryCount + 1})" & vbCrLf)
|
|
|
|
If retryCount < 2 Then
|
|
Threading.Thread.Sleep(1000)
|
|
|
|
If JigSerial IsNot Nothing AndAlso JigSerial.IsOpen Then
|
|
JigSerial.DiscardInBuffer()
|
|
JigSerial.DiscardOutBuffer()
|
|
Threading.Thread.Sleep(200)
|
|
End If
|
|
Continue For
|
|
Else
|
|
txbWindow.AppendText("JIG 정상 종료 실패 - 강제 종료 실행" & vbCrLf)
|
|
ForceJigShutdown()
|
|
Exit Sub
|
|
End If
|
|
Else
|
|
txbWindow.AppendText("JIG Serial Test End : Success" & vbCrLf)
|
|
Exit For
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub ForceJigShutdown()
|
|
Try
|
|
txbWindow.AppendText("강제 JIG 종료 시작" & vbCrLf)
|
|
|
|
If JigSerial IsNot Nothing AndAlso JigSerial.IsOpen Then
|
|
Dim shutdownCommands() As String = {"[endmft]"}
|
|
|
|
For Each cmd In shutdownCommands
|
|
Try
|
|
SendData(cmd)
|
|
Threading.Thread.Sleep(500)
|
|
txbWindow.AppendText($"강제 종료 명령 전송: {cmd}" & vbCrLf)
|
|
Catch
|
|
|
|
End Try
|
|
Next
|
|
|
|
Try
|
|
Dim portName As String = JigSerial.PortName
|
|
Dim baudRate As Integer = JigSerial.BaudRate
|
|
|
|
JigSerial.Close()
|
|
Threading.Thread.Sleep(1000)
|
|
|
|
JigSerial.PortName = portName
|
|
JigSerial.BaudRate = baudRate
|
|
JigSerial.Open()
|
|
|
|
txbWindow.AppendText("시리얼 포트 재연결 완료" & vbCrLf)
|
|
Catch serialEx As Exception
|
|
txbWindow.AppendText($"시리얼 포트 재연결 실패: {serialEx.Message}" & vbCrLf)
|
|
End Try
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
txbWindow.AppendText($"강제 종료 중 오류: {ex.Message}" & vbCrLf)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Public Function EPTestRun() As Boolean
|
|
Dim ForCnt As Int16 = 0
|
|
Try
|
|
TestStep = TestList.EP
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("EP 측정중")
|
|
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
Const ModCnt As Int16 = 4
|
|
|
|
Dim ScopeData As String
|
|
Dim ErrorCheck As Boolean = False
|
|
|
|
ReDim TestData.Test_EPVpp(EPTest_Count)
|
|
ReDim TestData.Test_EPFreq(EPTest_Count)
|
|
ReDim TestData.Test_EPPWidth(EPTest_Count)
|
|
ReDim TestData.Test_EPNWidth(EPTest_Count)
|
|
|
|
For i = 0 To EPTest_Count
|
|
TestData.Test_EPVpp(i) = 0
|
|
TestData.Test_EPFreq(i) = 0
|
|
TestData.Test_EPPWidth(i) = 0
|
|
TestData.Test_EPNWidth(i) = 0
|
|
Next
|
|
|
|
If EP_Setting() Then
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
If TestMode_On(ModCnt) Then
|
|
GoTo SettingFail
|
|
End If
|
|
|
|
For i = 0 To EPTest_Count
|
|
ForCnt = i
|
|
|
|
For n = 0 To nudEPRe.Value
|
|
epTestState(i)
|
|
DoCommand(":Single")
|
|
|
|
If RunEP(Val(EPFreq(i).Text)) Then
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
ScopeData = DoQueryString(":MEASure:VPP? CHANnel" & nudEPCh.Value)
|
|
|
|
If InStr(1, ScopeData.ToLower, "error") > 0 Then
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
TestData.Test_EPVpp(i) = Convert.ToDouble(ScopeData).ToString("f12")
|
|
|
|
If TestData.Test_EPVpp(i) < EPVppMin.Text Or TestData.Test_EPVpp(i) > EPVppMax.Text Then
|
|
txbWindow.AppendText("Run EP VPP FAIL" & i & " : " & TestData.Test_EPVpp(i) & vbCrLf)
|
|
epTestFail(i)
|
|
ErrorCheck = True
|
|
'Exit For
|
|
Else
|
|
ScopeData = DoQueryString(":MEASure:FREQuency? CHANnel" & nudEPCh.Value)
|
|
|
|
If InStr(1, ScopeData.ToLower, "error") > 0 Then
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
TestData.Test_EPFreq(i) = Convert.ToDouble(ScopeData).ToString("f12") / 10000
|
|
|
|
If Round(TestData.Test_EPFreq(i), 0) <> Round((CSng(EPFreq(i).Text) / 10000), 0) Then
|
|
txbWindow.AppendText("Run EP FREQ FAIL" & i & " : " & TestData.Test_EPNWidth(i) & "/" & TestData.Test_EPPWidth(i) & vbCrLf)
|
|
|
|
If n = nudEPRe.Value Then
|
|
epTestFail(i)
|
|
ErrorCheck = True
|
|
End If
|
|
|
|
Else
|
|
|
|
ScopeData = DoQueryString(":MEASure:NWIDth? CHANnel" & nudEPCh.Value)
|
|
|
|
If InStr(1, ScopeData.ToLower, "error") > 0 Then
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
TestData.Test_EPNWidth(i) = Convert.ToDouble(ScopeData).ToString("f12") * 1000000
|
|
|
|
ScopeData = DoQueryString(":MEASure:PWIDth? CHANnel" & nudEPCh.Value)
|
|
|
|
If InStr(1, ScopeData.ToLower, "error") > 0 Then
|
|
GoTo ForSettingFail
|
|
End If
|
|
|
|
TestData.Test_EPPWidth(i) = Convert.ToDouble(ScopeData).ToString("f12") * 1000000
|
|
|
|
If Abs(TestData.Test_EPPWidth(i) - TestData.Test_EPNWidth(i)) < Val(EPWidthMin(i).Text) Or Abs(TestData.Test_EPPWidth(i) - TestData.Test_EPNWidth(i)) > Val(EPWidthMax(i).Text) Then
|
|
|
|
txbWindow.AppendText("Run EP WIDTH FAIL" & i & " : " & TestData.Test_EPNWidth(i) & "/" & TestData.Test_EPPWidth(i) & vbCrLf)
|
|
|
|
If n = nudEPRe.Value Then
|
|
epTestFail(i)
|
|
ErrorCheck = True
|
|
Exit For
|
|
End If
|
|
|
|
Else
|
|
txbWindow.AppendText("Run EP " & i & " : " & TestData.Test_EPVpp(i) & "/" & TestData.Test_EPFreq(i) & "/" & TestData.Test_EPNWidth(i) & "/" & TestData.Test_EPPWidth(i) & vbCrLf)
|
|
epTestSuccess(i)
|
|
Exit For
|
|
End If
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
Next
|
|
|
|
If ErrorCheck = True Then
|
|
Exit For
|
|
End If
|
|
|
|
Next
|
|
|
|
If ErrorCheck = True Then
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
Else
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
End If
|
|
|
|
txbWindow.AppendText("EP Test Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
Return False
|
|
|
|
Catch ex As Exception
|
|
txbWindow.AppendText("EP Try Error : " & ex.Message & " : " & vbCrLf)
|
|
GoTo SettingFail
|
|
End Try
|
|
|
|
ForSettingFail:
|
|
epTestFail(ForCnt)
|
|
SettingFail:
|
|
txbWindow.AppendText("Run EP FAIL" & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
|
|
End Function
|
|
|
|
Private Sub epTestState(cnt As Int16)
|
|
If rdbRFMCEP.Checked = True Then
|
|
If cnt = 0 Then
|
|
txbEPtest1.Text = "진행중"
|
|
txbEPtest1.BackColor = Color.Yellow
|
|
txbEPtest1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbEPtest2.Text = "진행중"
|
|
txbEPtest2.BackColor = Color.Yellow
|
|
txbEPtest2.Refresh()
|
|
Else
|
|
txbEPtest3.Text = "진행중"
|
|
txbEPtest3.BackColor = Color.Yellow
|
|
txbEPtest3.Refresh()
|
|
End If
|
|
|
|
ElseIf rdbAltoPD.Checked = True Or rdbAltoIqc.Checked = True Or rdbCompany.Checked = True Then
|
|
If cnt = 0 Then
|
|
txbAlIQCEP_1.Text = "진행중"
|
|
txbAlIQCEP_1.BackColor = Color.Yellow
|
|
txbAlIQCEP_1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbAlIQCEP_2.Text = "진행중"
|
|
txbAlIQCEP_2.BackColor = Color.Yellow
|
|
txbAlIQCEP_2.Refresh()
|
|
Else
|
|
txbAlIQCEP_3.Text = "진행중"
|
|
txbAlIQCEP_3.BackColor = Color.Yellow
|
|
txbAlIQCEP_3.Refresh()
|
|
End If
|
|
Else
|
|
If cnt = 0 Then
|
|
txbIQCEP1.Text = "진행중"
|
|
txbIQCEP1.BackColor = Color.Yellow
|
|
txbIQCEP1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbIQCEP2.Text = "진행중"
|
|
txbIQCEP2.BackColor = Color.Yellow
|
|
txbIQCEP2.Refresh()
|
|
Else
|
|
txbIQCEP3.Text = "진행중"
|
|
txbIQCEP3.BackColor = Color.Yellow
|
|
txbIQCEP3.Refresh()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub epTestFail(cnt As Int16)
|
|
If rdbRFMCEP.Checked = True Then
|
|
If cnt = 0 Then
|
|
txbEPtest1.Text = "FAIL"
|
|
txbEPtest1.BackColor = Color.Red
|
|
txbEPtest1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbEPtest2.Text = "FAIL"
|
|
txbEPtest2.BackColor = Color.Red
|
|
txbEPtest2.Refresh()
|
|
Else
|
|
txbEPtest3.Text = "FAIL"
|
|
txbEPtest3.BackColor = Color.Red
|
|
txbEPtest3.Refresh()
|
|
End If
|
|
|
|
ElseIf rdbAltoPD.Checked = True Or rdbAltoIqc.Checked = True Or rdbCompany.Checked = True Then
|
|
If cnt = 0 Then
|
|
txbAlIQCEP_1.Text = "FAIL"
|
|
txbAlIQCEP_1.BackColor = Color.Red
|
|
txbAlIQCEP_1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbAlIQCEP_2.Text = "FAIL"
|
|
txbAlIQCEP_2.BackColor = Color.Red
|
|
txbAlIQCEP_2.Refresh()
|
|
Else
|
|
txbAlIQCEP_3.Text = "FAIL"
|
|
txbAlIQCEP_3.BackColor = Color.Red
|
|
txbAlIQCEP_3.Refresh()
|
|
End If
|
|
|
|
Else
|
|
If cnt = 0 Then
|
|
txbIQCEP1.Text = "FAIL"
|
|
txbIQCEP1.BackColor = Color.Red
|
|
txbIQCEP1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbIQCEP2.Text = "FAIL"
|
|
txbIQCEP2.BackColor = Color.Red
|
|
txbIQCEP2.Refresh()
|
|
Else
|
|
txbIQCEP3.Text = "FAIL"
|
|
txbIQCEP3.BackColor = Color.Red
|
|
txbIQCEP3.Refresh()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub epTestSuccess(cnt As Int16)
|
|
If rdbRFMCEP.Checked = True Then
|
|
If cnt = 0 Then
|
|
txbEPtest1.Text = "SUCCESS"
|
|
txbEPtest1.BackColor = Color.Green
|
|
txbEPtest1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbEPtest2.Text = "SUCCESS"
|
|
txbEPtest2.BackColor = Color.Green
|
|
txbEPtest2.Refresh()
|
|
Else
|
|
txbEPtest3.Text = "SUCCESS"
|
|
txbEPtest3.BackColor = Color.Green
|
|
txbEPtest3.Refresh()
|
|
End If
|
|
|
|
ElseIf rdbAltoPD.Checked = True Or rdbAltoIqc.Checked = True Or rdbCompany.Checked = True Then
|
|
If cnt = 0 Then
|
|
txbAlIQCEP_1.Text = "SUCCESS"
|
|
txbAlIQCEP_1.BackColor = Color.Green
|
|
txbAlIQCEP_1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbAlIQCEP_2.Text = "SUCCESS"
|
|
txbAlIQCEP_2.BackColor = Color.Green
|
|
txbAlIQCEP_2.Refresh()
|
|
Else
|
|
txbAlIQCEP_3.Text = "SUCCESS"
|
|
txbAlIQCEP_3.BackColor = Color.Green
|
|
txbAlIQCEP_3.Refresh()
|
|
End If
|
|
|
|
Else
|
|
If cnt = 0 Then
|
|
txbIQCEP1.Text = "SUCCESS"
|
|
txbIQCEP1.BackColor = Color.Green
|
|
txbIQCEP1.Refresh()
|
|
ElseIf cnt = 1 Then
|
|
txbIQCEP2.Text = "SUCCESS"
|
|
txbIQCEP2.BackColor = Color.Green
|
|
txbIQCEP2.Refresh()
|
|
Else
|
|
txbIQCEP3.Text = "SUCCESS"
|
|
txbIQCEP3.BackColor = Color.Green
|
|
txbIQCEP3.Refresh()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Function JigRun_On() As Boolean
|
|
Try
|
|
MeasureTimeFunc(MeasStart)
|
|
TestStep = TestList.Start
|
|
MainTextChange("전원 ON")
|
|
|
|
If TestMode_On(0) = False Then
|
|
Jig_End()
|
|
End If
|
|
|
|
If DeviceOn() Then
|
|
txbWindow.AppendText("JIG Product Device ON : FAIL" & vbCrLf)
|
|
MsgBox("제품과의 연결이 올바르지 않습니다. 연결 상태를 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End If
|
|
|
|
delay_run(JIGON_Delay)
|
|
|
|
txbWindow.AppendText("JIG On Full Time(ms) : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
Return False
|
|
Catch ex As Exception
|
|
txbWindow.AppendText("JIG Product Device ON : FAIL" & vbCrLf)
|
|
MsgBox("JIG ON_오류 발생 ! : " & ex.Message & vbCritical)
|
|
Return True
|
|
End Try
|
|
End Function
|
|
|
|
Private Function BatteryTest() As Boolean
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("배터리 측정중")
|
|
TestStep = TestList.Battey
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
TestData.Test_Battery = 0
|
|
|
|
Try
|
|
Dim ResData As String = RunBattery()
|
|
|
|
If ResData = "conerror" Then
|
|
txbWindow.AppendText("JIG Serial Battery Test Connect Error " & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End If
|
|
|
|
TestData.Test_Battery = CSng(ResData)
|
|
txbVolt.Text = TestData.Test_Battery
|
|
|
|
If TestData.Test_Battery >= CSng(BatCapacityMin.Text) And TestData.Test_Battery <= CSng(BatCapacityMax.Text) Then
|
|
txbVolt.ForeColor = Color.Blue
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
txbWindow.AppendText("Battery Volt Check : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbVolt.ForeColor = Color.Red
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
txbWindow.AppendText("Battery Volt Check FAIL : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
Return True
|
|
End If
|
|
|
|
Catch ex As InvalidCastException
|
|
txbWindow.AppendText("JIG Serial Battery Test Min Or Max Result Error : TimeOut" & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Private Function TempTest() As Boolean
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("온도 데이터 측정중")
|
|
TestStep = TestList.Temp
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
Dim ResData As String = RunTemp()
|
|
|
|
If ResData = "conerror" Then
|
|
MsgBox("제품과의 연결이 올바르지 않습니다. 연결 상태를 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
MeasureTimeFunc(MeasEnd)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
Return True
|
|
End If
|
|
|
|
Dim ErrorStep As Boolean = False
|
|
Dim DataCount As Int16 = UBound(Split(ResData, ","))
|
|
|
|
If DataCount <> 0 And (DataCount = TempData.CartTemp Or DataCount = TempData.CPUTemp) Then
|
|
|
|
For i = 0 To DataCount
|
|
Dim resStr As String
|
|
If i = DataCount Then
|
|
resStr = Mid(ResData, 1, ResData.Length)
|
|
Else
|
|
resStr = Mid(ResData, 1, InStr(ResData, ",") - 1)
|
|
ResData = Mid(ResData, InStr(ResData, ",") + 1, ResData.Length)
|
|
End If
|
|
|
|
If resStr.Length > 5 Then
|
|
TestData.Test_Temperature(i) = 0
|
|
Else
|
|
TestData.Test_Temperature(i) = resStr
|
|
End If
|
|
|
|
TempSet(i).Text = TestData.Test_Temperature(i)
|
|
Next
|
|
Else
|
|
txbWindow.AppendText("Temperature Test Connecter Error : " & vbCrLf)
|
|
MeasureTimeFunc(MeasEnd)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
Return True
|
|
End If
|
|
|
|
If TempCheck() = True Then
|
|
If TestData.Test_Temperature(TempData.DivTemp) <= CSng(TmpMin(TempData.DivTemp).Text) Or TestData.Test_Temperature(TempData.DivTemp) >= CSng(TmpMax(TempData.DivTemp).Text) Then
|
|
TempSet(TempData.DivTemp).ForeColor = Color.Red
|
|
ErrorStep = True
|
|
Else
|
|
TempSet(TempData.DivTemp).ForeColor = Color.Blue
|
|
End If
|
|
|
|
TestData.Test_Temperature(TempData.CartTemp) = 0
|
|
Else
|
|
For i = 0 To TempData.CartTemp
|
|
If TestData.Test_Temperature(i) <= CSng(TmpMin(i).Text) Or TestData.Test_Temperature(i) >= CSng(TmpMax(i).Text) Then
|
|
TempSet(i).ForeColor = Color.Red
|
|
ErrorStep = True
|
|
Else
|
|
TempSet(i).ForeColor = Color.Blue
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
TempSet(TempData.DivTemp).Refresh()
|
|
TempSet(TempData.CartTemp).Refresh()
|
|
|
|
If ErrorStep = True Then
|
|
txbWindow.AppendText("Temperature Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
Return True
|
|
End If
|
|
|
|
txbWindow.AppendText("Temperature Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
Return False
|
|
|
|
End Function
|
|
|
|
Private Function TempCheck() As Boolean
|
|
If rdbIQC.Checked = True Or rdbAltoIqc.Checked = True Then
|
|
Return True
|
|
Else
|
|
If rdbHF.Checked = True Or rdbEFPD.Checked = True Or rdbDsIQC.Checked = True Or rdbDsPD.Checked = True Then
|
|
If ckbModeV2.Checked = True Or rdbDsIQC.Checked = True Or rdbDsPD.Checked = True Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
Else
|
|
Return False
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
Private Function DataWriteAL() As Boolean
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("정보입력중..")
|
|
TestStep = TestList.DataWrite
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
Dim sucSwitch As Boolean = False
|
|
|
|
If ResetData() Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
For i = 1 To nudSaveCk.Value
|
|
If prod_reg_data("JOMT", "003000", "50", "82", "0") Then
|
|
GoTo DataFail
|
|
End If
|
|
Next
|
|
|
|
For i = 1 To nudSaveCk.Value
|
|
sucSwitch = False
|
|
If SerialWrite(TestData.Test_Serial) Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
Dim tdData As String = TD_name_load()
|
|
|
|
If tdData = "0" Or tdData = "1" Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
If tdData.ToUpper = TestData.Test_Serial Then
|
|
sucSwitch = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If sucSwitch = False Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
txbWindow.AppendText("DataWrite Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
Return False
|
|
|
|
DataFail:
|
|
txbWindow.AppendText("Product Data Write Error" & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
Return True
|
|
|
|
End Function
|
|
|
|
Private Function TestDataSearch(TDSerial As String) As Boolean
|
|
DBCmd = "SELECT COUNT(PV_SN) FROM " & hfTableNow & " WHERE PV_SN = '" & TDSerial & "'"
|
|
|
|
Dim SerialCount As Integer = DBQueryScalar(DBCmd)
|
|
|
|
If SerialCount = 0 Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function MonthCodeChange(monthData As String) As String
|
|
Select Case monthData
|
|
Case "01"
|
|
Return "1"
|
|
Case "02"
|
|
Return "2"
|
|
Case "03"
|
|
Return "3"
|
|
Case "04"
|
|
Return "4"
|
|
Case "05"
|
|
Return "5"
|
|
Case "06"
|
|
Return "6"
|
|
Case "07"
|
|
Return "7"
|
|
Case "08"
|
|
Return "8"
|
|
Case "09"
|
|
Return "9"
|
|
Case "10"
|
|
Return "A"
|
|
Case "11"
|
|
Return "B"
|
|
Case "12"
|
|
Return "C"
|
|
Case Else
|
|
Return "-1"
|
|
End Select
|
|
End Function
|
|
|
|
Private Function ProdCodeChange() As String
|
|
If rdbCompany.Checked = True Or rdbHF.Checked = True Or rdbEFPD.Checked = True Or rdbIQC.Checked = True Or rdbRFMCEP.Checked = True Then
|
|
Return "M"
|
|
ElseIf rdbAltoIqc.Checked = True Or rdbAltoPD.Checked = True Then
|
|
Return "A"
|
|
ElseIf rdbDsIQC.Checked = True Or rdbDsPD.Checked = True Then
|
|
Return "D"
|
|
Else
|
|
Return "0"
|
|
End If
|
|
End Function
|
|
|
|
Private Function NewSerialCreate() As Boolean
|
|
Const SerialLength As Int16 = 4
|
|
Dim CreateOK As Boolean = True
|
|
Dim SerialNum As String = String.Empty
|
|
|
|
DBCmd = "SELECT PD1_DevTotalCnt FROM " & pd1CntTableNow & " WHERE PD1_Date = '" & NowDate & "'"
|
|
Dim TotalCount As Int16 = DBQueryScalar(DBCmd)
|
|
Dim SerialMonth As String = MonthCodeChange(Format(Now, "MM"))
|
|
Dim SerialYear As String = Format(Now, "yy")
|
|
Dim SerialDay As String = Format(Now, "dd")
|
|
Dim ProdCode As String = ProdCodeChange()
|
|
|
|
If SerialMonth = "-1" Then
|
|
Return False
|
|
End If
|
|
|
|
For i = 0 To 4 '' 새 번호 여부 확인 횟수 (5회 확인)
|
|
TotalCount += 1
|
|
SerialNum = TotalCount
|
|
|
|
For cnt = TotalCount.ToString.Length To SerialLength - 1 ''시리얼 번호 뒷 자리 네 개는 일별 제작 순번
|
|
SerialNum = "0" & SerialNum
|
|
Next
|
|
|
|
SerialNum = ProdCode & SerialYear & SerialMonth & SerialDay & SerialNum
|
|
|
|
If TestDataSearch(SerialNum) = False Then
|
|
TestData.Test_Serial = SerialNum
|
|
Return False
|
|
End If
|
|
Next
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function TDNullProdWrite() As Boolean
|
|
|
|
dupDATA = 0
|
|
Dim tdData As String = TD_name_load()
|
|
|
|
If tdData = "1" Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
If tdData = "0" Then
|
|
GoTo TDNulllFunc
|
|
Else
|
|
If TestDataSearch(tdData) Then
|
|
TestData.Test_Serial = tdData
|
|
dupDATA = 1
|
|
Return False
|
|
Else
|
|
GoTo TDNulllFunc
|
|
End If
|
|
End If
|
|
|
|
TDNulllFunc:
|
|
If NewSerialCreate() Then
|
|
txbWindow.AppendText("TD Null Product Serial Number Create Error" & vbCrLf)
|
|
TestError = False
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
DataFail:
|
|
txbWindow.AppendText("TD Null Product Serial Number Data Search Error" & vbCrLf)
|
|
TestError = False
|
|
Return True
|
|
End Function
|
|
|
|
Private Function DataWrite(ProdCode As String) As Boolean
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("정보입력중..")
|
|
TestStep = TestList.DataWrite
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
Dim tdData As String = String.Empty
|
|
Dim freqData As String = String.Empty
|
|
Dim powerData As String = String.Empty
|
|
Dim motorData As Int16 = 0
|
|
Dim sucSwitch As Boolean = False
|
|
|
|
If ResetData() Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
For i = 1 To nudSaveCk.Value
|
|
If rdbHF.Checked = True Or rdbEFPD.Checked = True Then
|
|
If prod_reg_data("JOMT", "000000", ProdCode, "82", "0") Then
|
|
GoTo DataFail
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
If formType <> formTypeList.altoIQC And formType <> formTypeList.altoPD Then
|
|
|
|
For i = 1 To nudSaveCk.Value
|
|
sucSwitch = False
|
|
If SerialWrite(TestData.Test_Serial) Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
tdData = TD_name_load()
|
|
|
|
If tdData = "0" Or tdData = "1" Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
If tdData.ToUpper = TestData.Test_Serial Then
|
|
sucSwitch = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If sucSwitch = False Then
|
|
GoTo DataFail
|
|
Else
|
|
txbWindow.AppendText("Product Serial Number : " & tdData & vbCrLf)
|
|
End If
|
|
|
|
For i = 1 To nudSaveCk.Value
|
|
sucSwitch = False
|
|
If FreqWrite(TDDataSet(TD_Data.Freq), TDDataSet(TD_Data.power)) Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
freqData = sett_data()
|
|
|
|
If freqData = "0" Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
powerData = Mid(freqData, InStrRev(freqData, ",", freqData.Length) + 1, freqData.Length)
|
|
freqData = Mid(freqData, 1, InStr(1, freqData, ",") - 1)
|
|
|
|
If powerData = TDDataSet(TD_Data.power) And freqData = TDDataSet(TD_Data.Freq) Then
|
|
sucSwitch = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If sucSwitch = False Then
|
|
GoTo DataFail
|
|
Else
|
|
txbWindow.AppendText("Product Frequence : " & freqData & "/ Power : " & powerData & vbCrLf)
|
|
End If
|
|
|
|
For i = 1 To nudSaveCk.Value
|
|
sucSwitch = False
|
|
If Motor_reg(TDDataSet(TD_Data.motor)) Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
motorData = Motor_Read()
|
|
|
|
If motorData = 6 Then
|
|
GoTo DataFail
|
|
End If
|
|
|
|
If motorData = TDDataSet(TD_Data.motor) Then
|
|
sucSwitch = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If sucSwitch = False Then
|
|
GoTo DataFail
|
|
Else
|
|
txbWindow.AppendText("Product Motor : " & motorData & vbCrLf)
|
|
End If
|
|
End If
|
|
|
|
txbWindow.AppendText("DataWrite Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
Return False
|
|
|
|
DataFail:
|
|
txbWindow.AppendText("Product Data Write Error" & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
Return True
|
|
End Function
|
|
|
|
Private Function prod_reg_data(factory As String, prod_serial As String, prod_code As String, area As String, abroad As String) As Boolean
|
|
Dim retVal As String
|
|
Dim nowDate As String = Format(Now, "yy") & Format(Now, "MM")
|
|
|
|
tmpCmdMessage = "wrsconf1"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & factory & "," & nowDate & prod_serial & "," & prod_code & "," & area & "," & abroad & "]" + vbCrLf
|
|
If SendData(cmdMessage) Then
|
|
Return False
|
|
End If
|
|
|
|
retVal = PollingReceiveData(1000)
|
|
|
|
If retVal <> factory.ToLower & "," & prod_serial & "," & prod_code & "," & area & "," & abroad Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Function TD_name_load() As String
|
|
Dim retVal As String
|
|
tmpCmdMessage = "settdsn"
|
|
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
|
|
If SendData(cmdMessage) Then
|
|
Return "1"
|
|
End If
|
|
|
|
retVal = PollingReceiveData(500)
|
|
|
|
If retVal.Length > td_name_size Then
|
|
Return retVal
|
|
Else
|
|
Return "0"
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Function Motor_Read() As Int16
|
|
Dim retval As String
|
|
|
|
tmpCmdMessage = "setmotor"
|
|
cmdMessage = "[" & tmpCmdMessage & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return 6
|
|
End If
|
|
|
|
retval = PollingReceiveData(1000)
|
|
|
|
If UBound(Split(retval, ",")) = 4 Then
|
|
Return Mid(retval, 1, InStr(1, retval, ",") - 1)
|
|
End If
|
|
|
|
Return 6
|
|
End Function
|
|
|
|
Private Function sett_data() As String
|
|
Dim retval As String
|
|
|
|
tmpCmdMessage = "settdcnf"
|
|
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
|
|
If SendData(cmdMessage) Then
|
|
Return "0"
|
|
End If
|
|
|
|
retval = PollingReceiveData(500)
|
|
|
|
If InStr(1, retval, ",") > 0 Then
|
|
Return retval
|
|
|
|
Else
|
|
Return "0"
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Function Motor_reg(pulse As Integer) As Boolean
|
|
Dim retval As String
|
|
|
|
tmpCmdMessage = "setmotor"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & pulse & ",0,0,0,0]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return True
|
|
End If
|
|
|
|
retval = PollingReceiveData(1000)
|
|
|
|
If retval = pulse & ",0,0,0,0" Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Sub StartClear()
|
|
DataTextReset()
|
|
DataColorReset()
|
|
DataRefresh()
|
|
|
|
txbForeColorReset()
|
|
|
|
StepTextReset()
|
|
StepColorReset()
|
|
StepRefresh()
|
|
|
|
SaveDataReset()
|
|
|
|
rfmceptxbReset()
|
|
rfmceptxbColorReset()
|
|
rfmceptxbRefReset()
|
|
|
|
hftxbReset()
|
|
hfColorReset()
|
|
hfRefReset()
|
|
|
|
iqctxbReset()
|
|
iqcColorReset()
|
|
iqctxbRefresh()
|
|
|
|
altoIQC_txbReset()
|
|
altoIQC_ColorReset()
|
|
altoIQC_RefReset()
|
|
|
|
DstxbReset()
|
|
DsColorReset()
|
|
DstxbRefresh()
|
|
End Sub
|
|
|
|
Private Sub altoIQC_txbReset()
|
|
txbAlIQCBody.Text = "대기"
|
|
txbAlIQCBody_1.Text = "대기"
|
|
txbAlIQCBody_2.Text = "대기"
|
|
txbAlIQCBody_3.Text = "대기"
|
|
|
|
txbAlIQCEP.Text = "대기"
|
|
txbAlIQCEP_1.Text = "대기"
|
|
txbAlIQCEP_2.Text = "대기"
|
|
txbAlIQCEP_3.Text = "대기"
|
|
|
|
txbAlIQCRF.Text = "대기"
|
|
txbAlIQCRF_1.Text = "대기"
|
|
txbAlIQCRF_2.Text = "대기"
|
|
txbAlIQCRF_3.Text = "대기"
|
|
End Sub
|
|
|
|
Private Sub altoIQC_ColorReset()
|
|
txbAlIQCBody.BackColor = Color.White
|
|
txbAlIQCBody_1.BackColor = Color.White
|
|
txbAlIQCBody_2.BackColor = Color.White
|
|
txbAlIQCBody_3.BackColor = Color.White
|
|
|
|
txbAlIQCEP.BackColor = Color.White
|
|
txbAlIQCEP_1.BackColor = Color.White
|
|
txbAlIQCEP_2.BackColor = Color.White
|
|
txbAlIQCEP_3.BackColor = Color.White
|
|
|
|
txbAlIQCRF.BackColor = Color.White
|
|
txbAlIQCRF_1.BackColor = Color.White
|
|
txbAlIQCRF_2.BackColor = Color.White
|
|
txbAlIQCRF_3.BackColor = Color.White
|
|
End Sub
|
|
|
|
Private Sub altoIQC_RefReset()
|
|
txbAlIQCBody.Refresh()
|
|
txbAlIQCBody_1.Refresh()
|
|
txbAlIQCBody_2.Refresh()
|
|
txbAlIQCBody_3.Refresh()
|
|
|
|
txbAlIQCEP.Refresh()
|
|
txbAlIQCEP_1.Refresh()
|
|
txbAlIQCEP_2.Refresh()
|
|
txbAlIQCEP_3.Refresh()
|
|
|
|
txbAlIQCRF.Refresh()
|
|
txbAlIQCRF_1.Refresh()
|
|
txbAlIQCRF_2.Refresh()
|
|
txbAlIQCRF_3.Refresh()
|
|
End Sub
|
|
|
|
Private Sub txbForeColorReset()
|
|
txbTDSN.ForeColor = Color.Black
|
|
txbDate.ForeColor = Color.Black
|
|
txbFreq.ForeColor = Color.Black
|
|
txbGrade.ForeColor = Color.Black
|
|
txbVer.ForeColor = Color.Black
|
|
txbVolt.ForeColor = Color.Black
|
|
txbDevTmp.ForeColor = Color.Black
|
|
txbCartTmp.ForeColor = Color.Black
|
|
|
|
End Sub
|
|
|
|
Private Sub hftxbReset()
|
|
txbBat.Text = "대기"
|
|
txbTemp.Text = "대기"
|
|
txbHFresult.Text = "대기"
|
|
txbHFtest1.Text = "대기"
|
|
txbHFtest2.Text = "대기"
|
|
txbHFtest3.Text = "대기"
|
|
txbTDreg.Text = "대기"
|
|
txbDBreg.Text = "대기"
|
|
End Sub
|
|
|
|
Private Sub hfColorReset()
|
|
txbBat.BackColor = Color.White
|
|
txbTemp.BackColor = Color.White
|
|
txbHFresult.BackColor = Color.White
|
|
txbHFtest1.BackColor = Color.White
|
|
txbHFtest2.BackColor = Color.White
|
|
txbHFtest3.BackColor = Color.White
|
|
txbTDreg.BackColor = Color.White
|
|
txbDBreg.BackColor = Color.White
|
|
End Sub
|
|
|
|
Private Sub hfRefReset()
|
|
txbBat.Refresh()
|
|
txbTemp.Refresh()
|
|
txbHFresult.Refresh()
|
|
txbHFtest1.Refresh()
|
|
txbHFtest2.Refresh()
|
|
txbHFtest3.Refresh()
|
|
txbTDreg.Refresh()
|
|
txbDBreg.Refresh()
|
|
End Sub
|
|
|
|
Private Sub rfmceptxbReset()
|
|
txbRFresult.Text = "대기"
|
|
txbRFtest1.Text = "대기"
|
|
txbRFtest2.Text = "대기"
|
|
txbRFtest3.Text = "대기"
|
|
|
|
txbMCresult.Text = "대기"
|
|
|
|
txbEPresult.Text = "대기"
|
|
txbEPtest1.Text = "대기"
|
|
txbEPtest2.Text = "대기"
|
|
txbEPtest3.Text = "대기"
|
|
End Sub
|
|
|
|
Private Sub rfmceptxbColorReset()
|
|
txbRFresult.BackColor = Color.White
|
|
txbRFtest1.BackColor = Color.White
|
|
txbRFtest2.BackColor = Color.White
|
|
txbRFtest3.BackColor = Color.White
|
|
|
|
txbMCresult.BackColor = Color.White
|
|
|
|
txbEPresult.BackColor = Color.White
|
|
txbEPtest1.BackColor = Color.White
|
|
txbEPtest2.BackColor = Color.White
|
|
txbEPtest3.BackColor = Color.White
|
|
End Sub
|
|
|
|
Private Sub rfmceptxbRefReset()
|
|
txbRFresult.Refresh()
|
|
txbRFtest1.Refresh()
|
|
txbRFtest2.Refresh()
|
|
txbRFtest3.Refresh()
|
|
|
|
txbMCresult.Refresh()
|
|
|
|
txbEPresult.Refresh()
|
|
txbEPtest1.Refresh()
|
|
txbEPtest2.Refresh()
|
|
txbEPtest3.Refresh()
|
|
End Sub
|
|
|
|
Private Sub iqctxbReset()
|
|
txbIQCHF.Text = "대기"
|
|
txbIQCRF.Text = "대기"
|
|
txbIQCEP.Text = "대기"
|
|
|
|
txbIQCHF1.Text = "대기"
|
|
txbIQCHF2.Text = "대기"
|
|
txbIQCHF3.Text = "대기"
|
|
|
|
txbIQCRF1.Text = "대기"
|
|
txbIQCRF2.Text = "대기"
|
|
txbIQCRF3.Text = "대기"
|
|
|
|
txbIQCEP1.Text = "대기"
|
|
txbIQCEP2.Text = "대기"
|
|
txbIQCEP3.Text = "대기"
|
|
End Sub
|
|
|
|
Private Sub iqcColorReset()
|
|
txbIQCHF.BackColor = Color.White
|
|
txbIQCRF.BackColor = Color.White
|
|
txbIQCEP.BackColor = Color.White
|
|
|
|
txbIQCHF1.BackColor = Color.White
|
|
txbIQCHF2.BackColor = Color.White
|
|
txbIQCHF3.BackColor = Color.White
|
|
|
|
txbIQCRF1.BackColor = Color.White
|
|
txbIQCRF2.BackColor = Color.White
|
|
txbIQCRF3.BackColor = Color.White
|
|
|
|
txbIQCEP1.BackColor = Color.White
|
|
txbIQCEP2.BackColor = Color.White
|
|
txbIQCEP3.BackColor = Color.White
|
|
End Sub
|
|
|
|
Private Sub iqctxbRefresh()
|
|
txbIQCHF.Refresh()
|
|
txbIQCRF.Refresh()
|
|
txbIQCEP.Refresh()
|
|
|
|
txbIQCHF1.Refresh()
|
|
txbIQCHF2.Refresh()
|
|
txbIQCHF3.Refresh()
|
|
|
|
txbIQCRF1.Refresh()
|
|
txbIQCRF2.Refresh()
|
|
txbIQCRF3.Refresh()
|
|
|
|
txbIQCEP1.Refresh()
|
|
txbIQCEP2.Refresh()
|
|
txbIQCEP3.Refresh()
|
|
End Sub
|
|
|
|
Private Sub DstxbReset()
|
|
txbDSBasic.Text = "대기"
|
|
txbDSFirm.Text = "대기"
|
|
txbDSTemp.Text = "대기"
|
|
txbDSBat.Text = "대기"
|
|
txbDSHifu.Text = "대기"
|
|
txbDSHifu_1.Text = "대기"
|
|
txbDSHifu_2.Text = "대기"
|
|
txbDSHifu_3.Text = "대기"
|
|
txbDSSave.Text = "대기"
|
|
txbDSWrite.Text = "대기"
|
|
txbDSWrite_2.Text = "대기"
|
|
txbDSWrite_3.Text = "대기"
|
|
End Sub
|
|
|
|
Private Sub DsColorReset()
|
|
txbDSBasic.BackColor = Color.White
|
|
txbDSFirm.BackColor = Color.White
|
|
txbDSTemp.BackColor = Color.White
|
|
txbDSBat.BackColor = Color.White
|
|
txbDSHifu.BackColor = Color.White
|
|
txbDSHifu_1.BackColor = Color.White
|
|
txbDSHifu_2.BackColor = Color.White
|
|
txbDSHifu_3.BackColor = Color.White
|
|
txbDSSave.BackColor = Color.White
|
|
txbDSWrite.BackColor = Color.White
|
|
txbDSWrite_2.BackColor = Color.White
|
|
txbDSWrite_3.BackColor = Color.White
|
|
End Sub
|
|
|
|
Private Sub DstxbRefresh()
|
|
txbDSBasic.Refresh()
|
|
txbDSFirm.Refresh()
|
|
txbDSTemp.Refresh()
|
|
txbDSBat.Refresh()
|
|
txbDSHifu.Refresh()
|
|
txbDSHifu_1.Refresh()
|
|
txbDSHifu_2.Refresh()
|
|
txbDSHifu_3.Refresh()
|
|
txbDSSave.Refresh()
|
|
txbDSWrite.Refresh()
|
|
txbDSWrite_2.Refresh()
|
|
txbDSWrite_3.Refresh()
|
|
End Sub
|
|
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
TestData.Test_Serial = txbBarcode.Text
|
|
txbBarcode.Text = "[START]"
|
|
|
|
btnRun_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub btnRun_Click(sender As Object, e As EventArgs) Handles btnRun.Click
|
|
txbBarcode.ReadOnly = True
|
|
StartClear()
|
|
NowDate = Format(Now, "yyyy-MM-dd")
|
|
NowTime = Format(Now, "HH:mm:ss")
|
|
TestError = True
|
|
TestStep = TestList.Start
|
|
|
|
Select Case formType
|
|
Case formTypeList.full
|
|
allFunction()
|
|
Case formTypeList.prod_HF, formTypeList.EF_PD
|
|
hfFunction()
|
|
Case formTypeList.prod_RF
|
|
rfFunction()
|
|
Case formTypeList.altoIQC
|
|
altoFunctionIQC()
|
|
Case formTypeList.altoPD
|
|
AltoFunctionPD()
|
|
Case formTypeList.Company
|
|
CompanyFunction()
|
|
Case formTypeList.iqc
|
|
iqcFunction()
|
|
Case formTypeList.DS_IQC, formTypeList.DS_PD
|
|
DSTestFunction()
|
|
Case Else
|
|
MsgBox("잘못된 동작 모드가 입력되어 있습니다. 관리자에게 문의해주세요.", vbCritical)
|
|
End Select
|
|
|
|
txbBarcode.ReadOnly = False
|
|
TestStep = TestList.Wait
|
|
txbBarcode.Focus()
|
|
txbBarcode.Select(txbBarcode.Text.Length, 0)
|
|
|
|
End Sub
|
|
|
|
Private Function altoNumAppoint(PlusCount As Int16) As String
|
|
Try
|
|
DBCmd = "SELECT PD1_AltoCnt FROM " & pd1CntTableNow & " WHERE PD1_Date = '" & NowDate & "'"
|
|
|
|
Dim altoNum As String = DBQueryScalar(DBCmd)
|
|
|
|
If altoNum = "" Then
|
|
altoNum = "1" '' 첫 시작일 경우
|
|
Else
|
|
altoNum = Val(altoNum) + PlusCount '' 번호 업데이트
|
|
End If
|
|
|
|
For i = altoNum.Length To 4
|
|
altoNum = "0" + altoNum
|
|
Next
|
|
|
|
altoNum = Mid(NowDate, 4, 1) & Mid(NowDate, 6, 2) & Mid(NowDate, 9, 2) & altoNum
|
|
Return altoNum
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, vbCritical)
|
|
Return "0"
|
|
End Try
|
|
End Function
|
|
|
|
Private Function NonTDSerial() As Boolean
|
|
|
|
Dim TDSerial As String = TD_name_load()
|
|
|
|
txbWindow.AppendText("Prod Serial Number Send Fail!!" & TDSerial & vbCrLf)
|
|
|
|
If TDSerial = "1" Then
|
|
TestError = False
|
|
txbWindow.AppendText("Prod Serial Number Send Fail!!" & vbCrLf)
|
|
Return True
|
|
End If
|
|
|
|
If TDSerial = "0" Then
|
|
Return True '' TD 데이터가 없을 경우
|
|
Else
|
|
If IsNumeric(TDSerial) = False Then
|
|
|
|
TestError = False
|
|
txbWindow.AppendText("Prod Serial Number Standard Fail!!" & vbCrLf)
|
|
Return True '' 잘못된 번호가 들어갈 경우
|
|
|
|
Else
|
|
|
|
TestData.Test_Serial = TDSerial
|
|
Return False '' TD 데이터가 있을 경우
|
|
|
|
End If
|
|
End If
|
|
|
|
|
|
End Function
|
|
|
|
Private Function AltoDataSetting() As Boolean
|
|
Dim NewSerial As Boolean = False
|
|
Dim AltoSerial As String = String.Empty
|
|
dupDATA = 0
|
|
|
|
If NonTDSerial() Then
|
|
If TestError = False Then
|
|
MsgBox("제품의 시리얼 번호를 읽는 중 오류가 발생하였습니다.", vbCritical, Program_Name & Program_Version)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End If
|
|
|
|
NewSerial = True
|
|
|
|
Else
|
|
If NonTDExist() Then
|
|
NewSerial = True
|
|
Else
|
|
If StepSearch() Then
|
|
MsgBox("현 제품의 공정 순서를 확인할 수 없습니다. 데이터가 존재하지 않습니다.", vbCritical, Program_Name & Program_Version)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End If
|
|
|
|
TDCompare()
|
|
NewSerial = False
|
|
End If
|
|
End If
|
|
|
|
If NewSerial = True Then
|
|
Dim SerialCount As Int16 = 1
|
|
Dim CountWhile As Boolean = True
|
|
|
|
While CountWhile
|
|
|
|
AltoSerial = altoNumAppoint(SerialCount)
|
|
txbWindow.AppendText("Set Serial Number : " & AltoSerial & vbCrLf)
|
|
|
|
If AltoSerial = "0" Then
|
|
MsgBox("시리얼 번호 생성 도중 오류가 발생하였습니다.", vbCritical, Program_Name & Program_Version)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End If
|
|
|
|
If NonTDExist() Then
|
|
TestData.Test_Serial = AltoSerial
|
|
CountWhile = False
|
|
TDDataSet(TD_Data.TestStep) = "11"
|
|
dupDATA = 0
|
|
End If
|
|
|
|
If SerialCount = 5 Then
|
|
MsgBox("시리얼 번호 생성 도중 오류가 발생하였습니다.", vbCritical, Program_Name & Program_Version)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End If
|
|
|
|
SerialCount += 1
|
|
|
|
End While
|
|
|
|
End If
|
|
|
|
txbWindow.AppendText("TD Data Time(s) : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
Return False
|
|
End Function
|
|
|
|
Private Sub CompanyFunction()
|
|
StartTime = MeasureTimeAll(MeasStart)
|
|
|
|
If StartSwitch = True Then
|
|
If JigSerial.IsOpen = True Then
|
|
|
|
txbWindow.AppendText("-1.OK" & vbCrLf)
|
|
|
|
If txbBarcode.Text <> "[START]" Then
|
|
MsgBox("잘못된 시작 명령어를 입력하였습니다.", vbExclamation, Program_Name & Program_Version)
|
|
GoTo startFail
|
|
End If
|
|
|
|
For i = 0 To nudOnRe.Value
|
|
|
|
If JigRun_On() Then
|
|
GoTo processEnd
|
|
End If
|
|
|
|
If FirmVerCheck() Then
|
|
|
|
Dim ReadUni As Byte() = Encoding.Unicode.GetBytes(TestData.Test_Firmware)
|
|
|
|
If ReadUni(0) < 57 Then
|
|
MsgBox("잘못된 펌웨어 버전입니다. 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo processEnd
|
|
End If
|
|
|
|
If i = nudOnRe.Value Then
|
|
MsgBox("전원 ON에 실패하였습니다. 다시 시도하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo processEnd
|
|
End If
|
|
|
|
Else
|
|
Exit For
|
|
End If
|
|
|
|
Next
|
|
|
|
'If JigRun_On() Then
|
|
' GoTo startFail
|
|
'End If
|
|
|
|
'If FirmVerCheck() Then
|
|
' MsgBox("최신 펌웨어로 동작하고 있지 않습니다. 펌웨어 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
' GoTo processEnd
|
|
'End If
|
|
|
|
If TempTest() Then
|
|
GoTo processEnd
|
|
End If
|
|
|
|
If BatteryTest() Then
|
|
GoTo processEnd
|
|
End If
|
|
|
|
If RFTestRun() Then
|
|
GoTo processEnd
|
|
End If
|
|
|
|
If EPTestRun() Then
|
|
GoTo processEnd
|
|
End If
|
|
|
|
GoTo processEnd
|
|
|
|
Else
|
|
FailMain()
|
|
MsgBox("지그를 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo startFail
|
|
End If
|
|
Else
|
|
FailMain()
|
|
MsgBox("스코프와 스펙트럼을 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo startFail
|
|
End If
|
|
|
|
processEnd:
|
|
Jig_End()
|
|
NormalEnd:
|
|
Dim csvData As String = "" & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & ""
|
|
|
|
If Save_Csv(csvData) Then
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
GoTo processEnd
|
|
Else
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
End If
|
|
|
|
startFail:
|
|
myscope.IO.Clear()
|
|
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
|
|
End Sub
|
|
|
|
|
|
Private Sub AltoFunctionPD()
|
|
StartTime = MeasureTimeAll(MeasStart)
|
|
|
|
If StartSwitch = True Then
|
|
If JigSerial.IsOpen = True Then
|
|
|
|
If txbBarcode.Text <> "[START]" Then
|
|
MsgBox("잘못된 시작 명령어를 입력하였습니다.", vbExclamation, Program_Name & Program_Version)
|
|
GoTo startFail
|
|
End If
|
|
|
|
For i = 0 To nudOnRe.Value
|
|
|
|
If JigRun_On() Then
|
|
GoTo processEnd
|
|
End If
|
|
|
|
If FirmVerCheck() Then
|
|
|
|
Dim ReadUni As Byte() = Encoding.Unicode.GetBytes(TestData.Test_Firmware)
|
|
|
|
If ReadUni(0) < 57 Then
|
|
MsgBox("잘못된 펌웨어 버전입니다. 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo processEnd
|
|
End If
|
|
|
|
If i = nudOnRe.Value Then
|
|
MsgBox("전원 ON에 실패하였습니다. 다시 시도하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo processEnd
|
|
End If
|
|
|
|
Else
|
|
Exit For
|
|
End If
|
|
|
|
Next
|
|
|
|
'If JigRun_On() Then
|
|
' GoTo startFail
|
|
'End If
|
|
|
|
'If FirmVerCheck() Then
|
|
' MsgBox("최신 펌웨어로 동작하고 있지 않습니다. 펌웨어 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
' TestError = False
|
|
' GoTo processEnd
|
|
'End If
|
|
|
|
If AltoDataSetting() Then
|
|
TestError = False
|
|
GoTo processEnd
|
|
End If
|
|
|
|
If TempTest() Then
|
|
TestError = False
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
If BatteryTest() Then
|
|
TestError = False
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
If RFTestRun() Then
|
|
TestError = False
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
If EPTestRun() Then
|
|
TestError = False
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
If DataWriteAL() Then
|
|
TestError = False
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
GoTo NormalEnd
|
|
|
|
Else
|
|
FailMain()
|
|
MsgBox("지그를 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo startFail
|
|
End If
|
|
Else
|
|
FailMain()
|
|
MsgBox("스코프와 스펙트럼을 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo startFail
|
|
End If
|
|
|
|
|
|
NormalEnd:
|
|
|
|
If ALPD_PostReg() Then
|
|
If dbAltoSave() Then
|
|
If CountChanage() Then
|
|
Dim csvData As String
|
|
|
|
csvData = "" & TestData.Test_Serial & "," & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_Battery & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & ""
|
|
|
|
If Save_Csv(csvData) Then
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
GoTo processEnd
|
|
Else
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
End If
|
|
|
|
Else
|
|
FailMain()
|
|
End If
|
|
Else
|
|
FailMain()
|
|
End If
|
|
Else
|
|
FailMain()
|
|
End If
|
|
|
|
processEnd:
|
|
Jig_End()
|
|
|
|
startFail:
|
|
myscope.IO.Clear()
|
|
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
|
|
End Sub
|
|
|
|
Private Function ALPD_PostReg() As Boolean
|
|
|
|
If ckbPostgre.Checked = True Then
|
|
DBCmd = "select exists(select 1 from prods where td_serial = '" & TestData.Test_Serial & "') AS A;"
|
|
Dim TDExistBol As Boolean = pgDBQueryScalar(DBCmd)
|
|
|
|
If TDExistBol = False Then
|
|
DBCmd = "INSERT INTO prods(td_serial, p2_jignum, p2_testdate, p2_testtime, p2_result, p2_rf1_vrms, p2_rf1_freq, p2_rf2_vrms, p2_rf2_freq, p2_rf3_vrms, p2_rf3_freq, p2_mc1_vpp, p2_mc1_freq,p2_mc1_width, p2_mc2_vpp, p2_mc2_freq, p2_mc2_width, p2_ep1_vpp, p2_ep1_freq, p2_ep1_pwidth, p2_ep1_nwidth, p2_ep2_vpp, p2_ep2_freq, p2_ep2_pwidth, p2_ep2_nwidth, p2_ep3_vpp, p2_ep3_freq, p2_ep3_pwidth, p2_ep3_nwidth, created_at, updated_at) " &
|
|
"VALUES('" & TestData.Test_Serial & "', '" & nudJigNum.Value & "', '" & NowDate & "', '" & NowTime & "','" & TestError & "', '" & TestData.Test_RFVRMS(0) & "', '" & TestData.Test_RFFreq(0) & "', '" & TestData.Test_RFVRMS(1) & "', '" & TestData.Test_RFFreq(1) & "', '" & TestData.Test_RFVRMS(2) & "', '" & TestData.Test_RFFreq(2) & "', '" & TestData.Test_MCVpp(0) & "', '" & TestData.Test_MCFreq(0) & "', '" & TestData.Test_MCWidth(0) & "','" & TestData.Test_MCVpp(1) & "', '" & TestData.Test_MCFreq(1) & "', '" & TestData.Test_MCWidth(1) & "','" & TestData.Test_EPVpp(0) & "','" & TestData.Test_EPFreq(0) & "','" & TestData.Test_EPPWidth(0) & "','" & TestData.Test_EPNWidth(0) & "','" & TestData.Test_EPVpp(1) & "','" & TestData.Test_EPFreq(1) & "','" & TestData.Test_EPPWidth(1) & "','" & TestData.Test_EPNWidth(1) & "','" & TestData.Test_EPVpp(2) & "','" & TestData.Test_EPFreq(2) & "','" & TestData.Test_EPPWidth(2) & "','" & TestData.Test_EPNWidth(2) & "',NOW(),NOW());"
|
|
Else
|
|
DBCmd = "UPDATE prods SET td_serial = '" & TestData.Test_Serial & "', p2_jignum = '" & nudJigNum.Value & "', p2_testdate = '" & NowDate & "', p2_testtime = '" & NowTime & "', " &
|
|
"p2_result = '" & TestError & "', p2_rf1_vrms = '" & TestData.Test_RFVRMS(0) & "', p2_rf1_freq = '" & TestData.Test_RFFreq(0) & "', p2_rf2_vrms = '" & TestData.Test_RFVRMS(1) & "', " &
|
|
"p2_rf2_freq = '" & TestData.Test_RFFreq(1) & "', p2_rf3_vrms = '" & TestData.Test_RFVRMS(2) & "', p2_rf3_freq = '" & TestData.Test_RFFreq(2) & "', p2_mc1_vpp = '" & TestData.Test_MCVpp(0) & "', p2_mc1_freq = '" & TestData.Test_MCFreq(0) & "',p2_mc1_width = '" & TestData.Test_MCWidth(0) & "',p2_mc2_vpp = '" & TestData.Test_MCVpp(1) & "', p2_mc2_freq = '" & TestData.Test_MCFreq(1) & "',p2_mc2_width = '" & TestData.Test_MCWidth(1) & "',p2_ep1_vpp = '" & TestData.Test_EPVpp(0) & "',p2_ep1_freq = '" & TestData.Test_EPFreq(0) & "',p2_ep1_pwidth = '" & TestData.Test_EPPWidth(0) & "',p2_ep1_nwidth = '" & TestData.Test_EPNWidth(0) & "',p2_ep2_vpp = '" & TestData.Test_EPVpp(1) & "',p2_ep2_freq = '" & TestData.Test_EPFreq(1) & "',p2_ep2_pwidth = '" & TestData.Test_EPNWidth(1) & "',p2_ep2_nwidth = '" & TestData.Test_EPNWidth(1) & "',p2_ep3_vpp = '" & TestData.Test_EPVpp(2) & "',p2_ep3_freq = '" & TestData.Test_EPFreq(2) & "',p2_ep3_pwidth = '" & TestData.Test_EPPWidth(2) & "', p2_ep3_nwidth = '" & TestData.Test_EPNWidth(2) & "', updated_at = NOW() WHERE td_serial = '" & TestData.Test_Serial & "';"
|
|
End If
|
|
|
|
If pgDBCommand(DBCmd) Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Sub altoFunctionIQC()
|
|
StartTime = MeasureTimeAll(MeasStart)
|
|
|
|
If StartSwitch = True Then
|
|
If JigSerial.IsOpen = True Then
|
|
|
|
If txbBarcode.Text <> "[START]" Then
|
|
MsgBox("잘못된 시작 명령어를 입력하였습니다.", vbExclamation, Program_Name & Program_Version)
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
For i = 0 To nudOnRe.Value
|
|
|
|
If JigRun_On() Then
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
If FirmVerCheck() Then
|
|
|
|
Dim ReadUni As Byte() = Encoding.Unicode.GetBytes(TestData.Test_Firmware)
|
|
|
|
If ReadUni(0) < 57 Then
|
|
MsgBox("잘못된 펌웨어 버전입니다. 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
If i = nudOnRe.Value Then
|
|
MsgBox("전원 ON에 실패하였습니다. 다시 시도하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
Else
|
|
Exit For
|
|
End If
|
|
|
|
Next
|
|
|
|
If BuzzerTestFunc(0) Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
delay_run(100)
|
|
|
|
If TempTest() Then
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
If RFTestRun() Then
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
If BuzzerTestFunc(1) Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
delay_run(100)
|
|
|
|
If EPTestRun() Then
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
If BuzzerTestFunc(2) Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
todayCount += 1
|
|
If saveLocalFile() Then
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
GoTo SuccessEnd
|
|
|
|
Else
|
|
MsgBox("지그를 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo NormalEnd
|
|
End If
|
|
Else
|
|
MsgBox("스코프와 스펙트럼을 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
SuccessEnd:
|
|
If ALIQC_PostReg() Then
|
|
|
|
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
|
|
Dim csvData As String = "" & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_Battery & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & "," & TestError & ""
|
|
|
|
If Save_Csv(csvData) Then
|
|
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("CSV Data Save : OK" & vbCrLf)
|
|
|
|
If CountChanage() Then
|
|
|
|
txbWindow.AppendText("Run Count Change Save : OK" & vbCrLf)
|
|
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("Run Count Change Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
Else
|
|
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
|
|
|
|
ProcessEnd:
|
|
Jig_End()
|
|
GoTo NormalEnd
|
|
NgEnd:
|
|
txbWindow.AppendText("=== 불합격 데이터 저장 시작 ===" & vbCrLf)
|
|
If ALIQC_PostReg() Then
|
|
|
|
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
|
|
Dim csvData As String = "" & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_Battery & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & "," & TestError & ""
|
|
|
|
If Save_Csv(csvData) Then
|
|
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("CSV Data Save : OK" & vbCrLf)
|
|
|
|
If CountChanage() Then
|
|
|
|
txbWindow.AppendText("Run Count Change Save : OK" & vbCrLf)
|
|
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("Run Count Change Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
Else
|
|
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
|
|
txbWindow.AppendText("=== 불합격 데이터 저장 완료 ===" & vbCrLf)
|
|
Jig_End()
|
|
NormalEnd:
|
|
myscope.IO.Clear()
|
|
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
|
|
End Sub
|
|
|
|
Private Function ALIQC_PostReg() As Boolean
|
|
|
|
If ckbPostgre.Checked = True Then
|
|
|
|
DBCmd = "INSERT INTO pcbs(jig_num, test_date, test_time, board_num, test_result, fw_ver, rf1_vrms, rf1_freq, rf2_vrms, rf2_freq, rf3_vrms, rf3_freq, ep1_vpp, ep1_freq,ep1_pwidth, ep1_nwidth, ep2_vpp, ep2_freq, ep2_pwidth, ep2_nwidth, ep3_vpp, ep3_freq, ep3_pwidth, ep3_nwidth, created_at, updated_at) " &
|
|
"VALUES('" & nudJigNum.Value & "', '" & NowDate & "', '" & NowTime & "', '" & todayCount & "','" & TestError & "', '" & TestData.Test_Firmware & "', '" & TestData.Test_RFVRMS(0) & "', '" & TestData.Test_RFFreq(0) & "', '" & TestData.Test_RFVRMS(1) & "', '" & TestData.Test_RFFreq(1) & "', '" & TestData.Test_RFVRMS(2) & "','" & TestData.Test_RFFreq(2) & "', '" & TestData.Test_EPVpp(0) & "','" & TestData.Test_EPFreq(0) & "','" & TestData.Test_EPPWidth(0) & "','" & TestData.Test_EPNWidth(0) & "','" & TestData.Test_EPVpp(1) & "','" & TestData.Test_EPFreq(1) & "','" & TestData.Test_EPPWidth(1) & "','" & TestData.Test_EPNWidth(1) & "','" & TestData.Test_EPVpp(2) & "','" & TestData.Test_EPFreq(2) & "','" & TestData.Test_EPPWidth(2) & "','" & TestData.Test_EPNWidth(2) & "',NOW(),NOW());"
|
|
|
|
If pgDBCommand(DBCmd) Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
Else
|
|
Return True
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Sub iqcFunction()
|
|
StartTime = MeasureTimeAll(MeasStart)
|
|
|
|
If StartSwitch = True Then
|
|
If JigSerial.IsOpen = True Then
|
|
|
|
If txbBarcode.Text = "[START]" Then
|
|
|
|
For i = 0 To nudOnRe.Value
|
|
|
|
If JigRun_On() Then
|
|
GoTo processEnd
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
If FirmVerCheck() Then
|
|
|
|
Dim ReadUni As Byte() = Encoding.Unicode.GetBytes(TestData.Test_Firmware)
|
|
|
|
If ReadUni(0) < 57 Then
|
|
MsgBox("잘못된 펌웨어 버전입니다. 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo processEnd
|
|
End If
|
|
|
|
If i = nudOnRe.Value Then
|
|
MsgBox("전원 ON에 실패하였습니다. 다시 시도하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo processEnd
|
|
End If
|
|
|
|
Else
|
|
Exit For
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
Next
|
|
|
|
If BuzzerTestFunc(0) Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
If TempTest() Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
If HFTestRun() Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
If BuzzerTestFunc(1) Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
If RFTestRun() Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
If BuzzerTestFunc(2) Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
If EPTestRun() Then
|
|
TestError = False
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
todayCount += 1
|
|
If saveLocalFile() Then
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
GoTo SuccessEnd
|
|
|
|
Else
|
|
MsgBox("잘못된 시작 명령어를 입력하였습니다.", vbExclamation, Program_Name & Program_Version)
|
|
GoTo ErrorEnd
|
|
End If
|
|
Else
|
|
MsgBox("지그를 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ErrorEnd
|
|
End If
|
|
Else
|
|
MsgBox("스코프와 스펙트럼을 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ErrorEnd
|
|
End If
|
|
|
|
|
|
SuccessEnd:
|
|
|
|
Dim csvData As String = "" & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFData(HifuTest_Step.step3) & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & "," & TestError & ""
|
|
|
|
If Save_Csv(csvData) Then
|
|
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
Else
|
|
txbWindow.AppendText("CSV Data Save : OK" & vbCrLf)
|
|
|
|
If IQC_PostReg() Then
|
|
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
|
|
|
|
If CountChanage() Then
|
|
|
|
txbWindow.AppendText("Run Count Change Save : OK" & vbCrLf)
|
|
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("Run Count Change Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
End If
|
|
Else
|
|
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
|
|
End If
|
|
|
|
processEnd:
|
|
Jig_End()
|
|
GoTo ErrorEnd
|
|
NgEnd:
|
|
Dim csvData2 As String = "" & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFData(HifuTest_Step.step3) & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & "," & TestError & ""
|
|
|
|
If Save_Csv(csvData2) Then
|
|
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
Else
|
|
txbWindow.AppendText("CSV Data Save : OK" & vbCrLf)
|
|
|
|
If IQC_PostReg() Then
|
|
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
|
|
|
|
If CountChanage() Then
|
|
|
|
txbWindow.AppendText("Run Count Change Save : OK" & vbCrLf)
|
|
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("Run Count Change Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
End If
|
|
Else
|
|
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
|
|
End If
|
|
Jig_End()
|
|
ErrorEnd:
|
|
myscope.IO.Clear()
|
|
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
|
|
End Sub
|
|
|
|
Private Function BuzzerTestFunc(TypeNum As Int16) As Boolean
|
|
MeasureTimeFunc(MeasStart)
|
|
tmpCmdMessage = "runbuzz"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & TypeNum & "]"
|
|
|
|
If SendData(cmdMessage) Then
|
|
txbWindow.AppendText("BUZZER Send Error !" & vbCrLf)
|
|
Return True
|
|
End If
|
|
|
|
Dim BzResult As String = PollingReceiveData(JIGDT_Timeout)
|
|
|
|
If BzResult = "sucess" Then
|
|
txbWindow.AppendText("BUZZER " & TypeNum & " OK !" & vbCrLf)
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("BUZZER Receive Error !" & vbCrLf)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function IQC_PostReg() As Boolean
|
|
|
|
If ckbPostgre.Checked = True And TestError = True Then
|
|
|
|
DBCmd = "INSERT INTO pcbs(jig_num, test_date, test_time, board_num, test_result, fw_ver, hf1_value,hf2_value, hf3_value, rf1_vrms, rf1_freq, rf2_vrms, rf2_freq, rf3_vrms, rf3_freq, ep1_vpp, ep1_freq,ep1_pwidth, ep1_nwidth, ep2_vpp, ep2_freq, ep2_pwidth, ep2_nwidth, ep3_vpp, ep3_freq, ep3_pwidth, ep3_nwidth, created_at, updated_at) " &
|
|
"VALUES('" & nudJigNum.Value & "', '" & NowDate & "', '" & NowTime & "', '" & todayCount & "','" & TestError & "', '" & TestData.Test_Firmware & "', '" & TestData.Test_HFData(HifuTest_Step.Step1) & "', '" & TestData.Test_HFData(HifuTest_Step.Step2) & "', '" & TestData.Test_HFData(HifuTest_Step.step3) & "', '" & TestData.Test_RFVRMS(0) & "', '" & TestData.Test_RFFreq(0) & "', '" & TestData.Test_RFVRMS(1) & "', '" & TestData.Test_RFFreq(1) & "', '" & TestData.Test_RFVRMS(2) & "','" & TestData.Test_RFFreq(2) & "', '" & TestData.Test_EPVpp(0) & "','" & TestData.Test_EPFreq(0) & "','" & TestData.Test_EPPWidth(0) & "','" & TestData.Test_EPNWidth(0) & "','" & TestData.Test_EPVpp(1) & "','" & TestData.Test_EPFreq(1) & "','" & TestData.Test_EPPWidth(1) & "','" & TestData.Test_EPNWidth(1) & "','" & TestData.Test_EPVpp(2) & "','" & TestData.Test_EPFreq(2) & "','" & TestData.Test_EPPWidth(2) & "','" & TestData.Test_EPNWidth(2) & "',NOW(),NOW());"
|
|
|
|
If pgDBCommand(DBCmd) Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
Else
|
|
Return True
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Sub InitializeDeviceState()
|
|
Try
|
|
txbWindow.AppendText("기기 상태 초기화 시작..." & vbCrLf)
|
|
|
|
Try
|
|
TestMode_On(0) ' MFT 모드를 0으로 초기화
|
|
Threading.Thread.Sleep(300)
|
|
Catch
|
|
|
|
End Try
|
|
|
|
txbWindow.AppendText("기기 상태 초기화 완료" & vbCrLf)
|
|
|
|
Catch ex As Exception
|
|
txbWindow.AppendText("기기 초기화 중 오류 (무시하고 계속): " & ex.Message & vbCrLf)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub rfFunction()
|
|
Try
|
|
StartTime = MeasureTimeAll(MeasStart)
|
|
|
|
TestData.Test_Serial = txbBarcode.Text
|
|
|
|
InitializeDeviceState()
|
|
|
|
If StartSwitch = True Then
|
|
If JigSerial.IsOpen = True Then
|
|
|
|
If TDDataSearch() Then
|
|
FailMain()
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
For i = 0 To nudOnRe.Value
|
|
|
|
If JigRun_On() Then
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
If FirmVerCheck() Then
|
|
|
|
Dim ReadUni As Byte() = Encoding.Unicode.GetBytes(TestData.Test_Firmware)
|
|
|
|
If ReadUni(0) < 57 Then
|
|
MsgBox("잘못된 펌웨어 버전입니다. 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
If i = nudOnRe.Value Then
|
|
MsgBox("전원 ON에 실패하였습니다. 다시 시도하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
Else
|
|
Exit For
|
|
End If
|
|
|
|
Next
|
|
|
|
'If JigRun_On() Then
|
|
' FailMain()
|
|
' GoTo ProcessEnd
|
|
'End If
|
|
|
|
'If FirmVerCheck() Then
|
|
' FailMain()
|
|
' MsgBox("최신 펌웨어로 동작하고 있지 않습니다. 펌웨어 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
' GoTo ProcessEnd
|
|
'End If
|
|
|
|
If TDSetCheck() Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
If RFTestRun() Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
If MCTestRunSp() Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
If EPTestRun() Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
GoTo RunSuccess
|
|
|
|
Else
|
|
MsgBox("지그를 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo NormalEnd
|
|
End If
|
|
Else
|
|
MsgBox("스코프와 스펙트럼을 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox("ERR!! :: " & ex.Message, vbCritical)
|
|
GoTo ProcessEnd
|
|
End Try
|
|
|
|
RunSuccess:
|
|
txbWindow.AppendText("=== 합격 데이터 저장 시작 ===" & vbCrLf)
|
|
If RF_PostReg() Then
|
|
|
|
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
|
|
|
|
If dbRFSave() Then
|
|
txbWindow.AppendText("DB Data Save : OK" & vbCrLf)
|
|
|
|
If CountChanage() Then
|
|
|
|
txbWindow.AppendText("Run Count Change Save : OK" & vbCrLf)
|
|
Dim csvData As String = "" & TestData.Test_Serial & "," & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_MCWidth(0) & "," & TestData.Test_MCVpp(0) & "," & TestData.Test_MCFreq(0) & "," & TestData.Test_MCWidth(1) & "," & TestData.Test_MCVpp(1) & "," & TestData.Test_MCFreq(1) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & "," & TestError & ""
|
|
|
|
If Save_Csv(csvData) Then
|
|
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("Run Count Change Save : OK" & vbCrLf)
|
|
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
|
|
End If
|
|
Else
|
|
|
|
txbWindow.AppendText("Run Count Change Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
End If
|
|
|
|
Else
|
|
txbWindow.AppendText("DB Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
|
|
Else
|
|
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
txbWindow.AppendText("=== 합격 데이터 저장 완료 ===" & vbCrLf)
|
|
ProcessEnd:
|
|
Jig_End()
|
|
GoTo NormalEnd
|
|
NgEnd:
|
|
txbWindow.AppendText("=== 불합격 데이터 저장 시작 ===" & vbCrLf)
|
|
' 불합격 시에도 전체 데이터 저장 로직 실행
|
|
If RF_PostReg() Then
|
|
txbWindow.AppendText("PostgreSQL Data Save (NG) : OK" & vbCrLf)
|
|
|
|
If dbRFSave() Then
|
|
txbWindow.AppendText("DB Data Save (NG) : OK" & vbCrLf)
|
|
|
|
If CountChanage() Then
|
|
txbWindow.AppendText("Run Count Change Save (NG) : OK" & vbCrLf)
|
|
Dim csvData As String = "" & TestData.Test_Serial & "," & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_MCWidth(0) & "," & TestData.Test_MCVpp(0) & "," & TestData.Test_MCFreq(0) & "," & TestData.Test_MCWidth(1) & "," & TestData.Test_MCVpp(1) & "," & TestData.Test_MCFreq(1) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & "," & TestError & ""
|
|
|
|
If Save_Csv(csvData) Then
|
|
txbWindow.AppendText("CSV Data Save (NG) : FAIL" & vbCrLf)
|
|
FailMain()
|
|
Else
|
|
txbWindow.AppendText("CSV Data Save (NG) : OK" & vbCrLf)
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
End If
|
|
Else
|
|
txbWindow.AppendText("Run Count Change Save (NG) : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
Else
|
|
txbWindow.AppendText("DB Data Save (NG) : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
Else
|
|
txbWindow.AppendText("PostgreSQL Data Save (NG) : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
|
|
txbWindow.AppendText("=== 불합격 데이터 저장 완료 ===" & vbCrLf)
|
|
|
|
Jig_End()
|
|
NormalEnd:
|
|
myscope.IO.Clear()
|
|
'txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
|
|
|
|
Try
|
|
If TestError = False Then
|
|
Jig_End() ' 지그 전원 차단
|
|
TestMode_On(0) ' MFT 모드 초기화
|
|
txbWindow.AppendText("비정상 종료로 인한 전원 차단" & vbCrLf)
|
|
End If
|
|
Catch normalEx As Exception
|
|
txbWindow.AppendText("정상 종료 처리 중 오류: " & normalEx.Message & vbCrLf)
|
|
End Try
|
|
|
|
'myscope.IO.Clear()
|
|
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
|
|
End Sub
|
|
|
|
Private Function TDSetCheck() As Boolean
|
|
Dim TDResult As String = TD_name_load()
|
|
|
|
If TDResult = "1" Then
|
|
MsgBox("Send 중 오류가 발생하였습니다.", vbCritical)
|
|
txbTDSN.ForeColor = Color.Red
|
|
Return True
|
|
End If
|
|
|
|
If TDResult = "0" Then
|
|
MsgBox("Receive 중 오류가 발생하였습니다.", vbCritical)
|
|
txbTDSN.ForeColor = Color.Red
|
|
Return True
|
|
End If
|
|
|
|
If TDResult.Length <> 10 Then
|
|
txbWindow.AppendText("TDResult Length ERROR !! : " & TDResult & "" & vbCrLf)
|
|
txbTDSN.ForeColor = Color.Red
|
|
Return True
|
|
End If
|
|
|
|
If TestData.Test_Serial.ToUpper = TDResult.ToUpper Then
|
|
txbWindow.AppendText("TS : " & TestData.Test_Serial & ", TR : " & TDResult & "" & vbCrLf)
|
|
txbTDSN.ForeColor = Color.Blue
|
|
Return False
|
|
Else
|
|
txbWindow.AppendText("TS : " & TestData.Test_Serial & ", TR : " & TDResult & "" & vbCrLf)
|
|
txbTDSN.ForeColor = Color.Red
|
|
Return True
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Function RF_PostReg() As Boolean
|
|
|
|
If ckbPostgre.Checked = True Then
|
|
DBCmd = "select exists(select 1 from prods where td_serial = '" & TestData.Test_Serial & "') AS A;"
|
|
Dim TDExistBol As Boolean = pgDBQueryScalar(DBCmd)
|
|
|
|
If TDExistBol = False Then
|
|
DBCmd = "INSERT INTO prods(td_serial, p2_jignum, p2_testdate, p2_testtime, p2_result, p2_rf1_vrms, p2_rf1_freq, p2_rf2_vrms, p2_rf2_freq, p2_rf3_vrms, p2_rf3_freq, p2_mc1_vpp, p2_mc1_freq,p2_mc1_width, p2_mc2_vpp, p2_mc2_freq, p2_mc2_width, p2_ep1_vpp, p2_ep1_freq, p2_ep1_pwidth, p2_ep1_nwidth, p2_ep2_vpp, p2_ep2_freq, p2_ep2_pwidth, p2_ep2_nwidth, p2_ep3_vpp, p2_ep3_freq, p2_ep3_pwidth, p2_ep3_nwidth, created_at, updated_at) " &
|
|
"VALUES('" & TestData.Test_Serial & "', '" & nudJigNum.Value & "', '" & NowDate & "', '" & NowTime & "','" & TestError & "', '" & TestData.Test_RFVRMS(0) & "', '" & TestData.Test_RFFreq(0) & "', '" & TestData.Test_RFVRMS(1) & "', '" & TestData.Test_RFFreq(1) & "', '" & TestData.Test_RFVRMS(2) & "', '" & TestData.Test_RFFreq(2) & "', '" & TestData.Test_MCVpp(0) & "', '" & TestData.Test_MCFreq(0) & "', '" & TestData.Test_MCWidth(0) & "','" & TestData.Test_MCVpp(1) & "', '" & TestData.Test_MCFreq(1) & "', '" & TestData.Test_MCWidth(1) & "','" & TestData.Test_EPVpp(0) & "','" & TestData.Test_EPFreq(0) & "','" & TestData.Test_EPPWidth(0) & "','" & TestData.Test_EPNWidth(0) & "','" & TestData.Test_EPVpp(1) & "','" & TestData.Test_EPFreq(1) & "','" & TestData.Test_EPPWidth(1) & "','" & TestData.Test_EPNWidth(1) & "','" & TestData.Test_EPVpp(2) & "','" & TestData.Test_EPFreq(2) & "','" & TestData.Test_EPPWidth(2) & "','" & TestData.Test_EPNWidth(2) & "',NOW(),NOW());"
|
|
Else
|
|
DBCmd = "UPDATE prods SET td_serial = '" & TestData.Test_Serial & "', p2_jignum = '" & nudJigNum.Value & "', p2_testdate = '" & NowDate & "', p2_testtime = '" & NowTime & "', " &
|
|
"p2_result = '" & TestError & "', p2_rf1_vrms = '" & TestData.Test_RFVRMS(0) & "', p2_rf1_freq = '" & TestData.Test_RFFreq(0) & "', p2_rf2_vrms = '" & TestData.Test_RFVRMS(1) & "', " &
|
|
"p2_rf2_freq = '" & TestData.Test_RFFreq(1) & "', p2_rf3_vrms = '" & TestData.Test_RFVRMS(2) & "', p2_rf3_freq = '" & TestData.Test_RFFreq(2) & "', p2_mc1_vpp = '" & TestData.Test_MCVpp(0) & "', p2_mc1_freq = '" & TestData.Test_MCFreq(0) & "',p2_mc1_width = '" & TestData.Test_MCWidth(0) & "',p2_mc2_vpp = '" & TestData.Test_MCVpp(1) & "', p2_mc2_freq = '" & TestData.Test_MCFreq(1) & "',p2_mc2_width = '" & TestData.Test_MCWidth(1) & "',p2_ep1_vpp = '" & TestData.Test_EPVpp(0) & "',p2_ep1_freq = '" & TestData.Test_EPFreq(0) & "',p2_ep1_pwidth = '" & TestData.Test_EPPWidth(0) & "',p2_ep1_nwidth = '" & TestData.Test_EPNWidth(0) & "',p2_ep2_vpp = '" & TestData.Test_EPVpp(1) & "',p2_ep2_freq = '" & TestData.Test_EPFreq(1) & "',p2_ep2_pwidth = '" & TestData.Test_EPNWidth(1) & "',p2_ep2_nwidth = '" & TestData.Test_EPNWidth(1) & "',p2_ep3_vpp = '" & TestData.Test_EPVpp(2) & "',p2_ep3_freq = '" & TestData.Test_EPFreq(2) & "',p2_ep3_pwidth = '" & TestData.Test_EPPWidth(2) & "', p2_ep3_nwidth = '" & TestData.Test_EPNWidth(2) & "', updated_at = NOW() WHERE td_serial = '" & TestData.Test_Serial & "';"
|
|
End If
|
|
|
|
txbWindow.AppendText(DBCmd & vbCrLf)
|
|
|
|
If pgDBCommand(DBCmd) Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Sub hfFunction()
|
|
StartTime = MeasureTimeAll(MeasStart)
|
|
TestData.Test_Serial = txbBarcode.Text
|
|
|
|
If StartSwitch = True Then
|
|
If JigSerial.IsOpen = True Then
|
|
|
|
If TDDataSearch() Then
|
|
FailMain()
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
For i = 0 To nudOnRe.Value
|
|
|
|
If JigRun_On() Then
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
If FirmVerCheck() Then
|
|
|
|
Dim ReadUni As Byte() = Encoding.Unicode.GetBytes(TestData.Test_Firmware)
|
|
|
|
If ReadUni(0) < 57 Then
|
|
MsgBox("잘못된 펌웨어 버전입니다. 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
If i = nudOnRe.Value Then
|
|
MsgBox("전원 ON에 실패하였습니다. 다시 시도하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
Else
|
|
Exit For
|
|
End If
|
|
|
|
delay_run(StepDelay)
|
|
|
|
Next
|
|
|
|
'If JigRun_On() Then
|
|
' FailMain()
|
|
' GoTo ProcessEnd
|
|
'End If
|
|
|
|
'If FirmVerCheck() Then
|
|
' FailMain()
|
|
' MsgBox("최신 펌웨어로 동작하고 있지 않습니다. 펌웨어 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
' GoTo ProcessEnd
|
|
'End If
|
|
|
|
If BatteryTest() Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
If TempTest() Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
If HFTestRun() Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
|
|
If rdbHF.Checked = True Then
|
|
If DataWrite(formProdCode(formTypeList.prod_HF)) Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
ElseIf rdbEFPD.Checked = True Then
|
|
If DataWrite(formProdCode(formTypeList.EF_PD)) Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
End If
|
|
|
|
|
|
GoTo RunSuccess
|
|
|
|
Else
|
|
MsgBox("지그를 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
FailMain()
|
|
GoTo NormalEnd
|
|
End If
|
|
Else
|
|
MsgBox("스코프와 스펙트럼을 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
FailMain()
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
RunSuccess:
|
|
txbWindow.AppendText("=== 합격 데이터 저장 시작 ===" & vbCrLf)
|
|
If HIFU_PostReg() Then
|
|
|
|
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
|
|
|
|
If dbHFSave() Then
|
|
txbWindow.AppendText("DB Data Save : OK" & vbCrLf)
|
|
|
|
If CountChanage() Then
|
|
|
|
txbWindow.AppendText("Run Count Change : OK" & vbCrLf)
|
|
Dim csvData As String = "" & TestData.Test_Serial & "," & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Battery & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFData(HifuTest_Step.step3) & "," & TestError & ""
|
|
|
|
If Save_Csv(csvData) Then
|
|
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("CSV Data Save : OK" & vbCrLf)
|
|
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
|
|
End If
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("Run Count Change : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
End If
|
|
|
|
Else
|
|
txbWindow.AppendText("DB Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
|
|
Else
|
|
|
|
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
|
|
End If
|
|
txbWindow.AppendText("=== 합격 데이터 저장 완료 ===" & vbCrLf)
|
|
ProcessEnd:
|
|
Jig_End()
|
|
GoTo NormalEnd
|
|
|
|
NgEnd:
|
|
txbWindow.AppendText("=== 불합격 데이터 저장 시작 ===" & vbCrLf)
|
|
|
|
Dim originalTestError As Boolean = TestError
|
|
TestError = False
|
|
|
|
If HIFU_PostReg() Then
|
|
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
|
|
If dbHFSave() Then
|
|
txbWindow.AppendText("DB Data Save : OK" & vbCrLf)
|
|
If CountChanage() Then
|
|
txbWindow.AppendText("Run Count Change : OK" & vbCrLf)
|
|
Dim csvData As String = "" & TestData.Test_Serial & "," & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Battery & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFData(HifuTest_Step.step3) & "," & TestError & ""
|
|
If Save_Csv(csvData) Then
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
Else
|
|
txbWindow.AppendText("CSV Data Save : OK" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
Else
|
|
txbWindow.AppendText("Run Count Change : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
Else
|
|
txbWindow.AppendText("DB Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
Else
|
|
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
End If
|
|
|
|
TestError = originalTestError
|
|
txbWindow.AppendText("=== 불합격 데이터 저장 완료 ===" & vbCrLf)
|
|
|
|
Jig_End()
|
|
NormalEnd:
|
|
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
|
|
End Sub
|
|
|
|
Private Function HIFU_PostReg() As Boolean
|
|
|
|
If ckbPostgre.Checked = True Then
|
|
DBCmd = "select exists(select 1 from prods where td_serial = '" & TestData.Test_Serial & "') AS A;"
|
|
Dim TDExistBol As Boolean = pgDBQueryScalar(DBCmd)
|
|
|
|
If TDExistBol = False Then
|
|
DBCmd = "INSERT INTO prods(td_serial, p1_jignum, p1_testdate, p1_testtime, p1_result, p1_fwver, p1_batterylv, p1_divtemp, p1_carttemp, p1_hf1_value, p1_hf2_value, p1_hf3_value, created_at, updated_at)" &
|
|
"VALUES('" & TestData.Test_Serial & "', '" & nudJigNum.Value & "', '" & NowDate & "', '" & NowTime & "','" & TestError & "', '" & TestData.Test_Firmware & "', '" & TestData.Test_Battery & "', '" & TestData.Test_Temperature(TempData.DivTemp) & "', '" & TestData.Test_Temperature(TempData.CartTemp) & "', '" & TestData.Test_HFData(HifuTest_Step.Step1) & "', '" & TestData.Test_HFData(HifuTest_Step.Step2) & "', '" & TestData.Test_HFData(HifuTest_Step.step3) & "', NOW(), NOW());"
|
|
Else
|
|
DBCmd = "UPDATE prods SET td_serial = '" & TestData.Test_Serial & "', p1_jignum = '" & nudJigNum.Value & "', p1_testdate = '" & NowDate & "', p1_testtime = '" & NowTime & "', " &
|
|
"p1_result = '" & TestError & "', p1_fwver = '" & TestData.Test_Firmware & "', p1_batterylv = '" & TestData.Test_Battery & "', p1_divtemp = '" & TestData.Test_Temperature(TempData.DivTemp) & "', " &
|
|
"p1_carttemp = '" & TestData.Test_Temperature(TempData.CartTemp) & "', p1_hf1_value = '" & TestData.Test_HFData(HifuTest_Step.Step1) & "', p1_hf2_value = '" & TestData.Test_HFData(HifuTest_Step.Step2) & "', p1_hf3_value = '" & TestData.Test_HFData(HifuTest_Step.step3) & "', updated_at = NOW() WHERE td_serial = '" & TestData.Test_Serial & "';"
|
|
End If
|
|
|
|
If pgDBCommand(DBCmd) Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Sub DSTestFunction()
|
|
StartTime = MeasureTimeAll(MeasStart)
|
|
|
|
If StartSwitch = True Then
|
|
If JigSerial.IsOpen = True Then
|
|
|
|
If txbBarcode.Text <> "[START]" Then
|
|
MsgBox("잘못된 시작 명령어를 입력하였습니다.", vbExclamation, Program_Name & Program_Version)
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
If JigRun_On() Then
|
|
FailMain()
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
'If TDNullProdWrite() Then
|
|
' FailMain()
|
|
' GoTo ProcessEnd
|
|
'End If
|
|
|
|
delay_run(Val(txbDSDelay.Text))
|
|
|
|
If FirmVerCheck() Then
|
|
txbDSBasic.Text = "FAIL"
|
|
txbDSBasic.BackColor = Color.Red
|
|
txbDSBasic.Refresh()
|
|
FailMain()
|
|
MsgBox("최신 펌웨어로 동작하고 있지 않습니다. 펌웨어 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
If TempTest() Then
|
|
txbDSBasic.Text = "FAIL"
|
|
txbDSBasic.BackColor = Color.Red
|
|
txbDSBasic.Refresh()
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
If BatteryTest() Then
|
|
txbDSBasic.Text = "FAIL"
|
|
txbDSBasic.BackColor = Color.Red
|
|
txbDSBasic.Refresh()
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
txbDSBasic.Text = "SUCCESS"
|
|
txbDSBasic.BackColor = Color.Green
|
|
txbDSBasic.Refresh()
|
|
|
|
If HFTestRun() Then
|
|
FailMain()
|
|
GoTo NgEnd
|
|
End If
|
|
|
|
TestStep = TestList.DataWrite
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
|
|
|
|
|
|
'Dim TestResult As Boolean = Not (TestError)
|
|
'Dim mqttSendData As String = "[{""td_serial"":""" & TestData.Test_Serial & """},{""p1_testdate"":""" & NowDate & """},{""p1_testtime"":""" & NowTime & """},{""p1_result"":""" & TestResult & """},{""p1_fwver"":""" & TestData.Test_Firmware & """},{""p1_batterylv"":""" & TestData.Test_Battery & """},{""p1_divtemp"":""" & TestData.Test_Temperature(TempData.DivTemp) & """},{""p1_carttemp"":""" & TestData.Test_Temperature(TempData.CartTemp) & """},{""p1_hf1_value"":""" & TestData.Test_HFData(HifuTest_Step.Step1) & """},{""p1_hf2_value"":""" & TestData.Test_HFData(HifuTest_Step.Step2) & """},{""p1_hf3_value"":""" & TestData.Test_HFData(HifuTest_Step.step3) & """},{""oled_result"":""""},{""buzzer_result"":""""}]"
|
|
|
|
'If Mqtt_DataSend(mqttSendData, mqttTopic) Then
|
|
' txbWindow.AppendText("MES Server Mqtt Protocol Fail ! " & vbCrLf)
|
|
' TestRunningState(testRunningList.Fail, Color.Red)
|
|
'Else
|
|
' txbWindow.AppendText("MES Server Mqtt Protocol Save ! " & vbCrLf)
|
|
' TestRunningState(testRunningList.Success, Color.Green)
|
|
'End If
|
|
|
|
'txbWindow.AppendText("MES Server Mqtt Protocol Save ! " & vbCrLf)
|
|
'TestRunningState(testRunningList.Success, Color.Green)
|
|
|
|
GoTo RunSuccess
|
|
|
|
Else
|
|
MsgBox("지그를 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
FailMain()
|
|
GoTo NormalEnd
|
|
End If
|
|
Else
|
|
MsgBox("스코프와 스펙트럼을 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
FailMain()
|
|
GoTo NormalEnd
|
|
End If
|
|
|
|
RunSuccess:
|
|
'If dbHFSave() Then
|
|
If CountChanage() Then
|
|
Dim csvData As String = NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Battery & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFData(HifuTest_Step.step3) & ""
|
|
If Save_Csv(csvData) Then
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
Else
|
|
If txbDSWrite.BackColor = Color.Green And txbDSWrite_2.BackColor = Color.Green And txbDSWrite_3.BackColor = Color.Green Then
|
|
txbDSSave.BackColor = Color.Green
|
|
Else
|
|
txbDSSave.BackColor = Color.Red
|
|
End If
|
|
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
End If
|
|
Else
|
|
FailMain()
|
|
End If
|
|
'Else
|
|
' FailMain()
|
|
'End If
|
|
|
|
ProcessEnd:
|
|
Jig_End()
|
|
GoTo NormalEnd
|
|
NgEnd:
|
|
If CountChanage() Then
|
|
Dim csvData As String = NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Battery & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFData(HifuTest_Step.step3) & ""
|
|
If Save_Csv(csvData) Then
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
FailMain()
|
|
Else
|
|
If txbDSWrite.BackColor = Color.Green And txbDSWrite_2.BackColor = Color.Green And txbDSWrite_3.BackColor = Color.Green Then
|
|
txbDSSave.BackColor = Color.Green
|
|
Else
|
|
txbDSSave.BackColor = Color.Red
|
|
End If
|
|
|
|
If TestError = False Then
|
|
FailMain()
|
|
Else
|
|
SuccessMain()
|
|
End If
|
|
End If
|
|
Else
|
|
FailMain()
|
|
End If
|
|
Jig_End()
|
|
NormalEnd:
|
|
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
|
|
End Sub
|
|
|
|
Private Sub allFunction()
|
|
txbBarcode.ReadOnly = True
|
|
Dim ModCnt As Int16 = 0
|
|
Dim ErrorCheck As Boolean = False
|
|
|
|
StartTime = MeasureTimeAll(MeasStart)
|
|
|
|
TestData.Test_Serial = txbBarcode.Text
|
|
|
|
If StartSwitch = True Then
|
|
If JigSerial.IsOpen = True Then
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
If TDDataSearch() Then
|
|
GoTo ProcessEnd
|
|
End If
|
|
txbWindow.AppendText("4. " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("전원 ON")
|
|
|
|
If JigRun_On() Then
|
|
MsgBox("제품과의 연결이 올바르지 않습니다. 연결 상태를 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ProcessEnd
|
|
End If
|
|
txbWindow.AppendText("3. " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
|
|
If FirmVerCheck() Then
|
|
MsgBox("최신 펌웨어로 동작하고 있지 않습니다. 펌웨어 버전을 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
txbWindow.AppendText("1. firm : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
|
|
MainTextChange("HIFU 측정중")
|
|
'delay_run(StepDelay)
|
|
|
|
If HFTestRun() Then
|
|
|
|
If TestError = False Then
|
|
ErrorRunning()
|
|
GoTo ProcessEnd
|
|
End If
|
|
ErrorRunning()
|
|
ErrorCheck = True
|
|
Else
|
|
SuccessRunning()
|
|
End If
|
|
|
|
txbWindow.AppendText("F. HF : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
|
|
delay_run(StepDelay)
|
|
|
|
If RFTestRun() Then
|
|
If TestError = False Then
|
|
ErrorRunning()
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
ErrorRunning()
|
|
ErrorCheck = True
|
|
Else
|
|
SuccessRunning()
|
|
End If
|
|
|
|
txbWindow.AppendText("F. RF : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
|
|
MainTextChange("미세전류 측정중")
|
|
'delay_run(StepDelay)
|
|
|
|
If MCTestRunSp() Then
|
|
If TestError = False Then
|
|
ErrorRunning()
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
ErrorRunning()
|
|
ErrorCheck = True
|
|
Else
|
|
SuccessRunning()
|
|
End If
|
|
|
|
txbWindow.AppendText("F. MC : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
|
|
If EPTestRun() Then
|
|
If TestError = False Then
|
|
ErrorRunning()
|
|
GoTo ProcessEnd
|
|
End If
|
|
|
|
ErrorRunning()
|
|
ErrorCheck = True
|
|
Else
|
|
SuccessRunning()
|
|
End If
|
|
|
|
txbWindow.AppendText("F. EP : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
'MainTextChange("LED 측정중..")
|
|
'delay_run(StepDelay)
|
|
|
|
'If LEDTestRun3() Then
|
|
' ErrorRunning()
|
|
' ErrorCheck = True
|
|
'Else
|
|
' SuccessRunning()
|
|
'End If
|
|
|
|
'MeasureTimeFunc(MeasStart)
|
|
|
|
If BatteryTest() Then
|
|
ErrorRunning()
|
|
GoTo ProcessEnd
|
|
Else
|
|
SuccessRunning()
|
|
End If
|
|
|
|
txbWindow.AppendText("F. BT : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
|
|
If TempTest() Then
|
|
ErrorRunning()
|
|
GoTo ProcessEnd
|
|
Else
|
|
SuccessRunning()
|
|
End If
|
|
|
|
txbWindow.AppendText("F. TM : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
|
|
If DataWrite(formProdCode(formTypeList.full)) Then
|
|
ErrorRunning()
|
|
ErrorCheck = True
|
|
Else
|
|
SuccessRunning()
|
|
End If
|
|
|
|
txbWindow.AppendText("F. DW : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
|
|
MainTextChange("DB입력중..")
|
|
|
|
If DBSave() Then
|
|
ErrorRunning()
|
|
ErrorCheck = True
|
|
Else
|
|
SuccessRunning()
|
|
End If
|
|
|
|
MainTextChange("측정 완료")
|
|
|
|
txbWindow.AppendText("F. DB : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
|
|
If ErrorCheck = True Then
|
|
FailMain()
|
|
ErrorCheck = False
|
|
Else
|
|
txbDayCount.Text += 1
|
|
txbOkCount.Text += 1
|
|
SuccessMain()
|
|
ErrorCheck = True
|
|
End If
|
|
|
|
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play Success" & vbCrLf)
|
|
|
|
Jig_End()
|
|
|
|
Dim NowDate As String = Format(Now, "yyyy") & "-" & Format(Now, "MM") & "-" & Format(Now, "dd")
|
|
Dim NowTime As String = Format(Now, "HH") & ":" & Format(Now, "mm") & ":" & Format(Now, "ss")
|
|
|
|
txbBarcode.ReadOnly = False
|
|
txbBarcode.Select(txbBarcode.Text.Length, 0)
|
|
|
|
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play Success" & vbCrLf)
|
|
|
|
TestStep = TestList.Wait
|
|
Exit Sub
|
|
|
|
Else
|
|
MsgBox("지그를 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo NormalEnd
|
|
Exit Sub
|
|
End If
|
|
Else
|
|
MsgBox("스코프와 스펙트럼을 연결한 후 동작하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
GoTo NormalEnd
|
|
Exit Sub
|
|
End If
|
|
|
|
NormalEnd:
|
|
FailMain()
|
|
If rdbRFMCEP.Checked = True Then
|
|
myscope.IO.Clear()
|
|
End If
|
|
|
|
Exit Sub
|
|
|
|
ProcessEnd:
|
|
FailMain()
|
|
Jig_End()
|
|
myscope.IO.Clear()
|
|
End Sub
|
|
|
|
Private Function CountChanage() As Boolean
|
|
TestStep = TestList.COUNT
|
|
If formType <> formTypeList.Company Then
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
If todayCountSet() Then
|
|
txbWindow.AppendText("Today Count Setting Error ! " & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
Return False
|
|
End If
|
|
|
|
Select Case formType
|
|
Case formTypeList.prod_HF, formTypeList.EF_PD, formTypeList.DS_IQC, formTypeList.DS_PD
|
|
HIFUReCount()
|
|
Case formTypeList.prod_RF, formTypeList.altoPD
|
|
RFReCount()
|
|
Case formTypeList.iqc, formTypeList.altoIQC
|
|
IQCReCount()
|
|
End Select
|
|
|
|
If CountUpdate() Then
|
|
txbWindow.AppendText("Today Count Update Error ! " & vbCrLf)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
Return True
|
|
End Function
|
|
|
|
Private Sub HIFUReCount()
|
|
If dupDATA = 0 Then
|
|
txbDayCount.Text = Val(txbDayCount.Text) + 1
|
|
If processNum = TestStepList.HF_NewSuc Or processNum = TestStepList.HF_ReSuc Then
|
|
txbOkCount.Text = Val(txbOkCount.Text) + 1
|
|
Else
|
|
txbNgCount.Text = Val(txbNgCount.Text) + 1
|
|
End If
|
|
Else
|
|
If TDDataSet(TD_Data.TestStep) = TestStepList.HF_NewFail Or TDDataSet(TD_Data.TestStep) = TestStepList.HF_ReFail Then
|
|
If processNum = TestStepList.HF_NewSuc Or processNum = TestStepList.HF_ReSuc Then
|
|
txbOkCount.Text = Val(txbOkCount.Text) + 1
|
|
txbNgCount.Text = Val(txbNgCount.Text) - 1
|
|
End If
|
|
Else
|
|
If processNum = TestStepList.HF_NewFail Or processNum = TestStepList.HF_ReFail Then
|
|
txbOkCount.Text = Val(txbOkCount.Text) - 1
|
|
txbNgCount.Text = Val(txbNgCount.Text) + 1
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub IQCReCount()
|
|
txbDayCount.Text = Val(txbDayCount.Text) + 1
|
|
txbOkCount.Text = Val(txbOkCount.Text) + 1
|
|
End Sub
|
|
|
|
Private Sub RFReCount()
|
|
If dupDATA = 0 Then
|
|
txbDayCount.Text = Val(txbDayCount.Text) + 1
|
|
If processNum = TestStepList.RF_NewSuc Or processNum = TestStepList.RF_ReSuc Then
|
|
txbOkCount.Text = Val(txbOkCount.Text) + 1
|
|
Else
|
|
txbNgCount.Text = Val(txbNgCount.Text) + 1
|
|
End If
|
|
Else
|
|
If TDDataSet(TD_Data.TestStep) = TestStepList.RF_NewFail Or TDDataSet(TD_Data.TestStep) = TestStepList.RF_ReFail Then
|
|
If processNum = TestStepList.RF_NewSuc Or processNum = TestStepList.RF_ReSuc Then
|
|
txbOkCount.Text = Val(txbOkCount.Text) + 1
|
|
txbNgCount.Text = Val(txbNgCount.Text) - 1
|
|
End If
|
|
Else
|
|
If processNum = TestStepList.RF_NewFail Or processNum = TestStepList.RF_ReFail Then
|
|
txbOkCount.Text = Val(txbOkCount.Text) - 1
|
|
txbNgCount.Text = Val(txbNgCount.Text) + 1
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Function CountUpdate() As Boolean
|
|
If rdbAltoPD.Checked = True Then
|
|
DBCmd = "UPDATE " & pd1CntTableNow & " SET PD1_AltoCnt = '" & txbDayCount.Text & "', PD1_AltoOkCnt = '" & txbOkCount.Text & "', PD1_AltoNgCnt = '" & txbNgCount.Text & "' WHERE PD1_Date = '" & NowDate & "'"
|
|
ElseIf rdbHF.Checked = True Or rdbEFPD.Checked = True Then
|
|
DBCmd = "UPDATE " & pd1CntTableNow & " SET PD1_MaxHFTotalCnt = '" & txbDayCount.Text & "', PD1_MaxHFOkCnt = '" & txbOkCount.Text & "', PD1_MaxHFNgCnt = '" & txbNgCount.Text & "' WHERE PD1_Date = '" & NowDate & "'"
|
|
ElseIf rdbRFMCEP.Checked = True Then
|
|
DBCmd = "UPDATE " & pd1CntTableNow & " SET PD1_MaxRFTotalCnt = '" & txbDayCount.Text & "', PD1_MaxRFOkCnt = '" & txbOkCount.Text & "', PD1_MaxRFNgCnt = '" & txbNgCount.Text & "' WHERE PD1_Date = '" & NowDate & "'"
|
|
ElseIf rdbIQC.Checked = True Then
|
|
DBCmd = "UPDATE " & iqcCntTableNow & " SET IQC_MAXTotalCnt = '" & txbDayCount.Text & "', IQC_MAXOkCnt = '" & txbOkCount.Text & "', IQC_MAXNgCnt = '" & txbNgCount.Text & "' WHERE IQC_Date = '" & NowDate & "'"
|
|
ElseIf rdbAltoIqc.Checked = True Then
|
|
DBCmd = "UPDATE " & iqcCntTableNow & " SET IQC_ALTOTotalCnt = '" & txbDayCount.Text & "', IQC_ALTOOkCnt = '" & txbOkCount.Text & "', IQC_ALTONgCnt = '" & txbNgCount.Text & "' WHERE IQC_Date = '" & NowDate & "'"
|
|
End If
|
|
|
|
If DBCommand(DBCmd) Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Function TDDataSearch() As Boolean
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
If TDExist() Then
|
|
|
|
TDCompare()
|
|
|
|
If TDTestNG() Then
|
|
MsgBox("해당 시리얼 번호는 데이터가 존재하지 않습니다. TD 수입검사 진행 여부를 확인하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End If
|
|
|
|
If TDDataSet(TD_Data.TestStep) = 1 Then
|
|
MsgBox("전류측정을 진행하지 않은 TD 시리얼 번호입니다. 전류측정을 진행하여 주십시오.", vbCritical, Program_Name & Program_Version)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End If
|
|
|
|
txbTDSN.Text = TestData.Test_Serial
|
|
txbTDSN.Refresh()
|
|
txbDate.Text = TDDataSet(TD_Data.TestDate)
|
|
txbDate.Refresh()
|
|
txbFreq.Text = TDDataSet(TD_Data.Freq)
|
|
txbFreq.Refresh()
|
|
txbGrade.Text = TDDataSet(TD_Data.Grade)
|
|
txbGrade.Refresh()
|
|
|
|
txbWindow.AppendText("TD Data Time(s) : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
Return False
|
|
|
|
Else
|
|
MsgBox("TD 데이터가 존재하지 않습니다. 성적서를 등록하여 주십시오.", vbExclamation, Program_Name & Program_Version)
|
|
MeasureTimeFunc(MeasEnd)
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Sub ImageLocation(ColorCode As Int16, NowNum As Int16, ReCnt As Integer)
|
|
XMoveCrd = 0
|
|
YMoveCrd = 0
|
|
|
|
Select Case NowNum
|
|
Case 0
|
|
XMoveCrd = LedCoordinate(ColorCode, 0)
|
|
YMoveCrd = LedCoordinate(ColorCode, 1)
|
|
|
|
Case 1
|
|
XMoveCrd = LedCoordinate(ColorCode, 0) + ReCnt
|
|
YMoveCrd = LedCoordinate(ColorCode, 1)
|
|
Case 2
|
|
XMoveCrd = LedCoordinate(ColorCode, 0)
|
|
YMoveCrd = LedCoordinate(ColorCode, 1) + ReCnt
|
|
Case 3
|
|
XMoveCrd = LedCoordinate(ColorCode, 0) - ReCnt
|
|
YMoveCrd = LedCoordinate(ColorCode, 1)
|
|
Case 4
|
|
XMoveCrd = LedCoordinate(ColorCode, 0)
|
|
YMoveCrd = LedCoordinate(ColorCode, 1) - ReCnt
|
|
|
|
Case 5
|
|
XMoveCrd = LedCoordinate(ColorCode, 0) + ReCnt
|
|
YMoveCrd = LedCoordinate(ColorCode, 1) - ReCnt
|
|
|
|
Case 6
|
|
XMoveCrd = LedCoordinate(ColorCode, 0) + ReCnt
|
|
YMoveCrd = LedCoordinate(ColorCode, 1) + ReCnt
|
|
|
|
Case 7
|
|
XMoveCrd = LedCoordinate(ColorCode, 0) - ReCnt
|
|
YMoveCrd = LedCoordinate(ColorCode, 1) + ReCnt
|
|
|
|
Case 8
|
|
XMoveCrd = LedCoordinate(ColorCode, 0) - ReCnt
|
|
YMoveCrd = LedCoordinate(ColorCode, 1) - ReCnt
|
|
End Select
|
|
|
|
If XMoveCrd < 0 Then
|
|
XMoveCrd = 0
|
|
End If
|
|
|
|
If YMoveCrd < 0 Then
|
|
YMoveCrd = 0
|
|
End If
|
|
|
|
If XMoveCrd > 640 Then
|
|
XMoveCrd = 640
|
|
End If
|
|
|
|
If YMoveCrd > 480 Then
|
|
YMoveCrd = 480
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub SuccessRunning()
|
|
textRunning(TestStep).Text = "O K"
|
|
textRunning(TestStep).BackColor = Color.Green
|
|
End Sub
|
|
|
|
Private Sub ErrorRunning()
|
|
textRunning(TestStep).Text = "F A I L"
|
|
textRunning(TestStep).BackColor = Color.Red
|
|
End Sub
|
|
|
|
Private Sub TestRunningState(stateType As Int16, bColor As Color)
|
|
Dim ChangeTxb As New TextBox
|
|
Dim runSwitch As Boolean = True
|
|
|
|
Select Case TestStep
|
|
Case TestList.Firmware
|
|
|
|
If formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
ChangeTxb = txbDSFirm
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.Battey
|
|
|
|
If formType = formTypeList.prod_HF Or formType = formTypeList.EF_PD Then
|
|
ChangeTxb = txbBat
|
|
|
|
ElseIf formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
ChangeTxb = txbDSBat
|
|
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.Temp
|
|
|
|
If formType = formTypeList.prod_HF Or formType = formTypeList.EF_PD Then
|
|
ChangeTxb = txbTemp
|
|
ElseIf formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
ChangeTxb = txbDSTemp
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.HIFU
|
|
|
|
If formType = formTypeList.prod_HF Or formType = formTypeList.EF_PD Then
|
|
ChangeTxb = txbHFresult
|
|
ElseIf formType = formTypeList.iqc Then
|
|
ChangeTxb = txbIQCHF
|
|
ElseIf formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
ChangeTxb = txbDSHifu
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.RF
|
|
|
|
If formType = formTypeList.prod_RF Then
|
|
ChangeTxb = txbRFresult
|
|
|
|
ElseIf formType = formTypeList.altoPD Or formType = formTypeList.altoIQC Or formType = formTypeList.Company Then
|
|
ChangeTxb = txbAlIQCRF
|
|
|
|
ElseIf formType = formTypeList.iqc Then
|
|
ChangeTxb = txbIQCRF
|
|
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.MC
|
|
|
|
If formType = formTypeList.prod_RF Then
|
|
ChangeTxb = txbMCresult
|
|
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.EP
|
|
If formType = formTypeList.prod_RF Then
|
|
ChangeTxb = txbEPresult
|
|
|
|
ElseIf formType = formTypeList.altoPD Or formType = formTypeList.altoIQC Or formType = formTypeList.Company Then
|
|
ChangeTxb = txbAlIQCEP
|
|
|
|
ElseIf formType = formTypeList.iqc Then
|
|
ChangeTxb = txbIQCEP
|
|
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.DataWrite
|
|
If formType = formTypeList.prod_HF Or formType = formTypeList.EF_PD Then
|
|
ChangeTxb = txbTDreg
|
|
|
|
ElseIf formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
ChangeTxb = txbDSWrite
|
|
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.DBWrite
|
|
If formType = formTypeList.prod_HF Or formType = formTypeList.EF_PD Then
|
|
ChangeTxb = txbDBreg
|
|
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.COUNT
|
|
If formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
ChangeTxb = txbDSWrite_2
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
|
|
Case TestList.CSV
|
|
If formType = formTypeList.DS_IQC Or formType = formTypeList.DS_PD Then
|
|
ChangeTxb = txbDSWrite_3
|
|
Else
|
|
runSwitch = False
|
|
End If
|
|
Case Else
|
|
runSwitch = False
|
|
End Select
|
|
|
|
If runSwitch = True Then
|
|
ChangeTxb.Text = testState(stateType)
|
|
ChangeTxb.BackColor = bColor
|
|
ChangeTxb.Refresh()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub FailMain()
|
|
txbBarcode.Text = " 불 합 격"
|
|
txbBarcode.BackColor = Color.Red
|
|
txbBarcode.Refresh()
|
|
End Sub
|
|
|
|
Private Sub SuccessMain()
|
|
txbBarcode.Text = " 합 격"
|
|
txbBarcode.BackColor = Color.Green
|
|
txbBarcode.Refresh()
|
|
End Sub
|
|
|
|
Private Sub MainTextChange(ChangeText As String)
|
|
txbBarcode.Text = ChangeText
|
|
txbBarcode.BackColor = Color.GreenYellow
|
|
txbBarcode.Refresh()
|
|
End Sub
|
|
|
|
Private Sub delay_run(ByVal millisecond As Double)
|
|
Dim delayTime As Date = Now.AddSeconds(millisecond / 1000)
|
|
Do Until Now > delayTime
|
|
Application.DoEvents()
|
|
Loop
|
|
End Sub
|
|
|
|
Private Function dbAltoSave() As Boolean
|
|
If formType = formTypeList.altoPD Then
|
|
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("DB입력중..")
|
|
TestStep = TestList.DBWrite
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
If dupDATA = 2 Then
|
|
DBCmd = "UPDATE " & rfTableNow & " SET TestDate='" & NowDate & "',TestTime='" & NowTime & "',RF_R1Vrms='" & TestData.Test_RFVRMS(0) & "',RF_R1Freq='" & TestData.Test_RFFreq(0) & "',RF_R2Vrms='" & TestData.Test_RFVRMS(1) & "',RF_R2Freq='" & TestData.Test_RFFreq(1) & "',RF_R3Vrms='" & TestData.Test_RFVRMS(2) & "',RF_R3Freq='" & TestData.Test_RFFreq(2) & "',EP_R1Vpp='" & TestData.Test_EPVpp(0) & "',EP_R1Freq='" & TestData.Test_EPFreq(0) & "',EP_R1PWidth='" & TestData.Test_EPPWidth(0) & "',EP_R1NWidth='" & TestData.Test_EPNWidth(0) & "',EP_R2Vpp='" & TestData.Test_EPVpp(1) & "',EP_R2Freq='" & TestData.Test_EPFreq(1) & "',EP_R2PWidth='" & TestData.Test_EPPWidth(1) & "',EP_R2NWidth='" & TestData.Test_EPNWidth(1) & "',EP_R3Vpp='" & TestData.Test_EPVpp(2) & "',EP_R3Freq='" & TestData.Test_EPFreq(2) & "',EP_R3PWidth='" & TestData.Test_EPPWidth(2) & "',EP_R3NWidth='" & TestData.Test_EPNWidth(2) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
If TestError = False Then
|
|
processNum = TestStepList.RF_ReFail
|
|
Else
|
|
processNum = TestStepList.Rf_ReSuc
|
|
End If
|
|
|
|
Else
|
|
DBCmd = "INSERT INTO " & rfTableNow & "(PV_SN,TestDate,TestTime,RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth) VALUE ('" & TestData.Test_Serial & "','" & NowDate & "','" & NowTime & "','" & TestData.Test_RFVRMS(0) & "','" & TestData.Test_RFFreq(0) & "','" & TestData.Test_RFVRMS(1) & "','" & TestData.Test_RFFreq(1) & "','" & TestData.Test_RFVRMS(2) & "','" & TestData.Test_RFFreq(2) & "','" & TestData.Test_EPVpp(0) & "','" & TestData.Test_EPFreq(0) & "','" & TestData.Test_EPPWidth(0) & "','" & TestData.Test_EPNWidth(0) & "','" & TestData.Test_EPVpp(1) & "','" & TestData.Test_EPFreq(1) & "','" & TestData.Test_EPPWidth(1) & "','" & TestData.Test_EPNWidth(1) & "','" & TestData.Test_EPVpp(2) & "','" & TestData.Test_EPFreq(2) & "','" & TestData.Test_EPPWidth(2) & "','" & TestData.Test_EPNWidth(2) & "')"
|
|
|
|
|
|
If TestError = False Then
|
|
processNum = TestStepList.Rf_NewFail
|
|
Else
|
|
processNum = TestStepList.RF_NewSuc
|
|
End If
|
|
|
|
End If
|
|
|
|
txbWindow.AppendText("DataBase Save FAIL" & DBCmd & "//" & processNum & vbCrLf)
|
|
If DBCommand(DBCmd) = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
If TDDataSet(TD_Data.TestStep) = "11" Then
|
|
DBCmd = "INSERT INTO " & NonTDTableNow & "(TestStep,PV_SN,P1_DateTime,Fw_Ver,DivTemp,CtTemp,BatteryLv) VALUES('" & processNum & "','" & TestData.Test_Serial & "','" & NowDate & " " & NowTime & "','" & TestData.Test_Firmware & "','" & TestData.Test_Temperature(TempData.DivTemp) & "','" & TestData.Test_Temperature(TempData.CartTemp) & "','" & TestData.Test_Battery & "')"
|
|
|
|
|
|
txbWindow.AppendText("DataBase Save FAIL" & DBCmd & vbCrLf)
|
|
If DBCommand(DBCmd) = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
Else
|
|
|
|
Dim sucSwitch As Boolean = False
|
|
|
|
For i = 1 To nudSaveCk.Value
|
|
sucSwitch = False
|
|
DBCmd = "UPDATE " & NonTDTableNow & " SET TestStep = '" & processNum & "', P1_DateTime = '" & NowDate & " " & NowTime & "', Fw_Ver = '" & TestData.Test_Firmware & "', DivTemp = '" & TestData.Test_Temperature(TempData.DivTemp) & "', CtTemp = '" & TestData.Test_Temperature(TempData.CartTemp) & "', BatteryLv = '" & TestData.Test_Battery & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
|
|
txbWindow.AppendText("DataBase Save FAIL" & DBCmd & vbCrLf)
|
|
If DBCommand(DBCmd) = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
DBCmd = "SELECT TestStep FROM " & NonTDTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
Dim tdState As Int16 = DBQueryScalar(DBCmd)
|
|
|
|
txbWindow.AppendText("DataBase Save FAIL" & DBCmd & "//" & tdState & "//" & processNum & vbCrLf)
|
|
If tdState = processNum Then
|
|
sucSwitch = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If sucSwitch = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
End If
|
|
|
|
txbWindow.AppendText("DataBase Save Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
End If
|
|
|
|
Return True
|
|
|
|
dbFail:
|
|
txbWindow.AppendText("DataBase Save FAIL" & vbCrLf)
|
|
MeasureTimeFunc(MeasEnd)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
Return False
|
|
|
|
End Function
|
|
|
|
Private Function dbRFSave() As Boolean
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("DB입력중..")
|
|
TestStep = TestList.DBWrite
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
Dim sucSwitch As Boolean = False
|
|
|
|
If dupDATA = 2 Or dupDATA = 3 Then
|
|
DBCmd = "UPDATE " & rfTableNow & " SET TestDate='" & NowDate & "',TestTime='" & NowTime & "',RF_R1Vrms='" & TestData.Test_RFVRMS(0) & "',RF_R1Freq='" & TestData.Test_RFFreq(0) & "',RF_R2Vrms='" & TestData.Test_RFVRMS(1) & "',RF_R2Freq='" & TestData.Test_RFFreq(1) & "',RF_R3Vrms='" & TestData.Test_RFVRMS(2) & "',RF_R3Freq='" & TestData.Test_RFFreq(2) & "',MC_R1Wave='" & TestData.Test_MCWidth(0) & "',MC_R1Vpp='" & TestData.Test_MCVpp(0) & "',MC_R1Freq='" & TestData.Test_MCFreq(0) & "',MC_R2Wave='" & TestData.Test_MCWidth(1) & "',MC_R2Vpp='" & TestData.Test_MCVpp(0) & "',MC_R2Freq='" & TestData.Test_MCFreq(0) & "',EP_R1Vpp='" & TestData.Test_EPVpp(0) & "',EP_R1Freq='" & TestData.Test_EPFreq(0) & "',EP_R1PWidth='" & TestData.Test_EPPWidth(0) & "',EP_R1NWidth='" & TestData.Test_EPNWidth(0) & "',EP_R2Vpp='" & TestData.Test_EPVpp(1) & "',EP_R2Freq='" & TestData.Test_EPFreq(1) & "',EP_R2PWidth='" & TestData.Test_EPPWidth(1) & "',EP_R2NWidth='" & TestData.Test_EPNWidth(1) & "',EP_R3Vpp='" & TestData.Test_EPVpp(2) & "',EP_R3Freq='" & TestData.Test_EPFreq(2) & "',EP_R3PWidth='" & TestData.Test_EPPWidth(2) & "',EP_R3NWidth='" & TestData.Test_EPNWidth(2) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
If TestError = False Then
|
|
processNum = TestStepList.RF_ReFail
|
|
Else
|
|
processNum = TestStepList.RF_ReSuc
|
|
End If
|
|
|
|
Else
|
|
DBCmd = "INSERT INTO " & rfTableNow & "(PV_SN,TestDate,TestTime,RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,MC_R1Wave,MC_R1Vpp,MC_R1Freq,MC_R2Wave,MC_R2Vpp,MC_R2Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth) VALUE ('" & TestData.Test_Serial & "','" & NowDate & "','" & NowTime & "','" & TestData.Test_RFVRMS(0) & "','" & TestData.Test_RFFreq(0) & "','" & TestData.Test_RFVRMS(1) & "','" & TestData.Test_RFFreq(1) & "','" & TestData.Test_RFVRMS(2) & "','" & TestData.Test_RFFreq(2) & "','" & TestData.Test_MCWidth(0) & "','" & TestData.Test_MCVpp(0) & "','" & TestData.Test_MCFreq(0) & "','" & TestData.Test_MCWidth(1) & "','" & TestData.Test_MCVpp(1) & "','" & TestData.Test_MCFreq(1) & "','" & TestData.Test_EPVpp(0) & "','" & TestData.Test_EPFreq(0) & "','" & TestData.Test_EPPWidth(0) & "','" & TestData.Test_EPNWidth(0) & "','" & TestData.Test_EPVpp(1) & "','" & TestData.Test_EPFreq(1) & "','" & TestData.Test_EPPWidth(1) & "','" & TestData.Test_EPNWidth(1) & "','" & TestData.Test_EPVpp(2) & "','" & TestData.Test_EPFreq(2) & "','" & TestData.Test_EPPWidth(2) & "','" & TestData.Test_EPNWidth(2) & "')"
|
|
|
|
If TestError = False Then
|
|
processNum = TestStepList.RF_NewFail
|
|
Else
|
|
processNum = TestStepList.RF_NewSuc
|
|
End If
|
|
End If
|
|
|
|
If DBCommand(DBCmd) = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
For i = 1 To nudSaveCk.Value
|
|
sucSwitch = False
|
|
DBCmd = "UPDATE " & TDTableNow & " SET TestStep='" & processNum & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
If DBCommand(DBCmd) = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
DBCmd = "SELECT TestStep FROM " & TDTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
Dim tdState As Int16 = DBQueryScalar(DBCmd)
|
|
|
|
If tdState = processNum Then
|
|
sucSwitch = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If sucSwitch = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
txbWindow.AppendText("DataBase Save Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
Return True
|
|
|
|
dbFail:
|
|
txbWindow.AppendText("DataBase Save FAIL" & vbCrLf)
|
|
MeasureTimeFunc(MeasEnd)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
Return False
|
|
|
|
End Function
|
|
|
|
Private Function dbHFSave() As Boolean
|
|
MeasureTimeFunc(MeasStart)
|
|
MainTextChange("DB입력중..")
|
|
TestStep = TestList.DBWrite
|
|
TestRunningState(testRunningList.Running, Color.Yellow)
|
|
|
|
processNum = 0
|
|
|
|
'If dupDATA = 1 Or dupDATA = 3 Then
|
|
' DBCmd = "UPDATE " & hfTableNow & " SET TestDate = '" & NowDate & "', TestTime = '" & NowTime & "', FW_Ver = '" & TestData.Test_Firmware & "', BatteryLv = '" & TestData.Test_Battery & "', DivTemp = '" & TestData.Test_Temperature(TempData.DivTemp) & "', CtTemp = '" & TestData.Test_Temperature(TempData.CartTemp) & "', HF_R1Value = '" & TestData.Test_HFData(HifuTest_Step.Step1) & "', HF_R2Value = '" & TestData.Test_HFData(HifuTest_Step.Step2) & "', HF_R3Value = '" & TestData.Test_HFData(HifuTest_Step.step3) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
' If TestError = False Then
|
|
' processNum = TestStepList.HF_ReFail
|
|
' Else
|
|
' processNum = TestStepList.HF_ReSuc
|
|
' End If
|
|
'Else
|
|
' DBCmd = "INSERT INTO " & hfTableNow & "(PV_SN,TestDate,TestTime,FW_Ver,BatteryLv,DivTemp,CtTemp,HF_R1Value,HF_R2Value,HF_R3Value) VALUE('" & TestData.Test_Serial & "','" & NowDate & "','" & NowTime & "','" & TestData.Test_Firmware & "','" & TestData.Test_Battery & "','" & TestData.Test_Temperature(TempData.DivTemp) & "','" & TestData.Test_Temperature(TempData.CartTemp) & "','" & TestData.Test_HFData(HifuTest_Step.Step1) & "','" & TestData.Test_HFData(HifuTest_Step.Step2) & "','" & TestData.Test_HFData(HifuTest_Step.step3) & "')"
|
|
|
|
' If TestError = False Then
|
|
' processNum = TestStepList.HF_NEWFail
|
|
' Else
|
|
' processNum = TestStepList.HF_NewSuc
|
|
' End If
|
|
'End If
|
|
|
|
Dim checkQuery As String = "SELECT COUNT(*) FROM " & hfTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
Dim exists As Integer = DBQueryScalar(checkQuery)
|
|
|
|
|
|
If exists > 0 Then
|
|
DBCmd = "UPDATE " & hfTableNow & " SET TestDate = '" & NowDate & "', TestTime = '" & NowTime & "', FW_Ver = '" & TestData.Test_Firmware & "', BatteryLv = '" & TestData.Test_Battery & "', DivTemp = '" & TestData.Test_Temperature(TempData.DivTemp) & "', CtTemp = '" & TestData.Test_Temperature(TempData.CartTemp) & "', HF_R1Value = '" & TestData.Test_HFData(HifuTest_Step.Step1) & "', HF_R2Value = '" & TestData.Test_HFData(HifuTest_Step.Step2) & "', HF_R3Value = '" & TestData.Test_HFData(HifuTest_Step.step3) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
If TestError = False Then
|
|
processNum = TestStepList.HF_ReFail
|
|
Else
|
|
processNum = TestStepList.HF_ReSuc
|
|
End If
|
|
Else
|
|
DBCmd = "INSERT INTO " & hfTableNow & "(PV_SN,TestDate,TestTime,FW_Ver,BatteryLv,DivTemp,CtTemp,HF_R1Value,HF_R2Value,HF_R3Value) VALUE('" & TestData.Test_Serial & "','" & NowDate & "','" & NowTime & "','" & TestData.Test_Firmware & "','" & TestData.Test_Battery & "','" & TestData.Test_Temperature(TempData.DivTemp) & "','" & TestData.Test_Temperature(TempData.CartTemp) & "','" & TestData.Test_HFData(HifuTest_Step.Step1) & "','" & TestData.Test_HFData(HifuTest_Step.Step2) & "','" & TestData.Test_HFData(HifuTest_Step.step3) & "')"
|
|
|
|
If TestError = False Then
|
|
processNum = TestStepList.HF_NewFail
|
|
Else
|
|
processNum = TestStepList.HF_NewSuc
|
|
End If
|
|
End If
|
|
|
|
If DBCommand(DBCmd) = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
If formType <> formTypeList.DS_PD And formType <> formTypeList.DS_IQC And formType <> formTypeList.iqc And formType <> formTypeList.altoIQC And formType <> formTypeList.altoPD Then
|
|
|
|
Dim sucSwitch As Boolean = False
|
|
|
|
For i = 1 To nudSaveCk.Value
|
|
sucSwitch = False
|
|
If rdbEFPD.Checked = True Then
|
|
DBCmd = "UPDATE " & TDTableNow & " SET TestStep='" & processNum & "', Ct_Model='EFFECT', Ct_Type='SET',Ct_Frequency='" & TDDataSet(TD_Data.Freq) & "',P1_Date='" & NowDate & "',P1_Time='" & NowTime & "',P1_Model='EFFECT',P1_CartType='SET',P1_Frequency='" & TDDataSet(TD_Data.Freq) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
Else
|
|
DBCmd = "UPDATE " & TDTableNow & " SET TestStep='" & processNum & "', Ct_Model='MAXIMUM', Ct_Type='SET',Ct_Frequency='" & TDDataSet(TD_Data.Freq) & "',P1_Date='" & NowDate & "',P1_Time='" & NowTime & "',P1_Model='MAXIMUM',P1_CartType='SET',P1_Frequency='" & TDDataSet(TD_Data.Freq) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
End If
|
|
If DBCommand(DBCmd) = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
DBCmd = "SELECT TestStep FROM " & TDTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
Dim tdState As String = DBQueryScalar(DBCmd)
|
|
|
|
If tdState = processNum Then
|
|
sucSwitch = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If sucSwitch = False Then
|
|
GoTo dbFail
|
|
End If
|
|
|
|
End If
|
|
|
|
txbWindow.AppendText("DataBase Save Full Time : " & MeasureTimeFunc(MeasEnd) & vbCrLf)
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
Return True
|
|
|
|
dbFail:
|
|
txbWindow.AppendText("DataBase Save FAIL" & vbCrLf)
|
|
MeasureTimeFunc(MeasEnd)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
TestError = False
|
|
Return False
|
|
|
|
End Function
|
|
|
|
Private Function DBSave() As Boolean
|
|
MeasureTime(MeasStart)
|
|
|
|
Dim NowDate As String = Format(Now, "yyyy") & "-" & Format(Now, "MM") & "-" & Format(Now, "dd")
|
|
Dim NowTime As String = Format(Now, "HH") & ":" & Format(Now, "mm") & ":" & Format(Now, "ss")
|
|
|
|
If dupDATA = 1 Or dupDATA = 3 Then
|
|
DBCmd = "UPDATE " & hfTableNow & " SET TestDate = '" & NowDate & "', TestTime = '" & NowTime & "', FW_Ver = '" & TestData.Test_Firmware & "', BatteryLv = '" & TestData.Test_Battery & "', DivTemp = '" & TestData.Test_Temperature(TempData.DivTemp) & "', CtTemp = '" & TestData.Test_Temperature(TempData.CartTemp) & "', HF_R1Value = '" & TestData.Test_HFData(HifuTest_Step.Step1) & "', HF_R2Value = '" & TestData.Test_HFData(HifuTest_Step.Step2) & "', HF_R3Value = '" & TestData.Test_HFData(HifuTest_Step.step3) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
Else
|
|
DBCmd = "INSERT INTO " & hfTableNow & "(PV_SN,TestDate,TestTime,FW_Ver,BatteryLv,DivTemp,CtTemp,HF_R1Value,HF_R2Value,HF_R3Value) VALUE('" & TestData.Test_Serial & "','" & NowDate & "','" & NowTime & "','" & TestData.Test_Firmware & "','" & TestData.Test_Battery & "','" & TestData.Test_Temperature(TempData.DivTemp) & "','" & TestData.Test_Temperature(TempData.CartTemp) & "','" & TestData.Test_HFData(HifuTest_Step.Step1) & "','" & TestData.Test_HFData(HifuTest_Step.Step2) & "','" & TestData.Test_HFData(HifuTest_Step.step3) & "')"
|
|
End If
|
|
|
|
If dupDATA = 2 Or dupDATA = 3 Then
|
|
DBCmd = "UPDATE " & rfTableNow & " SET TestDate='" & NowDate & "',TestTime='" & NowTime & "',RF_R1Vrms='" & TestData.Test_RFVRMS(0) & "',RF_R1Freq='" & TestData.Test_RFFreq(0) & "',RF_R2Vrms='" & TestData.Test_RFVRMS(1) & "',RF_R2Freq='" & TestData.Test_RFFreq(1) & "',RF_R3Vrms='" & TestData.Test_RFVRMS(2) & "',RF_R3Freq='" & TestData.Test_RFFreq(2) & "',MC_R1Wave='" & TestData.Test_MCWidth(0) & "',MC_R1Vpp='" & TestData.Test_MCVpp(0) & "',MC_R1Freq='" & TestData.Test_MCFreq(0) & "',MC_R2Wave='" & TestData.Test_MCWidth(1) & "',MC_R2Vpp='" & TestData.Test_MCVpp(0) & "',MC_R2Freq='" & TestData.Test_MCFreq(0) & "',EP_R1Vpp='" & TestData.Test_EPVpp(0) & "',EP_R1Freq='" & TestData.Test_EPFreq(0) & "',EP_R1PWidth='" & TestData.Test_EPPWidth(0) & "',EP_R1NWidth='" & TestData.Test_EPNWidth(0) & "',EP_R2Vpp='" & TestData.Test_EPVpp(1) & "',EP_R2Freq='" & TestData.Test_EPFreq(1) & "',EP_R2PWidth='" & TestData.Test_EPPWidth(1) & "',EP_R2NWidth='" & TestData.Test_EPNWidth(1) & "',EP_R3Vpp='" & TestData.Test_EPVpp(2) & "',EP_R3Freq='" & TestData.Test_EPFreq(2) & "',EP_R3PWidth='" & TestData.Test_EPPWidth(2) & "',EP_R3NWidth='" & TestData.Test_EPNWidth(2) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
Else
|
|
DBCmd = "INSERT INTO " & rfTableNow & "(PV_SN,TestDate,TestTime,RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,MC_R1Wave,MC_R1Vpp,MC_R1Freq,MC_R2Wave,MC_R2Vpp,MC_R2Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth) VALUE ('" & TestData.Test_Serial & "','" & NowDate & "','" & NowTime & "','" & TestData.Test_RFVRMS(0) & "','" & TestData.Test_RFFreq(0) & "','" & TestData.Test_RFVRMS(1) & "','" & TestData.Test_RFFreq(1) & "','" & TestData.Test_RFVRMS(2) & "','" & TestData.Test_RFFreq(2) & "','" & TestData.Test_MCWidth(0) & "','" & TestData.Test_MCVpp(0) & "','" & TestData.Test_MCFreq(0) & "','" & TestData.Test_MCWidth(1) & "','" & TestData.Test_MCVpp(1) & "','" & TestData.Test_MCFreq(1) & "','" & TestData.Test_EPVpp(0) & "','" & TestData.Test_EPFreq(0) & "','" & TestData.Test_EPPWidth(0) & "','" & TestData.Test_EPNWidth(0) & "','" & TestData.Test_EPVpp(1) & "','" & TestData.Test_EPFreq(1) & "','" & TestData.Test_EPPWidth(1) & "','" & TestData.Test_EPNWidth(1) & "','" & TestData.Test_EPVpp(2) & "','" & TestData.Test_EPFreq(2) & "','" & TestData.Test_EPPWidth(2) & "','" & TestData.Test_EPNWidth(2) & "')"
|
|
End If
|
|
|
|
For i = 0 To nudSaveCk.Value - 1
|
|
If rdbEFPD.Checked = True Then
|
|
DBCmd = "Update " & TDTableNow & " SET TestStep = '" & SuccessCode & "', Ct_Model = 'EFFECT', Ct_Type = 'SET',Ct_Frequency = '" & TDDataSet(TD_Data.Freq) & "', P1_Date = '" & NowDate & "', P1_Time = '" & NowTime & "', P1_Model = '" & TestModel_EF & "', P1_CartType = '" & TestType & "', P1_Frequency = '" & TDDataSet(TD_Data.Freq) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
Else
|
|
DBCmd = "Update " & TDTableNow & " SET TestStep = '" & SuccessCode & "', Ct_Model = 'MAXIMUM', Ct_Type = 'SET',Ct_Frequency = '" & TDDataSet(TD_Data.Freq) & "', P1_Date = '" & NowDate & "', P1_Time = '" & NowTime & "', P1_Model = '" & TestModel & "', P1_CartType = '" & TestType & "', P1_Frequency = '" & TDDataSet(TD_Data.Freq) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
End If
|
|
|
|
If DBCommand(DBCmd) = False Then
|
|
txbWindow.AppendText("DataBase Save : FAIL" & vbCrLf)
|
|
Return True
|
|
End If
|
|
|
|
DBCmd = "SELECT TestStep FROM " & TDTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
|
|
|
|
Dim tdState As Int16 = DBQueryScalar(DBCmd)
|
|
|
|
If tdState = SuccessCode Then
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
txbWindow.AppendText("[" & MeasureTime(MeasEnd) & "ms] DataBase Save : Success" & vbCrLf)
|
|
MeasureTime(MeasStart)
|
|
|
|
Dim csvData As String = "" & NowDate & "," & NowTime & "," & TestData.Test_Serial & "," & TestData.Test_Firmware & "," & TestData.Test_Battery & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFInterval(HifuTest_Diff.Step1_2) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFInterval(HifuTest_Diff.Step2_3) & "," & TestData.Test_HFData(HifuTest_Step.step3) & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_MCWidth(0) & "," & TestData.Test_MCVpp(0) & "," & TestData.Test_MCWidth(1) & "," & TestData.Test_MCVpp(1) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & ""
|
|
|
|
If Save_Csv(NowDate & "," & NowTime & "," & csvData) Then
|
|
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
|
|
Return True
|
|
End If
|
|
|
|
txbWindow.AppendText("[" & MeasureTime(MeasEnd) & "ms] CSV Data Save : Success" & vbCrLf)
|
|
Return False
|
|
|
|
End Function
|
|
|
|
Private Sub btnEnd_Click(sender As Object, e As EventArgs) Handles btnEnd.Click
|
|
End
|
|
End Sub
|
|
|
|
Private Sub btnSetup_Click(sender As Object, e As EventArgs) Handles btnSetup.Click
|
|
pnOption.Location = New Drawing.Point(6, 1)
|
|
pnMain.Visible = False
|
|
pnOption.Visible = True
|
|
End Sub
|
|
|
|
Private Sub btnOpExit_Click(sender As Object, e As EventArgs) Handles btnOpExit.Click
|
|
pnMain.Location = New Drawing.Point(6, 1)
|
|
pnMain.Visible = True
|
|
pnOption.Visible = False
|
|
loadLocalFile()
|
|
Data_Setting()
|
|
changeMode()
|
|
|
|
txbBarcode.ReadOnly = False
|
|
txbBarcode.Focus()
|
|
End Sub
|
|
|
|
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
|
ConfigIniSave()
|
|
End Sub
|
|
|
|
Private Sub ConfigIniSave()
|
|
Dim FileName As String, TrigType As String, UnitType As String, RegText As String
|
|
Dim comtext As String = ""
|
|
Dim ObjWriter As StreamWriter
|
|
On Error GoTo WR_File_Error
|
|
|
|
Dim FilePath As String = System.AppDomain.CurrentDomain.BaseDirectory() & "\Config"
|
|
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
For i = 0 To DataSaveCount
|
|
|
|
FileName = FilePath & "\" & DataSaveName(i) & ".ini"
|
|
|
|
Select Case i
|
|
Case 0
|
|
comtext = txbSpan.Text & "," & txbRBW.Text & "," & nudHFCount.Text & "," & nudHFRun.Text & "," & nudHFwait.Text & "," & txbFrStep1.Text & "," & txbFrStep2.Text & "," & txbFrStep3.Text & "," & txbHFStDelay.Text & "," & txbHFLowShot.Text & "," & txbHFReCnt.Text & "," & txbHFeffect.Text & "," & txbHFReCkCnt.Text & "," & txbDSDelay.Text & "," & txbHFRefLev.Text
|
|
Case 1
|
|
If rdbRFTrAuto.Checked Then
|
|
TrigType = rdbRFTrAuto.Text
|
|
Else
|
|
TrigType = rdbRFtrNormal.Text
|
|
End If
|
|
|
|
If rdbRFUnitV.Checked Then
|
|
UnitType = rdbRFUnitV.Text
|
|
Else
|
|
UnitType = rdbRFUnitA.Text
|
|
End If
|
|
|
|
comtext = TrigType & "," & txbRFtime.Text & "," & UnitType & "," & nudRFScale.Text & "," & txbRFDelay.Text & "," & nudRFRun.Text & "," & nudRFCh.Value & "," & nudRFTrgLv.Value & "," & txbRFWdtime.Text & "," & txbRFWdDelay.Text & "," & nudRFWdTrgLv.Value & "," & nudRFWdRun.Value
|
|
|
|
Case 2
|
|
If rdbMCTrAuto.Checked Then
|
|
TrigType = rdbMCTrAuto.Text
|
|
Else
|
|
TrigType = rdbMCtrNormal.Text
|
|
End If
|
|
|
|
If rdbMCUnitV.Checked Then
|
|
UnitType = rdbMCUnitV.Text
|
|
Else
|
|
UnitType = rdbMCUnitA.Text
|
|
End If
|
|
|
|
comtext = TrigType & "," & txbMCFVtime.Text & "," & UnitType & "," & nudMCScale.Text & "," & txbMCFVDelay.Text & "," & nudMCFVRun.Text & "," & nudMCCh.Value & "," & nudMCFVTrgLv.Value & "," & txbMCWdtime.Text & "," & txbMCWdDelay.Text & "," & nudMCWdTrgLv.Value & "," & nudMCWdRun.Value
|
|
|
|
Case 3
|
|
If rdbEPTrAuto.Checked Then
|
|
TrigType = rdbEPTrAuto.Text
|
|
Else
|
|
TrigType = rdbEPtrNormal.Text
|
|
End If
|
|
|
|
If rdbEPUnitV.Checked Then
|
|
UnitType = rdbEPUnitV.Text
|
|
Else
|
|
UnitType = rdbEPUnitA.Text
|
|
End If
|
|
|
|
comtext = TrigType & "," & txbEPFVtime.Text & "," & UnitType & "," & nudEPScale.Text & "," & txbEPFVDelay.Text & "," & nudEPFVRun.Text & "," & txbEPFreq1.Text & "," & txbEPFreq2.Text & "," & txbEPFreq3.Text & "," & nudEPCh.Value & "," & nudEPFVTrgLv.Value
|
|
|
|
Case 4
|
|
comtext = txbFirmVer.Text & "," & txbBatMin.Text & "," & txbBatMax.Text & "," & txbTpDevMin.Text & "," & txbTpDevMax.Text _
|
|
& "," & txbTpCartMin.Text & "," & txbTpCartMax.Text & "," & txbHFOutMin.Text & "," & txbHFOutMax.Text & "," & txbHFMin.Text & "," &
|
|
txbRFVRmin1.Text & "," & txbRFVRmax1.Text & "," & txbRFVRmin2.Text & "," & txbRFVRmax2.Text & "," & txbRFVRmin3.Text & "," &
|
|
txbRFVRmax3.Text & "," & txbMCVPmin.Text & "," & txbMCVPmax.Text & "," & txbMCDYmin.Text & "," & txbMCDYmax.Text & "," & txbMCFrmin.Text &
|
|
"," & txbMCFrmax.Text & "," & txbEPVPmin.Text & "," & txbEPVPmax.Text & "," & txbEPDYmin1.Text & "," & txbEPDYmax1.Text & "," &
|
|
txbEPDYmin2.Text & "," & txbEPDYmax2.Text & "," & txbEPDYmin3.Text & "," & txbEPDYmax3.Text & "," & txbRHueMin.Text & "," & txbRHueMax.Text _
|
|
& "," & txbRSatMin.Text & "," & txbRSatMax.Text & "," & txbRBgtMin.Text & "," & txbRBgtMax.Text & "," & txbYHueMin1.Text & "," &
|
|
txbYHueMax1.Text & "," & txbYSatMin1.Text & "," & txbYSatMax1.Text & "," & txbYBgtMin1.Text & "," & txbYBgtMax1.Text & "," & txbFirmVer_AL.Text & "," &
|
|
txbTpDevMin_AL.Text & "," & txbTpDevMax_AL.Text & "," & txbTpCartMin_AL.Text & "," & txbTpCartMax_AL.Text & "," & txbBatMin_AL.Text & "," &
|
|
txbBatMax_AL.Text & "," & txbRFVRmin1_AL.Text & "," & txbRFVRmax1_AL.Text & "," & txbRFVRmin2_AL.Text & "," & txbRFVRmax2_AL.Text & "," &
|
|
txbRFVRmin3_AL.Text & "," & txbRFVRmax3_AL.Text & "," & txbEPVPmin_AL.Text & "," & txbEPVPmax_AL.Text & "," & txbEPDYmin1_AL.Text & "," &
|
|
txbEPDYmax1_AL.Text & "," & txbEPDYmin2_AL.Text & "," & txbEPDYmax2_AL.Text & "," & txbEPDYmin3_AL.Text & "," & txbEPDYmax3_AL.Text & "," &
|
|
txbBDVRmin1_AL.Text & "," & txbBDVRmax1_AL.Text & "," & txbBDVRmin2_AL.Text & "," & txbBDVRmax2_AL.Text & "," & txbBDVRmin3_AL.Text & "," &
|
|
txbBDVRmax3_AL.Text & "," & txbDSfw_st.Text & "," & txbDSbat_stMin.Text & "," & txbDSbat_stMax.Text & "," & txbDSTmpDe_stMin.Text & "," &
|
|
txbDSTmpDe_stMax.Text & "," & txbDSTmpCa_stMin.Text & "," & txbDSTmpCa_stMax.Text & "," & txbDShfOut_stMin.Text & "," & txbDShfOut_stMax.Text & "," &
|
|
txbDShfDif_st.Text & "," & txbDSSub_Min.Text & "," & txbDSSub_Max.Text
|
|
|
|
Case 5
|
|
For cnt = 0 To dgvID.Rows.Count - 2
|
|
If cnt = 0 Then
|
|
comtext = dgvID.Rows(cnt).Cells(0).Value & "/" & dgvID.Rows(cnt).Cells(1).Value & "/" & dgvID.Rows(cnt).Cells(2).Value
|
|
Else
|
|
comtext = comtext & "," & dgvID.Rows(cnt).Cells(0).Value & "/" & dgvID.Rows(cnt).Cells(1).Value & "/" & dgvID.Rows(cnt).Cells(2).Value
|
|
End If
|
|
Next
|
|
|
|
Case 6
|
|
If cbbSpecID.SelectedIndex = -1 And cbbScopeID.SelectedIndex = -1 Then
|
|
comtext = ""
|
|
Else
|
|
comtext = cbbScopeID.SelectedItem & "," & cbbSpecID.SelectedItem
|
|
End If
|
|
|
|
Case 7
|
|
Dim ImgProcess As String
|
|
If rdbimgSave.Checked = True Then
|
|
ImgProcess = ImgSave
|
|
Else
|
|
ImgProcess = ImgCvt
|
|
End If
|
|
|
|
comtext = cbbWebCam.SelectedItem & "," & txbCamDelay.Text & "," & txbRedCdn_X1.Text & "," & txbRedCdn_Y1.Text & "," & txbYelCdn_X1.Text & "," & txbYelCdn_Y1.Text & "," & txbRedCdn_X2.Text & "," & txbRedCdn_Y2.Text & "," & txbYelCdn_X2.Text & "," & txbYelCdn_Y2.Text & "," & txbAround.Text & "," & txbInc.Text & "," & ImgProcess & "," & nudLEDStart.Value & "," & nudLedRe.Value
|
|
Case 8
|
|
comtext = txbJgTimeout.Text & "," & txbJgDelay.Text & "," & txbDTTimeout.Text
|
|
Case 9
|
|
comtext = cbbSerial.SelectedItem & "," & cbbJgBaudRate.SelectedItem & "," & ckbScopeZ.Checked
|
|
Case 10
|
|
comtext = nudStepDelay.Value & "," & nudSpTimeout.Value & "," & nudScTimeout.Value & "," & nudSaveCk.Value & "," & formType & "," & nudEPRe.Value & "," & nudOnRe.Value & "," & nudJigNum.Value
|
|
End Select
|
|
|
|
File.Delete(FileName)
|
|
ObjWriter = New StreamWriter(FileName, True)
|
|
ObjWriter.Flush()
|
|
ObjWriter.WriteLine(comtext)
|
|
|
|
ObjWriter.Close()
|
|
Next
|
|
|
|
MsgBox("Save Success!!", vbInformation)
|
|
|
|
Exit Sub
|
|
|
|
WR_File_Error:
|
|
MsgBox("Config Save Fail!", vbCritical)
|
|
End Sub
|
|
|
|
Private Sub modeConfigSave()
|
|
If modeSaveSwitch = True Then
|
|
Dim FileName As String, TrigType As String, UnitType As String, RegText As String
|
|
Dim comtext As String = ""
|
|
Dim ObjWriter As StreamWriter
|
|
On Error GoTo WR_File_Error
|
|
|
|
Dim FilePath As String = System.AppDomain.CurrentDomain.BaseDirectory() & "\Config"
|
|
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
FileName = FilePath & "\" & DataSaveName(10) & ".ini"
|
|
|
|
comtext = nudStepDelay.Value & "," & nudSpTimeout.Value & "," & nudScTimeout.Value & "," & nudSaveCk.Value & "," & formType & "," & nudEPRe.Value & "," & nudOnRe.Value
|
|
|
|
File.Delete(FileName)
|
|
ObjWriter = New StreamWriter(FileName, True)
|
|
ObjWriter.Flush()
|
|
ObjWriter.WriteLine(comtext)
|
|
|
|
ObjWriter.Close()
|
|
End If
|
|
|
|
Exit Sub
|
|
|
|
WR_File_Error:
|
|
MsgBox("Config Save Fail!", vbCritical)
|
|
End Sub
|
|
|
|
Private Sub ConfigIniLoad()
|
|
Dim FileName As String, ConfigStr As String, LoadData As String
|
|
Dim ObjReader As StreamReader
|
|
Dim FilePath As String = System.AppDomain.CurrentDomain.BaseDirectory() & "\config"
|
|
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
SaveFileCK()
|
|
|
|
For i = 0 To DataSaveCount
|
|
FileName = FilePath & "\" & DataSaveName(i) & ".ini"
|
|
|
|
If File.Exists(FileName) Then
|
|
ObjReader = New StreamReader(FileName, True)
|
|
ConfigStr = ObjReader.ReadLine
|
|
ObjReader.Close()
|
|
|
|
For cnt = 0 To UBound(Split(ConfigStr, ","))
|
|
If InStr(ConfigStr, ",") > 0 Then
|
|
LoadData = Mid(ConfigStr, 1, InStr(ConfigStr, ",") - 1)
|
|
ConfigStr = Mid(ConfigStr, InStr(ConfigStr, ",") + 1, ConfigStr.Length)
|
|
Else
|
|
LoadData = ConfigStr
|
|
End If
|
|
|
|
Select Case i
|
|
Case 0
|
|
HF_LoadTxb(cnt, LoadData)
|
|
Case 1
|
|
RF_LoadTxb(cnt, LoadData)
|
|
Case 2
|
|
MC_LoadTxb(cnt, LoadData)
|
|
Case 3
|
|
EP_LoadTxb(cnt, LoadData)
|
|
Case 4
|
|
Standard_LoadTxb(cnt, LoadData)
|
|
Case 5
|
|
EquipList_LoadTxb(LoadData)
|
|
Case 6
|
|
Equip_LoadTxb(cnt, LoadData)
|
|
Case 7
|
|
LED_LoadTxb(cnt, LoadData)
|
|
Case 8
|
|
JIG_LoadTxb(cnt, LoadData)
|
|
Case 9
|
|
Comport_LoadTxb(cnt, LoadData)
|
|
Case 10
|
|
ETC_LoadTxb(cnt, LoadData)
|
|
End Select
|
|
Next
|
|
|
|
End If
|
|
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub SaveFileCK()
|
|
DataSaveName(0) = "HF_Config"
|
|
DataSaveName(1) = "RF_Config"
|
|
DataSaveName(2) = "MC_Config"
|
|
DataSaveName(3) = "EP_Config"
|
|
DataSaveName(4) = "Standard_Config"
|
|
DataSaveName(5) = "EquipList_Config"
|
|
DataSaveName(6) = "Equip_Config"
|
|
DataSaveName(7) = "LED_Config"
|
|
DataSaveName(8) = "JIG_Config"
|
|
DataSaveName(9) = "Comport_Config"
|
|
DataSaveName(10) = "ETC_Config"
|
|
End Sub
|
|
|
|
Private Sub DataTextReset()
|
|
txbTDSN.Text = "대기"
|
|
txbDate.Text = "대기"
|
|
txbFreq.Text = "대기"
|
|
txbGrade.Text = "대기"
|
|
txbVer.Text = "대기"
|
|
txbVolt.Text = "대기"
|
|
txbDevTmp.Text = "대기"
|
|
txbCartTmp.Text = "대기"
|
|
End Sub
|
|
|
|
Private Sub DataColorReset()
|
|
txbTDSN.BackColor = Color.White
|
|
txbDate.BackColor = Color.White
|
|
txbFreq.BackColor = Color.White
|
|
txbGrade.BackColor = Color.White
|
|
txbVer.BackColor = Color.White
|
|
txbVolt.BackColor = Color.White
|
|
txbDevTmp.BackColor = Color.White
|
|
txbCartTmp.BackColor = Color.White
|
|
End Sub
|
|
|
|
Private Sub DataRefresh()
|
|
txbTDSN.Refresh()
|
|
txbDate.Refresh()
|
|
txbFreq.Refresh()
|
|
txbGrade.Refresh()
|
|
txbVer.Refresh()
|
|
txbVolt.Refresh()
|
|
txbDevTmp.Refresh()
|
|
txbCartTmp.Refresh()
|
|
End Sub
|
|
|
|
Private Sub StepTextReset()
|
|
txbStep1.Text = "대기"
|
|
txbStep2.Text = "대기"
|
|
txbStep3.Text = "대기"
|
|
txbStep4.Text = "대기"
|
|
txbStep5.Text = "대기"
|
|
txbStep6.Text = "대기"
|
|
txbStep7.Text = "대기"
|
|
txbStep8.Text = "대기"
|
|
txbStep9.Text = "대기"
|
|
txbStep10.Text = "대기"
|
|
End Sub
|
|
|
|
Private Sub StepColorReset()
|
|
txbStep1.BackColor = Color.White
|
|
txbStep2.BackColor = Color.White
|
|
txbStep3.BackColor = Color.White
|
|
txbStep4.BackColor = Color.White
|
|
txbStep5.BackColor = Color.White
|
|
txbStep6.BackColor = Color.White
|
|
txbStep7.BackColor = Color.White
|
|
txbStep8.BackColor = Color.White
|
|
txbStep9.BackColor = Color.White
|
|
txbStep10.BackColor = Color.White
|
|
End Sub
|
|
|
|
Private Sub StepRefresh()
|
|
txbStep1.Refresh()
|
|
txbStep2.Refresh()
|
|
txbStep3.Refresh()
|
|
txbStep4.Refresh()
|
|
txbStep5.Refresh()
|
|
txbStep6.Refresh()
|
|
txbStep7.Refresh()
|
|
txbStep8.Refresh()
|
|
txbStep9.Refresh()
|
|
txbStep10.Refresh()
|
|
End Sub
|
|
|
|
Private Sub SaveDataReset()
|
|
TestData.Test_Serial = ""
|
|
TestData.Test_Firmware = ""
|
|
TestData.Test_Battery = 0
|
|
ReDim TestData.Test_Temperature(0)
|
|
ReDim TestData.Test_Temperature(TempData.CPUTemp)
|
|
|
|
ReDim TestData.Test_HFData(HifuTest_Step.step5)
|
|
ReDim TestData.Test_HFInterval(HifuTest_Step.step3 - 1)
|
|
|
|
ReDim TestData.Test_RFVRMS(RFTest_Count)
|
|
ReDim TestData.Test_RFFreq(RFTest_Count)
|
|
|
|
ReDim TestData.Test_MCVpp(MCTest_Count)
|
|
ReDim TestData.Test_MCWidth(MCTest_Count)
|
|
ReDim TestData.Test_MCFreq(MCTest_Count)
|
|
|
|
ReDim TestData.Test_EPVpp(EPTest_Count)
|
|
ReDim TestData.Test_EPFreq(EPTest_Count)
|
|
ReDim TestData.Test_EPPWidth(EPTest_Count)
|
|
ReDim TestData.Test_EPNWidth(EPTest_Count)
|
|
End Sub
|
|
|
|
Private Sub HF_LoadTxb(cnt As Int16, LoadData As String)
|
|
Select Case cnt
|
|
Case 0
|
|
txbSpan.Text = LoadData
|
|
Case 1
|
|
txbRBW.Text = LoadData
|
|
Case 2
|
|
nudHFCount.Text = LoadData
|
|
Case 3
|
|
nudHFRun.Text = LoadData
|
|
Case 4
|
|
nudHFwait.Text = LoadData
|
|
Case 5
|
|
txbFrStep1.Text = LoadData
|
|
Case 6
|
|
txbFrStep2.Text = LoadData
|
|
Case 7
|
|
txbFrStep3.Text = LoadData
|
|
Case 8
|
|
txbHFStDelay.Text = LoadData
|
|
Case 9
|
|
txbHFLowShot.Text = LoadData
|
|
Case 10
|
|
txbHFReCnt.Text = LoadData
|
|
Case 11
|
|
txbHFeffect.Text = LoadData
|
|
Case 12
|
|
txbHFReCkCnt.Text = LoadData
|
|
Case 13
|
|
txbDSDelay.Text = LoadData
|
|
Case 14
|
|
txbHFRefLev.Text = LoadData
|
|
|
|
Case Else
|
|
MsgBox("HF_잘못된 데이터가 존재합니다.", vbExclamation)
|
|
End Select
|
|
End Sub
|
|
Private Sub Comport_LoadTxb(cnt As Int16, LoadData As String)
|
|
Select Case cnt
|
|
Case 0
|
|
LoadComportName()
|
|
|
|
For i = 0 To cbbSerial.Items.Count - 1
|
|
cbbSerial.SelectedIndex = i
|
|
If cbbSerial.SelectedItem = LoadData Then
|
|
ParaComport = LoadData
|
|
Exit For
|
|
Else
|
|
cbbSerial.SelectedIndex = -1
|
|
End If
|
|
Next
|
|
|
|
btnSerial.Text = "스캔"
|
|
|
|
Case 1
|
|
|
|
For i = 0 To cbbJgBaudRate.Items.Count - 1
|
|
cbbJgBaudRate.SelectedIndex = i
|
|
If cbbJgBaudRate.SelectedItem = LoadData Then
|
|
Exit For
|
|
Else
|
|
cbbJgBaudRate.SelectedIndex = -1
|
|
End If
|
|
Next
|
|
|
|
If ParaComport <> "" And LoadData <> "" Then
|
|
OpenSerial(LoadData)
|
|
End If
|
|
|
|
Case 2
|
|
ckbScopeZ.Checked = LoadData
|
|
Case Else
|
|
MsgBox("Comport_잘못된 데이터가 존재합니다.", vbExclamation)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub ETC_LoadTxb(cnt As Int16, LoadData As String)
|
|
Select Case cnt
|
|
Case 0
|
|
nudStepDelay.Value = LoadData
|
|
Case 1
|
|
nudSpTimeout.Value = LoadData
|
|
Case 2
|
|
nudScTimeout.Text = LoadData
|
|
Case 3
|
|
nudSaveCk.Value = LoadData
|
|
Case 4
|
|
If LoadData = formTypeList.full Then
|
|
rdbAll.Checked = True
|
|
rdbHF.Checked = False
|
|
rdbEFPD.Checked = False
|
|
rdbRFMCEP.Checked = False
|
|
rdbIQC.Checked = False
|
|
rdbAltoIqc.Checked = False
|
|
rdbAltoPD.Checked = False
|
|
rdbDsIQC.Checked = False
|
|
rdbDsPD.Checked = False
|
|
ElseIf LoadData = formTypeList.prod_HF Then
|
|
rdbAll.Checked = False
|
|
rdbHF.Checked = True
|
|
rdbEFPD.Checked = False
|
|
rdbRFMCEP.Checked = False
|
|
rdbIQC.Checked = False
|
|
rdbAltoIqc.Checked = False
|
|
rdbAltoPD.Checked = False
|
|
rdbDsIQC.Checked = False
|
|
rdbDsPD.Checked = False
|
|
ElseIf LoadData = formTypeList.prod_RF Then
|
|
rdbAll.Checked = False
|
|
rdbHF.Checked = False
|
|
rdbEFPD.Checked = False
|
|
rdbRFMCEP.Checked = True
|
|
rdbIQC.Checked = False
|
|
rdbAltoIqc.Checked = False
|
|
rdbAltoPD.Checked = False
|
|
rdbDsIQC.Checked = False
|
|
rdbDsPD.Checked = False
|
|
ElseIf LoadData = formTypeList.iqc Then
|
|
rdbAll.Checked = False
|
|
rdbHF.Checked = False
|
|
rdbEFPD.Checked = False
|
|
rdbRFMCEP.Checked = False
|
|
rdbIQC.Checked = True
|
|
rdbAltoIqc.Checked = False
|
|
rdbAltoPD.Checked = False
|
|
rdbDsIQC.Checked = False
|
|
rdbDsPD.Checked = False
|
|
ElseIf LoadData = formTypeList.altoIQC Then
|
|
rdbAll.Checked = False
|
|
rdbHF.Checked = False
|
|
rdbEFPD.Checked = False
|
|
rdbRFMCEP.Checked = False
|
|
rdbIQC.Checked = False
|
|
rdbAltoIqc.Checked = True
|
|
rdbAltoPD.Checked = False
|
|
rdbDsIQC.Checked = False
|
|
rdbDsPD.Checked = False
|
|
ElseIf LoadData = formTypeList.altoPD Then
|
|
rdbAll.Checked = False
|
|
rdbHF.Checked = False
|
|
rdbEFPD.Checked = False
|
|
rdbRFMCEP.Checked = False
|
|
rdbIQC.Checked = False
|
|
rdbAltoIqc.Checked = False
|
|
rdbAltoPD.Checked = True
|
|
rdbDsIQC.Checked = False
|
|
rdbDsPD.Checked = False
|
|
ElseIf LoadData = formTypeList.DS_IQC Then
|
|
rdbAll.Checked = False
|
|
rdbHF.Checked = False
|
|
rdbEFPD.Checked = False
|
|
rdbRFMCEP.Checked = False
|
|
rdbIQC.Checked = False
|
|
rdbAltoIqc.Checked = False
|
|
rdbAltoPD.Checked = False
|
|
rdbDsIQC.Checked = True
|
|
rdbDsPD.Checked = False
|
|
ElseIf LoadData = formTypeList.DS_PD Then
|
|
rdbAll.Checked = False
|
|
rdbHF.Checked = False
|
|
rdbEFPD.Checked = False
|
|
rdbRFMCEP.Checked = False
|
|
rdbIQC.Checked = False
|
|
rdbAltoIqc.Checked = False
|
|
rdbAltoPD.Checked = False
|
|
rdbDsIQC.Checked = False
|
|
rdbDsPD.Checked = True
|
|
ElseIf LoadData = formTypeList.EF_PD Then
|
|
rdbAll.Checked = False
|
|
rdbHF.Checked = False
|
|
rdbEFPD.Checked = True
|
|
rdbRFMCEP.Checked = False
|
|
rdbIQC.Checked = False
|
|
rdbAltoIqc.Checked = False
|
|
rdbAltoPD.Checked = False
|
|
rdbDsIQC.Checked = False
|
|
rdbDsPD.Checked = True
|
|
Else
|
|
rdbAll.Checked = True
|
|
rdbHF.Checked = False
|
|
rdbEFPD.Checked = False
|
|
rdbRFMCEP.Checked = False
|
|
rdbIQC.Checked = False
|
|
rdbAltoIqc.Checked = False
|
|
rdbAltoPD.Checked = False
|
|
rdbDsIQC.Checked = False
|
|
rdbDsPD.Checked = False
|
|
End If
|
|
|
|
Case 5
|
|
nudEPRe.Value = LoadData
|
|
|
|
Case 6
|
|
nudOnRe.Value = LoadData
|
|
|
|
Case 7
|
|
nudJigNum.Value = LoadData
|
|
|
|
Case Else
|
|
MsgBox("ETC_잘못된 데이터가 존재합니다.", vbExclamation)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub JIG_LoadTxb(cnt As Int16, LoadData As String)
|
|
Select Case cnt
|
|
Case 0
|
|
txbJgTimeout.Text = LoadData
|
|
Case 1
|
|
txbJgDelay.Text = LoadData
|
|
Case 2
|
|
txbDTTimeout.Text = LoadData
|
|
|
|
Case Else
|
|
MsgBox("JIG_잘못된 데이터가 존재합니다.", vbExclamation)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub LED_LoadTxb(cnt As Int16, LoadData As String)
|
|
Select Case cnt
|
|
Case 0
|
|
WebCamList(True)
|
|
|
|
For i = 0 To cbbWebCam.Items.Count - 1
|
|
cbbWebCam.SelectedIndex = i
|
|
If LoadData = cbbWebCam.SelectedItem Then
|
|
WebCamNum = cbbWebCam.SelectedIndex
|
|
Exit For
|
|
End If
|
|
|
|
cbbWebCam.SelectedIndex = -1
|
|
Next
|
|
Case 1
|
|
txbCamDelay.Text = LoadData
|
|
Case 2
|
|
txbRedCdn_X1.Text = LoadData
|
|
Case 3
|
|
txbRedCdn_Y1.Text = LoadData
|
|
Case 4
|
|
txbYelCdn_X1.Text = LoadData
|
|
Case 5
|
|
txbYelCdn_Y1.Text = LoadData
|
|
Case 6
|
|
txbRedCdn_X2.Text = LoadData
|
|
Case 7
|
|
txbRedCdn_Y2.Text = LoadData
|
|
Case 8
|
|
txbYelCdn_X2.Text = LoadData
|
|
Case 9
|
|
txbYelCdn_Y2.Text = LoadData
|
|
Case 10
|
|
txbAround.Text = LoadData
|
|
Case 11
|
|
txbInc.Text = LoadData
|
|
Case 12
|
|
If LoadData = ImgSave Then
|
|
rdbimgSave.Checked = True
|
|
rdbMatCovert.Checked = False
|
|
ElseIf LoadData = ImgCvt Then
|
|
rdbimgSave.Checked = False
|
|
rdbMatCovert.Checked = True
|
|
Else
|
|
MsgBox("이미지 처리 방식에 관련하여 잘못된 데이터가 저장되었습니다.", vbCritical)
|
|
End If
|
|
|
|
Case 13
|
|
nudLEDStart.Value = LoadData
|
|
Case 14
|
|
nudLedRe.Value = LoadData
|
|
|
|
Case Else
|
|
MsgBox("LED_잘못된 데이터가 존재합니다.", vbExclamation)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub RF_LoadTxb(cnt As Int16, LoadData As String)
|
|
Select Case cnt
|
|
Case 0
|
|
If LoadData.ToLower = "auto" Then
|
|
rdbRFTrAuto.Checked = True
|
|
Else
|
|
rdbRFtrNormal.Checked = True
|
|
End If
|
|
Case 1
|
|
txbRFtime.Text = LoadData
|
|
Case 2
|
|
If LoadData.ToLower = "volt" Then
|
|
rdbRFUnitV.Checked = True
|
|
Else
|
|
rdbRFUnitA.Checked = True
|
|
End If
|
|
Case 3
|
|
nudRFScale.Text = LoadData
|
|
Case 4
|
|
txbRFDelay.Text = LoadData
|
|
Case 5
|
|
nudRFRun.Text = LoadData
|
|
Case 6
|
|
nudRFCh.Value = LoadData
|
|
Case 7
|
|
nudRFTrgLv.Value = LoadData
|
|
|
|
Case 8
|
|
txbRFWdtime.Text = LoadData
|
|
Case 9
|
|
txbRFWdDelay.Text = LoadData
|
|
Case 10
|
|
nudRFWdTrgLv.Value = LoadData
|
|
Case 11
|
|
nudRFWdRun.Value = LoadData
|
|
|
|
Case Else
|
|
MsgBox("RF_잘못된 데이터가 존재합니다.", vbExclamation)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub MC_LoadTxb(cnt As Int16, LoadData As String)
|
|
Select Case cnt
|
|
Case 0
|
|
If LoadData.ToLower = "auto" Then
|
|
rdbMCTrAuto.Checked = True
|
|
Else
|
|
rdbMCtrNormal.Checked = True
|
|
End If
|
|
Case 1
|
|
txbMCFVtime.Text = LoadData
|
|
Case 2
|
|
If LoadData.ToLower = "volt" Then
|
|
rdbMCUnitV.Checked = True
|
|
Else
|
|
rdbMCUnitA.Checked = True
|
|
End If
|
|
Case 3
|
|
nudMCScale.Text = LoadData
|
|
Case 4
|
|
txbMCFVDelay.Text = LoadData
|
|
Case 5
|
|
nudMCFVRun.Text = LoadData
|
|
Case 6
|
|
nudMCCh.Value = LoadData
|
|
Case 7
|
|
nudMCFVTrgLv.Value = LoadData
|
|
Case 8
|
|
txbMCWdtime.Text = LoadData
|
|
Case 9
|
|
txbMCWdDelay.Text = LoadData
|
|
Case 10
|
|
nudMCWdTrgLv.Value = LoadData
|
|
Case 11
|
|
nudMCWdRun.Value = LoadData
|
|
Case Else
|
|
MsgBox("MC_잘못된 데이터가 존재합니다.", vbExclamation)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub EP_LoadTxb(cnt As Int16, LoadData As String)
|
|
Select Case cnt
|
|
Case 0
|
|
If LoadData.ToLower = "auto" Then
|
|
rdbEPTrAuto.Checked = True
|
|
Else
|
|
rdbEPtrNormal.Checked = True
|
|
End If
|
|
Case 1
|
|
txbEPFVtime.Text = LoadData
|
|
Case 2
|
|
If LoadData.ToLower = "volt" Then
|
|
rdbEPUnitV.Checked = True
|
|
Else
|
|
rdbEPUnitA.Checked = True
|
|
End If
|
|
Case 3
|
|
nudEPScale.Text = LoadData
|
|
Case 4
|
|
txbEPFVDelay.Text = LoadData
|
|
Case 5
|
|
nudEPFVRun.Text = LoadData
|
|
Case 6
|
|
txbEPFreq1.Text = LoadData
|
|
Case 7
|
|
txbEPFreq2.Text = LoadData
|
|
Case 8
|
|
txbEPFreq3.Text = LoadData
|
|
Case 9
|
|
nudEPCh.Value = LoadData
|
|
Case 10
|
|
nudEPFVTrgLv.Value = LoadData
|
|
Case Else
|
|
MsgBox("EP_잘못된 데이터가 존재합니다.", vbExclamation)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub Standard_LoadTxb(cnt As Int16, LoadData As String)
|
|
Select Case cnt
|
|
Case 0
|
|
txbFirmVer.Text = LoadData
|
|
Case 1
|
|
txbBatMin.Text = LoadData
|
|
Case 2
|
|
txbBatMax.Text = LoadData
|
|
Case 3
|
|
txbTpDevMin.Text = LoadData
|
|
Case 4
|
|
txbTpDevMax.Text = LoadData
|
|
Case 5
|
|
txbTpCartMin.Text = LoadData
|
|
Case 6
|
|
txbTpCartMax.Text = LoadData
|
|
Case 7
|
|
txbHFOutMin.Text = LoadData
|
|
Case 8
|
|
txbHFOutMax.Text = LoadData
|
|
Case 9
|
|
txbHFMin.Text = LoadData
|
|
Case 10
|
|
txbRFVRmin1.Text = LoadData
|
|
Case 11
|
|
txbRFVRmax1.Text = LoadData
|
|
Case 12
|
|
txbRFVRmin2.Text = LoadData
|
|
Case 13
|
|
txbRFVRmax2.Text = LoadData
|
|
Case 14
|
|
txbRFVRmin3.Text = LoadData
|
|
Case 15
|
|
txbRFVRmax3.Text = LoadData
|
|
Case 16
|
|
txbMCVPmin.Text = LoadData
|
|
Case 17
|
|
txbMCVPmax.Text = LoadData
|
|
Case 18
|
|
txbMCDYmin.Text = LoadData
|
|
Case 19
|
|
txbMCDYmax.Text = LoadData
|
|
Case 20
|
|
txbMCFrmin.Text = LoadData
|
|
Case 21
|
|
txbMCFrmax.Text = LoadData
|
|
Case 22
|
|
txbEPVPmin.Text = LoadData
|
|
Case 23
|
|
txbEPVPmax.Text = LoadData
|
|
Case 24
|
|
txbEPDYmin1.Text = LoadData
|
|
Case 25
|
|
txbEPDYmax1.Text = LoadData
|
|
Case 26
|
|
txbEPDYmin2.Text = LoadData
|
|
Case 27
|
|
txbEPDYmax2.Text = LoadData
|
|
Case 28
|
|
txbEPDYmin3.Text = LoadData
|
|
Case 29
|
|
txbEPDYmax3.Text = LoadData
|
|
Case 30
|
|
txbRHueMin.Text = LoadData
|
|
Case 31
|
|
txbRHueMax.Text = LoadData
|
|
Case 32
|
|
txbRSatMin.Text = LoadData
|
|
Case 33
|
|
txbRSatMax.Text = LoadData
|
|
Case 34
|
|
txbRBgtMin.Text = LoadData
|
|
Case 35
|
|
txbRBgtMax.Text = LoadData
|
|
|
|
Case 36
|
|
txbYHueMin1.Text = LoadData
|
|
Case 37
|
|
txbYHueMax1.Text = LoadData
|
|
Case 38
|
|
txbYSatMin1.Text = LoadData
|
|
Case 39
|
|
txbYSatMax1.Text = LoadData
|
|
Case 40
|
|
txbYBgtMin1.Text = LoadData
|
|
Case 41
|
|
txbYBgtMax1.Text = LoadData
|
|
|
|
Case 42
|
|
txbFirmVer_AL.Text = LoadData
|
|
Case 43
|
|
txbTpDevMin_AL.Text = LoadData
|
|
Case 44
|
|
txbTpDevMax_AL.Text = LoadData
|
|
Case 45
|
|
txbTpCartMin_AL.Text = LoadData
|
|
Case 46
|
|
txbTpCartMax_AL.Text = LoadData
|
|
Case 47
|
|
txbBatMin_AL.Text = LoadData
|
|
Case 48
|
|
txbBatMax_AL.Text = LoadData
|
|
Case 49
|
|
txbRFVRmin1_AL.Text = LoadData
|
|
Case 50
|
|
txbRFVRmax1_AL.Text = LoadData
|
|
Case 51
|
|
txbRFVRmin2_AL.Text = LoadData
|
|
Case 52
|
|
txbRFVRmax2_AL.Text = LoadData
|
|
Case 53
|
|
txbRFVRmin3_AL.Text = LoadData
|
|
Case 54
|
|
txbRFVRmax3_AL.Text = LoadData
|
|
Case 55
|
|
txbEPVPmin_AL.Text = LoadData
|
|
Case 56
|
|
txbEPVPmax_AL.Text = LoadData
|
|
Case 57
|
|
txbEPDYmin1_AL.Text = LoadData
|
|
Case 58
|
|
txbEPDYmax1_AL.Text = LoadData
|
|
Case 59
|
|
txbEPDYmin2_AL.Text = LoadData
|
|
Case 60
|
|
txbEPDYmax2_AL.Text = LoadData
|
|
Case 61
|
|
txbEPDYmin3_AL.Text = LoadData
|
|
Case 62
|
|
txbEPDYmax3_AL.Text = LoadData
|
|
Case 63
|
|
txbBDVRmin1_AL.Text = LoadData
|
|
Case 64
|
|
txbBDVRmax1_AL.Text = LoadData
|
|
Case 65
|
|
txbBDVRmin2_AL.Text = LoadData
|
|
Case 66
|
|
txbBDVRmax2_AL.Text = LoadData
|
|
Case 67
|
|
txbBDVRmin3_AL.Text = LoadData
|
|
Case 68
|
|
txbBDVRmax3_AL.Text = LoadData
|
|
Case 69
|
|
txbDSfw_st.Text = LoadData
|
|
Case 70
|
|
txbDSbat_stMin.Text = LoadData
|
|
Case 71
|
|
txbDSbat_stMax.Text = LoadData
|
|
Case 72
|
|
txbDSTmpDe_stMin.Text = LoadData
|
|
Case 73
|
|
txbDSTmpDe_stMax.Text = LoadData
|
|
Case 74
|
|
txbDSTmpCa_stMin.Text = LoadData
|
|
Case 75
|
|
txbDSTmpCa_stMax.Text = LoadData
|
|
Case 76
|
|
txbDShfOut_stMin.Text = LoadData
|
|
Case 77
|
|
txbDShfOut_stMax.Text = LoadData
|
|
Case 78
|
|
txbDShfDif_st.Text = LoadData
|
|
|
|
Case 79
|
|
txbDSSub_Min.Text = LoadData
|
|
Case 80
|
|
txbDSSub_Max.Text = LoadData
|
|
|
|
Case Else
|
|
MsgBox("기준 설정_잘못된 데이터가 존재합니다.", vbExclamation)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub Equip_LoadTxb(cnt As Int16, LoadData As String)
|
|
Const MountEquip As Int16 = 1
|
|
Dim CbList(MountEquip) As ComboBox
|
|
|
|
CbList(MountEquip - 1) = cbbScopeID
|
|
CbList(MountEquip) = cbbSpecID
|
|
|
|
If LoadData <> "" Then
|
|
For i = 0 To CbList(cnt).Items.Count
|
|
CbList(cnt).SelectedIndex = i
|
|
If LoadData = CbList(cnt).SelectedItem Then
|
|
Exit For
|
|
End If
|
|
|
|
CbList(cnt).SelectedIndex = -1
|
|
Next
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub btnScRg_Click(sender As Object, e As EventArgs) Handles btnScRg.Click
|
|
If txbRgScName.Text.Replace(" ", "") = "" Then
|
|
MsgBox("장비명을 입력하지 않았습니다.", vbExclamation)
|
|
Else
|
|
If txbRgScID.Text.Replace(" ", "") = "" Then
|
|
MsgBox("장비 ID를 입력하지 않았습니다.", vbExclamation)
|
|
Else
|
|
If cbbRgScType.SelectedIndex = -1 Then
|
|
MsgBox("장비 종류를 입력하지 않았습니다.", vbExclamation)
|
|
Else
|
|
dgvID.Rows.Add(txbRgScName.Text, txbRgScID.Text, cbbRgScType.SelectedItem)
|
|
MsgBox("장비 등록 완료", vbInformation)
|
|
|
|
EquipCBBLoad()
|
|
txbRgScName.Text = ""
|
|
txbRgScID.Text = ""
|
|
cbbRgScType.SelectedIndex = -1
|
|
cbbRgScType.Text = "선택!"
|
|
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub cbbScopeID_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbbScopeID.SelectedIndexChanged
|
|
If cbbScopeID.SelectedIndex <> -1 Then
|
|
txbScopeID.Text = ScopeList(cbbScopeID.SelectedIndex)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub cbbSpecID_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbbSpecID.SelectedIndexChanged
|
|
If cbbSpecID.SelectedIndex <> -1 Then
|
|
txbSpecID.Text = SpecList(cbbSpecID.SelectedIndex)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnScDel_Click(sender As Object, e As EventArgs) Handles btnScDel.Click
|
|
For i = 0 To dgvID.Rows.Count - 2
|
|
If dgvID.Rows(i).Selected = True Then
|
|
If MsgBox("해당 장비 데이터를 삭제하시겠습니까?", vbExclamation + vbYesNo) = MsgBoxResult.Yes Then
|
|
dgvID.Rows.Remove(dgvID.Rows(i))
|
|
MsgBox("데이터 삭제를 완료하였습니다.", vbInformation)
|
|
End If
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub EquipCBBLoad()
|
|
cbbScopeID.Items.Clear()
|
|
cbbSpecID.Items.Clear()
|
|
|
|
If dgvID.Rows.Count > 1 Then
|
|
For i = 0 To dgvID.Rows.Count - 2
|
|
If dgvID.Rows(i).Cells(2).Value.ToString.ToLower = "scope" Then
|
|
cbbScopeID.Items.Add(dgvID.Rows(i).Cells(0).Value)
|
|
ReDim Preserve ScopeList(cbbScopeID.Items.Count - 1)
|
|
ScopeList(cbbScopeID.Items.Count - 1) = dgvID.Rows(i).Cells(1).Value
|
|
Else
|
|
cbbSpecID.Items.Add(dgvID.Rows(i).Cells(0).Value)
|
|
ReDim Preserve SpecList(cbbSpecID.Items.Count - 1)
|
|
SpecList(cbbSpecID.Items.Count - 1) = dgvID.Rows(i).Cells(1).Value
|
|
End If
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub EquipList_LoadTxb(LoadData As String)
|
|
Dim DgvList() As String = New String(0) {""}
|
|
For i = 0 To UBound(Split(LoadData, "/"))
|
|
ReDim Preserve DgvList(i)
|
|
If InStr(LoadData, "/") > 0 Then
|
|
DgvList(i) = Mid(LoadData, 1, InStr(LoadData, "/") - 1)
|
|
LoadData = Mid(LoadData, InStr(LoadData, "/") + 1, LoadData.Length)
|
|
Else
|
|
DgvList(i) = Mid(LoadData, 1, LoadData.Length)
|
|
End If
|
|
Next
|
|
|
|
dgvID.Rows.Add(DgvList)
|
|
|
|
EquipCBBLoad()
|
|
End Sub
|
|
|
|
Private Sub rdbSort_CheckedChanged(sender As Object, e As EventArgs) Handles rdbSort.CheckedChanged
|
|
gbChkPoint.Visible = True
|
|
gbChkPoint.Enabled = True
|
|
gbScopeOption.Visible = False
|
|
gbScopeOption.Enabled = False
|
|
gbETC.Visible = False
|
|
gbETC.Enabled = False
|
|
gbStandard.Visible = True
|
|
rdbStdMax.Checked = True
|
|
|
|
End Sub
|
|
|
|
Private Sub rdbRF_CheckedChanged(sender As Object, e As EventArgs) Handles rdbRF.CheckedChanged
|
|
gbChkPoint.Visible = False
|
|
gbChkPoint.Enabled = False
|
|
gbScopeOption.Visible = True
|
|
gbScopeOption.Enabled = True
|
|
gbETC.Visible = True
|
|
gbETC.Enabled = True
|
|
|
|
gbMCoption.Visible = False
|
|
gbMCoption.Enabled = False
|
|
gbRFOption.Visible = True
|
|
gbRFOption.Enabled = True
|
|
gbStandard.Visible = False
|
|
End Sub
|
|
|
|
Private Sub rdbMC_CheckedChanged(sender As Object, e As EventArgs) Handles rdbMC.CheckedChanged
|
|
gbChkPoint.Visible = False
|
|
gbChkPoint.Enabled = False
|
|
gbScopeOption.Visible = True
|
|
gbScopeOption.Enabled = True
|
|
gbETC.Visible = True
|
|
gbETC.Enabled = True
|
|
|
|
gbMCoption.Visible = True
|
|
gbMCoption.Enabled = True
|
|
gbRFOption.Visible = False
|
|
gbRFOption.Enabled = False
|
|
gbStandard.Visible = False
|
|
End Sub
|
|
|
|
Private Sub rdbLed_CheckedChanged(sender As Object, e As EventArgs) Handles rdbLed.CheckedChanged
|
|
gbLedOp.Visible = True
|
|
gbLedOp.Enabled = True
|
|
|
|
gbSpecOption.Visible = False
|
|
gbSpecOption.Enabled = False
|
|
|
|
End Sub
|
|
|
|
Private Sub rdbTestMode_CheckedChanged(sender As Object, e As EventArgs) Handles rdbTestMode.CheckedChanged
|
|
gbLedOp.Visible = False
|
|
gbLedOp.Enabled = False
|
|
|
|
gbSpecOption.Visible = True
|
|
gbSpecOption.Enabled = True
|
|
|
|
End Sub
|
|
|
|
Private Function loadLocalFile() As Boolean
|
|
Try
|
|
Dim filePath, fileName, strData As String
|
|
Dim saveYear As String = DateAndTime.Year(Now)
|
|
Dim saveMonth As String = Format(Now, "MM")
|
|
Dim saveDay As String = Format(Now, "dd")
|
|
Dim saveDate As String = saveYear & "-" & saveMonth & "-" & saveDay
|
|
|
|
filePath = System.AppDomain.CurrentDomain.BaseDirectory & "\TestCount"
|
|
If Dir(filePath, vbDirectory) = "" Then
|
|
MkDir(filePath)
|
|
End If
|
|
fileName = filePath & "\" & saveYear & "_" & saveMonth & ".csv"
|
|
|
|
If File.Exists(fileName) Then
|
|
strData = File.ReadAllText(fileName)
|
|
|
|
If UBound(Split(strData, saveDate)) > 0 Then
|
|
todayCount = Val(Mid(strData, InStr(strData, saveDate), InStr(strData, vbCrLf) - 1))
|
|
End If
|
|
|
|
End If
|
|
|
|
Return True
|
|
Catch ex As Exception
|
|
MsgBox("오류 발생 :: " & ex.Message, vbCritical)
|
|
Return False
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Private Function saveLocalFile() As Boolean
|
|
|
|
Try
|
|
Dim filePath, fileName, saveData, strData As String
|
|
|
|
Dim saveYear As String = DateAndTime.Year(Now)
|
|
Dim saveMonth As String = Format(Now, "MM")
|
|
Dim saveDay As String = Format(Now, "dd")
|
|
Dim startForm As String = "TestDate,Count"
|
|
|
|
filePath = System.AppDomain.CurrentDomain.BaseDirectory & "\TestCount"
|
|
If Dir(filePath, vbDirectory) = "" Then
|
|
MkDir(filePath)
|
|
End If
|
|
fileName = filePath & "\" & saveYear & "_" & saveMonth & ".csv"
|
|
|
|
saveData = NowDate & "," & todayCount
|
|
|
|
If File.Exists(fileName) = True Then
|
|
strData = File.ReadAllText(fileName, Encoding.UTF8)
|
|
|
|
If strData = vbCrLf Or strData = Nothing Or strData = "" Then
|
|
strData = startForm & vbCrLf & saveData & vbCrLf
|
|
|
|
Else
|
|
If UBound(Split(strData, NowDate)) > 0 Then
|
|
strData = Mid(strData, 1, InStr(strData, NowDate) - 1)
|
|
strData = strData & saveData & vbCrLf
|
|
Else
|
|
strData = strData & saveData & vbCrLf
|
|
End If
|
|
|
|
End If
|
|
Else
|
|
strData = startForm & vbCrLf & saveData & vbCrLf
|
|
End If
|
|
|
|
File.WriteAllText(fileName, strData, Encoding.UTF8)
|
|
|
|
Return False
|
|
Catch ex As Exception
|
|
MsgBox("오류 발생 :: " & ex.Message, vbCritical)
|
|
TestError = False
|
|
Return True
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Private Function Save_Csv(SaveData As String) As Boolean
|
|
On Error GoTo WR_File_Error
|
|
TestStep = TestList.CSV
|
|
|
|
Dim ItemList As String
|
|
Dim FileName As String
|
|
Dim objWriter As StreamWriter
|
|
|
|
Dim syaer As String = DateAndTime.Year(Now)
|
|
Dim smonth As String = DateAndTime.Month(Now)
|
|
Dim sday As String = DateAndTime.Day(Now)
|
|
|
|
Dim FilePath As String = System.AppDomain.CurrentDomain.BaseDirectory & "\LogData"
|
|
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
Select Case formType
|
|
Case formTypeList.full
|
|
ItemList = "TestDate,TestTime,PV_SN,FW_VER,Battery_Level,Div_Temp,Cart_Temp,HIFU_6850,HIFU_Diff1,HIFU_7000,HIFU_Diff2,HIFU_7150,RF_1VRMS,RF_1Freq,RF_2VRMS,RF_2Freq,RF_3VRMS,RF_3Freq,MC_PlusWave,MC_PlusVpp,MC_MinusWave,MC_MinusVpp,EP_1Vpp,EP_1Freq,EP_1PWidth,EP_1NWidth,EP_2Vpp,EP_2Freq,EP_2PWidth,EP_2NWidth,EP_3Vpp,EP_3Freq,EP_3PWidth,EP_3NWidth,Test_Result"
|
|
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_ALL.csv"
|
|
Case formTypeList.prod_HF, formTypeList.EF_PD
|
|
ItemList = "PV_SN,TestDate,TestTime,FW_Ver,BatteryLv,DivTemp,CtTemp,HF_R1Value,HF_R2Value,HF_R3Value,Test_Result"
|
|
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_HF.csv"
|
|
Case formTypeList.prod_RF
|
|
ItemList = "PV_SN,TestDate,TestTime,FW_Ver,RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,MC_R1Wave,MC_R1Vpp,MC_R1Freq,MC_R2Wave,MC_R2Vpp,MC_R2Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth,Test_Result"
|
|
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_RF.csv"
|
|
Case formTypeList.altoIQC
|
|
ItemList = "TestDate,TestTime,FW_Ver,Div_Temp,RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth,Test_Result"
|
|
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_ALTOIQC.csv"
|
|
Case formTypeList.altoPD
|
|
ItemList = "PV_SN,TestDate,TestTime,FW_Ver,Div_Temp,Cart_Temp,Battery_Level,RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth,Test_Result"
|
|
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_ALTOPD.csv"
|
|
Case formTypeList.iqc
|
|
ItemList = "TestDate,TestTime,FW_Ver,Div_Temp,HF_R1Value,HF_R2Value,HF_R3Value,RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth,Test_Result"
|
|
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_IQC.csv"
|
|
Case formTypeList.Company
|
|
ItemList = "TestDate,TestTime,FW_Ver,Div_Temp,HF_R1Value,HF_R2Value,HF_R3Value,RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth,Test_Result"
|
|
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_COMPANY.csv"
|
|
Case formTypeList.DS_IQC, formTypeList.DS_PD
|
|
ItemList = "TestDate,TestTime,FW_Ver,BatteryLv,DivTemp,CtTemp,HF_R1Value,HF_R2Value,HF_R3Value,Test_Result"
|
|
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_DS_HF.csv"
|
|
Case Else
|
|
FileName = "Null"
|
|
ItemList = "Null"
|
|
End Select
|
|
|
|
If File.Exists(FileName) = True Then
|
|
objWriter = New StreamWriter(FileName, True)
|
|
objWriter.WriteLine(SaveData)
|
|
Else
|
|
objWriter = New StreamWriter(FileName, True)
|
|
objWriter.WriteLine(ItemList)
|
|
objWriter.WriteLine(SaveData)
|
|
End If
|
|
|
|
objWriter.Close()
|
|
TestRunningState(testRunningList.Success, Color.Green)
|
|
Return False
|
|
|
|
WR_File_Error:
|
|
MsgBox("Logdata save fail!" & Err.Description)
|
|
TestRunningState(testRunningList.Fail, Color.Red)
|
|
Return True
|
|
|
|
End Function
|
|
|
|
Private Sub WebCamList(CamType As Boolean)
|
|
Dim CamDevice As FilterInfoCollection = New FilterInfoCollection(FilterCategory.VideoInputDevice)
|
|
Dim CamList As ComboBox
|
|
|
|
If CamType = True Then
|
|
CamList = cbbWebCam
|
|
Else
|
|
CamList = cbbOLEDCam
|
|
End If
|
|
|
|
CamList.Items.Clear()
|
|
|
|
If CamDevice.Count <> 0 Then
|
|
For i = 0 To CamDevice.Count - 1
|
|
CamList.Items.Add(CamDevice(i).Name)
|
|
Next
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub btnWebCam_Click(sender As Object, e As EventArgs) Handles btnWebCam.Click
|
|
If btnWebCam.Text = "스캔" Then
|
|
WebCamList(True)
|
|
btnWebCam.Text = "연결"
|
|
Else
|
|
If cbbWebCam.SelectedIndex = -1 Then
|
|
btnWebCam.Text = "스캔"
|
|
MsgBox("웹캠을 선택하여 주십시오.", vbExclamation)
|
|
Exit Sub
|
|
End If
|
|
|
|
If cbbWebCam.SelectedItem = cbbOLEDCam.SelectedItem Then
|
|
MsgBox("OLED 측정 카메라와 같습니다. 다른 카메라를 선택하여 주십시오.", vbCritical)
|
|
Exit Sub
|
|
End If
|
|
|
|
WebCamNum = cbbWebCam.SelectedIndex
|
|
|
|
btnWebCam.Text = "스캔"
|
|
MsgBox("연결 완료", vbInformation)
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnOLEDCam_Click(sender As Object, e As EventArgs) Handles btnOLEDCam.Click
|
|
If btnOLEDCam.Text = "스캔" Then
|
|
WebCamList(False)
|
|
btnOLEDCam.Text = "연결"
|
|
Else
|
|
If cbbOLEDCam.SelectedIndex = -1 Then
|
|
btnOLEDCam.Text = "스캔"
|
|
MsgBox("웹캠을 선택하여 주십시오.", vbExclamation)
|
|
Exit Sub
|
|
End If
|
|
|
|
If cbbWebCam.SelectedItem = cbbOLEDCam.SelectedItem Then
|
|
MsgBox("LED 측정 카메라와 같습니다. 다른 카메라를 선택하여 주십시오.", vbCritical)
|
|
Exit Sub
|
|
End If
|
|
|
|
OLEDCamNum = cbbOLEDCam.SelectedIndex
|
|
|
|
btnOLEDCam.Text = "스캔"
|
|
MsgBox("연결 완료", vbInformation)
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub MainSetting()
|
|
Me.Text = Program_Name & Program_Version
|
|
Me.Size = New Drawing.Size(1920, 1080)
|
|
Me.WindowState = FormWindowState.Maximized
|
|
End Sub
|
|
|
|
Private Sub TopPositonSet()
|
|
pnMain.Location = New Drawing.Point(0, 0)
|
|
pnMain.Size = New Drawing.Size(1920, 1080)
|
|
|
|
gpbConfig.Location = New Drawing.Point(5, 5)
|
|
gpbConfig.Size = New Drawing.Size(285, 85)
|
|
|
|
gbMode.Location = New Drawing.Point(295, 5)
|
|
gbMode.Size = New Drawing.Size(1090, 85)
|
|
|
|
btnReStart.Location = New Drawing.Point(1395, 5)
|
|
btnReStart.Size = New Drawing.Size(170, 85)
|
|
|
|
|
|
btnSetup.Location = New Drawing.Point(1570, 5)
|
|
btnSetup.Size = New Drawing.Size(170, 85)
|
|
|
|
btnEnd.Location = New Drawing.Point(1745, 5)
|
|
btnEnd.Size = New Drawing.Size(170, 85)
|
|
End Sub
|
|
|
|
Private Sub BarcPositionSet()
|
|
|
|
txbBarcode.Location = New Drawing.Point(277, 25)
|
|
txbBarcode.Size = New Drawing.Size(810, 102)
|
|
|
|
lbBarcode.Location = New Drawing.Point(18, 28)
|
|
|
|
pnTDSN.Location = New Drawing.Point(1110, 15)
|
|
pnDate.Location = New Drawing.Point(1110, 55)
|
|
pnFreq.Location = New Drawing.Point(1110, 95)
|
|
|
|
pnGrade.Location = New Drawing.Point(1370, 15)
|
|
pnVer.Location = New Drawing.Point(1370, 55)
|
|
pnVolt.Location = New Drawing.Point(1370, 95)
|
|
|
|
pnDevTmp.Location = New Drawing.Point(1630, 15)
|
|
pnCartTmp.Location = New Drawing.Point(1630, 55)
|
|
End Sub
|
|
|
|
Private Sub rdbAll_CheckedChanged(sender As Object, e As EventArgs) Handles rdbAll.CheckedChanged
|
|
If rdbAll.Checked = True Then
|
|
gbHFTest.Visible = False
|
|
gbStep.Visible = True
|
|
gbRFMCEP.Visible = False
|
|
gbIQC.Visible = False
|
|
gbAltoIQC.Visible = False
|
|
gbDSForm.Visible = False
|
|
|
|
formType = formTypeList.full
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbHF_CheckedChanged(sender As Object, e As EventArgs) Handles rdbHF.CheckedChanged
|
|
If rdbHF.Checked = True Then
|
|
gbHFTest.Visible = True
|
|
gbStep.Visible = False
|
|
gbRFMCEP.Visible = False
|
|
gbIQC.Visible = False
|
|
gbAltoIQC.Visible = False
|
|
gbDSForm.Visible = False
|
|
|
|
formType = formTypeList.prod_HF
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbRFMCEP_CheckedChanged(sender As Object, e As EventArgs) Handles rdbRFMCEP.CheckedChanged
|
|
If rdbRFMCEP.Checked = True Then
|
|
gbHFTest.Visible = False
|
|
gbStep.Visible = False
|
|
gbRFMCEP.Visible = True
|
|
gbIQC.Visible = False
|
|
gbAltoIQC.Visible = False
|
|
gbDSForm.Visible = False
|
|
|
|
formType = formTypeList.prod_RF
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbIQC_CheckedChanged(sender As Object, e As EventArgs) Handles rdbIQC.CheckedChanged
|
|
If rdbIQC.Checked = True Then
|
|
gbHFTest.Visible = False
|
|
gbStep.Visible = False
|
|
gbRFMCEP.Visible = False
|
|
gbIQC.Visible = True
|
|
gbAltoIQC.Visible = False
|
|
gbDSForm.Visible = False
|
|
|
|
formType = formTypeList.iqc
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbAltoIqc_CheckedChanged(sender As Object, e As EventArgs) Handles rdbAltoIqc.CheckedChanged
|
|
If rdbAltoIqc.Checked = True Then
|
|
gbHFTest.Visible = False
|
|
gbStep.Visible = False
|
|
gbRFMCEP.Visible = False
|
|
gbIQC.Visible = False
|
|
gbAltoIQC.Visible = True
|
|
gbDSForm.Visible = False
|
|
|
|
formType = formTypeList.altoIQC
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbAltoPD_CheckedChanged(sender As Object, e As EventArgs) Handles rdbAltoPD.CheckedChanged
|
|
If rdbAltoPD.Checked = True Then
|
|
gbHFTest.Visible = False
|
|
gbStep.Visible = False
|
|
gbRFMCEP.Visible = False
|
|
gbIQC.Visible = False
|
|
gbAltoIQC.Visible = True
|
|
gbDSForm.Visible = False
|
|
|
|
formType = formTypeList.altoPD
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbCompany_CheckedChanged(sender As Object, e As EventArgs) Handles rdbCompany.CheckedChanged
|
|
If rdbCompany.Checked = True Then
|
|
gbHFTest.Visible = False
|
|
gbStep.Visible = False
|
|
gbRFMCEP.Visible = False
|
|
gbIQC.Visible = False
|
|
gbAltoIQC.Visible = True
|
|
gbDSForm.Visible = False
|
|
|
|
formType = formTypeList.Company
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbDsIQC_CheckedChanged(sender As Object, e As EventArgs) Handles rdbDsIQC.CheckedChanged
|
|
If rdbDsIQC.Checked = True Then
|
|
gbHFTest.Visible = False
|
|
gbStep.Visible = False
|
|
gbRFMCEP.Visible = False
|
|
gbIQC.Visible = False
|
|
gbAltoIQC.Visible = False
|
|
gbDSForm.Visible = True
|
|
|
|
formType = formTypeList.DS_IQC
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbDsPD_CheckedChanged(sender As Object, e As EventArgs) Handles rdbDsPD.CheckedChanged
|
|
If rdbDsPD.Checked = True Then
|
|
gbHFTest.Visible = False
|
|
gbStep.Visible = False
|
|
gbRFMCEP.Visible = False
|
|
gbIQC.Visible = False
|
|
gbAltoIQC.Visible = False
|
|
gbDSForm.Visible = True
|
|
|
|
formType = formTypeList.DS_PD
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub changeMode()
|
|
Dim ErrorSwitch As Boolean = False
|
|
|
|
btnEnd.Enabled = False
|
|
|
|
Select Case formType
|
|
Case formTypeList.full, formTypeList.iqc
|
|
|
|
EquipSetting()
|
|
|
|
Case formTypeList.prod_HF, formTypeList.DS_IQC, formTypeList.DS_PD, formTypeList.EF_PD, formTypeList.EF_IQC
|
|
If SpecSet() Then
|
|
txbWindow.AppendText("Spectrum Setting Fail!!" & vbCrLf)
|
|
ErrorSwitch = True
|
|
Else
|
|
txbWindow.AppendText("Spectrum Setting Success!!" & vbCrLf)
|
|
End If
|
|
|
|
If ErrorSwitch = False Then
|
|
StartSwitch = True
|
|
End If
|
|
|
|
Case formTypeList.prod_RF, formTypeList.altoIQC, formTypeList.altoPD, formTypeList.Company
|
|
If EquipSet() Then
|
|
txbWindow.AppendText("Scope Setting Fail!!" & vbCrLf)
|
|
ErrorSwitch = True
|
|
Else
|
|
txbWindow.AppendText("Scope Setting Success!!" & vbCrLf)
|
|
End If
|
|
|
|
If ErrorSwitch = False Then
|
|
StartSwitch = True
|
|
End If
|
|
|
|
Case Else
|
|
EquipSetting()
|
|
End Select
|
|
|
|
btnEnd.Enabled = True
|
|
StartClear()
|
|
txbBarcode.ReadOnly = False
|
|
txbBarcode.Focus()
|
|
End Sub
|
|
|
|
Private Sub txbRFresult_gotFocus(sender As Object, e As EventArgs) Handles txbRFresult.GotFocus, txbRFtest1.GotFocus, txbRFtest2.GotFocus, txbRFtest3.GotFocus, txbMCresult.GotFocus, txbEPresult.GotFocus, txbEPtest1.GotFocus, txbEPtest2.GotFocus, txbEPtest3.GotFocus, txbBat.GotFocus, txbTemp.GotFocus, txbHFresult.GotFocus, txbHFtest1.GotFocus, txbHFtest2.GotFocus, txbHFtest3.GotFocus, txbDBreg.GotFocus, txbTDreg.GotFocus, txbCmdWindow.GotFocus, txbDayCount.GotFocus, txbOkCount.GotFocus, txbNgCount.GotFocus
|
|
txbBarcode.Focus()
|
|
End Sub
|
|
|
|
Private Sub chkAdmin_CheckedChanged(sender As Object, e As EventArgs) Handles chkAdmin.CheckedChanged
|
|
If chkAdmin.Checked = True Then
|
|
Button1.Visible = True
|
|
Else
|
|
Button1.Visible = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub StatePosition()
|
|
Dim StepPanel(TestCount - 1) As Panel
|
|
|
|
gbStep.Location = New Drawing.Point(5, 240)
|
|
pnStep1.Location = New Drawing.Point(13, 20)
|
|
pnStep2.Location = New Drawing.Point(13, 165)
|
|
pnStep3.Location = New Drawing.Point(13, 310)
|
|
pnStep4.Location = New Drawing.Point(13, 455)
|
|
pnStep5.Location = New Drawing.Point(13, 600)
|
|
pnStep8.Location = New Drawing.Point(548, 20)
|
|
pnStep9.Location = New Drawing.Point(548, 165)
|
|
pnStep10.Location = New Drawing.Point(548, 310)
|
|
pnStep6.Location = New Drawing.Point(548, 455)
|
|
pnStep6.Enabled = False
|
|
pnStep7.Location = New Drawing.Point(548, 600)
|
|
pnStep7.Enabled = False
|
|
End Sub
|
|
|
|
Private Sub SituationPosition()
|
|
txbCmdWindow.Location = New Drawing.Point(1100, 245)
|
|
txbCmdWindow.Size = New Drawing.Size(810, 440)
|
|
|
|
btnRun.Location = New Drawing.Point(1100, 850)
|
|
btnRun.Size = New Drawing.Size(810, 135)
|
|
End Sub
|
|
|
|
Private Sub rdbEFPD_CheckedChanged(sender As Object, e As EventArgs) Handles rdbEFPD.CheckedChanged
|
|
If rdbEFPD.Checked = True Then
|
|
gbHFTest.Visible = True
|
|
gbStep.Visible = False
|
|
gbRFMCEP.Visible = False
|
|
gbIQC.Visible = False
|
|
gbAltoIQC.Visible = False
|
|
gbDSForm.Visible = False
|
|
|
|
formType = formTypeList.EF_PD
|
|
|
|
changeMode()
|
|
|
|
typeDataSetting()
|
|
modeConfigSave()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbEFIQC_CheckedChanged(sender As Object, e As EventArgs) Handles rdbEFIQC.CheckedChanged
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub rdbStdMax_CheckedChanged(sender As Object, e As EventArgs) Handles rdbStdMax.CheckedChanged
|
|
If rdbStdMax.Checked = True Then
|
|
pnStandard_Max.Visible = True
|
|
pnStandard_Al.Visible = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rdbStdAl_CheckedChanged(sender As Object, e As EventArgs) Handles rdbStdAl.CheckedChanged
|
|
If rdbStdAl.Checked = True Then
|
|
pnStandard_Max.Visible = False
|
|
pnStandard_Al.Visible = True
|
|
End If
|
|
End Sub
|
|
|
|
End Class
|