1.보급형모델 사용시간, shot 수 확인 기능 추가
2. 플래쉬 설정값 초기화 ldm 추가 3. 버전 3.0.3
This commit is contained in:
parent
3f0dee3f30
commit
e328b1e965
@ -10,7 +10,7 @@ Imports Mysqlx
|
|||||||
Imports Mysqlx.XDevAPI
|
Imports Mysqlx.XDevAPI
|
||||||
|
|
||||||
Public Class MainForm
|
Public Class MainForm
|
||||||
Public Const FormVersion As String = "3.0.2"
|
Public Const FormVersion As String = "3.0.3"
|
||||||
Private Const FormName As String = "DUALSONIC Product Manager Ver " & FormVersion
|
Private Const FormName As String = "DUALSONIC Product Manager Ver " & FormVersion
|
||||||
|
|
||||||
Private Const TDNameSize As Int16 = 10
|
Private Const TDNameSize As Int16 = 10
|
||||||
@ -25,6 +25,7 @@ Public Class MainForm
|
|||||||
Private Const OneHour As Int32 = 3600
|
Private Const OneHour As Int32 = 3600
|
||||||
Private Const OneMinute As Int16 = 60
|
Private Const OneMinute As Int16 = 60
|
||||||
Private Const OneSecond As Int32 = 1000
|
Private Const OneSecond As Int32 = 1000
|
||||||
|
Public lowPrdCmdFlag As Boolean = False
|
||||||
|
|
||||||
|
|
||||||
Private Enum ErrorList
|
Private Enum ErrorList
|
||||||
@ -368,6 +369,8 @@ Public Class MainForm
|
|||||||
tcMAXUse.Visible = True
|
tcMAXUse.Visible = True
|
||||||
gbDUALUse.Visible = False
|
gbDUALUse.Visible = False
|
||||||
tcAltoUse.Visible = False
|
tcAltoUse.Visible = False
|
||||||
|
EnsureMxAllTabs()
|
||||||
|
tcMAXUse.SelectedIndex = 0
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ALTO_UseOn()
|
Private Sub ALTO_UseOn()
|
||||||
@ -386,20 +389,37 @@ Public Class MainForm
|
|||||||
tcAltoUse.Visible = False
|
tcAltoUse.Visible = False
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
''' <summary>LOW_PROD/LDM: tcMAXUse에서 「전체」탭만 남기고 HIFU/RF 탭을 제거합니다.</summary>
|
||||||
|
Private Sub EnsureMxOnlyFullTab()
|
||||||
|
If tcMAXUse.TabPages.Contains(tpMXHIFU) Then tcMAXUse.TabPages.Remove(tpMXHIFU)
|
||||||
|
If tcMAXUse.TabPages.Contains(tpMXRF) Then tcMAXUse.TabPages.Remove(tpMXRF)
|
||||||
|
If btnMxAllReset.Enabled = True Then btnMxAllReset.Enabled = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
''' <summary>MAXIMUM 등: HIFU/RF 탭을 다시 붙입니다.</summary>
|
||||||
|
Private Sub EnsureMxAllTabs()
|
||||||
|
If Not tcMAXUse.TabPages.Contains(tpMXHIFU) Then tcMAXUse.TabPages.Add(tpMXHIFU)
|
||||||
|
If Not tcMAXUse.TabPages.Contains(tpMXRF) Then tcMAXUse.TabPages.Add(tpMXRF)
|
||||||
|
If btnMxAllReset.Enabled = False Then btnMxAllReset.Enabled = True
|
||||||
|
End Sub
|
||||||
Private Sub LOW_PROD_UseOn()
|
Private Sub LOW_PROD_UseOn()
|
||||||
gbDevice.Visible = False
|
gbDevice.Visible = False
|
||||||
gbRunTime.Visible = False
|
gbRunTime.Visible = True
|
||||||
tcMAXUse.Visible = True
|
tcMAXUse.Visible = True
|
||||||
gbDUALUse.Visible = False
|
gbDUALUse.Visible = False
|
||||||
tcAltoUse.Visible = False
|
tcAltoUse.Visible = False
|
||||||
|
EnsureMxOnlyFullTab()
|
||||||
|
tcMAXUse.SelectedIndex = 0
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub LDM_UseOn()
|
Private Sub LDM_UseOn()
|
||||||
gbDevice.Visible = False
|
gbDevice.Visible = False
|
||||||
gbRunTime.Visible = False
|
gbRunTime.Visible = True
|
||||||
tcMAXUse.Visible = True
|
tcMAXUse.Visible = True
|
||||||
gbDUALUse.Visible = False
|
gbDUALUse.Visible = False
|
||||||
tcAltoUse.Visible = False
|
tcAltoUse.Visible = False
|
||||||
|
EnsureMxOnlyFullTab()
|
||||||
|
tcMAXUse.SelectedIndex = 0
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub btnComport_Click(sender As Object, e As EventArgs) Handles btnComport.Click
|
Private Sub btnComport_Click(sender As Object, e As EventArgs) Handles btnComport.Click
|
||||||
@ -623,7 +643,11 @@ End_Finish:
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function ResetDBUpdate(TDSerial As String) As Boolean
|
Private Function ResetDBUpdate(TDSerial As String) As Boolean
|
||||||
|
If SelectedModelInfo.LdmUseYn = "Y" Then
|
||||||
|
DBCmd = "UPDATE " & UseLDMCartridgeTbl & " SET TestStep = '11', Product_SN = NULL, Ct_Manufacture_Name = NULL, Ct_Manufacture_Year = NULL, Ct_Manufacture_Month = NULL, Ct_SN = NULL, Ct_Model = '', Ct_Type = '', Ct_Abroad = NULL, Ct_Agency = NULL , Ct_Frequency = NULL, Ct_Frequency2 = NULL, Ct_Frequency3 = NULL, Ct_Power = '0', Ct_Power2 = '0', Ct_Power3 = '0', Ct_Max_ShotCnt = '0', Ct_Remain_ShotCnt = '0' WHERE PV_SN = '" & TDSerial & "'"
|
||||||
|
ElseIf SelectedModelInfo.TDUseYn = "Y" Then
|
||||||
DBCmd = "UPDATE " & UseCartridgeTbl & " SET TestStep = '11', Product_SN = NULL, Ct_Manufacture_Name = NULL, Ct_Manufacture_Year = NULL, Ct_Manufacture_Month = NULL, Ct_SN = NULL, Ct_Model = '', Ct_Type = '', Ct_Abroad = NULL, Ct_Agency = NULL , Ct_Frequency = NULL, Ct_Power = '0', Ct_Max_ShotCnt = '0', Ct_Remain_ShotCnt = '0' WHERE PV_SN = '" & TDSerial & "'"
|
DBCmd = "UPDATE " & UseCartridgeTbl & " SET TestStep = '11', Product_SN = NULL, Ct_Manufacture_Name = NULL, Ct_Manufacture_Year = NULL, Ct_Manufacture_Month = NULL, Ct_SN = NULL, Ct_Model = '', Ct_Type = '', Ct_Abroad = NULL, Ct_Agency = NULL , Ct_Frequency = NULL, Ct_Power = '0', Ct_Max_ShotCnt = '0', Ct_Remain_ShotCnt = '0' WHERE PV_SN = '" & TDSerial & "'"
|
||||||
|
End If
|
||||||
If DBCommand(DBCmd) Then
|
If DBCommand(DBCmd) Then
|
||||||
Return True
|
Return True
|
||||||
End If
|
End If
|
||||||
@ -3418,6 +3442,8 @@ End_Finish:
|
|||||||
Select Case SelectModeType
|
Select Case SelectModeType
|
||||||
Case ModeList.MAXIMUM
|
Case ModeList.MAXIMUM
|
||||||
MAXIMUM_UseReadFunc()
|
MAXIMUM_UseReadFunc()
|
||||||
|
Case ModeList.LOW_PROD, ModeList.LDM
|
||||||
|
lowProd_UseReadFunc()
|
||||||
Case Else
|
Case Else
|
||||||
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
|
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
|
||||||
End Select
|
End Select
|
||||||
@ -3478,6 +3504,74 @@ End_Finish:
|
|||||||
GoTo FAIL_Finish
|
GoTo FAIL_Finish
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
FAIL_Finish:
|
||||||
|
txbMxAllBox.Text = "Error" + Str(StageCnt)
|
||||||
|
txbMxAllBox.BackColor = Color.Red
|
||||||
|
End_Finish:
|
||||||
|
txbMxAllBox.Refresh()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub lowProd_UseReadFunc()
|
||||||
|
Dim StageCnt As Int16 = ErrorList.NonError
|
||||||
|
|
||||||
|
Try
|
||||||
|
MAXIMUM_All_ReadStart()
|
||||||
|
|
||||||
|
Dim ResultData As String = RunTimeWithShotCount() ''남은 샷수 & 전체 사용시간
|
||||||
|
|
||||||
|
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
|
||||||
|
StageCnt = ResultData
|
||||||
|
GoTo FAIL_Finish
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim TimeCnt As ULong = Val(Mid(ResultData, 2, InStr(ResultData, ",") + 1)) / OneSecond
|
||||||
|
|
||||||
|
Dim DayCnt As Integer = Truncate(TimeCnt / OneDay)
|
||||||
|
Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour)
|
||||||
|
Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute)
|
||||||
|
Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute)
|
||||||
|
|
||||||
|
txbMxAllDay.Text = DayCnt
|
||||||
|
|
||||||
|
If HourCnt < StrLen Then
|
||||||
|
txbMxAllHour.Text = "0" & HourCnt
|
||||||
|
Else
|
||||||
|
txbMxAllHour.Text = HourCnt
|
||||||
|
End If
|
||||||
|
|
||||||
|
If MinCnt < StrLen Then
|
||||||
|
txbMxAllMin.Text = "0" & MinCnt
|
||||||
|
Else
|
||||||
|
txbMxAllMin.Text = MinCnt
|
||||||
|
End If
|
||||||
|
|
||||||
|
If SecCnt < StrLen Then
|
||||||
|
txbMxAllSec.Text = "0" & SecCnt
|
||||||
|
Else
|
||||||
|
txbMxAllSec.Text = SecCnt
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
txbMxAllShot.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
|
||||||
|
lowPrdCmdFlag = True
|
||||||
|
ResultData = ShotErrSearch()
|
||||||
|
If ResultData.Equals("timeout") Then
|
||||||
|
txbMxAllErr.Clear()
|
||||||
|
Else
|
||||||
|
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
|
||||||
|
|
||||||
|
txbMxAllErr.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
|
||||||
|
End If
|
||||||
|
|
||||||
|
txbMxAllBox.Text = "SUCCESS"
|
||||||
|
txbMxAllBox.BackColor = Color.Green
|
||||||
|
GoTo End_Finish
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
|
||||||
|
GoTo FAIL_Finish
|
||||||
|
End Try
|
||||||
|
|
||||||
FAIL_Finish:
|
FAIL_Finish:
|
||||||
txbMxAllBox.Text = "Error" + Str(StageCnt)
|
txbMxAllBox.Text = "Error" + Str(StageCnt)
|
||||||
txbMxAllBox.BackColor = Color.Red
|
txbMxAllBox.BackColor = Color.Red
|
||||||
@ -3502,6 +3596,24 @@ End_Finish:
|
|||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Private Function RunTimeWithShotCount() As String '보급형 사용시간
|
||||||
|
tmpCmdMessage = "rdsinfo1"
|
||||||
|
|
||||||
|
cmdMessage = "[" & tmpCmdMessage & "]"
|
||||||
|
|
||||||
|
If SendData(cmdMessage) Then
|
||||||
|
Return ErrorList.SendError
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim retval As String = PollingReceiveData(1000)
|
||||||
|
|
||||||
|
If UBound(Split(retval, ",")) = 1 Then
|
||||||
|
Return retval
|
||||||
|
Else
|
||||||
|
Return ErrorList.ReceiveError
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
Private Function ShotErrSearch() As String
|
Private Function ShotErrSearch() As String
|
||||||
tmpCmdMessage = "rdsinfo5"
|
tmpCmdMessage = "rdsinfo5"
|
||||||
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
|
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
|
||||||
@ -3512,7 +3624,9 @@ End_Finish:
|
|||||||
|
|
||||||
Dim retval As String = PollingReceiveData(1000)
|
Dim retval As String = PollingReceiveData(1000)
|
||||||
|
|
||||||
If UBound(Split(retval, ",")) = 4 Then
|
If UBound(Split(retval, ",")) = 3 Then
|
||||||
|
Return retval
|
||||||
|
ElseIf retval.Equals("timeout") Then
|
||||||
Return retval
|
Return retval
|
||||||
Else
|
Else
|
||||||
Return ErrorList.ReceiveError
|
Return ErrorList.ReceiveError
|
||||||
|
|||||||
@ -75,10 +75,17 @@ Module SerialPortMoudule
|
|||||||
MsgBox("통신 포트가 열리지 않았습니다.", vbCritical, FormName)
|
MsgBox("통신 포트가 열리지 않았습니다.", vbCritical, FormName)
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
Catch ex As System.TimeoutException
|
||||||
|
If MainForm.lowPrdCmdFlag Then
|
||||||
|
Return "timeout"
|
||||||
|
End If
|
||||||
|
MsgBox("COM 포트 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
|
||||||
|
Return False
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("COM 포트 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
|
MsgBox("COM 포트 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
|
||||||
Return False
|
Return False
|
||||||
|
Finally
|
||||||
|
MainForm.lowPrdCmdFlag = False
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
@ -195,7 +202,7 @@ Module SerialPortMoudule
|
|||||||
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) & "," & cmdVal(6) & "," & cmdVal(7)
|
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) & "," & cmdVal(6) & "," & cmdVal(7)
|
||||||
Return cmdStr
|
Return cmdStr
|
||||||
Case "rdsinfo5"
|
Case "rdsinfo5"
|
||||||
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5)
|
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4)
|
||||||
Return cmdStr
|
Return cmdStr
|
||||||
Case "wrsinfo4"
|
Case "wrsinfo4"
|
||||||
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5)
|
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5)
|
||||||
@ -269,6 +276,9 @@ Module SerialPortMoudule
|
|||||||
Case "setldmcnf"
|
Case "setldmcnf"
|
||||||
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) & "," & cmdVal(6)
|
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) & "," & cmdVal(6)
|
||||||
Return cmdStr
|
Return cmdStr
|
||||||
|
Case "rdsinfo1"
|
||||||
|
cmdStr = cmdVal(1) & "," & cmdVal(2)
|
||||||
|
Return cmdStr
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user