第一次接触工业控制的软件,公司有些原代码,不知道什么意思,以前写数据库的.大家帮我看看下面的代码,主要是做对讲机的,下面是测试软件的些代码,主要是通过com串口检测Eeprom的数据.Option ExplicitDim PreData1 As Byte
Dim PreData2 As Byte
Dim PreData3 As Byte
Dim PreData4 As Byte
Dim PreData5 As Byte
Dim PreData6 As Byte
Dim PreData7 As Byte
Dim PreData8 As Byte
Dim PreData9 As Byte
Dim PreData10 As Byte
Dim PreData11 As Byte
Dim PreData12 As Byte
Dim PreData13 As Byte
Dim PreData14 As Byte
Dim PreData15 As Byte
Dim PreData16 As Byte
Dim PreData17 As Byte
Dim PreData18 As Byte
Dim PreData19 As Byte
Dim PreData20 As Byte
Public Enum eComm_NO
CommPort1 = 1
CommPort2 = 2
End Enum
Dim JigControl As clsRS232COM
'Class initialize
Private Sub Class_Initialize()
'Clear error first
Err.Clear
'Clear it first
Set JigControl = New clsRS232COM
End Sub'Clase Terminal
Private Sub Class_Terminate()
On Error Resume Next
'Clear error first
Err.Clear
End Sub'**************************************************************
'**
'** Note: The ATE MCU receive 20-bytes data, 1st use as judge
'** the object of data send to(the Path of Jig or the
'** IIC Bus).
'**
'**************************************************************Public Sub InitJig()
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, &H0
JigControl.Set_Comm_Out_Data 3, &H0
JigControl.Set_Comm_Out_Data 4, &H0
JigControl.Set_Comm_Out_Data 5, &H0
JigControl.Set_Comm_Out_Data 6, &H0
JigControl.Set_Comm_Out_Data 7, &H0
JigControl.Set_Comm_Out_Data 8, &H0
JigControl.Set_Comm_Out_Data 9, &H0
JigControl.Set_Comm_Out_Data 10, &H0
JigControl.Set_Comm_Out_Data 11, &H0
JigControl.Set_Comm_Out_Data 12, &H0
JigControl.Set_Comm_Out_Data 13, &H0
JigControl.Set_Comm_Out_Data 14, &H0
JigControl.Set_Comm_Out_Data 15, &H0
JigControl.Set_Comm_Out_Data 16, &H0
JigControl.Set_Comm_Out_Data 17, &H0
JigControl.Set_Comm_Out_Data 18, &H0
JigControl.Set_Comm_Out_Data 19, &H0
JigControl.Set_Comm_Out_Data 20, &H0
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData1 = &HA0
PreData2 = &H0
PreData3 = &H0
PreData4 = &H0
PreData5 = &H0
PreData6 = &H0
PreData7 = &H0
PreData8 = &H0
PreData9 = &H0
PreData10 = &H0
PreData11 = &H0
PreData12 = &H0
PreData13 = &H0
PreData14 = &H0
PreData15 = &H0
PreData16 = &H0
PreData17 = &H0
PreData18 = &H0
PreData19 = &H0
PreData20 = &H0
End Sub ' 2nd byte is used by Max506
Public Sub SendMax506Data(ByVal bMax506Data As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, bMax506Data
JigControl.Set_Comm_Out_Data 3, PreData3
JigControl.Set_Comm_Out_Data 4, PreData4
JigControl.Set_Comm_Out_Data 5, PreData5
JigControl.Set_Comm_Out_Data 6, PreData6
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData2 = bMax506Data
End Sub ' 3rd byte is used by extral HC595
Public Sub Send595Data(ByVal b595Data As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, PreData2
JigControl.Set_Comm_Out_Data 3, b595Data
JigControl.Set_Comm_Out_Data 4, PreData4
JigControl.Set_Comm_Out_Data 5, PreData5
JigControl.Set_Comm_Out_Data 6, PreData6
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData3 = b595Data
End Sub ' 4th byte is used to control Relay
Public Sub SendRelayData(ByVal bRelayData As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, PreData2
JigControl.Set_Comm_Out_Data 3, PreData3
JigControl.Set_Comm_Out_Data 4, bRelayData
JigControl.Set_Comm_Out_Data 5, PreData5
JigControl.Set_Comm_Out_Data 6, PreData6
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData4 = bRelayData
End Sub
' 5-6th bytes is used to control Pragramable voltage
Public Sub SendMax543Data(ByVal bMax543Data1 As Byte, ByVal bMax543Data2 As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, PreData2
JigControl.Set_Comm_Out_Data 3, PreData3
JigControl.Set_Comm_Out_Data 4, PreData4
JigControl.Set_Comm_Out_Data 5, bMax543Data1
JigControl.Set_Comm_Out_Data 6, bMax543Data2 ' The 4-high bit is useless
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData5 = bMax543Data1
PreData6 = bMax543Data2
End Sub ' Read Port1 Status
Public Function JudgeDUTOnJig() As Byte
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA1
JigControl.Set_Comm_Out_Data 2, &H0
JigControl.Set_Comm_Out_Data 3, &H0
JigControl.Set_Comm_Out_Data 4, &H0
JigControl.Set_Comm_Out_Data 5, &H0
JigControl.Set_Comm_Out_Data 6, &H0
JigControl.Set_Send_Data
Call Sleep(50)
JudgeDUTOnJig = JigControl.Get_Comm_In_Data(1, 1)
JigControl.Set_Comm_Port_Status = ClosePort
End Function ' Set Communication Ports
Public Property Let SetCommPortNo(ByVal bCommNo As eComm_NO)
Select Case bCommNo
Case CommPort1
JigControl.Set_Comm_Port_Setting ComPort1, e9600_Hz, e8_Bit, e1_Bit
Case CommPort2
JigControl.Set_Comm_Port_Setting ComPort2, e9600_Hz, e8_Bit, e1_Bit
End Select
End Property
Dim PreData2 As Byte
Dim PreData3 As Byte
Dim PreData4 As Byte
Dim PreData5 As Byte
Dim PreData6 As Byte
Dim PreData7 As Byte
Dim PreData8 As Byte
Dim PreData9 As Byte
Dim PreData10 As Byte
Dim PreData11 As Byte
Dim PreData12 As Byte
Dim PreData13 As Byte
Dim PreData14 As Byte
Dim PreData15 As Byte
Dim PreData16 As Byte
Dim PreData17 As Byte
Dim PreData18 As Byte
Dim PreData19 As Byte
Dim PreData20 As Byte
Public Enum eComm_NO
CommPort1 = 1
CommPort2 = 2
End Enum
Dim JigControl As clsRS232COM
'Class initialize
Private Sub Class_Initialize()
'Clear error first
Err.Clear
'Clear it first
Set JigControl = New clsRS232COM
End Sub'Clase Terminal
Private Sub Class_Terminate()
On Error Resume Next
'Clear error first
Err.Clear
End Sub'**************************************************************
'**
'** Note: The ATE MCU receive 20-bytes data, 1st use as judge
'** the object of data send to(the Path of Jig or the
'** IIC Bus).
'**
'**************************************************************Public Sub InitJig()
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, &H0
JigControl.Set_Comm_Out_Data 3, &H0
JigControl.Set_Comm_Out_Data 4, &H0
JigControl.Set_Comm_Out_Data 5, &H0
JigControl.Set_Comm_Out_Data 6, &H0
JigControl.Set_Comm_Out_Data 7, &H0
JigControl.Set_Comm_Out_Data 8, &H0
JigControl.Set_Comm_Out_Data 9, &H0
JigControl.Set_Comm_Out_Data 10, &H0
JigControl.Set_Comm_Out_Data 11, &H0
JigControl.Set_Comm_Out_Data 12, &H0
JigControl.Set_Comm_Out_Data 13, &H0
JigControl.Set_Comm_Out_Data 14, &H0
JigControl.Set_Comm_Out_Data 15, &H0
JigControl.Set_Comm_Out_Data 16, &H0
JigControl.Set_Comm_Out_Data 17, &H0
JigControl.Set_Comm_Out_Data 18, &H0
JigControl.Set_Comm_Out_Data 19, &H0
JigControl.Set_Comm_Out_Data 20, &H0
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData1 = &HA0
PreData2 = &H0
PreData3 = &H0
PreData4 = &H0
PreData5 = &H0
PreData6 = &H0
PreData7 = &H0
PreData8 = &H0
PreData9 = &H0
PreData10 = &H0
PreData11 = &H0
PreData12 = &H0
PreData13 = &H0
PreData14 = &H0
PreData15 = &H0
PreData16 = &H0
PreData17 = &H0
PreData18 = &H0
PreData19 = &H0
PreData20 = &H0
End Sub ' 2nd byte is used by Max506
Public Sub SendMax506Data(ByVal bMax506Data As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, bMax506Data
JigControl.Set_Comm_Out_Data 3, PreData3
JigControl.Set_Comm_Out_Data 4, PreData4
JigControl.Set_Comm_Out_Data 5, PreData5
JigControl.Set_Comm_Out_Data 6, PreData6
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData2 = bMax506Data
End Sub ' 3rd byte is used by extral HC595
Public Sub Send595Data(ByVal b595Data As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, PreData2
JigControl.Set_Comm_Out_Data 3, b595Data
JigControl.Set_Comm_Out_Data 4, PreData4
JigControl.Set_Comm_Out_Data 5, PreData5
JigControl.Set_Comm_Out_Data 6, PreData6
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData3 = b595Data
End Sub ' 4th byte is used to control Relay
Public Sub SendRelayData(ByVal bRelayData As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, PreData2
JigControl.Set_Comm_Out_Data 3, PreData3
JigControl.Set_Comm_Out_Data 4, bRelayData
JigControl.Set_Comm_Out_Data 5, PreData5
JigControl.Set_Comm_Out_Data 6, PreData6
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData4 = bRelayData
End Sub
' 5-6th bytes is used to control Pragramable voltage
Public Sub SendMax543Data(ByVal bMax543Data1 As Byte, ByVal bMax543Data2 As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, PreData2
JigControl.Set_Comm_Out_Data 3, PreData3
JigControl.Set_Comm_Out_Data 4, PreData4
JigControl.Set_Comm_Out_Data 5, bMax543Data1
JigControl.Set_Comm_Out_Data 6, bMax543Data2 ' The 4-high bit is useless
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
PreData5 = bMax543Data1
PreData6 = bMax543Data2
End Sub ' Read Port1 Status
Public Function JudgeDUTOnJig() As Byte
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA1
JigControl.Set_Comm_Out_Data 2, &H0
JigControl.Set_Comm_Out_Data 3, &H0
JigControl.Set_Comm_Out_Data 4, &H0
JigControl.Set_Comm_Out_Data 5, &H0
JigControl.Set_Comm_Out_Data 6, &H0
JigControl.Set_Send_Data
Call Sleep(50)
JudgeDUTOnJig = JigControl.Get_Comm_In_Data(1, 1)
JigControl.Set_Comm_Port_Status = ClosePort
End Function ' Set Communication Ports
Public Property Let SetCommPortNo(ByVal bCommNo As eComm_NO)
Select Case bCommNo
Case CommPort1
JigControl.Set_Comm_Port_Setting ComPort1, e9600_Hz, e8_Bit, e1_Bit
Case CommPort2
JigControl.Set_Comm_Port_Setting ComPort2, e9600_Hz, e8_Bit, e1_Bit
End Select
End Property
' **********************************************************************************
' ** **
' ** The below is used to control MCU1 to communication with DUT **
' ** **
' ** WriteEeprom : Write data to eeprom max 2-bytes **
' ** ReadEeprom : Read data from eeprom max 2_bytes **
' ** SendCommandWithData : Send control command with data to DUT **
' ** SendCommandWithNoData : Send control command with no data to DUT **
' ** SendCommandReceiveData : Send command to receive data **
' ** WritePageEepromData : Write a page data to Eeprom **
' ** ReadPageEepromData : Read a page data from Eeprom **
' ** PowerEeprom : Power Dut for Eeprom Test **
' ** EepromInit : Power Test Jig for Eeprom Test **
' ** **
' **********************************************************************************Public Sub WriteEeprom(ByVal DataLength As Byte, ByVal DeviceAddr As Byte, ByVal SubAddr As Byte, DataArray() As Byte)
' ReDim DataArray(1 To 16) As Byte
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HB0
JigControl.Set_Comm_Out_Data 2, DataLength
JigControl.Set_Comm_Out_Data 3, DeviceAddr
JigControl.Set_Comm_Out_Data 4, SubAddr
JigControl.Set_Comm_Out_Data 5, DataArray(1)
JigControl.Set_Comm_Out_Data 6, DataArray(2)
JigControl.Set_Comm_Out_Data 7, DataArray(3)
JigControl.Set_Comm_Out_Data 8, DataArray(4)
JigControl.Set_Comm_Out_Data 9, DataArray(5)
JigControl.Set_Comm_Out_Data 10, DataArray(6)
JigControl.Set_Comm_Out_Data 11, DataArray(7)
JigControl.Set_Comm_Out_Data 12, DataArray(8)
JigControl.Set_Comm_Out_Data 13, DataArray(9)
JigControl.Set_Comm_Out_Data 14, DataArray(10)
JigControl.Set_Comm_Out_Data 15, DataArray(11)
JigControl.Set_Comm_Out_Data 16, DataArray(12)
JigControl.Set_Comm_Out_Data 17, DataArray(13)
JigControl.Set_Comm_Out_Data 18, DataArray(14)
JigControl.Set_Comm_Out_Data 19, DataArray(15)
JigControl.Set_Comm_Out_Data 20, DataArray(16)
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
End Sub
Public Sub SendCommandWithData(ByVal Command As Byte, SendData As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HB2
JigControl.Set_Comm_Out_Data 2, Command
JigControl.Set_Comm_Out_Data 3, SendData
JigControl.Set_Comm_Out_Data 4, Command
JigControl.Set_Comm_Out_Data 5, &H0
JigControl.Set_Comm_Out_Data 6, &H0
JigControl.Set_Send_Data
Call Sleep(200)
JigControl.Set_Comm_Port_Status = ClosePort
End SubPublic Function SendCommandReceiveData(ByVal Command As Byte) As Byte
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HB4
JigControl.Set_Comm_Out_Data 2, Command
JigControl.Set_Comm_Out_Data 3, &H0
JigControl.Set_Comm_Out_Data 4, &H0
JigControl.Set_Comm_Out_Data 5, &H0
JigControl.Set_Comm_Out_Data 6, &H0
JigControl.Set_Send_Data
Call Sleep(200)
SendCommandReceiveData = JigControl.Get_Comm_In_Data(1, 1)
JigControl.Set_Comm_Port_Status = ClosePort
End Function Public Function ReadPageEepromData(ByVal DataNo As Byte, DeviceAddr As Byte, ByVal SubAddr As Byte) As String
Dim ReadData As String
Dim DataNumber As Byte
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HB1
JigControl.Set_Comm_Out_Data 2, DataNo
JigControl.Set_Comm_Out_Data 3, DeviceAddr
JigControl.Set_Comm_Out_Data 4, SubAddr
JigControl.Set_Comm_Out_Data 5, &H0
JigControl.Set_Comm_Out_Data 6, &H0
JigControl.Set_Comm_Out_Data 7, &H0
JigControl.Set_Comm_Out_Data 8, &H0
JigControl.Set_Comm_Out_Data 9, &H0
JigControl.Set_Comm_Out_Data 10, &H0
JigControl.Set_Comm_Out_Data 11, &H0
JigControl.Set_Comm_Out_Data 12, &H0
JigControl.Set_Comm_Out_Data 13, &H0
JigControl.Set_Comm_Out_Data 14, &H0
JigControl.Set_Comm_Out_Data 15, &H0
JigControl.Set_Comm_Out_Data 16, &H0
JigControl.Set_Comm_Out_Data 17, &H0
JigControl.Set_Comm_Out_Data 18, &H0
JigControl.Set_Comm_Out_Data 19, &H0
JigControl.Set_Comm_Out_Data 20, &H0
JigControl.Set_Send_Data
Call Sleep(50)
ReadData = Right("0" & Hex(JigControl.Get_Comm_In_Data(16, 1)), 2)
For DataNumber = 2 To 15
ReadData = ReadData & Space(1) & Right("0" & Hex(JigControl.Get_Comm_In_Data(16, DataNumber)), 2)
Next
ReadPageEepromData = Trim(ReadData & Space(1) & Right("0" & Hex(JigControl.Get_Comm_In_Data(16, 16)), 2))
JigControl.Set_Comm_Port_Status = ClosePort
End FunctionPublic Function ReadPageEepromData1(ByVal DataNo As Byte, DeviceAddr As Byte, ByVal SubAddr As Byte) As String
Dim ReadData As String
Dim DataNumber As Byte
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HB1
JigControl.Set_Comm_Out_Data 2, DataNo
JigControl.Set_Comm_Out_Data 3, DeviceAddr
JigControl.Set_Comm_Out_Data 4, SubAddr
JigControl.Set_Comm_Out_Data 5, &H0
JigControl.Set_Comm_Out_Data 6, &H0
JigControl.Set_Comm_Out_Data 7, &H0
JigControl.Set_Comm_Out_Data 8, &H0
JigControl.Set_Comm_Out_Data 9, &H0
JigControl.Set_Comm_Out_Data 10, &H0
JigControl.Set_Comm_Out_Data 11, &H0
JigControl.Set_Comm_Out_Data 12, &H0
JigControl.Set_Comm_Out_Data 13, &H0
JigControl.Set_Comm_Out_Data 14, &H0
JigControl.Set_Comm_Out_Data 15, &H0
JigControl.Set_Comm_Out_Data 16, &H0
JigControl.Set_Comm_Out_Data 17, &H0
JigControl.Set_Comm_Out_Data 18, &H0
JigControl.Set_Comm_Out_Data 19, &H0
JigControl.Set_Comm_Out_Data 20, &H0
JigControl.Set_Send_Data
Call Sleep(50)
ReadData = Right("0" & Hex(JigControl.Get_Comm_In_Data(16, 1)), 2)
For DataNumber = 2 To DataNo - 1
ReadData = ReadData & Right("0" & Hex(JigControl.Get_Comm_In_Data(16, DataNumber)), 2)
Next
ReadPageEepromData1 = Trim(ReadData & Right("0" & Hex(JigControl.Get_Comm_In_Data(16, DataNo)), 2))
JigControl.Set_Comm_Port_Status = ClosePort
End FunctionPublic Sub PowerEeprom(ByVal RelayData As Byte, ByVal PowerData1 As Byte, ByVal PowerData2 As Byte)
JigControl.Set_Comm_Port_Status = OpenPort
JigControl.Set_Buff_Out_Data_No = 20
JigControl.Set_Comm_Out_Data 1, &HA0
JigControl.Set_Comm_Out_Data 2, &H0
JigControl.Set_Comm_Out_Data 3, &H0
JigControl.Set_Comm_Out_Data 4, RelayData
JigControl.Set_Comm_Out_Data 5, PowerData1
JigControl.Set_Comm_Out_Data 6, PowerData2
JigControl.Set_Comm_Out_Data 7, &H0
JigControl.Set_Comm_Out_Data 8, &H0
JigControl.Set_Comm_Out_Data 9, &H0
JigControl.Set_Comm_Out_Data 10, &H0
JigControl.Set_Comm_Out_Data 11, &H0
JigControl.Set_Comm_Out_Data 12, &H0
JigControl.Set_Comm_Out_Data 13, &H0
JigControl.Set_Comm_Out_Data 14, &H0
JigControl.Set_Comm_Out_Data 15, &H0
JigControl.Set_Comm_Out_Data 16, &H0
JigControl.Set_Comm_Out_Data 17, &H0
JigControl.Set_Comm_Out_Data 18, &H0
JigControl.Set_Comm_Out_Data 19, &H0
JigControl.Set_Comm_Out_Data 20, &H0
JigControl.Set_Send_Data
Call Sleep(50)
JigControl.Set_Comm_Port_Status = ClosePort
End Sub