📄 mainfrm.frm
字号:
Width = 975
End
Begin VB.CommandButton WriteCmd
Caption = "参数设定"
Height = 375
Left = 3480
TabIndex = 1
Top = 570
Width = 975
End
Begin VB.CommandButton ReadCmd
Caption = "参数读取"
Height = 375
Left = 1800
TabIndex = 0
Top = 570
Width = 975
End
Begin MSCommLib.MSComm MSComm1
Left = 1320
Top = 5040
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = -1 'True
End
Begin VB.Timer TimNonControl
Left = 840
Top = 5040
End
Begin VB.Timer TimControl
Left = 240
Top = 5040
End
Begin VB.Frame Frame1
BackColor = &H00C0FFFF&
Caption = "初始化"
ForeColor = &H000000FF&
Height = 975
Left = 240
TabIndex = 6
Top = 240
Width = 4575
End
Begin VB.Frame Frame4
BackColor = &H00C0FFFF&
Caption = "运动控制"
ForeColor = &H000000FF&
Height = 1455
Left = 5040
TabIndex = 8
Top = 1440
Width = 4575
Begin VB.CommandButton RevJogCmd
Caption = "反向点动"
Height = 375
Left = 3360
TabIndex = 18
Top = 840
Width = 975
End
Begin VB.CommandButton RevCmd
Caption = "反向运行"
Height = 375
Left = 3360
TabIndex = 9
Top = 240
Width = 975
End
End
Begin VB.Frame Frame2
BackColor = &H00C0FFFF&
Caption = "参数读取A(0002-1999)"
ForeColor = &H000000FF&
Height = 975
Left = 240
TabIndex = 10
Top = 1560
Width = 4575
Begin LedOCX.LED LED1
Height = 375
Left = 1320
TabIndex = 11
Top = 345
Width = 855
_ExtentX = 1508
_ExtentY = 661
ForeColor = 65280
BackColor = 0
BorderStyle = 1
LEDSIZE = 70
LEDWIDTH = 1
LEDSTRING = "00.00"
LEDLEFT = 10
LEDTOP = 60
LEDXYRATE = 1
End
Begin LedOCX.LED LED2
Height = 375
Left = 3360
TabIndex = 13
Top = 345
Width = 855
_ExtentX = 1508
_ExtentY = 661
ForeColor = 65280
BackColor = 0
BorderStyle = 1
LEDSIZE = 70
LEDWIDTH = 1
LEDSTRING = "00.00"
LEDLEFT = 60
LEDTOP = 60
LEDXYRATE = 1
End
Begin VB.Label Label2
BackColor = &H00C0FFFF&
Caption = "P1082频率"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 240
TabIndex = 19
Top = 450
Width = 975
End
Begin VB.Label Label6
BackColor = &H00C0FFFF&
Caption = "P1121时间"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 2280
TabIndex = 12
Top = 450
Width = 975
End
End
Begin VB.Frame Frame5
BackColor = &H00C0FFFF&
Caption = "参数读取B(2000-3999)"
ForeColor = &H000000FF&
Height = 975
Left = 240
TabIndex = 20
Top = 2880
Width = 4575
Begin LedOCX.LED LED3
Height = 375
Left = 1320
TabIndex = 22
Top = 345
Width = 855
_ExtentX = 1508
_ExtentY = 661
ForeColor = 65280
BackColor = 0
BorderStyle = 1
LEDSIZE = 70
LEDWIDTH = 1
LEDSTRING = "00.00"
LEDLEFT = 10
LEDTOP = 60
LEDXYRATE = 1
End
Begin LedOCX.LED LED4
Height = 375
Left = 3360
TabIndex = 24
Top = 350
Width = 855
_ExtentX = 1508
_ExtentY = 661
ForeColor = 65280
BackColor = 0
BorderStyle = 1
LEDSIZE = 70
LEDWIDTH = 1
LEDSTRING = "00.00"
LEDLEFT = 60
LEDTOP = 60
LEDXYRATE = 1
End
Begin VB.Label Label7
BackColor = &H00C0FFFF&
Caption = "P2002电流"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 240
TabIndex = 23
Top = 450
Width = 975
End
Begin VB.Label Label3
BackColor = &H00C0FFFF&
Caption = "P2000频率"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 2280
TabIndex = 21
Top = 480
Width = 975
End
End
Begin VB.Menu CommSet
Caption = "串口设置"
End
Begin VB.Menu CommSwitch
Caption = "串口开关"
Begin VB.Menu CommOpen
Caption = "打开串口"
End
Begin VB.Menu CommColse
Caption = "关闭串口"
End
End
Begin VB.Menu CommTest
Caption = "通讯测试"
End
Begin VB.Menu Exit
Caption = "退出程序"
End
Begin VB.Menu Help
Caption = "帮助"
Begin VB.Menu Use
Caption = "使用帮助"
End
Begin VB.Menu About
Caption = "关于软件"
End
End
End
Attribute VB_Name = "Mainfrm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim P11
Private Sub Exit_Click()
Cls
Unload Me
End Sub
Private Sub Form_Load() '载入
TimControl.Interval = 1000 '设置1s定时间隔,使命令每隔1s发送1次
TimNonControl.Interval = 500 '设置0.5s定时间隔,查询命令按钮是否处于激活状态
MSComm1.CommPort = 1 '设定端口号
MSComm1.Settings = "19200,E,8,1" '设定通讯波特率
MSComm1.InputLen = 0 '输入缓冲区为0个字符
MSComm1.InBufferSize = 512 '接收缓冲器大小
MSComm1.OutBufferSize = 512 '输出缓冲器大小
MSComm1.RThreshold = 15 '每接收一个字符便产生事件
MSComm1.InputMode = 1 '以二进制传输
MSComm1.InBufferCount = 0 '清除发送缓冲区数据
MSComm1.OutBufferCount = 0 '清除接收缓冲区数据
MSComm1.PortOpen = True '打开端口
Dim d% '选择变频器地址
For d = 0 To 32
Combo1.AddItem ("ADR " & CStr(d))
Next
Combo1.ListIndex = 11 '32为广播位
Combo2.AddItem "NULL" '选择读参数类型
Combo2.AddItem "READ A"
Combo2.AddItem "READ B"
Combo2.AddItem "READ C"
Combo2.ListIndex = 0
Combo3.AddItem "NULL" '选择写参数类型
Combo3.AddItem "WRITE A"
Combo3.AddItem "WRITE B"
Combo3.ListIndex = 0
End Sub
Private Sub FwdCmd_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) = &H4 '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 About_Click()
frmAbout.Show
End Sub
Private Sub StopRunCmd_Click() '停止运行
Dim i(15) As Byte
Dim j As Integer
i(0) = &H2 '头码
i(1) = &HE '字节长
i(2) = &HB '变频器站号11,如果为广播,则为32
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -