Compare commits

..

1 Commits

Author SHA1 Message Date
hyelinjung
091e4f4987 feat:도트검사 저장 기능 추가 2025-10-28 17:20:09 +09:00
30 changed files with 1855 additions and 937 deletions

Binary file not shown.

View File

@ -0,0 +1,99 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\store-tdtestexecutor\\frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|solutionrelative:frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\store-tdtestexecutor\\frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|solutionrelative:frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\store-tdtestexecutor\\frmtd_jig.designer.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|solutionrelative:frmtd_jig.designer.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\store-tdtestexecutor\\mysqlmodule.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|solutionrelative:mysqlmodule.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 3,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{eefa5220-e298-11d0-8f78-00a0c9110057}"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "frmTD_JIG.Designer.vb",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.Designer.vb",
"RelativeDocumentMoniker": "frmTD_JIG.Designer.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.Designer.vb",
"RelativeToolTip": "frmTD_JIG.Designer.vb",
"ViewState": "AgIAABcCAAAAAAAAAAAUwBcCAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-10-28T03:09:19.534Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "frmTD_JIG.vb [\uB514\uC790\uC778]",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.vb",
"RelativeDocumentMoniker": "frmTD_JIG.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.vb [\uB514\uC790\uC778]",
"RelativeToolTip": "frmTD_JIG.vb [\uB514\uC790\uC778]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-10-28T02:25:22.838Z",
"EditorCaption": " [\uB514\uC790\uC778]"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "frmTD_JIG.vb",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.vb",
"RelativeDocumentMoniker": "frmTD_JIG.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.vb",
"RelativeToolTip": "frmTD_JIG.vb",
"ViewState": "AgIAAHUYAAAAAAAAAAApwHcYAAAxAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-10-28T00:15:22.705Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "MySqlModule.vb",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\MySqlModule.vb",
"RelativeDocumentMoniker": "MySqlModule.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\MySqlModule.vb",
"RelativeToolTip": "MySqlModule.vb",
"ViewState": "AgIAAPkAAAAAAAAAAAAUwNUAAAAUAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-10-28T00:13:40.894Z",
"EditorCaption": ""
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}"
},
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
}
]
}
]
}
]
}

View File

@ -1,14 +1,26 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\programs\\01. \uC218\uC815 \uD504\uB85C\uADF8\uB7A8\\\uCE90\uD37C\uC2DC\uD130 \uB0A9\uB55C \uACF5\uC815 OVER \uC0AC\uC6A9 \uBD88\uAC00\uB2A5\uD558\uAC8C \uC218\uC815\\DUALSONIC TD MEASURING INSTRUMENT Ver2.4.1\\",
"WorkspaceRootPath": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|DUALSONIC TD_IQC_JIG.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\programs\\01. \uC218\uC815 \uD504\uB85C\uADF8\uB7A8\\\uCE90\uD37C\uC2DC\uD130 \uB0A9\uB55C \uACF5\uC815 over \uC0AC\uC6A9 \uBD88\uAC00\uB2A5\uD558\uAC8C \uC218\uC815\\dualsonic td measuring instrument ver2.4.1\\frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|DUALSONIC TD_IQC_JIG.vbproj|solutionrelative:frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\store-tdtestexecutor\\frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|solutionrelative:frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|DUALSONIC TD_IQC_JIG.vbproj|C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\programs\\01. \uC218\uC815 \uD504\uB85C\uADF8\uB7A8\\\uCE90\uD37C\uC2DC\uD130 \uB0A9\uB55C \uACF5\uC815 OVER \uC0AC\uC6A9 \uBD88\uAC00\uB2A5\uD558\uAC8C \uC218\uC815\\DUALSONIC TD MEASURING INSTRUMENT Ver2.4.1\\frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|DUALSONIC TD_IQC_JIG.vbproj|solutionrelative:frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form"
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\store-tdtestexecutor\\frmmqtt.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|solutionrelative:frmmqtt.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\store-tdtestexecutor\\frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|solutionrelative:frmtd_jig.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\store-tdtestexecutor\\frmtd_jig.designer.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|solutionrelative:frmtd_jig.designer.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\store-tdtestexecutor\\mysqlmodule.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{20D8C414-197C-4ABA-9791-3283368A7D44}|TDTestExecutor.vbproj|solutionrelative:mysqlmodule.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
}
],
"DocumentGroupContainers": [
@ -18,31 +30,83 @@
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 0,
"SelectedChildIndex": 4,
"Children": [
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "frmTD_JIG.vb",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\programs\\01. \uC218\uC815 \uD504\uB85C\uADF8\uB7A8\\\uCE90\uD37C\uC2DC\uD130 \uB0A9\uB55C \uACF5\uC815 OVER \uC0AC\uC6A9 \uBD88\uAC00\uB2A5\uD558\uAC8C \uC218\uC815\\DUALSONIC TD MEASURING INSTRUMENT Ver2.4.1\\frmTD_JIG.vb",
"RelativeDocumentMoniker": "frmTD_JIG.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\programs\\01. \uC218\uC815 \uD504\uB85C\uADF8\uB7A8\\\uCE90\uD37C\uC2DC\uD130 \uB0A9\uB55C \uACF5\uC815 OVER \uC0AC\uC6A9 \uBD88\uAC00\uB2A5\uD558\uAC8C \uC218\uC815\\DUALSONIC TD MEASURING INSTRUMENT Ver2.4.1\\frmTD_JIG.vb",
"RelativeToolTip": "frmTD_JIG.vb",
"ViewState": "AgIAAGAAAAAAAAAAAAAYwAwAAAAsAAAAAAAAAA==",
"DocumentIndex": 1,
"Title": "frmMqtt.vb",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmMqtt.vb",
"RelativeDocumentMoniker": "frmMqtt.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmMqtt.vb",
"RelativeToolTip": "frmMqtt.vb",
"ViewState": "AgIAADoAAAAAAAAAAAAkwFAAAAAcAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-04-16T06:25:58.979Z",
"WhenOpened": "2025-10-28T07:57:37.761Z",
"EditorCaption": ""
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{eefa5220-e298-11d0-8f78-00a0c9110057}"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "frmTD_JIG.Designer.vb",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.Designer.vb",
"RelativeDocumentMoniker": "frmTD_JIG.Designer.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.Designer.vb",
"RelativeToolTip": "frmTD_JIG.Designer.vb",
"ViewState": "AgIAABcCAAAAAAAAAAAUwBcCAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-10-28T03:09:19.534Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 2,
"Title": "frmTD_JIG.vb [\uB514\uC790\uC778]",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\programs\\01. \uC218\uC815 \uD504\uB85C\uADF8\uB7A8\\\uCE90\uD37C\uC2DC\uD130 \uB0A9\uB55C \uACF5\uC815 OVER \uC0AC\uC6A9 \uBD88\uAC00\uB2A5\uD558\uAC8C \uC218\uC815\\DUALSONIC TD MEASURING INSTRUMENT Ver2.4.1\\frmTD_JIG.vb",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.vb",
"RelativeDocumentMoniker": "frmTD_JIG.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\programs\\tmp\\\uC804\uB958\uCE21\uC815 \uD504\uB85C\uADF8\uB7A8 3.2.6\\frmTD_JIG.vb [\uB514\uC790\uC778]",
"RelativeToolTip": "..\\..\\..\\tmp\\\uC804\uB958\uCE21\uC815 \uD504\uB85C\uADF8\uB7A8 3.2.6\\frmTD_JIG.vb [\uB514\uC790\uC778]",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.vb [\uB514\uC790\uC778]",
"RelativeToolTip": "frmTD_JIG.vb [\uB514\uC790\uC778]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-04-16T06:25:57.111Z"
"WhenOpened": "2025-10-28T02:25:22.838Z",
"EditorCaption": " [\uB514\uC790\uC778]"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "frmTD_JIG.vb",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.vb",
"RelativeDocumentMoniker": "frmTD_JIG.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\frmTD_JIG.vb",
"RelativeToolTip": "frmTD_JIG.vb",
"ViewState": "AgIAAIMYAAAAAAAAAAAtwJEYAAAtAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-10-28T00:15:22.705Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "MySqlModule.vb",
"DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\MySqlModule.vb",
"RelativeDocumentMoniker": "MySqlModule.vb",
"ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\store-TDTestExecutor\\MySqlModule.vb",
"RelativeToolTip": "MySqlModule.vb",
"ViewState": "AgIAAPkAAAAAAAAAAAAUwNUAAAAUAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-10-28T00:13:40.894Z",
"EditorCaption": ""
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}"
},
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
}
]
}

View File

@ -1,9 +1,10 @@
Imports MySql.Data ' 데이터베이스 연동을 위한 네임스페이스 추가
Imports DUALSONIC_TD_Select_Tester.frmTD_JIG
Imports MySql.Data ' 데이터베이스 연동을 위한 네임스페이스 추가
Imports MySql.Data.MySqlClient ' MYSQL Server용 네임스페이스 추가
Module MySqlModule
Private Const LocalHostIP As String = "192.168.0.250"
Private Const DataBaseName As String = "jomtTesterDB"
'Private Const DataBaseName As String = "jomtTestServerDB"
'Private Const DataBaseName As String = "jomtTesterDB"
Private Const DataBaseName As String = "jomtTesterServerDB"
Private Const UserDataBaseName As String = "jomtAccountDB"
Private Const UserName As String = "root"
Private Const Password As String = "JOMT1646db!!"
@ -105,6 +106,18 @@ Module MySqlModule
Public CntRegMesPD1 As MES_PD1_CNT
Public RegLocalPD1 As MES_PD1_CNT
Public Structure MES_PD4_CNT
Public PD4_Date As String
Public PD4_TotalCnt As Long
Public PD4_OKCnt As Long
Public PD4_NGCnt As Long
Public PD4_GradeCnt() As Long
Public PD4_CapCnt() As Long
End Structure
Public CntRegMesPD4 As MES_PD4_CNT
Public Structure MES_Tester
Dim MesDate As String
@ -211,13 +224,13 @@ Module MySqlModule
sqlCmd.CommandText = "USE " & DataBaseName & ";"
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCmd.CommandText = cmdStr
sqlCmd.Connection = sqlCon
sqlData = sqlCmd.ExecuteReader
FieldCount = sqlData.FieldCount
While (sqlData.Read())
If initRun Then
ReDim sqlDataQuery(FieldCount - 1)
@ -242,6 +255,7 @@ Module MySqlModule
End If
QueryCount += 1
Next
End While
@ -255,6 +269,7 @@ Module MySqlModule
End Try
End
End Function
Public Function UserDBCommand(cmdStr As String) As Boolean
Try
sqlCon.Open()
@ -468,6 +483,22 @@ Module MySqlModule
MsgBox(Err.Description)
End Try
End Sub
Public Sub ResetRegMesPD4()
Try
With CntRegMesPD4
.PD4_Date = ""
.PD4_TotalCnt = 0
.PD4_OKCnt = 0
.PD4_NGCnt = 0
End With
ReDim CntRegMesPD4.PD4_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim CntRegMesPD4.PD4_CapCnt(RELAY_NUM.MAX_RELAY_NUM - 1)
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
Public Sub ResetCntRegMesPD1()
Try
With CntRegMesPD1
@ -583,6 +614,120 @@ Module MySqlModule
Return True
End Try
End Function
Public Function SaveDotMeasure(obj As DotMeasure, sn As String) As Boolean
Try
Dim tempV As String = "null"
Dim resultObj = obj
Dim query As String
query = "update jomtCartridgeTbl set dot_date='" & getNowDate() &
"',dot_time ='" & getNowTime() &
"',dot_CartType =" & If(resultObj.cartType = "", tempV, "'" & resultObj.cartType & "'") &
",dot_result ='" & resultObj.result &
"',dot_reason= " & If(resultObj.reason = "", tempV, "'" & resultObj.reason & "'") &
",dot_Power= " & If(resultObj.power = "", tempV, "'" & resultObj.power & "'") &
",dot_depth= " & If(resultObj.depth = "", tempV, "'" & resultObj.depth & "'") &
" where pv_sn='" & sn & "';"
If DBCommand(query) Then
DotMeasureReset(obj)
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
Private Sub DotMeasureReset(obj As DotMeasure)
With obj
.reason = ""
.result = ""
.cartType = ""
.depth = ""
.power = ""
End With
End Sub
'dot 검사
Public Function LoadRegPD4() As Boolean
Dim TodayDate As String
Dim RetCnt As String
Dim IQCCmd As String = "PD3_DATE,PD3_TotalCnt,PD3_OkCnt,PD3_NgCnt,PD3_ProCnt,PD3_EyeCnt,PD3_luxCnt,PD3_R1Cnt,PD3_R2Cnt,PD3_R3Cnt,PD3_R4Cnt,PD3_R5Cnt,PD3_R6Cnt,PD3_R7Cnt,PD3_R8Cnt,PD3_R9Cnt,PD3_R10Cnt"
Dim cnt, queryCnt As Integer
Try
TodayDate = getNowDate()
ResetRegMesPD4()
RetCnt = DBQueryReader("select Number from jomtMes_PD3Tbl where PD3_Date='" & TodayDate & "';")
If RetCnt = 0 Then
StrCmd = "insert into jomtMes_PD3Tbl(" & IQCCmd & ") values('" & TodayDate & "',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);"
DBCommand(StrCmd)
End If
RetCnt = DBQueryReader("select " & IQCCmd & " from jomtMes_PD3Tbl where PD3_Date='" & TodayDate & "';")
If RetCnt <> 0 Then
queryCnt = 0
CntRegMesPD4.PD4_Date = sqlDataQuery(queryCnt)
queryCnt += 1
CntRegMesPD4.PD4_TotalCnt = sqlDataQuery(queryCnt)
queryCnt += 1
CntRegMesPD4.PD4_OKCnt = sqlDataQuery(queryCnt)
queryCnt += 1
CntRegMesPD4.PD4_NGCnt = sqlDataQuery(queryCnt)
For cnt = MODEL_NAME.PRO To MODEL_NAME.EYE
queryCnt += 1
CntRegMesPD4.PD4_GradeCnt(cnt) = sqlDataQuery(queryCnt)
Next
For cnt = RELAY_NUM.RL1 To RELAY_NUM.MAX_RELAY_NUM - 1
queryCnt += 1
CntRegMesPD4.PD4_CapCnt(cnt) = sqlDataQuery(queryCnt)
Next
Return False
Else
Return True
End If
Catch ex As Exception
MsgBox(Err.Description)
Return True
End Try
End Function
Public Function SavePD4() As Boolean
Dim TodayDate As String
Try
TodayDate = getNowDate()
Dim Query As String = "update jomtMes_PD3Tbl set PD3_TotalCnt =" &
CntRegMesPD4.PD4_TotalCnt & ",PD3_OkCnt =" &
CntRegMesPD4.PD4_OKCnt & ",PD3_NgCnt=" &
CntRegMesPD4.PD4_NGCnt & ",PD3_ProCnt=" &
CntRegMesPD4.PD4_GradeCnt(MODEL_NAME.PRO) & ",PD3_EyeCnt=" &
CntRegMesPD4.PD4_GradeCnt(MODEL_NAME.LUX) & ",PD3_luxCnt=" &
CntRegMesPD4.PD4_GradeCnt(MODEL_NAME.EYE) & ",PD3_R1Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL1) & ",PD3_R2Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL2) & ",PD3_R3Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL3) & ",PD3_R4Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL4) & ",PD3_R5Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL5) & ",PD3_R6Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL6) & ",PD3_R7Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL7) & ",PD3_R8Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL8) & ",PD3_R9Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL9) & ",PD3_R10Cnt=" &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL10) & " where PD3_DATE ='" & TodayDate & "';"
DBCommand(Query)
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Sub ResetRegProduct()
With RegMesProduct
.IQC_TotalCnt = 0
@ -603,7 +748,7 @@ Module MySqlModule
Public Function LoadRegProduct() As Boolean
Dim TodayDate As String
Dim RetCnt As String
Dim PuductCmd As String = "MesDate,Stock_ProCnt,Stock_LuxCnt,Stock_EyeCnt,Release_ProCnt,Release_LuxCnt,Release_EyeCnt,PV_TDCnt,IQC_TotalCnt,IQC_OkCnt,IQC_NgCnt,IQC_ProCnt,IQC_LuxCnt,IQC_EyeCnt,IQC_ProR1Cnt,IQC_ProR2Cnt,IQC_ProR3Cnt,IQC_ProR4Cnt,IQC_ProR5Cnt,IQC_ProR6Cnt,IQC_ProR7Cnt,IQC_ProR8Cnt,IQC_ProR9Cnt,IQC_ProR10Cnt,IQC_LuxR1Cnt,IQC_LuxR2Cnt,IQC_LuxR3Cnt,IQC_LuxR4Cnt,IQC_LuxR5Cnt,IQC_LuxR6Cnt,IQC_LuxR7Cnt,IQC_LuxR8Cnt,IQC_LuxR9Cnt,IQC_LuxR10Cnt,IQC_EyeR1Cnt,IQC_EyeR2Cnt,IQC_EyeR3Cnt,IQC_EyeR4Cnt,IQC_EyeR5Cnt,IQC_EyeR6Cnt,IQC_EyeR7Cnt,IQC_EyeR8Cnt,IQC_EyeR9Cnt,IQC_EyeR10Cnt,P1_TotalCnt,P1_OkCnt,P1_NgCnt,P1_ProCnt,P1_LuxCnt,P1_EyeCnt,P2_TotalCnt,P2_OkCnt,P2_NgCnt,P2_ProCnt,P2_LuxCnt,P2_EyeCnt"
Dim PuductCmd As String = "MesDate, Stock_ProCnt, Stock_LuxCnt, Stock_EyeCnt, Release_ProCnt, Release_LuxCnt, Release_EyeCnt, PV_TDCnt, IQC_TotalCnt, IQC_OkCnt, IQC_NgCnt, IQC_ProCnt, IQC_LuxCnt, IQC_EyeCnt, IQC_ProR1Cnt, IQC_ProR2Cnt, IQC_ProR3Cnt, IQC_ProR4Cnt, IQC_ProR5Cnt, IQC_ProR6Cnt, IQC_ProR7Cnt, IQC_ProR8Cnt, IQC_ProR9Cnt, IQC_ProR10Cnt, IQC_LuxR1Cnt, IQC_LuxR2Cnt, IQC_LuxR3Cnt, IQC_LuxR4Cnt, IQC_LuxR5Cnt, IQC_LuxR6Cnt, IQC_LuxR7Cnt, IQC_LuxR8Cnt, IQC_LuxR9Cnt, IQC_LuxR10Cnt, IQC_EyeR1Cnt, IQC_EyeR2Cnt, IQC_EyeR3Cnt, IQC_EyeR4Cnt, IQC_EyeR5Cnt, IQC_EyeR6Cnt, IQC_EyeR7Cnt, IQC_EyeR8Cnt, IQC_EyeR9Cnt, IQC_EyeR10Cnt, P1_TotalCnt, P1_OkCnt, P1_NgCnt, P1_ProCnt, P1_LuxCnt, P1_EyeCnt, P2_TotalCnt, P2_OkCnt, P2_NgCnt, P2_ProCnt, P2_LuxCnt, P2_EyeCnt"
Dim PreNumber As Long
Dim QueryCnt As Integer
Dim TmpStrCmd As String = ""

View File

@ -1 +1 @@
2,COM3,0x1797::CN56526457,500,300,13,2,1.91,1.81,1.81,1.71,1.61,1.61,1.56,1.51,0,22,56,82,100,120,150,180,220,270,0.001,0.007,0.5,1.5,AVG,0.05,-0.035,0.000,5000,0.000,3,47,1.75,1.68,1.61,1.61,1.66,1.51,1.61,1.56,1.51,2,4,6,7,8,True,0
4,COM3,0x1797::CN56526457,500,300,13,2,1.91,1.81,1.81,1.71,1.61,1.61,1.56,1.51,0,22,56,82,100,120,150,180,220,270,0.001,0.007,0.5,1.5,AVG,0.05,-0.035,0.000,5000,0.000,3,47,1.75,1.68,1.61,1.61,1.66,1.51,1.61,1.56,1.51,2,4,6,7,8,True,0

View File

@ -0,0 +1,2 @@
Date,Time,Total_Count,OK_Count,NG_Count,PRO_Count,LUX_Count,EYE_Count,RL1_Count,RL2_Count,RL3_Count,RL4_Count,RL5_Count,RL6_Count,RL7_Count,RL8_Count,RL9_Count,RL10_Count
2025-10-28,16:46:03,15,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0
1 Date Time Total_Count OK_Count NG_Count PRO_Count LUX_Count EYE_Count RL1_Count RL2_Count RL3_Count RL4_Count RL5_Count RL6_Count RL7_Count RL8_Count RL9_Count RL10_Count
2 2025-10-28 16:46:03 15 7 8 0 0 0 0 0 0 0 0 0 0 0 0 0

