📄 mainfrm.frm
字号:
i(3) = &H0 'PKW区8字节,广播时全真F
i(4) = &H0
i(5) = &H0
i(6) = &H0
i(7) = &H0
i(8) = &H0
i(9) = &H0
i(10) = &H0
i(11) = &H4 'PZD区4字节
i(12) = &H7E
i(13) = &H0
i(14) = &H0
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub RevCmd_Click() '反向运行
Dim i(15) As Byte
Dim j As Integer
Dim Pin As Single
Dim PinH, PinL As String '取得频率
Pin = Val(Text5.Text) * 16384 / 50 '格式化获取频率,100%输出时16#4000对应十进制16384
If Len(Hex$(Pin)) = 4 Then
PinH = Mid(Hex$(Pin), 1, 2)
PinL = Mid(Hex$(Pin), 3, 2)
End If
If Len(Hex$(Pin)) < 4 Then
PinH = Mid(Hex$(Pin), 1, 1)
PinL = Mid(Hex$(Pin), 2, 2)
End If
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
i(3) = &H0 'PKW区8字节,广播时全真F
i(4) = &H0
i(5) = &H0
i(6) = &H0
i(7) = &H0
i(8) = &H0
i(9) = &H0
i(10) = &H0
i(11) = &HC 'PZD区4字节
i(12) = &H7F
i(13) = "&H" + PinH '给定频率,高位在前,低位在后
i(14) = "&H" + PinL
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub FwdJogCmd_Click() '正向点动
Dim i(15) As Byte '定义临时数组变量
Dim j As Integer
Dim Pin As Single
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
i(3) = &H0 'PKW区8字节,广播时全真F
i(4) = &H0
i(5) = &H0
i(6) = &H0
i(7) = &H0
i(8) = &H0
i(9) = &H0
i(10) = &H0
i(11) = &H5 'PZD区4字节
i(12) = &H7E
i(13) = &H0
i(14) = &H0
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub StopJogCmd_Click() '停止点动
Dim i(15) As Byte
Dim j As Integer
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
i(3) = &H0 'PKW区8字节,广播时全真F
i(4) = &H0
i(5) = &H0
i(6) = &H0
i(7) = &H0
i(8) = &H0
i(9) = &H0
i(10) = &H0
i(11) = &H4 'PZD区4字节
i(12) = &H7E
i(13) = &H0
i(14) = &H0
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub RevJogCmd_Click() '反向点动
Dim i(15) As Byte
Dim j As Integer
Dim Pin As Single
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
i(3) = &H0 'PKW区8字节,广播时全真F
i(4) = &H0
i(5) = &H0
i(6) = &H0
i(7) = &H0
i(8) = &H0
i(9) = &H0
i(10) = &H0
i(11) = &H6 'PZD区4字节
i(12) = &H7E
i(13) = &H0
i(14) = &H0
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub ReadCmd_Click() '参数读取
If Combo2.ListIndex = 0 Then
MsgBox "请选择读取的参数区域,如READ A!", vbInformation + vbOKOnly, "信息"
GoTo XXX:
End If
Select Case Combo2.ListIndex
Case "1"
Call ReadA
Case "2"
Call ReadB
Case "3"
Call ReadC
End Select
XXX:
End Sub
Private Sub ReadA() '读P1082设定的最高频率
Dim i(15) As Byte '定义临时数组变量
Dim j As Integer
Dim Pin As Single
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
i(3) = &H14 'PKW区8字节,广播时全真F
i(4) = &H3A
i(5) = &H0
i(6) = &H0
i(7) = &H0
i(8) = &H0
i(9) = &H0
i(10) = &H0
i(11) = &H0 'PZD区4字节
i(12) = &H0
i(13) = &H0
i(14) = &H0
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub ReadB() '读P2002基准电流
Dim i(15) As Byte '定义临时数组变量
Dim j As Integer
Dim Pin As Single
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
i(3) = &H10 'PKW区8字节,广播时全真F
i(4) = &H2
i(5) = &H80
i(6) = &H0
i(7) = &H0
i(8) = &H0
i(9) = &H0
i(10) = &H0
i(11) = &H0 'PZD区4字节
i(12) = &H0
i(13) = &H0
i(14) = &H0
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub ReadC() '读P2010波特率地址
Dim i(15) As Byte '定义临时数组变量
Dim j As Integer
Dim Pin As Single
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
i(3) = &H10 'PKW区8字节,广播时全真F
i(4) = &HA
i(5) = &H80
i(6) = &H1
i(7) = &H0
i(8) = &H0
i(9) = &H0
i(10) = &H0
i(11) = &H0 'PZD区4字节
i(12) = &H0
i(13) = &H0
i(14) = &H0
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub WriteCmd_Click() '参数设置
If Combo3.ListIndex = 0 Then
MsgBox "请选择修改的参数区域,如WRITE A!", vbInformation + vbOKOnly, "信息"
GoTo XXX:
End If
If Combo3.ListIndex = 2 Then
MsgBox "将改变EEPROM参数值,要继续吗?", vbExclamation + vbOKCancel, "警告"
GoTo XXX:
End If
Select Case Combo3.ListIndex
Case "1"
Call WriteA
Case "2"
Call WriteB
End Select
XXX:
End Sub
Private Sub WriteA() '写P1120斜坡上升时间为0.5S 只改变RAM
Dim i(15) As Byte '定义临时数组变量
Dim j As Integer
Dim Pin As Single
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
i(3) = &H34 'PKW区8字节,广播时全真F
i(4) = &H60
i(5) = &H0
i(6) = &H0
i(7) = &H3F '修改为0.5S
i(8) = &H0
i(9) = &H0
i(10) = &H0
i(11) = &H0 'PZD区4字节
i(12) = &H0
i(13) = &H0
i(14) = &H0
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub WriteB() '写P1082频率为40.00 改变RAM和EEPROM
Dim i(15) As Byte '定义临时数组变量
Dim j As Integer
Dim Pin As Single
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
i(3) = &H34 'PKW区8字节,广播时全真F
i(4) = &H3A
i(5) = &H0
i(6) = &H0
i(7) = &H42 '修改40.00
i(8) = &H20
i(9) = &H0
i(10) = &H0
i(11) = &H0 'PZD区4字节
i(12) = &H0
i(13) = &H0
i(14) = &H0
For j = 0 To 14 '报文的最后位BCC位,对前面14字节的数进行异或和校验
i(15) = i(15) Xor i(j)
Next j
MSComm1.OutBufferCount = 0
MSComm1.Output = i '将运行代码通过串口输出到变频器
End Sub
Private Sub Mscomm1_OnComm() '接收信息
Dim i%, buf$
Dim hexdisp As String
Dim inByte() As Byte '定义接收信息动态数组
Dim tmp As Variant '定义数据缓冲区
buf = "" '清空数据缓冲区
Select Case MSComm1.CommEvent
Case comEvReceive '接收事件
tmp = MSComm1.Input
inByte = tmp
For i = LBound(inByte) To UBound(inByte) '转换接收的2进制数为可见的16进制数
buf = buf + Hex(inByte(i)) + Chr(32)
Next i
hexdisp = hexdisp + buf
End Select
P11 = Val("&H" & Mid(hexdisp, 15, 8))
If Combo2.ListIndex = 3 Then
P11 = Val("&H" & Mid(hexdisp, 16, 8))
End If
End Sub
Private Sub TimControl_Timer()
Select Case Combo2.ListIndex
Case "1" '4248000为IEEE浮点数,取整时结果为51,不知道如何处理
LED1.LEDSTRING = Int(P11 * 50 / 16348)
Case "2"
LED3.LEDSTRING = CStr(P11 * 0.1 / 16348)
Case "3"
LED5.LEDSTRING = Str(P11)
End Select
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -