Private Sub buildmotordescription()
Dim firsthash As Integer = 0
Dim secondhash As Integer = 0
Dim prodnum As String
Dim tempchar As String = ""
Dim length As Integer
Dim special As Boolean = False
Dim description As String = ""
Dim enter As String = vbCrLf
prodnum = IntrolProductNumberTextBox.Text
Try
'**** CHECK LENGTH OF STRING ****
length = Len(prodnum)
If length < 18 Then
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - LENGTH")
Exit Sub
End If
'**** FIND THE FIRST HASH ****
tempchar = prodnum.IndexOf("-")
firsthash = tempchar
tempchar = 0
'**** FIND THE SECOND HASH ****
tempchar = prodnum.Substring(prodnum.IndexOf("-") + 1).IndexOf("-")
secondhash = (tempchar + firsthash) + 1
If firsthash = -1 Or secondhash = -1 Then
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - HASHES")
Exit Sub
End If
length = Len(prodnum)
If (length - secondhash) > 7 Then
special = True
End If
' **** POPULATE THE ARRAY WITH THE FIRST SECTION OF MOTOR DATA ****
section(STACK_LENGTH) = prodnum.Substring(firsthash - 1, 1)
section(FINISHED_GOOD) = prodnum.Substring(0, 1)
section(SERVOLOC_SERIES) = prodnum.Substring(1, 2)
If firsthash > 6 Then
section(FRAME_SIZE) = prodnum.Substring(3, 3)
Else
section(FRAME_SIZE) = prodnum.Substring(3, 2)
End If
' **** POPULATE THE ARRAY WITH THE SECOND SECTION OF MOTOR DATA ****
section(MOUNTING_OPTION) = prodnum.Substring(secondhash - 1, 1)
section(VOLTAGE) = prodnum.Substring(secondhash - 2, 1)
If (secondhash - firsthash) > 5 Then
section(MOTOR_KE) = prodnum.Substring(firsthash + 1, 3)
Else
section(MOTOR_KE) = prodnum.Substring(firsthash + 1, 2)
End If
' **** POPULATE THE ARRAY WITH THE THIRD SECTION OF MOTOR DATA ****
section(FEEDBACK) = prodnum.Substring(secondhash + 1, 4)
section(TERMINATION) = prodnum.Substring(secondhash + 5, 1)
section(BRAKE_OPTION) = prodnum.Substring(secondhash + 6, 1)
If special = True Then
section(OTHER_OPTIONS) = prodnum.Substring(secondhash + 7, 1)
End If
' **** START ASSEMBLING DESCRIPTION ****
' **** CONVERT FRAME SIZE ****
Select Case section(FRAME_SIZE)
Case "50"
section(FRAME_SIZE) = "2"
Case "80"
section(FRAME_SIZE) = "3"
Case "97"
section(FRAME_SIZE) = "4"
Case "130"
section(FRAME_SIZE) = "6"
Case "180"
section(FRAME_SIZE) = "8"
Case Else
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - FRAME_SIZE")
Exit Sub
End Select
' **** CONVERT STACK LENGTH ****
If section(FRAME_SIZE) = 8 Then
Select Case section(STACK_LENGTH)
Case "B"
section(STACK_LENGTH) = "1"
Case "C"
section(STACK_LENGTH) = "1.5"
Case "D"
section(STACK_LENGTH) = "1.75"
Case "G"
section(STACK_LENGTH) = "2"
Case "J"
section(STACK_LENGTH) = "4"
Case "K"
section(STACK_LENGTH) = "Large 8-inch special magnet"
Case Else
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - STACK_LENGTH")
Exit Sub
End Select
Else
Select Case section(STACK_LENGTH)
Case "A"
section(STACK_LENGTH) = "1"
Case "B"
section(STACK_LENGTH) = "2"
Case "C"
section(STACK_LENGTH) = "3"
Case "D"
section(STACK_LENGTH) = "4"
'Case "S"
' section(STACK_LENGTH) = "Special"
Case Else
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - STACK_LENGTH")
Exit Sub
End Select
End If
' **** CONVERT VOLTAGE ****
Select Case section(VOLTAGE)
Case "G"
section(VOLTAGE) = "24"
Case "H"
section(VOLTAGE) = "48"
Case "I"
section(VOLTAGE) = "115"
Case "J"
section(VOLTAGE) = "230"
Case "K"
section(VOLTAGE) = "450"
'Case "S"
' section(VOLTAGE) = "Special"
Case Else
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - VOLTAGE")
Exit Sub
End Select
' **** CONVERT MOUNTING OPTION ****
Select Case section(MOUNTING_OPTION)
Case "E"
section(MOUNTING_OPTION) = "English"
Case "M"
section(MOUNTING_OPTION) = "Metric"
'Case "S"
' section(MOUNTING_OPTION) = "Special"
Case Else
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - MOUNTING_OPTION")
Exit Sub
End Select
' **** CONVERT FEEDBACK ****
Select Case section(FEEDBACK)
Case "1000"
section(FEEDBACK) = "1000 PPR communicating encoder feedback"
Case "1024"
section(FEEDBACK) = "1024 PPR communicating encoder feedback"
Case "2000"
section(FEEDBACK) = "2000 PPR communicating encoder feedback"
Case "2048"
section(FEEDBACK) = "2048 PPR communicating encoder feedback"
Case "HRES"
section(FEEDBACK) = "Hi-Gain Resolver"
Case Else
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - FEEDBACK")
Exit Sub
End Select
' **** CONVERT TERMINATION ****
Select Case section(TERMINATION)
Case "M"
section(TERMINATION) = "MS connector"
Case "N"
section(TERMINATION) = "NPT connector"
Case "P"
section(TERMINATION) = "Pigtail connector"
Case "S"
section(TERMINATION) = "Special connector"
Case "1"
section(TERMINATION) = "18-inch single cord exit w/Conexall connector"
Case "2"
section(TERMINATION) = "wire exit through back plate"
Case "3"
section(TERMINATION) = "side front facing wire exit"
Case "4"
section(TERMINATION) = "side rear facing wire exit"
Case "E"
section(TERMINATION) = "Emerson MG style connector"
Case "D"
section(TERMINATION) = "Emerson DXM"
Case Else
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - TERMINATION")
Exit Sub
End Select
' **** CONVERT BRAKE_OPTION ****
Select Case section(BRAKE_OPTION)
Case "B"
section(BRAKE_OPTION) = "24"
Case "N"
section(BRAKE_OPTION) = "No Brake"
Case Else
MessageBox.Show("This product does not meet formatting standards to auto-generate a description - BRAKE_OPTION")
Exit Sub
End Select
' ***** START BUILDING DESCRIPTION ****
description = "Introl " & prodnum.Substring(1, length - 1) & ", " & section(FRAME_SIZE) & " inch brushless servo motor, " & section(STACK_LENGTH) & " stack length with " & section(FEEDBACK) & " and " & section(TERMINATION)
If section(BRAKE_OPTION) = "24" Then
description = description + " with " & section(BRAKE_OPTION) & "VDC spring applied brake."
Else
description = description + "."
End If
DescriptionTextBox.Text = description
Catch ex As Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub