1242 lines
46 KiB
VB.net
1242 lines
46 KiB
VB.net
Imports System
|
|
Imports System.IO.Ports
|
|
Imports System.Threading
|
|
Imports System.IO.Ports.SerialPort
|
|
Imports System.IO
|
|
Imports System.Text
|
|
|
|
Public Class AgingForm
|
|
Const CNT_CH As Integer = 10
|
|
Public RunTime(0 To CNT_CH) As Long
|
|
Public EnableRunConnect(0 To CNT_CH) As Boolean
|
|
Public ConnTimeoutCnt(0 To CNT_CH) As Long
|
|
Public DevConnectFlag(0 To CNT_CH) As Boolean
|
|
Public DevPowerONFlag(0 To CNT_CH) As Boolean
|
|
Public EnableRunTime(0 To CNT_CH) As Boolean
|
|
Public RunPowerOnFlag(0 To CNT_CH) As Boolean
|
|
Public PowerOnDelayTime(0 To CNT_CH) As Long
|
|
Public PowerOnTimeoutCnt(0 To CNT_CH) As Long
|
|
Public preVal(0 To CNT_CH) As Long
|
|
Public preCnt(0 To CNT_CH) As Long
|
|
Public FileSavePath(0 To CNT_CH) As String
|
|
|
|
Public PowerOnTime As Integer = 1 ''2
|
|
Public PowerOnTimeout As Integer = 20 ''20
|
|
Public ConnTimeout As Long = 150 ''1
|
|
Public cmdMessage As String
|
|
Public rxMessage As String
|
|
Public cmpMessage As String = "SUCCESS"
|
|
Public tmpCmdMessage As String
|
|
|
|
Public gpbInfo(CNT_CH + 1) As GroupBox
|
|
Public btnRun(CNT_CH + 1) As Button
|
|
Public txtBox(CNT_CH + 1) As TextBox
|
|
Public txbMainSN(CNT_CH + 1) As TextBox
|
|
Public txbCartSN(CNT_CH + 1) As TextBox
|
|
Public txbStartTime(CNT_CH + 1) As TextBox
|
|
Public txbEndTime(CNT_CH + 1) As TextBox
|
|
Public txbShotCnt(CNT_CH + 1) As TextBox
|
|
Public txtMainStartTemp(CNT_CH + 1) As TextBox
|
|
Public txtCartStartTemp(CNT_CH + 1) As TextBox
|
|
Public txtMainEndTemp(CNT_CH + 1) As TextBox
|
|
Public txtCartEndTemp(CNT_CH + 1) As TextBox
|
|
Public txbCmdWindow(CNT_CH + 1) As TextBox
|
|
Public txbInfoBox(CNT_CH + 1) As TextBox
|
|
Public lblEndRuntime(CNT_CH + 1) As Label
|
|
Public chbAutoPowerOn(CNT_CH + 1) As CheckBox
|
|
Public AutoPowerOnFlag(CNT_CH + 1) As Boolean
|
|
|
|
|
|
|
|
Private Sub AgingForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
|
Dim portname() As String
|
|
Dim i As Integer
|
|
|
|
lblTime.Text = Now
|
|
portname = SerialPort.GetPortNames
|
|
|
|
For i = 1 To portname.Length
|
|
cboComPort.Items.Add(portname(i - 1))
|
|
Next i
|
|
|
|
cboComPort.Text = "PRESS!"
|
|
|
|
gpbInfo(1) = gpbInfo1
|
|
gpbInfo(2) = gpbInfo2
|
|
gpbInfo(3) = gpbInfo3
|
|
gpbInfo(4) = gpbInfo4
|
|
gpbInfo(5) = gpbInfo5
|
|
gpbInfo(6) = gpbInfo6
|
|
gpbInfo(7) = gpbInfo7
|
|
gpbInfo(8) = gpbInfo8
|
|
gpbInfo(9) = gpbInfo9
|
|
gpbInfo(10) = gpbInfo10
|
|
|
|
btnRun(1) = btnRun1
|
|
btnRun(2) = btnRun2
|
|
btnRun(3) = btnRun3
|
|
btnRun(4) = btnRun4
|
|
btnRun(5) = btnRun5
|
|
btnRun(6) = btnRun6
|
|
btnRun(7) = btnRun7
|
|
btnRun(8) = btnRun8
|
|
btnRun(9) = btnRun9
|
|
btnRun(10) = btnRun10
|
|
|
|
txbMainSN(1) = txbMainSN1
|
|
txbMainSN(2) = txbMainSN2
|
|
txbMainSN(3) = txbMainSN3
|
|
txbMainSN(4) = txbMainSN4
|
|
txbMainSN(5) = txbMainSN5
|
|
txbMainSN(6) = txbMainSN6
|
|
txbMainSN(7) = txbMainSN7
|
|
txbMainSN(8) = txbMainSN8
|
|
txbMainSN(9) = txbMainSN9
|
|
txbMainSN(10) = txbMainSN10
|
|
|
|
txbCartSN(1) = txbCartSN1
|
|
txbCartSN(2) = txbCartSN2
|
|
txbCartSN(3) = txbCartSN3
|
|
txbCartSN(4) = txbCartSN4
|
|
txbCartSN(5) = txbCartSN5
|
|
txbCartSN(6) = txbCartSN6
|
|
txbCartSN(7) = txbCartSN7
|
|
txbCartSN(8) = txbCartSN8
|
|
txbCartSN(9) = txbCartSN9
|
|
txbCartSN(10) = txbCartSN10
|
|
|
|
txbStartTime(1) = txbStartTime1
|
|
txbStartTime(2) = txbStartTime2
|
|
txbStartTime(3) = txbStartTime3
|
|
txbStartTime(4) = txbStartTime4
|
|
txbStartTime(5) = txbStartTime5
|
|
txbStartTime(6) = txbStartTime6
|
|
txbStartTime(7) = txbStartTime7
|
|
txbStartTime(8) = txbStartTime8
|
|
txbStartTime(9) = txbStartTime9
|
|
txbStartTime(10) = txbStartTime10
|
|
|
|
txbEndTime(1) = txbEndTime1
|
|
txbEndTime(2) = txbEndTime2
|
|
txbEndTime(3) = txbEndTime3
|
|
txbEndTime(4) = txbEndTime4
|
|
txbEndTime(5) = txbEndTime5
|
|
txbEndTime(6) = txbEndTime6
|
|
txbEndTime(7) = txbEndTime7
|
|
txbEndTime(8) = txbEndTime8
|
|
txbEndTime(9) = txbEndTime9
|
|
txbEndTime(10) = txbEndTime10
|
|
|
|
txbShotCnt(1) = txbShotCnt1
|
|
txbShotCnt(2) = txbShotCnt2
|
|
txbShotCnt(3) = txbShotCnt3
|
|
txbShotCnt(4) = txbShotCnt4
|
|
txbShotCnt(5) = txbShotCnt5
|
|
txbShotCnt(6) = txbShotCnt6
|
|
txbShotCnt(7) = txbShotCnt7
|
|
txbShotCnt(8) = txbShotCnt8
|
|
txbShotCnt(9) = txbShotCnt9
|
|
txbShotCnt(10) = txbShotCnt10
|
|
|
|
txtMainStartTemp(1) = txtMainStartTemp1
|
|
txtMainStartTemp(2) = txtMainStartTemp2
|
|
txtMainStartTemp(3) = txtMainStartTemp3
|
|
txtMainStartTemp(4) = txtMainStartTemp4
|
|
txtMainStartTemp(5) = txtMainStartTemp5
|
|
txtMainStartTemp(6) = txtMainStartTemp6
|
|
txtMainStartTemp(7) = txtMainStartTemp7
|
|
txtMainStartTemp(8) = txtMainStartTemp8
|
|
txtMainStartTemp(9) = txtMainStartTemp9
|
|
txtMainStartTemp(10) = txtMainStartTemp10
|
|
|
|
txtCartStartTemp(1) = txtCartStartTemp1
|
|
txtCartStartTemp(2) = txtCartStartTemp2
|
|
txtCartStartTemp(3) = txtCartStartTemp3
|
|
txtCartStartTemp(4) = txtCartStartTemp4
|
|
txtCartStartTemp(5) = txtCartStartTemp5
|
|
txtCartStartTemp(6) = txtCartStartTemp6
|
|
txtCartStartTemp(7) = txtCartStartTemp7
|
|
txtCartStartTemp(8) = txtCartStartTemp8
|
|
txtCartStartTemp(9) = txtCartStartTemp9
|
|
txtCartStartTemp(10) = txtCartStartTemp10
|
|
|
|
txtMainEndTemp(1) = txtMainEndTemp1
|
|
txtMainEndTemp(2) = txtMainEndTemp2
|
|
txtMainEndTemp(3) = txtMainEndTemp3
|
|
txtMainEndTemp(4) = txtMainEndTemp4
|
|
txtMainEndTemp(5) = txtMainEndTemp5
|
|
txtMainEndTemp(6) = txtMainEndTemp6
|
|
txtMainEndTemp(7) = txtMainEndTemp7
|
|
txtMainEndTemp(8) = txtMainEndTemp8
|
|
txtMainEndTemp(9) = txtMainEndTemp9
|
|
txtMainEndTemp(10) = txtMainEndTemp10
|
|
|
|
txtCartEndTemp(1) = txtCartEndTemp1
|
|
txtCartEndTemp(2) = txtCartEndTemp2
|
|
txtCartEndTemp(3) = txtCartEndTemp3
|
|
txtCartEndTemp(4) = txtCartEndTemp4
|
|
txtCartEndTemp(5) = txtCartEndTemp5
|
|
txtCartEndTemp(6) = txtCartEndTemp6
|
|
txtCartEndTemp(7) = txtCartEndTemp7
|
|
txtCartEndTemp(8) = txtCartEndTemp8
|
|
txtCartEndTemp(9) = txtCartEndTemp9
|
|
txtCartEndTemp(10) = txtCartEndTemp10
|
|
|
|
txbCmdWindow(1) = txbCmdWindow1
|
|
txbCmdWindow(2) = txbCmdWindow2
|
|
txbCmdWindow(3) = txbCmdWindow3
|
|
txbCmdWindow(4) = txbCmdWindow4
|
|
txbCmdWindow(5) = txbCmdWindow5
|
|
txbCmdWindow(6) = txbCmdWindow6
|
|
txbCmdWindow(7) = txbCmdWindow7
|
|
txbCmdWindow(8) = txbCmdWindow8
|
|
txbCmdWindow(9) = txbCmdWindow9
|
|
txbCmdWindow(10) = txbCmdWindow10
|
|
|
|
txbInfoBox(1) = txbInfoBox1
|
|
txbInfoBox(2) = txbInfoBox2
|
|
txbInfoBox(3) = txbInfoBox3
|
|
txbInfoBox(4) = txbInfoBox4
|
|
txbInfoBox(5) = txbInfoBox5
|
|
txbInfoBox(6) = txbInfoBox6
|
|
txbInfoBox(7) = txbInfoBox7
|
|
txbInfoBox(8) = txbInfoBox8
|
|
txbInfoBox(9) = txbInfoBox9
|
|
txbInfoBox(10) = txbInfoBox10
|
|
|
|
lblEndRuntime(1) = lblEndRuntime1
|
|
lblEndRuntime(2) = lblEndRuntime2
|
|
lblEndRuntime(3) = lblEndRuntime3
|
|
lblEndRuntime(4) = lblEndRuntime4
|
|
lblEndRuntime(5) = lblEndRuntime5
|
|
lblEndRuntime(6) = lblEndRuntime6
|
|
lblEndRuntime(7) = lblEndRuntime7
|
|
lblEndRuntime(8) = lblEndRuntime8
|
|
lblEndRuntime(9) = lblEndRuntime9
|
|
lblEndRuntime(10) = lblEndRuntime10
|
|
|
|
chbAutoPowerOn(1) = chbAutoPowerOn1
|
|
chbAutoPowerOn(2) = chbAutoPowerOn2
|
|
chbAutoPowerOn(3) = chbAutoPowerOn3
|
|
chbAutoPowerOn(4) = chbAutoPowerOn4
|
|
chbAutoPowerOn(5) = chbAutoPowerOn5
|
|
chbAutoPowerOn(6) = chbAutoPowerOn6
|
|
chbAutoPowerOn(7) = chbAutoPowerOn7
|
|
chbAutoPowerOn(8) = chbAutoPowerOn8
|
|
chbAutoPowerOn(9) = chbAutoPowerOn9
|
|
chbAutoPowerOn(10) = chbAutoPowerOn10
|
|
|
|
Read_ini()
|
|
End Sub
|
|
|
|
Private Sub exit_Process()
|
|
Try
|
|
SerialPort1.Close()
|
|
''cmdSerial.Text = "열기"
|
|
''cboComPort.Enabled = True
|
|
''txbAuthBox.Visible = False
|
|
''txbCartBox.Visible = False
|
|
''txbShotBox.Visible = False
|
|
''GroupBoxEnable(False)
|
|
Save_ini()
|
|
End
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
|
|
''Try
|
|
'' Me.Close()
|
|
''Catch ex As InvalidOperationException
|
|
'' Console.WriteLine(ex.GetType().FullName)
|
|
'' Console.WriteLine(ex.Message)
|
|
''End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub runTimeTimer_Tick(sender As System.Object, e As System.EventArgs) Handles runTimeTimer.Tick
|
|
lblTime.Text = Now
|
|
|
|
For cnt = 0 To CNT_CH
|
|
If EnableRunTime(cnt) = True Then
|
|
RunTime(cnt) = RunTime(cnt) + 1
|
|
|
|
txbEndTime(cnt).Text = Format(Val((RunTime(cnt) - (RunTime(cnt) Mod 3600)) / 3600), "00") & ":" & Format(Val(((RunTime(cnt) Mod 3600) - (RunTime(cnt) Mod 60)) / 60), "00") & ":" & Format(Val(RunTime(cnt)) Mod 60, "00")
|
|
End If
|
|
Next cnt
|
|
End Sub
|
|
|
|
Private Function cmdRunButton(chNum As Integer)
|
|
Dim txbChangeEnable As Boolean = True
|
|
Dim dispStr As String
|
|
Dim MainSN As String
|
|
Dim CartSn As String
|
|
|
|
|
|
If btnRun(chNum).Text = "시작" Then
|
|
btnRun(chNum).Text = "중지"
|
|
EnableRunConnect(chNum) = False
|
|
DevConnectFlag(chNum) = False
|
|
DevPowerONFlag(chNum) = False
|
|
|
|
txbInfoBox(chNum).Text = "RUNNING"
|
|
txbInfoBox(chNum).BackColor = Color.Blue
|
|
txbInfoBox(chNum).Refresh()
|
|
|
|
lblEndRuntime(chNum).Text = "실행시간"
|
|
txbStartTime(chNum).Text = TimeOfDay
|
|
EnableRunTime(chNum) = True
|
|
|
|
btnRun(chNum).Enabled = True
|
|
btnRun(chNum).Refresh()
|
|
|
|
txbEndTime(chNum).Text = ""
|
|
txbShotCnt(chNum).Text = ""
|
|
txtMainStartTemp(chNum).Text = ""
|
|
txtCartStartTemp(chNum).Text = ""
|
|
txtMainEndTemp(chNum).Text = ""
|
|
txtCartEndTemp(chNum).Text = ""
|
|
txbCmdWindow(chNum).Text = ""
|
|
txtMainEndTemp(chNum).ForeColor = Color.Blue
|
|
txtCartEndTemp(chNum).ForeColor = Color.Blue
|
|
|
|
txbShotCount.ReadOnly = True
|
|
txbCartTemp.ReadOnly = True
|
|
txbDevTemp.ReadOnly = True
|
|
|
|
If txbMainSN(chNum).Text = "Click" Then
|
|
MainSN = "NA"
|
|
Else
|
|
MainSN = txbMainSN(chNum).Text
|
|
End If
|
|
|
|
If txbCartSN(chNum).Text = "Click" Then
|
|
CartSn = "NA"
|
|
Else
|
|
CartSn = txbCartSN(chNum).Text
|
|
End If
|
|
|
|
dispStr = "DATE" & "," & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now)
|
|
Save_CSV_Dir(chNum, dispStr)
|
|
dispStr = "TIME" & "," & (Format(TimeOfDay, "HH:mm:ss"))
|
|
Save_CSV(chNum, dispStr)
|
|
|
|
dispStr = "DEVICE SN" & "," & MainSN
|
|
Save_CSV(chNum, dispStr)
|
|
dispStr = "CART SN" & "," & CartSn
|
|
Save_CSV(chNum, dispStr)
|
|
|
|
dispStr = "MAIN TEMP" & "," & txbDevTemp.Text
|
|
Save_CSV(chNum, dispStr)
|
|
dispStr = "CART TEMP" & "," & txbCartTemp.Text
|
|
Save_CSV(chNum, dispStr)
|
|
dispStr = "SHOT CNT" & "," & txbShotCount.Text
|
|
Save_CSV(chNum, dispStr)
|
|
|
|
dispStr = ("TIME,CH,SHOT_CNT,EXT_TEMP,AMP_TEMP,CT_TEMP")
|
|
Save_CSV(chNum, dispStr)
|
|
|
|
tmpCmdMessage = "agenable"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & chNum & ",1]" + vbCrLf
|
|
SendData(cmdMessage)
|
|
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
btnRun(chNum).Text = "시작"
|
|
EnableRunTime(chNum) = False
|
|
''lblEndRuntime(chNum).text = "종료시간"
|
|
''txbEndTime(chNum).Text = TimeOfDay
|
|
tmpCmdMessage = "agenable"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & chNum & ",0]" + vbCrLf
|
|
SendData(cmdMessage)
|
|
|
|
RunTime(chNum) = 0
|
|
|
|
If Val(txtMainEndTemp(chNum).Text) < Val(txbDevTemp.Text) And Val(txtCartEndTemp(chNum).Text) < Val(txbCartTemp.Text) Then
|
|
If Val(txbShotCnt(chNum).Text) >= Val(txbShotCount.Text) Then
|
|
txbInfoBox(chNum).Text = "합격"
|
|
txbInfoBox(chNum).BackColor = Color.Green
|
|
|
|
dispStr = (Format(TimeOfDay, "HH:mm:ss")) & "," & "PASS"
|
|
Save_CSV(chNum, dispStr)
|
|
Else
|
|
txbInfoBox(chNum).Text = "불합격"
|
|
txbInfoBox(chNum).BackColor = Color.Blue
|
|
dispStr = (Format(TimeOfDay, "HH:mm:ss")) & "," & "SHOT FAIL"
|
|
Save_CSV(chNum, dispStr)
|
|
End If
|
|
Else
|
|
txbInfoBox(chNum).Text = "불합격"
|
|
txbInfoBox(chNum).BackColor = Color.Red
|
|
dispStr = (Format(TimeOfDay, "HH:mm:ss")) & "," & "FAIL"
|
|
Save_CSV(chNum, dispStr)
|
|
|
|
If Val(txtMainEndTemp(chNum).Text) > Val(txbDevTemp.Text) Then
|
|
txtMainEndTemp(chNum).ForeColor = Color.Red
|
|
End If
|
|
If Val(txtCartEndTemp(chNum).Text) > Val(txbCartTemp.Text) Then
|
|
txtCartEndTemp(chNum).ForeColor = Color.Red
|
|
End If
|
|
End If
|
|
txbInfoBox(chNum).Refresh()
|
|
|
|
For i = 1 To 10
|
|
If btnRun(i).Text = "중지" Then
|
|
txbChangeEnable = False
|
|
End If
|
|
Next
|
|
|
|
If txbChangeEnable = True Then
|
|
txbShotCount.ReadOnly = False
|
|
txbCartTemp.ReadOnly = False
|
|
txbDevTemp.ReadOnly = False
|
|
End If
|
|
|
|
AutoPowerOnFlag(chNum) = False
|
|
|
|
End If
|
|
|
|
|
|
Return True
|
|
|
|
End Function
|
|
|
|
Private Function cmdAutoPowerOn(chNum As Integer)
|
|
|
|
If btnRun(chNum).Text = "시작" Then
|
|
txbInfoBox(chNum).Text = "부팅중"
|
|
txbInfoBox(chNum).BackColor = Color.Red
|
|
txbInfoBox(chNum).Refresh()
|
|
btnRun(chNum).Enabled = False
|
|
btnRun(chNum).Refresh()
|
|
|
|
PowerOnTimeoutCnt(chNum) = 0
|
|
RunPowerOnFlag(chNum) = True
|
|
tmpCmdMessage = "agtpmode"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & chNum & ",1]" + vbCrLf
|
|
SendData(cmdMessage)
|
|
|
|
|
|
End If
|
|
|
|
Return True
|
|
|
|
End Function
|
|
|
|
Private Sub LiveTimer_Tick(sender As System.Object, e As System.EventArgs) Handles LiveTimer.Tick
|
|
Try
|
|
For cnt = 1 To CNT_CH
|
|
If EnableRunTime(cnt) = True Then
|
|
If txbInfoBox(cnt).BackColor = Color.Red Then
|
|
txbInfoBox(cnt).BackColor = Color.Blue
|
|
Else
|
|
txbInfoBox(cnt).BackColor = Color.Red
|
|
End If
|
|
txbInfoBox(cnt).Refresh()
|
|
End If
|
|
|
|
If AutoPowerOnFlag(cnt) = True Then
|
|
If PowerOnDelayTime(cnt) = PowerOnTime Then
|
|
PowerOnDelayTime(cnt) = 0
|
|
AutoPowerOnFlag(cnt) = False
|
|
RunPowerOnFlag(cnt) = False
|
|
''cmdRunButton(cnt)
|
|
End If
|
|
PowerOnDelayTime(cnt) += 1
|
|
End If
|
|
|
|
If RunPowerOnFlag(cnt) = True Then
|
|
If PowerOnTimeoutCnt(cnt) >= PowerOnTimeout Then
|
|
txbInfoBox(cnt).Text = "미연결"
|
|
txbInfoBox(cnt).BackColor = Color.Red
|
|
txbInfoBox(cnt).Refresh()
|
|
|
|
PowerOnTimeoutCnt(cnt) = 0
|
|
RunPowerOnFlag(cnt) = False
|
|
|
|
btnRun(cnt).Enabled = True
|
|
btnRun(cnt).Refresh()
|
|
End If
|
|
PowerOnTimeoutCnt(cnt) += 1
|
|
End If
|
|
Next cnt
|
|
Catch ex As Exception
|
|
MsgBox(Err.Description)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub ComportSetup()
|
|
With SerialPort1
|
|
'.PortName = "COM" & Val(cboComPort.Text)
|
|
.PortName = cboComPort.Text
|
|
.BaudRate = 230400
|
|
.DataBits = 8
|
|
.Parity = IO.Ports.Parity.None
|
|
.StopBits = IO.Ports.StopBits.One
|
|
.Handshake = IO.Ports.Handshake.None
|
|
''.RtsEnable = True
|
|
|
|
'AddHandler SerialPort1.DataReceived, AddressOf DataReceivedHandler
|
|
|
|
End With
|
|
End Sub
|
|
|
|
Private Sub cmdSerial_Click(sender As System.Object, e As System.EventArgs) Handles cmdSerial.Click
|
|
Dim portname() As String
|
|
Dim i As Integer
|
|
|
|
If cboComPort.Text = "" Then
|
|
MsgBox("통신 Port를 선택하여 주세요.")
|
|
Else
|
|
If cmdSerial.Text = "열기" Then
|
|
If SerialPort1.IsOpen = False Then
|
|
ComportSetup()
|
|
Try
|
|
SerialPort1.Open()
|
|
cmdSerial.Text = "닫기"
|
|
|
|
cboComPort.Enabled = False
|
|
|
|
For i = 1 To CNT_CH
|
|
gpbInfo(i).Enabled = True
|
|
Next i
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End If
|
|
Else
|
|
Try
|
|
cmdSerial.Text = "열기"
|
|
cboComPort.Enabled = True
|
|
|
|
For i = 1 To CNT_CH
|
|
If btnRun(i).Text = "중지" Then
|
|
cmdRunButton(i)
|
|
ElseIf btnRun(i).Text = "시작" Then
|
|
EnableRunConnect(i) = True
|
|
DevConnectFlag(i) = False
|
|
DevPowerONFlag(i) = False
|
|
ConnTimeoutCnt(i) = 0
|
|
'' NoUseAutoPwrOn(chNum)
|
|
CheckDevConnection(i)
|
|
End If
|
|
gpbInfo(i).Enabled = False
|
|
Next i
|
|
|
|
SerialPort1.Close()
|
|
cboComPort.Items.Clear()
|
|
|
|
portname = SerialPort.GetPortNames
|
|
For i = 1 To portname.Length
|
|
cboComPort.Items.Add(portname(i - 1))
|
|
Next i
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub cboComPort_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cboComPort.SelectedIndexChanged
|
|
cmdSerial.Enabled = True
|
|
End Sub
|
|
|
|
Private Function SendData(SendMessage As String) As Boolean
|
|
Try
|
|
If SerialPort1.IsOpen = True Then
|
|
SerialPort1.DiscardInBuffer()
|
|
SerialPort1.DiscardOutBuffer()
|
|
SerialPort1.WriteTimeout = -1
|
|
SerialPort1.WriteLine(SendMessage)
|
|
TextBox2.Text = SendMessage
|
|
TextBox5.AppendText(SendMessage)
|
|
|
|
Else
|
|
MsgBox("통신 포트가 열리지 않았습니다.")
|
|
End If
|
|
Catch ex As Exception
|
|
Return True
|
|
End Try
|
|
Return False
|
|
End Function
|
|
Private Function ReceiveData() As Boolean
|
|
Dim cmdStr As String
|
|
Dim cmdVal(0 To 5) As String
|
|
Dim i As Integer
|
|
Dim dispStr As String
|
|
|
|
dispStr = ""
|
|
|
|
Try
|
|
If SerialPort1.IsOpen = True Then
|
|
rxMessage = ""
|
|
SerialPort1.ReadTimeout = 0
|
|
rxMessage = SerialPort1.ReadLine()
|
|
TextBox1.Text = rxMessage
|
|
''TextBox3.Text = rxMessage
|
|
TextBox3.AppendText(rxMessage)
|
|
If rxMessage <> "" Then
|
|
|
|
If Mid(rxMessage, 1, 16) = "START DUALSONIC!" Then
|
|
AutoPowerOnFlag(Val(cmdVal(1))) = True
|
|
txbInfoBox(Val(cmdVal(1))).Text = "전원ON"
|
|
txbInfoBox(Val(cmdVal(1))).BackColor = Color.Green
|
|
txbInfoBox(Val(cmdVal(1))).Refresh()
|
|
''AutoPowerOnFlag(Val(cmdVal(1))) = True
|
|
''PowerOnDelayTime(Val(cmdVal(1))) = 0
|
|
Return True
|
|
End If
|
|
|
|
If Mid(rxMessage, 1, 1) = "[" Then
|
|
cmdMessage = Mid(rxMessage, 2, Len(rxMessage))
|
|
|
|
cmdStr = Mid(cmdMessage, 1, (InStr(rxMessage, " ") - 2))
|
|
TextBox4.AppendText(cmdStr)
|
|
TextBox4.AppendText(" ")
|
|
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
|
|
|
|
|
|
Select Case cmdStr
|
|
Case "sendtemp"
|
|
If Val(cmdVal(1)) < 100 And Val(cmdVal(1)) > -100 Then
|
|
dispStr = Format(Val(cmdVal(1) / 10), "0.0")
|
|
Else
|
|
dispStr = Format(Val(cmdVal(1) / 10), "00.0")
|
|
End If
|
|
|
|
If Val(dispStr) <= -40.0 Then
|
|
txtExtTemp1.Text = "N/A"
|
|
Else
|
|
txtExtTemp1.Text = dispStr
|
|
End If
|
|
|
|
txtExtTemp1.Refresh()
|
|
|
|
If Val(cmdVal(2)) < 100 And Val(cmdVal(2)) > -100 Then
|
|
dispStr = Format(Val(cmdVal(2) / 10), "0.0")
|
|
Else
|
|
dispStr = Format(Val(cmdVal(2) / 10), "00.0")
|
|
End If
|
|
|
|
If Val(dispStr) <= -40.0 Then
|
|
txtExtTemp2.Text = "N/A"
|
|
Else
|
|
txtExtTemp2.Text = dispStr
|
|
End If
|
|
txtExtTemp2.Refresh()
|
|
|
|
Case "avalue"
|
|
If EnableRunTime(Val(cmdVal(1))) = True Then
|
|
If cmdVal(2) = 1 Then
|
|
txtMainStartTemp(Val(cmdVal(1))).Text = Format(Val(cmdVal(3) / 10), "00.0")
|
|
txtCartStartTemp(Val(cmdVal(1))).Text = Format(Val(cmdVal(4) / 10), "00.0")
|
|
End If
|
|
|
|
txbShotCnt(Val(cmdVal(1))).Text = cmdVal(2)
|
|
txtMainEndTemp(Val(cmdVal(1))).Text = Format(Val(cmdVal(3) / 10), "00.0")
|
|
txtCartEndTemp(Val(cmdVal(1))).Text = Format(Val(cmdVal(4) / 10), "00.0")
|
|
|
|
If txbCmdWindow(Val(cmdVal(1))).Text = "" Then
|
|
dispStr = (TimeOfDay + " " + cmdVal(1) + "," + cmdVal(2) + "," + txtExtTemp1.Text + "," + txtMainEndTemp(Val(cmdVal(1))).Text + "," + txtCartEndTemp(Val(cmdVal(1))).Text)
|
|
txbCmdWindow(Val(cmdVal(1))).AppendText(dispStr)
|
|
Else
|
|
dispStr = (vbCrLf + TimeOfDay + " " + cmdVal(1) + "," + cmdVal(2) + "," + txtExtTemp1.Text + "," + txtMainEndTemp(Val(cmdVal(1))).Text + "," + txtCartEndTemp(Val(cmdVal(1))).Text)
|
|
txbCmdWindow(Val(cmdVal(1))).AppendText(dispStr)
|
|
End If
|
|
dispStr = (Format(TimeOfDay, "HH:mm:ss") + "," + cmdVal(1) + "," + cmdVal(2) + "," + txtExtTemp1.Text + "," + txtMainEndTemp(Val(cmdVal(1))).Text + "," + txtCartEndTemp(Val(cmdVal(1))).Text)
|
|
Save_CSV(cmdVal(1), dispStr)
|
|
|
|
If Val(txbShotCnt(Val(cmdVal(1))).Text) >= Val(txbShotCount.Text) Or Val(txtMainEndTemp(Val(cmdVal(1))).Text) >= Val(txbDevTemp.Text) Or Val(txtCartEndTemp(Val(cmdVal(1))).Text) >= Val(txbCartTemp.Text) Then
|
|
cmdRunButton(cmdVal(1))
|
|
End If
|
|
End If
|
|
|
|
Case "aenabler"
|
|
If EnableRunTime(Val(cmdVal(1))) = True Then
|
|
|
|
If txbCmdWindow(Val(cmdVal(1))).Text = "0" Then
|
|
If Val(cmdVal(2)) = 1 Then
|
|
'dispStr = ("START TIME,CH,SC,EXT,AMP,CT")
|
|
txbCmdWindow(Val(cmdVal(1))).AppendText(dispStr)
|
|
'dispStr = ("TIME,CH,SHOT_CNT,EXT_TEMP,AMP_TEMP,CT_TEMP")
|
|
'Save_CSV(cmdVal(1), dispStr)
|
|
Else
|
|
dispStr = (TimeOfDay + " AGING STOP")
|
|
txbCmdWindow(Val(cmdVal(1))).AppendText(dispStr)
|
|
dispStr = (Format(TimeOfDay, "HH:mm:ss") + ",AGING STOP")
|
|
Save_CSV(cmdVal(1), dispStr)
|
|
End If
|
|
Else
|
|
If Val(cmdVal(2)) = 1 Then
|
|
'dispStr = (vbCrLf + "START TIME,CH,SC,EXT,AMP,CT")
|
|
txbCmdWindow(Val(cmdVal(1))).AppendText(dispStr)
|
|
dispStr = ("TIME,CH,SHOT_CNT,EXT_TEMP,AMP_TEMP,CT_TEMP")
|
|
Save_CSV(cmdVal(1), dispStr)
|
|
Else
|
|
dispStr = (vbCrLf + TimeOfDay + " AGING STOP")
|
|
txbCmdWindow(Val(cmdVal(1))).AppendText(dispStr)
|
|
dispStr = (Format(TimeOfDay, "HH:mm:ss") + ",AGING STOP")
|
|
Save_CSV(cmdVal(1), dispStr)
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
|
|
Case "aerror"
|
|
If EnableRunTime(Val(cmdVal(1))) = True Then
|
|
|
|
cmdRunButton(Val(cmdVal(1)))
|
|
|
|
txbInfoBox(Val(cmdVal(1))).Text = "ERR" + Format(Val(cmdVal(2)), "000")
|
|
txbInfoBox(Val(cmdVal(1))).BackColor = Color.DarkOrange
|
|
txbInfoBox(Val(cmdVal(1))).Refresh()
|
|
|
|
If txbCmdWindow(Val(cmdVal(1))).Text = "" Then
|
|
dispStr = (TimeOfDay + " ERR" + cmdVal(2))
|
|
txbCmdWindow(Val(cmdVal(1))).AppendText(dispStr)
|
|
Else
|
|
dispStr = (vbCrLf + TimeOfDay + " ERR" + cmdVal(2))
|
|
txbCmdWindow(Val(cmdVal(1))).AppendText(dispStr)
|
|
End If
|
|
dispStr = (Format(TimeOfDay, "HH:mm:ss") + ",ERR" + cmdVal(2))
|
|
Save_CSV(cmdVal(1), dispStr)
|
|
|
|
End If
|
|
Case "dsstart"
|
|
AutoPowerOnFlag(Val(cmdVal(1))) = True
|
|
txbInfoBox(Val(cmdVal(1))).Text = "전원ON"
|
|
txbInfoBox(Val(cmdVal(1))).BackColor = Color.Green
|
|
txbInfoBox(Val(cmdVal(1))).Refresh()
|
|
''AutoPowerOnFlag(Val(cmdVal(1))) = True
|
|
''PowerOnDelayTime(Val(cmdVal(1))) = 0
|
|
Case "chkpwron"
|
|
If cmdVal(2) = 1 Then
|
|
DevConnectFlag(Val(cmdVal(1))) = True
|
|
ConnTimeoutCnt(Val(cmdVal(1))) = 0
|
|
CheckDevConnection(Val(cmdVal(1)))
|
|
Else
|
|
DevConnectFlag(Val(cmdVal(1))) = False
|
|
EnableRunConnect(Val(cmdVal(1))) = False
|
|
txbInfoBox(Val(cmdVal(1))).Text = "미연결"
|
|
txbInfoBox(Val(cmdVal(1))).BackColor = Color.Red
|
|
txbInfoBox(Val(cmdVal(1))).Refresh()
|
|
End If
|
|
Case "dsfwver"
|
|
If cmdVal(2) <> "" Then
|
|
DevPowerONFlag(Val(cmdVal(1))) = True
|
|
ConnTimeoutCnt(Val(cmdVal(1))) = 0
|
|
EnableRunConnect(Val(cmdVal(1))) = False
|
|
NoUseAutoPwrOn(cmdVal(1))
|
|
cmdRunButton(Val(cmdVal(1)))
|
|
Else
|
|
DevPowerONFlag(Val(cmdVal(1))) = False
|
|
EnableRunConnect(Val(cmdVal(1))) = False
|
|
End If
|
|
End Select
|
|
Return True
|
|
End If
|
|
End If
|
|
Else
|
|
MsgBox("통신 포트가 열리지 않았습니다.")
|
|
Return False
|
|
End If
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Private Function CheckDevConnection(chNum As Integer) As Boolean
|
|
Try
|
|
If SerialPort1.IsOpen = True Then
|
|
If DevConnectFlag(chNum) = False Then
|
|
DevPowerONFlag(chNum) = False
|
|
tmpCmdMessage = "chkpwron"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & chNum & "]" + vbCrLf
|
|
SendData(cmdMessage)
|
|
|
|
Else
|
|
tmpCmdMessage = "dsfwver"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & chNum & "]" + vbCrLf
|
|
SendData(cmdMessage)
|
|
|
|
End If
|
|
Else
|
|
MsgBox("통신 포트가 열리지 않았습니다.")
|
|
Return True
|
|
End If
|
|
Catch ex As Exception
|
|
Return True
|
|
End Try
|
|
End Function
|
|
Private Sub cmdTimer_Tick(sender As System.Object, e As System.EventArgs) Handles cmdTimer.Tick
|
|
Dim dispStr As String
|
|
|
|
If SerialPort1.IsOpen = True Then
|
|
ReceiveData()
|
|
For i = 1 To 10
|
|
If btnRun(i).Text = "시작" Then
|
|
If EnableRunConnect(i) = True Then
|
|
If ConnTimeoutCnt(i) >= ConnTimeout Then
|
|
ConnTimeoutCnt(i) = 0
|
|
EnableRunConnect(i) = False
|
|
cmdAutoPowerOn(i)
|
|
End If
|
|
ConnTimeoutCnt(i) += 1
|
|
End If
|
|
ElseIf btnRun(i).Text = "중지" Then
|
|
If txbCmdWindow(i).Text = "" And RunTime(i) >= 20 Then ''20
|
|
cmdRunButton(i)
|
|
txbInfoBox(i).Text = "에러"
|
|
txbInfoBox(i).BackColor = Color.DarkOrange
|
|
txbInfoBox(i).Refresh()
|
|
dispStr = (Format(TimeOfDay, "HH:mm:ss")) & "," & "ERROR"
|
|
Save_CSV(i, dispStr)
|
|
End If
|
|
|
|
If preVal(i) = Val(txbShotCnt(i).Text) Then
|
|
If (RunTime(i) - preCnt(i)) >= 35 Then ''35
|
|
cmdRunButton(i)
|
|
txbInfoBox(i).Text = "에러"
|
|
txbInfoBox(i).BackColor = Color.DarkOrange
|
|
txbInfoBox(i).Refresh()
|
|
dispStr = (Format(TimeOfDay, "HH:mm:ss")) & "," & "ERROR"
|
|
Save_CSV(i, dispStr)
|
|
End If
|
|
Else
|
|
preVal(i) = Val(txbShotCnt(i).Text)
|
|
preCnt(i) = RunTime(i)
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnExit_Click(sender As System.Object, e As System.EventArgs) Handles btnExit.Click
|
|
''Button1.Enabled = True
|
|
''Button1.Refresh()
|
|
For i = 1 To CNT_CH
|
|
''EnableRunConnect(i) = True
|
|
''DevConnectFlag(i) = False
|
|
''DevPowerONFlag(i) = False
|
|
''ConnTimeoutCnt(i) = 0
|
|
'' NoUseAutoPwrOn(chNum)
|
|
tmpCmdMessage = "agtpmode"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & i & ",1]" + vbCrLf
|
|
SendData(cmdMessage)
|
|
Next i
|
|
End Sub
|
|
|
|
Private Sub btnRunButton1_Click(sender As System.Object, e As System.EventArgs) Handles btnRun1.Click
|
|
Dim chNum As Integer = 1
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnRun2_Click(sender As System.Object, e As System.EventArgs) Handles btnRun2.Click
|
|
Dim chNum As Integer = 2
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnRun3_Click(sender As System.Object, e As System.EventArgs) Handles btnRun3.Click
|
|
Dim chNum As Integer = 3
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnRun4_Click(sender As System.Object, e As System.EventArgs) Handles btnRun4.Click
|
|
Dim chNum As Integer = 4
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnRun5_Click(sender As System.Object, e As System.EventArgs) Handles btnRun5.Click
|
|
Dim chNum As Integer = 5
|
|
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub btnRun6_Click(sender As System.Object, e As System.EventArgs) Handles btnRun6.Click
|
|
Dim chNum As Integer = 6
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnRun7_Click(sender As System.Object, e As System.EventArgs) Handles btnRun7.Click
|
|
Dim chNum As Integer = 7
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnRun8_Click(sender As System.Object, e As System.EventArgs) Handles btnRun8.Click
|
|
Dim chNum As Integer = 8
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnRun9_Click(sender As System.Object, e As System.EventArgs) Handles btnRun9.Click
|
|
Dim chNum As Integer = 9
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnRun10_Click(sender As System.Object, e As System.EventArgs) Handles btnRun10.Click
|
|
Dim chNum As Integer = 10
|
|
If btnRun(chNum).Text = "시작" Then
|
|
cmdRunButton(chNum)
|
|
ElseIf btnRun(chNum).Text = "중지" Then
|
|
cmdRunButton(chNum)
|
|
End If
|
|
End Sub
|
|
Private Sub txbDevTemp_Click(sender As Object, e As EventArgs) Handles txbDevTemp.Click
|
|
If txbDevTemp.ReadOnly = False Then txbDevTemp.Text = ""
|
|
End Sub
|
|
Private Sub txbCartTemp_Click(sender As Object, e As EventArgs) Handles txbCartTemp.Click
|
|
If txbCartTemp.ReadOnly = False Then txbCartTemp.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbShotCount_Click(sender As Object, e As EventArgs) Handles txbShotCount.Click
|
|
If txbShotCount.ReadOnly = False Then txbShotCount.Text = ""
|
|
End Sub
|
|
Private Sub Save_CSV(ch As Integer, SaveData As String)
|
|
Dim FilePath As String
|
|
Dim syear As String
|
|
Dim smonth As String
|
|
Dim sday As String
|
|
Dim FileCnt As Long
|
|
Dim runFlag As Boolean = True
|
|
|
|
|
|
Dim FileName As String
|
|
|
|
Dim objWriter As System.IO.StreamWriter
|
|
|
|
On Error GoTo WR_File_Error
|
|
|
|
syear = DateAndTime.Year(Now)
|
|
smonth = DateAndTime.Month(Now)
|
|
sday = DateAndTime.Day(Now)
|
|
|
|
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "Dualsonic_Log"
|
|
|
|
'디렉토리가 없을 경우
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "Dualsonic_Log\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now)
|
|
|
|
'디렉토리가 없을 경우
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
FileName = FileSavePath(ch)
|
|
|
|
'System.IO.File.Delete(FileName)
|
|
objWriter = New System.IO.StreamWriter(FileName, True)
|
|
objWriter.WriteLine(SaveData)
|
|
|
|
objWriter.Close()
|
|
|
|
Exit Sub
|
|
|
|
WR_File_Error:
|
|
MsgBox("Aging Data Save Fail!")
|
|
End Sub
|
|
Private Sub Save_CSV_Dir(ch As Integer, SaveData As String)
|
|
Dim FilePath As String
|
|
Dim syear As String
|
|
Dim smonth As String
|
|
Dim sday As String
|
|
Dim FileCnt As Long
|
|
Dim runFlag As Boolean = True
|
|
Dim FileName As String
|
|
Dim FrontFileName As String
|
|
Dim MainSN As String
|
|
Dim CartSN As String
|
|
|
|
Dim objWriter As System.IO.StreamWriter
|
|
|
|
On Error GoTo WR_File_Error
|
|
|
|
syear = DateAndTime.Year(Now)
|
|
smonth = DateAndTime.Month(Now)
|
|
sday = DateAndTime.Day(Now)
|
|
|
|
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "Dualsonic_Log"
|
|
|
|
'디렉토리가 없을 경우
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "Dualsonic_Log\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now)
|
|
|
|
'디렉토리가 없을 경우
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
If txbMainSN(ch).Text = "Click" Then
|
|
MainSN = "DEV_NA"
|
|
Else
|
|
MainSN = txbMainSN(ch).Text
|
|
End If
|
|
|
|
If txbCartSN(ch).Text = "Click" Then
|
|
CartSN = "CART_NA"
|
|
Else
|
|
CartSN = txbCartSN(ch).Text
|
|
End If
|
|
|
|
FrontFileName = FilePath & "\" & MainSN & "_" & CartSN & "_CH_" & Format(ch, "00")
|
|
|
|
FileName = FrontFileName & ".CSV"
|
|
|
|
Do
|
|
If File.Exists(FileName) = True Then
|
|
FileCnt = FileCnt + 1
|
|
FileName = FrontFileName & "_" & FileCnt & ".CSV"
|
|
runFlag = False
|
|
Else
|
|
runFlag = True
|
|
End If
|
|
Loop Until (runFlag)
|
|
|
|
FileSavePath(ch) = FileName
|
|
|
|
'System.IO.File.Delete(FileName)
|
|
objWriter = New System.IO.StreamWriter(FileName, True)
|
|
objWriter.WriteLine(SaveData)
|
|
|
|
objWriter.Close()
|
|
|
|
Exit Sub
|
|
|
|
WR_File_Error:
|
|
MsgBox("Aging Data Save Fail!")
|
|
End Sub
|
|
Private Sub Read_ini()
|
|
Dim FilePath As String
|
|
Dim FileName As String
|
|
Dim ConifgStr As String
|
|
Dim DevTemp As String
|
|
Dim ShotCount As String
|
|
Dim CartTemp As String
|
|
Dim objReader As System.IO.StreamReader
|
|
|
|
On Error GoTo RD_File_Error
|
|
|
|
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "\Dualsonic Config"
|
|
|
|
'디렉토리가 없을 경우
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
FileName = FilePath & "\" & "DS_Config" & ".ini"
|
|
|
|
If File.Exists(FileName) = True Then
|
|
objReader = New System.IO.StreamReader(FileName, True)
|
|
ConifgStr = objReader.ReadLine()
|
|
objReader.Close()
|
|
|
|
txbDevTemp.Text = Mid(ConifgStr, 1, InStr(ConifgStr, ",") - 1)
|
|
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, ",") + 1, Len(ConifgStr))
|
|
|
|
txbCartTemp.Text = Mid(ConifgStr, 1, InStr(ConifgStr, ",") - 1)
|
|
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, ",") + 1, Len(ConifgStr))
|
|
|
|
txbShotCount.Text = ConifgStr
|
|
|
|
Else
|
|
Save_ini()
|
|
End If
|
|
|
|
Exit Sub
|
|
|
|
RD_File_Error:
|
|
MsgBox("Config Load Fail!")
|
|
End Sub
|
|
|
|
Private Sub Save_ini()
|
|
Dim FilePath As String
|
|
Dim FileName As String
|
|
Dim ConifgStr As String
|
|
Dim objWriter As System.IO.StreamWriter
|
|
|
|
On Error GoTo WR_File_Error
|
|
|
|
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "\Dualsonic Config"
|
|
|
|
'디렉토리가 없을 경우
|
|
If Dir(FilePath, vbDirectory) = "" Then
|
|
MkDir(FilePath)
|
|
End If
|
|
|
|
FileName = FilePath & "\" & "DS_Config" & ".ini"
|
|
|
|
|
|
If txbDevTemp.Text = "" Then txbDevTemp.Text = 48.0
|
|
If txbCartTemp.Text = "" Then txbCartTemp.Text = 48.0
|
|
If txbShotCount.Text = "" Then txbShotCount.Text = 300
|
|
|
|
ConifgStr = txbDevTemp.Text & "," & txbCartTemp.Text & "," & txbShotCount.Text
|
|
|
|
System.IO.File.Delete(FileName)
|
|
objWriter = New System.IO.StreamWriter(FileName, True)
|
|
|
|
objWriter.Flush()
|
|
objWriter.WriteLine(ConifgStr)
|
|
|
|
objWriter.Close()
|
|
|
|
Exit Sub
|
|
|
|
WR_File_Error:
|
|
MsgBox("Config Save Fail!")
|
|
End Sub
|
|
|
|
|
|
Private Sub txbMainSN1_Click(sender As Object, e As EventArgs) Handles txbMainSN1.Click
|
|
txbMainSN1.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbCartSN1_Click(sender As Object, e As EventArgs) Handles txbCartSN1.Click
|
|
txbCartSN1.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbMainSN2_Click(sender As Object, e As EventArgs) Handles txbMainSN2.Click
|
|
txbMainSN2.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbCartSN2_Click(sender As Object, e As EventArgs) Handles txbCartSN2.Click
|
|
txbCartSN2.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbMainSN3_Click(sender As Object, e As EventArgs) Handles txbMainSN3.Click
|
|
txbMainSN3.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbCartSN3_Click(sender As Object, e As EventArgs) Handles txbCartSN3.Click
|
|
txbCartSN3.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbMainSN4_Click(sender As Object, e As EventArgs) Handles txbMainSN4.Click
|
|
txbMainSN4.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbCartSN4_Click(sender As Object, e As EventArgs) Handles txbCartSN4.Click
|
|
txbCartSN4.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbMainSN5_Click(sender As Object, e As EventArgs) Handles txbMainSN5.Click
|
|
txbMainSN5.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbCartSN5_Click(sender As Object, e As EventArgs) Handles txbCartSN5.Click
|
|
txbCartSN5.Text = ""
|
|
End Sub
|
|
|
|
|
|
Private Sub txbMainSN6_Click(sender As Object, e As EventArgs) Handles txbMainSN6.Click
|
|
txbMainSN6.Text = ""
|
|
End Sub
|
|
Private Sub txbCartSN6_Click(sender As Object, e As EventArgs) Handles txbCartSN6.Click
|
|
txbCartSN6.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbMainSN7_Click(sender As Object, e As EventArgs) Handles txbMainSN7.Click
|
|
txbMainSN7.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbCartSN7_Click(sender As Object, e As EventArgs) Handles txbCartSN7.Click
|
|
txbCartSN7.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbMainSN8_Click(sender As Object, e As EventArgs) Handles txbMainSN8.Click
|
|
txbMainSN8.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbCartSN8_Click(sender As Object, e As EventArgs) Handles txbCartSN8.Click
|
|
txbCartSN8.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbMainSN9_Click(sender As Object, e As EventArgs) Handles txbMainSN9.Click
|
|
txbMainSN9.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbCartSN9_Click(sender As Object, e As EventArgs) Handles txbCartSN9.Click
|
|
txbCartSN9.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbMainSN10_Click(sender As Object, e As EventArgs) Handles txbMainSN10.Click
|
|
txbMainSN10.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txbCartSN10_Click(sender As Object, e As EventArgs) Handles txbCartSN10.Click
|
|
txbCartSN10.Text = ""
|
|
End Sub
|
|
|
|
Private Sub NoUseAutoPwrOn(ChNum As Integer)
|
|
tmpCmdMessage = "chgpinon"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & ChNum & ",0]" + vbCrLf
|
|
SendData(cmdMessage)
|
|
|
|
tmpCmdMessage = "idpinon"
|
|
cmdMessage = "[" & tmpCmdMessage & " " & ChNum & ",1]" + vbCrLf
|
|
SendData(cmdMessage)
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
For cnt = 1 To CNT_CH
|
|
cmdRunButton(cnt)
|
|
Threading.Thread.Sleep(30)
|
|
Next cnt
|
|
End Sub
|
|
End Class |