Imports System Imports System.IO.Ports Imports System.Threading Imports System.IO.Ports.SerialPort Public Class MainForm Public cmdMessage As String Public rxMessage As String Public cmpMessage As String = "SUCCESS" Public tmpCmdMessage As String Dim retErr As Boolean Public sysTimer As ULong Const TIMEOUT As ULong = 5000 Const cmdWaitTime As UInteger = 100 Public BoardModelName As String = "" Public BoardName As String = "" Public BoardTypelName As String = "" Public BoardRunMode As String = "" Public DevTypeName As String Public DevModelName As String Public CartType As String Dim BoardColor As Color Dim CartColor As Color Dim AuthColor As Color Dim ScsColor As Color Dim ShotColor As Color Public strFileName As String Public fileReadData() As Byte Public FWBoardName As String Const PackSize As Integer = 1024 Public FWDownBuf(0 To 1028) As Byte Public FWDownStop As Boolean Public setTimeout As Integer Public DefalutTimeout As Integer = 1000 Public CON_STATUS As String = "" Public CART_STATUS As String = "" Public initStatusCheck As Boolean = True Public ErrorCnt As Integer Public SCSErrorCnt As Integer Public RxCnt As Long Public TXRX_CNT As Boolean = False Private Sub systemTimer_Tick(sender As Object, e As EventArgs) Handles systemTimer.Tick lblTime.Text = Now End Sub Private Sub MainForm_Deactivate(sender As Object, e As EventArgs) Handles Me.FormClosing 'Deactivate exit_Process() End Sub Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim portname() As String Dim i As Integer Dim YearStr, MonthStr As String portname = SerialPort.GetPortNames For i = 1 To portname.Length cboComPort.Items.Add(portname(i - 1)) Next i txbCartFrq.BackColor = Color.WhiteSmoke txbCartPower.BackColor = Color.WhiteSmoke txbShot.BackColor = Color.WhiteSmoke txbMaxShot.BackColor = Color.WhiteSmoke txbBarcode.BackColor = Color.WhiteSmoke txbFactory.BackColor = Color.WhiteSmoke nudYear.BackColor = Color.WhiteSmoke nudMonth.BackColor = Color.WhiteSmoke nudSN.BackColor = Color.WhiteSmoke txbAbroad.BackColor = Color.WhiteSmoke txbAgency.BackColor = Color.WhiteSmoke txbFront.BackColor = Color.WhiteSmoke txbRear.BackColor = Color.WhiteSmoke txbBarcodeDev.BackColor = Color.WhiteSmoke txbFactoryDev.BackColor = Color.WhiteSmoke nudYearDev.BackColor = Color.WhiteSmoke nudMonthDev.BackColor = Color.WhiteSmoke nudSNDev.BackColor = Color.WhiteSmoke txbAbroadDev.BackColor = Color.WhiteSmoke txbAgencyDev.BackColor = Color.WhiteSmoke txbRuntime.BackColor = Color.WhiteSmoke txbReadyTime.BackColor = Color.WhiteSmoke txbRFCnt.BackColor = Color.WhiteSmoke txbErrCnt.BackColor = Color.WhiteSmoke txbRunMode.BackColor = Color.WhiteSmoke cboComPort.Text = "PRESS!" YearStr = Year(Now) nudYear.Text = Mid(YearStr, 3, 2) nudYearDev.Text = Mid(YearStr, 3, 2) MonthStr = Month(Now) If Len(MonthStr) < 2 Then MonthStr = "0" + MonthStr End If nudMonth.Text = MonthStr nudMonthDev.Text = MonthStr updateBarcode() updateBarcodeDev() End Sub Private Sub cmdSerial_Click(sender As Object, e As 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 gpbCartSet.Enabled = True tbcDevice.Enabled = True ''gpbInfo.Enabled = True ''gpbLocal.Enabled = True ''gpbSensor.Enabled = True ''gpbAuth.Enabled = True ''gpbCart.Enabled = True ''gpbShot.Enabled = True txbBarcode.BackColor = Color.FromArgb(192, 255, 255) txbFactory.BackColor = Color.FromArgb(255, 255, 192) nudYear.BackColor = Color.FromArgb(255, 224, 192) nudMonth.BackColor = Color.FromArgb(255, 224, 192) nudSN.BackColor = Color.FromArgb(255, 224, 192) txbAbroad.BackColor = Color.FromArgb(255, 192, 128) txbAgency.BackColor = Color.FromArgb(192, 192, 0) txbFront.BackColor = Color.FromArgb(255, 255, 128) txbRear.BackColor = Color.FromArgb(192, 192, 255) txbCartFrq.BackColor = Color.FromArgb(255, 192, 128) txbCartPower.BackColor = Color.FromArgb(255, 192, 192) txbShot.BackColor = Color.FromArgb(255, 192, 255) txbMaxShot.BackColor = Color.FromArgb(192, 192, 255) txbBarcodeDev.BackColor = Color.FromArgb(192, 255, 255) txbFactoryDev.BackColor = Color.FromArgb(255, 255, 192) nudYearDev.BackColor = Color.FromArgb(255, 224, 192) nudMonthDev.BackColor = Color.FromArgb(255, 224, 192) nudSNDev.BackColor = Color.FromArgb(255, 224, 192) txbAbroadDev.BackColor = Color.FromArgb(255, 192, 128) txbAgencyDev.BackColor = Color.FromArgb(192, 192, 0) txbRuntime.BackColor = Color.FromArgb(255, 255, 192) txbReadyTime.BackColor = Color.FromArgb(255, 224, 192) txbRFCnt.BackColor = Color.FromArgb(255, 128, 128) txbErrCnt.BackColor = Color.FromArgb(255, 192, 128) txbRunMode.BackColor = Color.FromArgb(192, 192, 0) Catch ex As Exception MsgBox(ex.Message) End Try End If Else Try cmdSerial.Text = "열기" cboComPort.Enabled = True gpbCartSet.Enabled = False tbcDevice.Enabled = False ''gpbInfo.Enabled = False ''gpbLocal.Enabled = False ''gpbSensor.Enabled = False ''gpbAuth.Enabled = True ''gpbCart.Enabled = False ''gpbShot.Enabled = False SerialPort1.Close() cboComPort.Items.Clear() portname = SerialPort.GetPortNames For i = 1 To portname.Length cboComPort.Items.Add(portname(i - 1)) Next i txbBarcode.BackColor = Color.WhiteSmoke txbFactory.BackColor = Color.WhiteSmoke nudYear.BackColor = Color.WhiteSmoke nudMonth.BackColor = Color.WhiteSmoke nudSN.BackColor = Color.WhiteSmoke txbAbroad.BackColor = Color.WhiteSmoke txbAgency.BackColor = Color.WhiteSmoke txbFront.BackColor = Color.WhiteSmoke txbRear.BackColor = Color.WhiteSmoke txbCartFrq.BackColor = Color.WhiteSmoke txbCartPower.BackColor = Color.WhiteSmoke txbShot.BackColor = Color.WhiteSmoke txbMaxShot.BackColor = Color.WhiteSmoke txbBarcodeDev.BackColor = Color.WhiteSmoke txbFactoryDev.BackColor = Color.WhiteSmoke nudYearDev.BackColor = Color.WhiteSmoke nudMonthDev.BackColor = Color.WhiteSmoke nudSNDev.BackColor = Color.WhiteSmoke txbAbroadDev.BackColor = Color.WhiteSmoke txbAgencyDev.BackColor = Color.WhiteSmoke txbRuntime.BackColor = Color.WhiteSmoke txbReadyTime.BackColor = Color.WhiteSmoke txbRFCnt.BackColor = Color.WhiteSmoke txbErrCnt.BackColor = Color.WhiteSmoke txbRunMode.BackColor = Color.WhiteSmoke txbAuthBox.Visible = False txbInfoBox.Visible = False txbLocalBox.Visible = False txbSensorBox.Visible = False txbCartBox.Visible = False txbShotBox.Visible = False txbAuthBoxDev.Visible = False txbInfoBoxDev.Visible = False txbDevInfoBox.Visible = False Catch ex As Exception MsgBox(ex.Message) End Try End If End If 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 Public Sub Delay(Delaytime As Integer) Dim currTick As Integer = 0 Dim preTick As Integer = 0 preTick = GetTickCount() currTick = GetTickCount() Do While (currTick - preTick < Delaytime) currTick = GetTickCount() Application.DoEvents() Loop 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) 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 btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click exit_Process() 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) Else MsgBox("통신 포트가 열리지 않았습니다.") End If Catch ex As Exception Return True End Try Return False End Function Private Function ReceiveData() As Boolean Dim TimeoutVal As Integer Try If SerialPort1.IsOpen = True Then If setTimeout Then TimeoutVal = setTimeout Else TimeoutVal = DefalutTimeout End If rxMessage = "" SerialPort1.ReadTimeout = TimeoutVal rxMessage = SerialPort1.ReadLine() Return False Else MsgBox("통신 포트가 열리지 않았습니다.") Return True End If Catch ex As Exception Return True End Try End Function Private Sub rdbCT015_CheckedChanged(sender As Object, e As EventArgs) Handles rdbCT015.CheckedChanged If rdbCT015.Checked = False And rdbCT030.Checked = False Then Else updateBarcode() upDateShotCount() End If End Sub Private Sub rdbCT030_CheckedChanged(sender As Object, e As EventArgs) Handles rdbCT030.CheckedChanged If rdbCT015.Checked = False And rdbCT030.Checked = False Then Else updateBarcode() upDateShotCount() End If End Sub Private Sub btnRdCart_Click(sender As Object, e As EventArgs) Handles btnRdCart.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String txbCartBox.Visible = True txbCartBox.Text = "RUNNING" txbCartBox.BackColor = Color.GreenYellow txbCartBox.Refresh() txbCartFrq.Text = "" txbCartFrq.Refresh() txbCartPower.Text = "" txbCartPower.Refresh() Try ''************************************ ''******* Cart Frq Info 수신 ******** ''************************************ tmpCmdMessage = "cartfreq" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbCartFrq.Text = rxVal Else GoTo FailExit End If ''************************************ ''******* Cart PWR Info 수신 ******** ''************************************ tmpCmdMessage = "ctpower" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbCartPower.Text = Val(rxVal) / 100 Else GoTo FailExit End If txbCartBox.Text = "SUCCESS" txbCartBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbCartBox.Text = "FAIL" txbCartBox.BackColor = Color.Red txbCartFrq.Refresh() txbCartPower.Refresh() SuccessExit: btnRdCart.Enabled = True btnWrCart.Enabled = True txbCartBox.Refresh() Exit Sub End Sub Private Sub btnWrCart_Click(sender As Object, e As EventArgs) Handles btnWrCart.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String Dim tmpVal As Integer If txbCartFrq.Text = "" Or txbCartPower.Text = "" Then MsgBox("정보가 부족합니다. 빈칸을 채워주세요.") Exit Sub End If If Len(txbCartFrq.Text) > 6 Or Val(txbCartPower.Text) < -0.5 Or Val(txbCartPower.Text) > 0.5 Then MsgBox("입력 정보 형식을 확인해주세요.") Exit Sub End If txbCartBox.Visible = True txbCartBox.Text = "RUNNING" txbCartBox.BackColor = Color.GreenYellow txbCartBox.Refresh() Try ''************************************ ''******* Cart 주파수 전송 ******** ''************************************ tmpCmdMessage = "cartfreq" cmdMessage = "[sb" & tmpCmdMessage & " " & txbCartFrq.Text & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, 10) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''******* Cart 파워 전송 ******** ''************************************ tmpVal = (Val(txbCartPower.Text) * 100) tmpCmdMessage = "ctpower" cmdMessage = "[sb" & tmpCmdMessage & " " & tmpVal & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, 10) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If txbCartBox.Text = "SUCCESS" txbCartBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbCartBox.Text = "Timeout" + Str(stageCnt) txbCartBox.BackColor = Color.Red SuccessExit: txbCartBox.Refresh() Exit Sub End Sub Private Sub btnRdShot_Click(sender As Object, e As EventArgs) Handles btnRdShot.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String txbShot.Text = "" txbShot.Refresh() txbMaxShot.Text = "" txbMaxShot.Refresh() txbShotBox.Visible = True txbShotBox.Text = "RUNNING" txbShotBox.BackColor = Color.GreenYellow txbShotBox.Refresh() Try ''************************************ ''******* Shot Cnt 수신 ******** ''************************************ tmpCmdMessage = "rshotcnt" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbShot.Text = rxVal Else GoTo FailExit End If ''************************************ ''****** Max Shot Cnt 수신 ******** ''************************************ tmpCmdMessage = "tshotcnt" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbMaxShot.Text = rxVal Else GoTo FailExit End If txbShotBox.Text = "SUCCESS" txbShotBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbShotBox.Text = "FAIL" txbShotBox.BackColor = Color.Red SuccessExit: txbShotBox.Refresh() Exit Sub End Sub Private Sub btnWrShot_Click(sender As Object, e As EventArgs) Handles btnWrShot.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String If txbShot.Text = "" Or txbMaxShot.Text = "" Then MsgBox("정보가 부족합니다. 빈칸을 채워주세요.") Exit Sub End If If txbShot.Text > txbMaxShot.Text Then MsgBox("입력 정보 형식을 확인해주세요.") Exit Sub End If txbShotBox.Visible = True txbShotBox.Text = "RUNNING" txbShotBox.BackColor = Color.GreenYellow txbShotBox.Refresh() If rdbDevPro.Checked = True And rdbCT030.Checked = True Then If txbShot.Enabled = False Then txbShot.Text = 6100 If txbMaxShot.Enabled = False Then txbMaxShot.Text = 6100 ElseIf rdbDevPro.Checked = True And rdbCT015.Checked = True Then If txbShot.Enabled = False Then txbShot.Text = 60100 If txbMaxShot.Enabled = False Then txbMaxShot.Text = 60100 ElseIf rdbDevLux.Checked = True And rdbCT030.Checked = True Then If txbShot.Enabled = False Then txbShot.Text = 3000 If txbMaxShot.Enabled = False Then txbMaxShot.Text = 3000 ElseIf rdbDevLux.Checked = True And rdbCT015.Checked = True Then If txbShot.Enabled = False Then txbShot.Text = 30000 If txbMaxShot.Enabled = False Then txbMaxShot.Text = 30000 Else GoTo FailExit End If Try ''************************************ ''******* Shot Cnt 발신 ******** ''************************************ tmpCmdMessage = "rshotcnt" cmdMessage = "[sb" & tmpCmdMessage & " " & txbShot.Text & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''****** Max Shot Cnt 발신 ******** ''************************************ tmpCmdMessage = "tshotcnt" cmdMessage = "[sb" & tmpCmdMessage & " " & txbMaxShot.Text & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''********* 판정 ********** ''************************************ txbShotBox.Text = "SUCCESS" txbShotBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbShotBox.Text = "Timeout" + Str(stageCnt) txbShotBox.BackColor = Color.Red SuccessExit: txbCartBox.Refresh() Exit Sub End Sub Private Sub cboComPort_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboComPort.SelectedIndexChanged cmdSerial.Enabled = True End Sub Private Sub rdbCT080_CheckedChanged_1(sender As Object, e As EventArgs) End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim stageCnt As Integer Dim rxVal, modelType As String Dim tmpStr1, tmpStr2 As String txbFactory.Text = "" txbFactory.Refresh() txbBarcode.Text = "" txbBarcode.Refresh() nudYear.Text = "" nudYear.Refresh() nudMonth.Text = "" nudMonth.Refresh() nudSN.Text = "" nudSN.Refresh() txbModel.Text = "" txbModel.Refresh() rdbDevPro.Checked = False rdbDevPro.Refresh() rdbDevLux.Checked = False rdbDevLux.Refresh() rdbCT015.Checked = False rdbCT015.Refresh() rdbCT030.Checked = False rdbCT030.Refresh() txbInfoBox.Visible = True txbInfoBox.Text = "RUNNING" txbInfoBox.BackColor = Color.GreenYellow txbInfoBox.Refresh() Try ''************************************ ''******* 제조사 코드 수신 ******* ''************************************ tmpCmdMessage = "cartmanu" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbFactory.Text = rxVal Else GoTo FailExit End If ''************************************ ''****** 모델타입 수신 ******** ''************************************ tmpCmdMessage = "ctmodel" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit modelType = Mid(rxVal, 1, 2) If modelType = "11" Then rdbDevPro.Checked = True rdbDevLux.Checked = False ElseIf modelType = "21" Then rdbDevPro.Checked = False rdbDevLux.Checked = True Else rdbDevPro.Checked = False rdbDevLux.Checked = False End If Else GoTo FailExit End If ''************************************ ''******* Cart Type 수신 ******** ''************************************ tmpCmdMessage = "carttype" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit End If If rxVal = "1" Then rdbCT015.Checked = True ElseIf rxVal = "2" Then rdbCT030.Checked = True Else rdbCT015.Checked = False rdbCT030.Checked = False End If ''************************************ ''****** 시리얼넘버 수신 ******** ''************************************ tmpCmdMessage = "cartsn" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit If Len(rxVal) = 10 Then nudYear.Text = Mid(rxVal, 1, 2) nudMonth.Text = Mid(rxVal, 3, 2) nudSN.Text = Mid(rxVal, 5, 6) ElseIf Len(rxVal) = 9 Then nudYear.Text = Mid(rxVal, 1, 1) nudMonth.Text = Mid(rxVal, 2, 2) nudSN.Text = Mid(rxVal, 4, 6) Else GoTo FailExit End If Else GoTo FailExit End If txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbInfoBox.Text = "FAIL" txbInfoBox.BackColor = Color.Red SuccessExit: updateBarcode() txbInfoBox.Refresh() Exit Sub End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String Dim tmpStrSN, modelType As String Dim cnt, i As Integer If txbFactory.Text = "" Then txbFactory.Text = "jomt" If txbFactory.Text = "" Or nudSN.Text = "" Or nudYear.Text = "0" Or nudMonth.TextAlign = "0" Or (rdbDevPro.Checked = False And rdbDevLux.Checked = False) Or (rdbCT030.Checked = False And rdbCT015.Checked = False) Then MsgBox("정보가 부족합니다. 빈칸을 채워주세요.") Exit Sub End If txbInfoBox.Visible = True txbInfoBox.Text = "RUNNING" txbInfoBox.BackColor = Color.GreenYellow txbInfoBox.Refresh() If rdbCT030.Checked = True And rdbCT015.Checked = False Then CartType = 2 ElseIf rdbCT030.Checked = False And rdbCT015.Checked = True Then CartType = 1 Else GoTo FailExit End If If rdbDevPro.Checked = True Then If rdbCT030.Checked = True Then modelType = "11" ElseIf rdbCT015.Checked = True Then modelType = "12" Else GoTo FailExit End If ElseIf rdbDevLux.Checked = True Then If rdbCT030.Checked = True Then modelType = "21" ElseIf rdbCT015.Checked = True Then modelType = "22" Else GoTo FailExit End If Else GoTo FailExit End If Try ''************************************ ''******* 제조사코드 발신 ******** ''************************************ tmpCmdMessage = "cartmanu" cmdMessage = "[sb" & tmpCmdMessage & " " & "JOMT" & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''****** 모델넘버 발신 ******** ''************************************ tmpCmdMessage = "ctmodel" cmdMessage = "[sb" & tmpCmdMessage & " " & modelType & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''******* Cart Type 전송 ******** ''************************************ tmpCmdMessage = "carttype" cmdMessage = "[sb" & tmpCmdMessage & " " & CartType & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, 10) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''****** 시리얼넘버 발신 ******** ''************************************ i = Len(nudSN.Text) tmpStrSN = nudSN.Text For cnt = i To 5 tmpStrSN = "0" + tmpStrSN Next cnt If Len(nudMonth.Text) = 2 Then tmpStrSN = nudYear.Text & nudMonth.Text & tmpStrSN ElseIf Len(nudMonthDev.Text) = 1 Then tmpStrSN = nudYear.Text & "0" & nudMonth.Text & tmpStrSN Else GoTo FailExit End If tmpCmdMessage = "cartsn" cmdMessage = "[sb" & tmpCmdMessage & " " & tmpStrSN & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''********* 판정 ********** ''************************************ txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbInfoBox.Text = "Timeout" + Str(stageCnt) txbInfoBox.BackColor = Color.Red SuccessExit: txbInfoBox.Refresh() Exit Sub End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String txbFront.Text = "" txbFront.Refresh() txbRear.Text = "" txbRear.Refresh() txbSensorBox.Visible = True txbSensorBox.Text = "RUNNING" txbSensorBox.BackColor = Color.GreenYellow txbSensorBox.Refresh() Try ''************************************ ''******* Front 센서 수신 ******** ''************************************ tmpCmdMessage = "frontsen" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbFront.Text = rxVal Else GoTo FailExit End If ''************************************ ''****** Rear센서 수신 ******** ''************************************ tmpCmdMessage = "rearsen" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbRear.Text = rxVal Else GoTo FailExit End If txbSensorBox.Text = "SUCCESS" txbSensorBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbSensorBox.Text = "FAIL" txbSensorBox.BackColor = Color.Red SuccessExit: txbSensorBox.Refresh() Exit Sub End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String If txbFront.Text = "" Or txbRear.Text = "" Then MsgBox("정보가 부족합니다. 빈칸을 채워주세요.") Exit Sub End If txbSensorBox.Visible = True txbSensorBox.Text = "RUNNING" txbSensorBox.BackColor = Color.GreenYellow txbSensorBox.Refresh() Try ''************************************ ''******* txbFront 발신 ******** ''************************************ tmpCmdMessage = "frontsen" cmdMessage = "[sb" & tmpCmdMessage & " " & txbFront.Text & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''****** txbRear 발신 ******** ''************************************ tmpCmdMessage = "rearsen" cmdMessage = "[sb" & tmpCmdMessage & " " & txbRear.Text & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''********* 판정 ********** ''************************************ txbSensorBox.Text = "SUCCESS" txbSensorBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbSensorBox.Text = "Timeout" + Str(stageCnt) txbSensorBox.BackColor = Color.Red SuccessExit: txbSensorBox.Refresh() Exit Sub End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String txbAbroad.Text = "" txbAbroad.Refresh() txbAgency.Text = "" txbAgency.Refresh() txbLocalBox.Visible = True txbLocalBox.Text = "RUNNING" txbLocalBox.BackColor = Color.GreenYellow txbLocalBox.Refresh() Try ''************************************ ''******* txbAbroad 수신 ******** ''************************************ tmpCmdMessage = "ctabroad" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbAbroad.Text = rxVal Else GoTo FailExit End If ''************************************ ''****** txbAgency 수신 ******** ''************************************ tmpCmdMessage = "ctagency" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbAgency.Text = rxVal Else GoTo FailExit End If txbAgency.Text = rxVal txbLocalBox.Text = "SUCCESS" txbLocalBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbLocalBox.Text = "FAIL" txbLocalBox.BackColor = Color.Red SuccessExit: txbLocalBox.Refresh() Exit Sub End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String If txbAbroad.Text = "" Or txbAgency.Text = "" Then MsgBox("정보가 부족합니다. 빈칸을 채워주세요.") Exit Sub End If txbLocalBox.Visible = True txbLocalBox.Text = "RUNNING" txbLocalBox.BackColor = Color.GreenYellow txbLocalBox.Refresh() Try ''************************************ ''******* txbAbroad 발신 ******** ''************************************ tmpCmdMessage = "ctabroad" cmdMessage = "[sb" & tmpCmdMessage & " " & txbAbroad.Text & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''****** txbAgency 발신 ******** ''************************************ tmpCmdMessage = "ctagency" cmdMessage = "[sb" & tmpCmdMessage & " " & txbAgency.Text & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''********* 판정 ********** ''************************************ txbLocalBox.Text = "SUCCESS" txbLocalBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbLocalBox.Text = "Timeout" + Str(stageCnt) txbLocalBox.BackColor = Color.Red SuccessExit: txbLocalBox.Refresh() Exit Sub End Sub Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String txbAuthBox.Visible = True txbAuthBox.Text = "RUNNING" txbAuthBox.BackColor = Color.GreenYellow txbAuthBox.Refresh() Try ''************************************ ''***** 카트리지 인증 발신 ******* ''************************************ tmpCmdMessage = "cartauth" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 10000 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''********* 판정 ********** ''************************************ txbAuthBox.Text = "SUCCESS" txbAuthBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbAuthBox.Text = "Timeout" + Str(stageCnt) txbAuthBox.BackColor = Color.Red SuccessExit: txbAuthBox.Refresh() Exit Sub End Sub Private Sub Button15_Click(sender As System.Object, e As System.EventArgs) Handles Button15.Click Dim YearStr, MonthStr As String YearStr = Year(Now) nudYear.Text = Mid(YearStr, 3, 2) MonthStr = Month(Now) If Len(MonthStr) < 2 Then MonthStr = "0" + MonthStr nudMonth.Text = MonthStr End If End Sub Private Sub upDateShotCount() If rdbDevPro.Checked = True And rdbCT030.Checked = True Then txbShot.Text = 6100 txbMaxShot.Text = 6100 ElseIf rdbDevPro.Checked = True And rdbCT015.Checked = True Then txbShot.Text = 60100 txbMaxShot.Text = 60100 ElseIf rdbDevLux.Checked = True And rdbCT030.Checked = True Then txbShot.Text = 3000 txbMaxShot.Text = 3000 ElseIf rdbDevLux.Checked = True And rdbCT015.Checked = True Then txbShot.Text = 30000 txbMaxShot.Text = 30000 End If End Sub Private Sub updateBarcode() ''Dim devModel, yearStr, monthStr, snLowStr, snHighStr As String Dim devModel, cartType, snTotalStr, snLowStr, snHighStr, tmpYear, tmpMonth As String Dim cnt, i As Integer If rdbDevPro.Checked = True Then devModel = "1" ElseIf rdbDevLux.Checked = True Then devModel = "2" Else devModel = "0" End If If rdbCT030.Checked = True Then cartType = "1" ElseIf rdbCT015.Checked = True Then cartType = "2" Else cartType = "0" End If i = Len(nudSN.Text) If Val(nudSN.Text) = 0 Then i = 0 snTotalStr = nudSN.Text For cnt = i To 5 snTotalStr = "0" + snTotalStr Next cnt snHighStr = Mid(snTotalStr, 1, 3) snLowStr = Mid(snTotalStr, 4, 3) If Len(nudYear.Text) >= 2 Then tmpYear = nudYear.Text Else tmpYear = "0" & nudYear.Text End If If Len(nudMonth.Text) >= 2 Then tmpMonth = nudMonth.Text Else tmpMonth = "0" & nudMonth.Text End If txbBarcode.Text = devModel + cartType + tmpYear + tmpMonth + snLowStr + snHighStr txbBarcode.Refresh() End Sub Private Sub updateBarcodeDev() ''Dim devModel, yearStr, monthStr, snLowStr, snHighStr As String Dim devModel, snTotalStr, snLowStr, snHighStr, tmpYear, tmpMonth As String Dim cnt, i As Integer If rdbDevProDev.Checked = True Then devModel = "10" ElseIf rdbDevLuxDev.Checked = True Then devModel = "20" Else devModel = "00" End If i = Len(nudSNDev.Text) If Val(nudSNDev.Text) = 0 Then i = 0 snTotalStr = nudSNDev.Text For cnt = i To 5 snTotalStr = "0" + snTotalStr Next cnt snHighStr = Mid(snTotalStr, 1, 3) snLowStr = Mid(snTotalStr, 4, 3) If Len(nudYearDev.Text) >= 2 Then tmpYear = nudYearDev.Text Else tmpYear = "0" & nudYearDev.Text End If If Len(nudMonthDev.Text) >= 2 Then tmpMonth = nudMonthDev.Text Else tmpMonth = "0" & nudMonthDev.Text End If txbBarcodeDev.Text = devModel + tmpYear + tmpMonth + snLowStr + snHighStr txbBarcodeDev.Refresh() End Sub Private Sub rdbDevPro_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rdbDevPro.CheckedChanged If rdbDevPro.Checked = False And rdbDevLux.Checked = False Then Else updateBarcode() upDateShotCount() End If End Sub Private Sub rdbDevLux_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rdbDevLux.CheckedChanged If rdbDevPro.Checked = False And rdbDevLux.Checked = False Then Else updateBarcode() upDateShotCount() End If End Sub Private Sub nudSN_ValueChanged(sender As System.Object, e As System.EventArgs) Handles nudSN.ValueChanged If nudSN.Text <> "" Then updateBarcode() End Sub Private Sub nudSN_Click(sender As System.Object, e As System.EventArgs) Handles nudSN.Click If nudSN.Text <> "" Then updateBarcode() End Sub Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) Handles Button7.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String '' Dim AUTH() As Byte = {&H5E, &H6D, &H72, &H70, &H77, &H30, &H70, &H64, &H6C, &H6F, &H30, &H73, &H6D, &H66, &H43, &H6D, &H66, &H6C, &H6B, &H6A, &H62, &H61, &H66, &H71, &H62, &H60, &H65, &H2B, &H60, &H6C, &H6A, &H5A} txbAuthBoxDev.Visible = True txbAuthBoxDev.Text = "RUNNING" txbAuthBoxDev.BackColor = Color.GreenYellow txbAuthBoxDev.Refresh() Try ''************************************ ''******* 본체 인증 발신 ******** ''************************************ tmpCmdMessage = "mainauth" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 10000 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''********* 판정 ********** ''************************************ txbAuthBoxDev.Text = "SUCCESS" txbAuthBoxDev.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbAuthBoxDev.Text = "Timeout" + Str(stageCnt) txbAuthBoxDev.BackColor = Color.Red SuccessExit: txbAuthBoxDev.Refresh() Exit Sub End Sub Private Sub Button13_Click(sender As System.Object, e As System.EventArgs) Handles Button13.Click Dim YearStr, MonthStr As String YearStr = Year(Now) nudYearDev.Text = Mid(YearStr, 3, 2) MonthStr = Month(Now) If Len(MonthStr) < 2 Then MonthStr = "0" + MonthStr nudMonthDev.Text = MonthStr End If End Sub Private Sub rdbDevProDev_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rdbDevProDev.CheckedChanged If rdbDevProDev.Checked = False And rdbDevLuxDev.Checked = False Then Else updateBarcodeDev() End If End Sub Private Sub rdbDevLuxDev_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rdbDevLuxDev.CheckedChanged If rdbDevProDev.Checked = False And rdbDevLuxDev.Checked = False Then Else updateBarcodeDev() End If End Sub Private Sub nudSNDev_ValueChanged(sender As System.Object, e As System.EventArgs) Handles nudSNDev.ValueChanged If nudSNDev.Text <> "" Then updateBarcodeDev() End Sub Private Sub nudSNDev_Click(sender As System.Object, e As System.EventArgs) Handles nudSNDev.Click If nudSNDev.Text <> "" Then updateBarcodeDev() End Sub Private Sub Button9_Click(sender As System.Object, e As System.EventArgs) Handles Button9.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr, tmpStr1, tmpStr2 As String Dim modelTypeStr As String txbFactoryDev.Text = "" txbFactoryDev.Refresh() txbBarcodeDev.Text = "" txbBarcodeDev.Refresh() nudYearDev.Text = "" nudYearDev.Refresh() nudMonthDev.Text = "" nudMonthDev.Refresh() nudSNDev.Text = "" nudSNDev.Refresh() rdbDevProDev.Checked = False rdbDevProDev.Refresh() rdbDevLuxDev.Checked = False rdbDevLuxDev.Refresh() txbInfoBoxDev.Visible = True txbInfoBoxDev.Text = "RUNNING" txbInfoBoxDev.BackColor = Color.GreenYellow txbInfoBoxDev.Refresh() Try ''************************************ ''******* 제조사 코드 수신 ******* ''************************************ tmpCmdMessage = "rdstconf" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit txbFactoryDev.Text = Mid(rxVal, 1, InStr(rxVal, ",") - 1) tmpStr = Mid(rxVal, InStr(rxVal, ",") + 1, Len(rxVal)) rxVal = tmpStr tmpStr = Mid(rxVal, 1, InStr(rxVal, ",") - 1) If Len(tmpStr) = 10 Then nudYearDev.Text = Mid(rxVal, 1, 2) nudMonthDev.Text = Mid(rxVal, 3, 2) nudSNDev.Text = Mid(rxVal, 5, 6) ElseIf Len(tmpStr) = 9 Then nudYearDev.Text = Mid(rxVal, 1, 1) nudMonthDev.Text = Mid(rxVal, 2, 2) nudSNDev.Text = Mid(rxVal, 4, 6) Else GoTo FailExit End If tmpStr = Mid(rxVal, InStr(rxVal, ",") + 1, Len(rxVal)) rxVal = tmpStr modelTypeStr = Mid(rxVal, 1, InStr(rxVal, ",") - 1) If modelTypeStr = "10" Then rdbDevProDev.Checked = True rdbDevLuxDev.Checked = False ElseIf modelTypeStr = "20" Then rdbDevProDev.Checked = False rdbDevLuxDev.Checked = True Else rdbDevProDev.Checked = False rdbDevLuxDev.Checked = False End If tmpStr = Mid(rxVal, InStr(rxVal, ",") + 1, Len(rxVal)) rxVal = tmpStr txbAbroadDev.Text = Mid(rxVal, 1, InStr(rxVal, ",") - 1) txbAgencyDev.Text = Mid(rxVal, InStr(rxVal, ",") + 1, Len(rxVal)) Else GoTo FailExit End If txbInfoBoxDev.Text = "SUCCESS" txbInfoBoxDev.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbInfoBoxDev.Text = "FAIL" txbInfoBoxDev.BackColor = Color.Red SuccessExit: updateBarcodeDev() txbInfoBoxDev.Refresh() Exit Sub End Sub Private Sub Button10_Click(sender As System.Object, e As System.EventArgs) Handles Button10.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr1, tmpStr2 As String Dim tmpStrSN, modelType, totalSN As String Dim cnt, i As Integer If txbFactoryDev.Text = "" Then txbFactoryDev.Text = "jomt" If txbFactoryDev.Text = "" Or nudSNDev.Text = "" Or (rdbDevProDev.Checked = False And rdbDevLuxDev.Checked = False) Or nudYearDev.Text = "" Or nudMonthDev.Text = "" Or txbAbroadDev.Text = "" Or txbAgencyDev.Text = "" Then MsgBox("정보가 부족합니다. 빈칸을 채워주세요.") Exit Sub End If txbInfoBoxDev.Visible = True txbInfoBoxDev.Text = "RUNNING" txbInfoBoxDev.BackColor = Color.GreenYellow txbInfoBoxDev.Refresh() Try ''************************************ ''******* 제조사코드 발신 ******** ''************************************ i = Len(nudSNDev.Text) tmpStrSN = nudSNDev.Text For cnt = i To 5 tmpStrSN = "0" + tmpStrSN Next cnt If rdbDevProDev.Checked = True And rdbDevLuxDev.Checked = False Then modelType = "10" ElseIf rdbDevProDev.Checked = False And rdbDevLuxDev.Checked = True Then modelType = "20" Else GoTo FailExit End If If Len(nudMonthDev.Text) = 2 Then totalSN = nudYearDev.Text & nudMonthDev.Text & tmpStrSN ElseIf Len(nudMonthDev.Text) = 1 Then totalSN = nudYearDev.Text & "0" & nudMonthDev.Text & tmpStrSN Else GoTo FailExit End If tmpCmdMessage = "wrstconf" cmdMessage = "[sb" & tmpCmdMessage & " " & "jomt" & "," & totalSN & "," & modelType & "," & txbAbroadDev.Text & "," & txbAgencyDev.Text & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal <> "success" Then GoTo FailExit End If ''************************************ ''********* 판정 ********** ''************************************ txbInfoBoxDev.Text = "SUCCESS" txbInfoBoxDev.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbInfoBoxDev.Text = "Timeout" + Str(stageCnt) txbInfoBoxDev.BackColor = Color.Red SuccessExit: txbInfoBoxDev.Refresh() Exit Sub End Sub Private Sub nudYearDev_ValueChanged(sender As System.Object, e As System.EventArgs) Handles nudYearDev.ValueChanged If nudYearDev.Text <> "" Then updateBarcodeDev() End Sub Private Sub nudYearDev_Click(sender As System.Object, e As System.EventArgs) Handles nudYearDev.Click If nudYearDev.Text <> "" Then updateBarcodeDev() End Sub Private Sub nudMonthDev_ValueChanged(sender As System.Object, e As System.EventArgs) Handles nudMonthDev.ValueChanged If nudMonthDev.Text <> "" Then updateBarcodeDev() End Sub Private Sub nudMonthDev_Click(sender As System.Object, e As System.EventArgs) Handles nudMonthDev.Click If nudMonthDev.Text <> "" Then updateBarcodeDev() End Sub Private Sub nudYear_ValueChanged(sender As System.Object, e As System.EventArgs) Handles nudYear.ValueChanged If nudYear.Text <> "" Then updateBarcode() End Sub Private Sub nudYear_Click(sender As System.Object, e As System.EventArgs) Handles nudYear.Click If nudYear.Text <> "" Then updateBarcode() End Sub Private Sub nudMonth_ValueChanged(sender As System.Object, e As System.EventArgs) Handles nudMonth.ValueChanged If nudMonth.Text <> "" Then updateBarcode() End Sub Private Sub nudMonth_Click(sender As System.Object, e As System.EventArgs) Handles nudMonth.Click If nudMonth.Text <> "" Then updateBarcode() End Sub Private Sub Button11_Click(sender As System.Object, e As System.EventArgs) Handles Button11.Click Dim stageCnt As Integer Dim rxVal As String Dim tmpStr, tmpStr1, tmpStr2 As String Dim timeCnt, u64tmp As ULong Dim dayStr, hourStr, minStr, secStr As String txbDevInfoBox.Visible = True txbDevInfoBox.BackColor = Color.GreenYellow txbDevInfoBox.Refresh() txbRuntime.Text = "" txbRuntime.Refresh() txbReadyTime.Text = "" txbReadyTime.Refresh() txbRFCnt.Text = "" txbRFCnt.Refresh() txbErrCnt.Text = "" txbErrCnt.Refresh() txbRunMode.Text = "" txbRunMode.Refresh() txbDevInfoBox.Text = "RUNNING" txbDevInfoBox.BackColor = Color.GreenYellow txbDevInfoBox.Refresh() Try ''************************************ ''******* 기기 사용 정보 수신 ******* ''************************************ tmpCmdMessage = "rdstinfo" cmdMessage = "[sb" & tmpCmdMessage & "]" retErr = SendData(cmdMessage) stageCnt = 0 If retErr Then GoTo FailExit setTimeout = 1500 retErr = ReceiveData() stageCnt += 1 If retErr Then GoTo FailExit tmpStr1 = Mid(rxMessage, 1, 1) tmpStr2 = Mid(rxMessage, InStr(rxMessage, "]"), 1) rxVal = Mid(rxMessage, 2, Len(tmpCmdMessage)) If rxVal = tmpCmdMessage And tmpStr1 = "[" And tmpStr2 = "]" Then rxVal = Mid(rxMessage, InStr(rxMessage, " ") + 1, InStr(rxMessage, "]") - InStr(rxMessage, " ") - 1) If rxVal = "fail" Then GoTo FailExit timeCnt = Val(Mid(rxVal, 1, InStr(rxVal, ",") - 1)) timeCnt = timeCnt / 1000 u64tmp = (timeCnt / 86400) dayStr = u64tmp u64tmp = (timeCnt Mod 86400) / 3600 hourStr = u64tmp u64tmp = (timeCnt Mod 3600) / 60 minStr = u64tmp secStr = timeCnt Mod 60 txbRuntime.Text = dayStr & "Day " If hourStr < 10 Then txbRuntime.Text = txbRuntime.Text & "0" & hourStr & ":" Else txbRuntime.Text = txbRuntime.Text & hourStr & ":" End If If minStr < 10 Then txbRuntime.Text = txbRuntime.Text & "0" & minStr & ":" Else txbRuntime.Text = txbRuntime.Text & minStr & ":" End If If secStr < 10 Then txbRuntime.Text = txbRuntime.Text & "0" & secStr Else txbRuntime.Text = txbRuntime.Text & secStr End If tmpStr = Mid(rxVal, InStr(rxVal, ",") + 1, Len(rxVal)) rxVal = tmpStr timeCnt = Mid(rxVal, 1, InStr(rxVal, ",") - 1) timeCnt = timeCnt / 1000 u64tmp = (timeCnt / 86400) dayStr = u64tmp u64tmp = (timeCnt Mod 86400) / 3600 hourStr = u64tmp u64tmp = (timeCnt Mod 3600) / 60 minStr = u64tmp secStr = timeCnt Mod 60 txbReadyTime.Text = dayStr & "Day " If hourStr < 10 Then txbReadyTime.Text = txbReadyTime.Text & "0" & hourStr & ":" Else txbReadyTime.Text = txbReadyTime.Text & hourStr & ":" End If If minStr < 10 Then txbReadyTime.Text = txbReadyTime.Text & "0" & minStr & ":" Else txbReadyTime.Text = txbReadyTime.Text & minStr & ":" End If If secStr < 10 Then txbReadyTime.Text = txbReadyTime.Text & "0" & secStr Else txbReadyTime.Text = txbReadyTime.Text & secStr End If tmpStr = Mid(rxVal, InStr(rxVal, ",") + 1, Len(rxVal)) rxVal = tmpStr txbRFCnt.Text = Mid(rxVal, 1, InStr(rxVal, ",") - 1) tmpStr = Mid(rxVal, InStr(rxVal, ",") + 1, Len(rxVal)) rxVal = tmpStr txbErrCnt.Text = Mid(rxVal, 1, InStr(rxVal, ",") - 1) txbRunMode.Text = Mid(rxVal, InStr(rxVal, ",") + 1, Len(rxVal)) Else GoTo FailExit End If txbDevInfoBox.Text = "SUCCESS" txbDevInfoBox.BackColor = Color.Green GoTo SuccessExit Catch ex As Exception GoTo FailExit End Try FailExit: txbDevInfoBox.Text = "FAIL" txbDevInfoBox.BackColor = Color.Red SuccessExit: txbDevInfoBox.Refresh() Exit Sub End Sub Private Sub Button12_Click(sender As System.Object, e As System.EventArgs) Handles Button12.Click txbDevInfoBox.Visible = True End Sub Private Sub LblRemainShot_DoubleClick(sender As Object, e As System.EventArgs) Handles LblRemainShot.DoubleClick If txbShot.Enabled = True Then txbShot.Enabled = False Else txbShot.Enabled = True End If txbShot.Refresh() End Sub Private Sub LblMaxShot_DoubleClick(sender As Object, e As System.EventArgs) Handles LblMaxShot.DoubleClick If txbMaxShot.Enabled = True Then txbMaxShot.Enabled = False Else txbMaxShot.Enabled = True End If txbMaxShot.Refresh() End Sub Private Sub gpbCartSet_Enter(sender As System.Object, e As System.EventArgs) Handles gpbCartSet.Enter End Sub End Class