Binary file not shown.

View File

@ -22,5 +22,10 @@ DUALSONIC TD Select Tester
재정의합니다.
</summary>
</member>
<member name="P:DUALSONIC_TD_Select_Tester.My.Resources.Resources.JOMT_아이콘_PNG">
<summary>
System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
</summary>
</member>
</members>
</doc>

2170
frmTD_JIG.Designer.vb generated

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,17 @@
Imports System.Drawing.Printing
Imports System.IO
Imports System.IO.Ports
Imports System.Management
Imports System.Threading
Imports uPLibrary.Networking.M2Mqtt
Imports System.Linq
Imports System.Management
Imports System.Math
Imports System.Runtime.InteropServices.ComTypes
Imports System.Text
Imports System.Threading
Imports DUALSONIC_TD_Select_Tester.frmTD_JIG
Imports uPLibrary.Networking.M2Mqtt
Public Class frmTD_JIG
Public Const TESTER_VER As String = "3.0.0"
Public Const TESTER_VER As String = "2.4.2"
Public ShowDetailLog As Boolean = False
Public RunDemoMode As Boolean = False
Public EnableSetup As Boolean = False
@ -68,6 +69,8 @@ Public Class frmTD_JIG
Public txbIQC_RCnt(RELAY_NUM.MAX_RELAY_NUM) As TextBox
Public txbPD1_GCnt(MODEL_NAME.MAX_MODEL_NUM) As TextBox
Public txbPD1_RCnt(RELAY_NUM.MAX_RELAY_NUM) As TextBox
Public txbPD3_GCnt(MODEL_NAME.MAX_MODEL_NUM) As TextBox
Public txbPD3_RCnt(RELAY_NUM.MAX_RELAY_NUM) As TextBox
Public Structure PreCnt
Public TotalCnt As Long
Public OKCnt As Long
@ -92,6 +95,18 @@ Public Class frmTD_JIG
Public PreCnt_IQC As PreCnt
Public PreCnt_PD1 As PreCnt
'도트 검사
Public Structure DotMeasure
Public reason As String
Public result As String
Public cartType As String
Public depth As String
Public power As String
End Structure
Public dot_mes As DotMeasure
Public ProMAX As Double = 1.83
Public ProTYP As Double = 1.78
Public ProMIN As Double = 1.73
@ -556,6 +571,22 @@ Public Class frmTD_JIG
txbPD1_RCnt(9) = txbR9CntPD1
txbPD1_RCnt(10) = txbR10CntPD1
txbPD3_GCnt(1) = TextBox14
txbPD3_GCnt(2) = TextBox16
txbPD3_GCnt(3) = TextBox15
txbPD3_RCnt(1) = TextBox11
txbPD3_RCnt(2) = TextBox8
txbPD3_RCnt(3) = TextBox17
txbPD3_RCnt(4) = TextBox9
txbPD3_RCnt(5) = TextBox10
txbPD3_RCnt(6) = TextBox3
txbPD3_RCnt(7) = TextBox7
txbPD3_RCnt(8) = TextBox6
txbPD3_RCnt(9) = TextBox5
txbPD3_RCnt(10) = TextBox4
cboGrade.Items.Add("PRO")
cboGrade.Items.Add("LUX")
cboGrade.Items.Add("EYE")
@ -713,6 +744,7 @@ WR_File_Error:
FilePath = FilePath & "LogData\PD2"
ElseIf DevNum = 4 Then
FilePath = FilePath & "LogData\PD3"
ItemList = "Date,Time,Total_Count,OK_Count,NG_Count,PRO_Count,LUX_Count,EYE_Count,RL1_Count,RL2_Count,RL3_Count,RL4_Count,RL5_Count,RL6_Count,RL7_Count,RL8_Count,RL9_Count,RL10_Count"
End If
'디렉토리가 없을 경우
@ -984,6 +1016,7 @@ WR_File_Error:
gpbProduct2.Visible = False
gpbProduct3.Visible = True
gpbProduct4.Visible = False
gpbProductDotMeasure.Visible = False
Me.Text = Title_Text & " (도트 검사 공정)"
gpbProduct3.Location = New Size(2, 230)
@ -1077,6 +1110,12 @@ WR_File_Error:
loadProduct3Windows()
OpenSerial()
initCartInfo()
If LoadRegPD4() Then
MsgBox("Today's dot measure count data check fail!")
Else
LoadTextPD4()
End If
End If
cmdDisplay("Load Windows Form Complete!")
@ -1407,7 +1446,7 @@ VisaComError:
End Function
Private Sub cmdSerial_Click(sender As Object, e As EventArgs) Handles cmdSerial.Click
LoadComportName()
'LoadComportName()
End Sub
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
@ -1688,6 +1727,11 @@ VisaComError:
retVal = PollingReceiveData(500)
If retVal = cmdStr Then
dot_mes.cartType = If(retVal = 1, "EYE", "FACE")
With dot_mes
.power = ""
.depth = ""
End With
Return False
Else
Return True
@ -1704,6 +1748,7 @@ VisaComError:
retVal = PollingReceiveData(500)
If retVal = cmdStr Then
dot_mes.depth = cmdStr
Return False
Else
Return True
@ -1719,6 +1764,7 @@ VisaComError:
retVal = PollingReceiveData(500)
If retVal = cmdStr Then
dot_mes.power = cmdStr
Return False
Else
Return True
@ -2295,6 +2341,27 @@ VisaComError:
cmdDisplay(Err.Description)
End Try
End Sub
Private Sub LoadTextPD4()
Try
TextBox18.Text = CntRegMesPD4.PD4_TotalCnt
TextBox18.Refresh()
TextBox13.Text = CntRegMesPD4.PD4_OKCnt
TextBox13.Refresh()
TextBox12.Text = CntRegMesPD4.PD4_NGCnt
TextBox12.Refresh()
For index = MODEL_NAME.PRO To MODEL_NAME.EYE
txbPD3_GCnt(index).Text = CntRegMesPD4.PD4_GradeCnt(index)
Next
For index = RELAY_NUM.RL1 To RELAY_NUM.RL10
txbPD3_RCnt(index).Text = CntRegMesPD4.PD4_CapCnt(index)
Next
Catch ex As Exception
End Try
End Sub
Private Sub TesterLogTransDB()
Dim TestStep As Integer
Dim UpdateSetDataStr As String
@ -2427,7 +2494,7 @@ VisaComError:
DelayMs(Val(txbOntime.Text) + 50)
RetStr = RunMeasure()
If IsNumeric(RetStr) = False Or RetStr = "Fail" Then
If RetStr = "Fail" Then
StatusFail = True
txbRun.Text = "Scope Error 03" 'cmdDisplay("Trigger failure")
txbRun.BackColor = Color.Red
@ -2489,7 +2556,7 @@ VisaComError:
DelayMs(Val(txbOntime.Text) + 50)
RetStr = RunMeasure()
If IsNumeric(RetStr) = False Or RetStr = "Fail" Then
If RetStr = "Fail" Then
StatusFail = True
txbRun.Text = "Scope Error 03" 'cmdDisplay("Trigger failure")
txbRun.BackColor = Color.Red
@ -2544,19 +2611,6 @@ MEASURE_END:
Else
RegMeasure.MeasureValue(0) = 0
If Mid(RegMeasure.MeasurePV_SN, 1, 2) = "J3" Then
For Cnt = 1 To RelayCnt.Length - 1
If RegMeasure.MeasureValue(RelayCnt(Cnt)) <= EyeMAX And RegMeasure.MeasureValue(0) = 0 Then RegMeasure.MeasureValue(0) = Cnt
If RegMeasure.MeasureValue(0) Then
If RegMeasure.MeasureValue(RegMeasure.MeasureValue(0)) < RegMeasure.MeasureValue(RelayCnt(Cnt)) Then
If RegMeasure.MeasureValue(RelayCnt(Cnt)) <= EyeMAX Then
RegMeasure.MeasureValue(0) = RelayCnt(Cnt)
End If
End If
End If
Next
Else
For Cnt = 1 To RelayCnt.Length - 1
If RegMeasure.MeasureValue(RelayCnt(Cnt)) <= ProMAX And RegMeasure.MeasureValue(0) = 0 Then RegMeasure.MeasureValue(0) = Cnt
@ -2568,7 +2622,6 @@ MEASURE_END:
End If
End If
Next
End If
If RegMeasure.MeasureValue(0) = 0 Then
RegMeasure.MeasureOkNg = "NG"
@ -3494,8 +3547,6 @@ MEASURE_END:
End Sub
Private Sub RunProcessPD3()
Dim Cnt As Integer
Try
If (txbPV_Freq.Text = "N/A" Or txbPV_Freq.Text = "") And (txbCapacitorPD3.Text = "대기" Or txbCapacitorPD3.Text = "") Then
MsgBox("카트리지 정보를 입력해주세요.")
@ -3529,6 +3580,11 @@ MEASURE_END:
txbPV_SN.Focus()
End If
'gpbProductDotMeasure.Visible = True
'Me.Text = Title_Text & " (도트 검사 공정 결과 작성)"
'btnRunPD3.Text = "등록"
'btnRunPD3.Enabled = True
Exit Sub
Catch ex As Exception
txbGradePD3.Text = "FAIL"
@ -4562,6 +4618,10 @@ MEASURE_END:
RunCartInfoReadPD3()
End If
RunProcessPD3()
gpbProductDotMeasure.Visible = True
Me.Text = Title_Text & " (도트 검사 공정 결과 작성)"
btnRunPD3.Text = "등록"
btnRunPD3.Enabled = True
End If
Catch nullable As NullReferenceException
Exit Sub
@ -5668,7 +5728,49 @@ MEASURE_END:
End Sub
Private Sub btnRunPD3_Click(sender As Object, e As EventArgs) Handles btnRunPD3.Click
If btnRunPD3.Text.Equals("실행") Then
RunProcess()
Else
Try
'Dim sn = txbPV_SN.Text
Dim sn = "DIT012345"
If cboDotReason.SelectedIndex >= 0 Then
dot_mes.reason = cboDotReason.SelectedItem.ToString
End If
If sn = "" Or sn = "입력하세요!" Then
MsgBox("T/D SN 번호를 입력해주세요.")
Return
ElseIf dot_mes.result = "" Or (cboDotReason.Enabled = True And dot_mes.reason = "") Then
MsgBox("검사 내용을 작성하세요" & vbCrLf)
Return
End If
If SaveDotMeasure(dot_mes, sn) = False Then
MsgBox("데이터 저장 중 오류가 발생했습니다.")
Return
Else
'수량카운트
CountPD3IQC()
'수량db 저장
If SavePD4() Then
LoadTextPD4()
Else
MsgBox("수량 DB 저장 중 오류가 발생했습니다.")
Return
End If
Dim SaveLogStr = getNowDate() & "," & getNowTime() & "," &
CntRegMesPD4.PD4_TotalCnt & "," & CntRegMesPD4.PD4_OKCnt & "," & CntRegMesPD4.PD4_NGCnt & "," & CntRegMesPD4.PD4_GradeCnt(MODEL_NAME.PRO) & "," & CntRegMesPD4.PD4_GradeCnt(MODEL_NAME.LUX) & "," &
CntRegMesPD4.PD4_GradeCnt(MODEL_NAME.EYE) & "," & CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL1) & "," & CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL2) & "," & CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL3) & "," & CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL4) & "," &
CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL5) & "," & CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL6) & "," & CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL7) & "," & CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL8) & "," & CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL9) & "," & CntRegMesPD4.PD4_CapCnt(RELAY_NUM.RL10)
Save_CSV(SaveLogStr)
ResetDotMeasureWindows()
End If
Catch ex As Exception
MsgBox("실행 중 오류가 발생했습니다." & vbCrLf)
End Try
End If
End Sub
Private Sub rdbCapacitor1_CheckedChanged(sender As Object, e As EventArgs) Handles rdbCapacitor1.CheckedChanged
@ -5740,6 +5842,12 @@ MEASURE_END:
If SetCartType(2) Then
MsgBox("카트리지 정보 설정 실패.")
End If
Else
With dot_mes
.cartType = ""
.power = ""
.depth = ""
End With
End If
CkbNoRun = False
@ -5765,6 +5873,12 @@ MEASURE_END:
If SetCartType(1) Then
MsgBox("카트리지 정보 설정 실패.")
End If
Else
With dot_mes
.cartType = ""
.power = ""
.depth = ""
End With
End If
CkbNoRun = False
@ -5792,6 +5906,9 @@ MEASURE_END:
MsgBox("카트리지 정보 설정 실패.")
End If
End If
Else
dot_mes.depth = ""
dot_mes.power = ""
End If
CkbNoRun = False
@ -5811,6 +5928,10 @@ MEASURE_END:
MsgBox("카트리지 정보 설정 실패.")
End If
End If
Else
dot_mes.depth = ""
dot_mes.power = ""
End If
CkbNoRun = False
@ -5830,6 +5951,9 @@ MEASURE_END:
MsgBox("카트리지 정보 설정 실패.")
End If
End If
Else
dot_mes.depth = ""
dot_mes.power = ""
End If
CkbNoRun = False
@ -6133,4 +6257,68 @@ MEASURE_END:
txbCmdWindow.Visible = True
End Sub
Private Sub dot_RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles rdbDotSuccess.CheckedChanged
If rdbDotSuccess.Checked Then
dot_mes.result = "양품"
RegMeasure.MeasureOkNg = "OK"
rdbDotSuccess.ForeColor = Color.Green
rdbDotFail.ForeColor = Color.Black
cboDotReason.Enabled = False
Else
dot_mes.result = ""
End If
End Sub
Private Sub dot_RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles rdbDotFail.CheckedChanged
If rdbDotFail.Checked Then
dot_mes.result = "불량"
RegMeasure.MeasureOkNg = "NG"
rdbDotFail.ForeColor = Color.Red
rdbDotSuccess.ForeColor = Color.Black
cboDotReason.Enabled = True
Else
dot_mes.result = ""
cboDotReason.SelectedIndex = -1
cboDotReason.Text = "===실패 이유 선택==="
dot_mes.reason = ""
End If
End Sub
Private Sub CountPD3IQC()
Dim gCnt, rCnt
CntRegMesPD4.PD4_TotalCnt += 1
If RegMeasure.MeasureOkNg = "OK" Then
CntRegMesPD4.PD4_OKCnt += 1
Else
CntRegMesPD4.PD4_NGCnt += 1
End If
gCnt = GradeToValue(RegMeasure.MeasureGrade)
CntRegMesPD4.PD4_GradeCnt(gCnt) += 1
For rCnt = RELAY_NUM.RL1 To RELAY_NUM.RL10
If RegMeasure.MeasureCapacitor = RELAY_C(rCnt) Then
CntRegMesPD4.PD4_CapCnt(rCnt) += 1
Exit For
End If
Next
End Sub
Private Sub ResetDotMeasureWindows()
cboDotReason.Items.Clear()
cboDotReason.Text = "===실패 이유 선택==="
cboDotReason.Enabled = False
For Each radio As RadioButton In pnlMeasureSelect.Controls
If TypeOf radio Is RadioButton Then
radio.Checked = False
End If
Next
gpbProductDotMeasure.Visible = False
btnRunPD3.Text = "실행"
Me.Text = Title_Text & " (도트 검사 공정)"
End Sub
Private Sub cboDotReason_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboDotReason.SelectedIndexChanged
End Sub
End Class

View File

@ -22,5 +22,10 @@ DUALSONIC TD Select Tester
재정의합니다.
</summary>
</member>
<member name="P:DUALSONIC_TD_Select_Tester.My.Resources.Resources.JOMT_아이콘_PNG">
<summary>
System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
</summary>
</member>
</members>
</doc>