diff --git a/ProductFunctionTester/Main_Form.vb b/ProductFunctionTester/Main_Form.vb index 0b27342..ac5cdc6 100644 --- a/ProductFunctionTester/Main_Form.vb +++ b/ProductFunctionTester/Main_Form.vb @@ -1,10 +1,11 @@ -Imports System.IO +Imports System.Drawing.Drawing2D +Imports System.IO Imports System.IO.Ports Imports System.Math -Imports OpenCvSharp -Imports AForge.Video.DirectShow -Imports uPLibrary.Networking.M2Mqtt 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." @@ -2352,7 +2353,7 @@ SettingFail: End Try forSettingFail: - rfTestFail(forcnt) + rfTestFail(ForCnt) SettingFail: txbWindow.AppendText("Run RF FAIL" & vbCrLf) TestRunningState(testRunningList.Fail, Color.Red) @@ -4254,38 +4255,38 @@ startFail: If BuzzerTestFunc(0) Then TestError = False - GoTo ProcessEnd + GoTo NgEnd End If delay_run(100) If TempTest() Then - GoTo ProcessEnd + GoTo NgEnd End If If RFTestRun() Then - GoTo ProcessEnd + GoTo NgEnd End If If BuzzerTestFunc(1) Then TestError = False - GoTo ProcessEnd + GoTo NgEnd End If delay_run(100) If EPTestRun() Then - GoTo ProcessEnd + GoTo NgEnd End If If BuzzerTestFunc(2) Then TestError = False - GoTo ProcessEnd + GoTo NgEnd End If todayCount += 1 If saveLocalFile() Then - GoTo ProcessEnd + GoTo NgEnd End If GoTo SuccessEnd @@ -4341,7 +4342,49 @@ SuccessEnd: 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) @@ -4405,56 +4448,56 @@ NormalEnd: If BuzzerTestFunc(0) Then TestError = False - GoTo processEnd + GoTo NgEnd End If delay_run(StepDelay) If TempTest() Then TestError = False - GoTo processEnd + GoTo NgEnd End If delay_run(StepDelay) If HFTestRun() Then TestError = False - GoTo processEnd + GoTo NgEnd End If delay_run(StepDelay) If BuzzerTestFunc(1) Then TestError = False - GoTo processEnd + GoTo NgEnd End If delay_run(StepDelay) If RFTestRun() Then TestError = False - GoTo processEnd + GoTo NgEnd End If delay_run(StepDelay) If BuzzerTestFunc(2) Then TestError = False - GoTo processEnd + GoTo NgEnd End If delay_run(StepDelay) If EPTestRun() Then TestError = False - GoTo processEnd + GoTo NgEnd End If delay_run(StepDelay) todayCount += 1 If saveLocalFile() Then - GoTo processEnd + GoTo NgEnd End If GoTo SuccessEnd @@ -4513,7 +4556,44 @@ SuccessEnd: 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) @@ -4714,6 +4794,7 @@ RunSuccess: txbWindow.AppendText("=== 합격 데이터 저장 완료 ===" & vbCrLf) ProcessEnd: Jig_End() + GoTo NormalEnd NgEnd: txbWindow.AppendText("=== 불합격 데이터 저장 시작 ===" & vbCrLf) ' 불합격 시에도 전체 데이터 저장 로직 실행 @@ -4887,29 +4968,29 @@ NormalEnd: If BatteryTest() Then FailMain() - GoTo ProcessEnd + GoTo NgEnd End If If TempTest() Then FailMain() - GoTo ProcessEnd + GoTo NgEnd End If If HFTestRun() Then FailMain() - GoTo ProcessEnd + GoTo NgEnd End If If rdbHF.Checked = True Then If DataWrite(formProdCode(formTypeList.prod_HF)) Then FailMain() - GoTo ProcessEnd + GoTo NgEnd End If ElseIf rdbEFPD.Checked = True Then If DataWrite(formProdCode(formTypeList.EF_PD)) Then FailMain() - GoTo ProcessEnd + GoTo NgEnd End If End If @@ -4928,6 +5009,7 @@ NormalEnd: End If RunSuccess: + txbWindow.AppendText("=== 합격 데이터 저장 시작 ===" & vbCrLf) If HIFU_PostReg() Then txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf) @@ -4975,10 +5057,61 @@ RunSuccess: FailMain() End If - + txbWindow.AppendText("=== 합격 데이터 저장 완료 ===" & vbCrLf) ProcessEnd: Jig_End() + GoTo NormalEnd +NgEnd: + 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) + + Jig_End() NormalEnd: txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf) End Sub @@ -5045,7 +5178,7 @@ NormalEnd: txbDSBasic.BackColor = Color.Red txbDSBasic.Refresh() FailMain() - GoTo ProcessEnd + GoTo NgEnd End If If BatteryTest() Then @@ -5053,7 +5186,7 @@ NormalEnd: txbDSBasic.BackColor = Color.Red txbDSBasic.Refresh() FailMain() - GoTo ProcessEnd + GoTo NgEnd End If txbDSBasic.Text = "SUCCESS" @@ -5062,7 +5195,7 @@ NormalEnd: If HFTestRun() Then FailMain() - GoTo ProcessEnd + GoTo NgEnd End If TestStep = TestList.DataWrite @@ -5126,6 +5259,30 @@ RunSuccess: 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 @@ -5802,7 +5959,7 @@ dbFail: Dim sucSwitch As Boolean = False - If dupDATA = 2 Then + 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 @@ -5868,8 +6025,29 @@ dbFail: processNum = 0 - If dupDATA = 1 Then + '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