?? mbus.frm
字號:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 4185
ClientLeft = 60
ClientTop = 345
ClientWidth = 9045
LinkTopic = "Form1"
ScaleHeight = 4185
ScaleWidth = 9045
StartUpPosition = 3 'Windows Default
Begin VB.TextBox Text7
Height = 375
Left = 6240
TabIndex = 10
Text = "Text7"
Top = 960
Width = 615
End
Begin VB.TextBox Text6
Height = 375
Left = 5520
TabIndex = 9
Text = "Text6"
Top = 960
Width = 615
End
Begin VB.TextBox Text5
BeginProperty DataFormat
Type = 1
Format = "0"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1045
SubFormatType = 1
EndProperty
Height = 375
Left = 6720
TabIndex = 6
Text = "1"
Top = 2640
Width = 1335
End
Begin VB.TextBox Text4
BeginProperty DataFormat
Type = 1
Format = "0"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1045
SubFormatType = 1
EndProperty
Height = 375
Left = 6720
TabIndex = 5
Text = "1"
Top = 2280
Width = 1335
End
Begin VB.ListBox List1
Columns = 3
Height = 3570
ItemData = "mbus.frx":0000
Left = 240
List = "mbus.frx":0007
OLEDropMode = 1 'Manual
TabIndex = 4
Top = 240
Width = 4815
End
Begin MSCommLib.MSComm MSComm1
Left = 8400
Top = 0
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
CommPort = 2
DTREnable = -1 'True
End
Begin VB.TextBox Text3
Height = 375
Left = 5520
TabIndex = 3
Text = "Text3"
Top = 1560
Width = 1335
End
Begin VB.TextBox Text2
Height = 375
Left = 6240
TabIndex = 2
Text = "Text2"
Top = 480
Width = 615
End
Begin VB.TextBox Text1
Height = 375
Left = 5520
TabIndex = 1
Text = "Text1"
Top = 480
Width = 615
End
Begin VB.CommandButton Command1
Caption = "Read registers"
Height = 495
Left = 6240
TabIndex = 0
Top = 3600
Width = 2655
End
Begin VB.Label Label2
Caption = "Quantity"
Height = 375
Left = 5520
TabIndex = 8
Top = 2760
Width = 1215
End
Begin VB.Label Label1
Caption = "Start Address"
Height = 375
Left = 5520
TabIndex = 7
Top = 2280
Width = 1215
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'Programmed by Andrzej Sokulski (asokulski@wp.pl,asokulski@megabit.com.pl)
Dim CRCTable(0 To 511) As Byte
Dim CRC_Low, CRC_High As Byte
Private Sub CRC_16(ByVal Data As String, Length As Integer)
Dim i As Integer
Dim Index As Byte
CRC_Low = &HFF
CRC_High = &HFF
For i = 1 To Length
Index = CRC_High Xor Asc(Mid(Data, i, 1))
CRC_High = CRC_Low Xor CRCTable(Index)
CRC_Low = CRCTable(Index + 256)
Next i
End Sub
Private Sub Command1_Click()
Dim Data As String
Dim t1 As Long
t1 = (CLng(197) * 256)
Data = Chr(1) + Chr(3) + Chr(Val(Text4.Text) \ 256) + Chr(Val(Text4.Text) Mod 256) + Chr(0) + Chr(Val(Text5.Text))
CRC_16 Data, 6
Data = Data + Chr(CRC_High) + Chr(CRC_Low)
Dim PauseTime, Start, Finish, TotalTime
InBuffor = ""
MSComm1.InputLen = 0
MSComm1.PortOpen = True
MSComm1.Output = Data
Do While MSComm1.OutBufferCount > 0
Loop
PauseTime = 5 ' Set duration.
Start = Timer ' Set start time.
Do While (Timer < Start + PauseTime) And (MSComm1.InBufferCount < Val(Text5.Text) * 2 + 5)
DoEvents
Loop
' Text4.Text = Str(MSComm1.InBufferCount)
Text3.Text = Str(MSComm1.InBufferCount)
InBuffor = MSComm1.Input
Finish = Timer ' Set end time.
MSComm1.PortOpen = False
J = 0
List1.Clear
Text6.Text = Str(Asc(Mid(InBuffor, Val(Text5.Text) * 2 + 4)))
Text7.Text = Str(Asc(Mid(InBuffor, Val(Text5.Text) * 2 + 5)))
CRC_16 InBuffor, (Val(Text5.Text) * 2 + 3)
Text1.Text = Str(CRC_High)
Text2.Text = Str(CRC_Low)
For i = 4 To Val(Text5.Text) * 2 + 3 Step 2
List1.AddItem "[" + Str(40000 + Val(Text4.Text) + J) + "] :" + Str((Asc(Mid(InBuffor, i, 1)) * CLng(256) + Asc(Mid(InBuffor, i + 1, 1))))
J = J + 1
Next i
End Sub
Private Sub Form_Load()
CRCTable(0) = &H0
CRCTable(1) = &HC1
CRCTable(2) = &H81
CRCTable(3) = &H40
CRCTable(4) = &H1
CRCTable(5) = &HC0
CRCTable(6) = &H80
CRCTable(7) = &H41
CRCTable(8) = &H1
CRCTable(9) = &HC0
CRCTable(10) = &H80
CRCTable(11) = &H41
CRCTable(12) = &H0
CRCTable(13) = &HC1
CRCTable(14) = &H81
CRCTable(15) = &H40
CRCTable(16) = &H1
CRCTable(17) = &HC0
CRCTable(18) = &H80
CRCTable(19) = &H41
CRCTable(20) = &H0
CRCTable(21) = &HC1
CRCTable(22) = &H81
CRCTable(23) = &H40
CRCTable(24) = &H0
CRCTable(25) = &HC1
CRCTable(26) = &H81
CRCTable(27) = &H40
CRCTable(28) = &H1
CRCTable(29) = &HC0
CRCTable(30) = &H80
CRCTable(31) = &H41
CRCTable(32) = &H1
CRCTable(33) = &HC0
CRCTable(34) = &H80
CRCTable(35) = &H41
CRCTable(36) = &H0
CRCTable(37) = &HC1
CRCTable(38) = &H81
CRCTable(39) = &H40
CRCTable(40) = &H0
CRCTable(41) = &HC1
CRCTable(42) = &H81
CRCTable(43) = &H40
CRCTable(44) = &H1
CRCTable(45) = &HC0
CRCTable(46) = &H80
CRCTable(47) = &H41
CRCTable(48) = &H0
CRCTable(49) = &HC1
CRCTable(50) = &H81
CRCTable(51) = &H40
CRCTable(52) = &H1
CRCTable(53) = &HC0
CRCTable(54) = &H80
CRCTable(55) = &H41
CRCTable(56) = &H1
CRCTable(57) = &HC0
CRCTable(58) = &H80
CRCTable(59) = &H41
CRCTable(60) = &H0
CRCTable(61) = &HC1
CRCTable(62) = &H81
CRCTable(63) = &H40
CRCTable(64) = &H1
CRCTable(65) = &HC0
CRCTable(66) = &H80
CRCTable(67) = &H41
CRCTable(68) = &H0
CRCTable(69) = &HC1
CRCTable(70) = &H81
CRCTable(71) = &H40
CRCTable(72) = &H0
CRCTable(73) = &HC1
CRCTable(74) = &H81
CRCTable(75) = &H40
CRCTable(76) = &H1
CRCTable(77) = &HC0
CRCTable(78) = &H80
CRCTable(79) = &H41
CRCTable(80) = &H0
CRCTable(81) = &HC1
CRCTable(82) = &H81
CRCTable(83) = &H40
CRCTable(84) = &H1
CRCTable(85) = &HC0
CRCTable(86) = &H80
CRCTable(87) = &H41
CRCTable(88) = &H1
CRCTable(89) = &HC0
CRCTable(90) = &H80
CRCTable(91) = &H41
CRCTable(92) = &H0
CRCTable(93) = &HC1
CRCTable(94) = &H81
CRCTable(95) = &H40
CRCTable(96) = &H0
CRCTable(97) = &HC1
CRCTable(98) = &H81
CRCTable(99) = &H40
CRCTable(100) = &H1
CRCTable(101) = &HC0
CRCTable(102) = &H80
CRCTable(103) = &H41
CRCTable(104) = &H1
CRCTable(105) = &HC0
CRCTable(106) = &H80
CRCTable(107) = &H41
CRCTable(108) = &H0
CRCTable(109) = &HC1
CRCTable(110) = &H81
CRCTable(111) = &H40
CRCTable(112) = &H1
CRCTable(113) = &HC0
CRCTable(114) = &H80
CRCTable(115) = &H41
CRCTable(116) = &H0
CRCTable(117) = &HC1
CRCTable(118) = &H81
CRCTable(119) = &H40
CRCTable(120) = &H0
CRCTable(121) = &HC1
CRCTable(122) = &H81
CRCTable(123) = &H40
CRCTable(124) = &H1
CRCTable(125) = &HC0
CRCTable(126) = &H80
CRCTable(127) = &H41
CRCTable(128) = &H1
CRCTable(129) = &HC0
CRCTable(130) = &H80
CRCTable(131) = &H41
CRCTable(132) = &H0
CRCTable(133) = &HC1
CRCTable(134) = &H81
CRCTable(135) = &H40
CRCTable(136) = &H0
CRCTable(137) = &HC1
CRCTable(138) = &H81
CRCTable(139) = &H40
CRCTable(140) = &H1
CRCTable(141) = &HC0
CRCTable(142) = &H80
CRCTable(143) = &H41
CRCTable(144) = &H0
CRCTable(145) = &HC1
CRCTable(146) = &H81
CRCTable(147) = &H40
CRCTable(148) = &H1
CRCTable(149) = &HC0
CRCTable(150) = &H80
CRCTable(151) = &H41
CRCTable(152) = &H1
CRCTable(153) = &HC0
CRCTable(154) = &H80
CRCTable(155) = &H41
CRCTable(156) = &H0
CRCTable(157) = &HC1
CRCTable(158) = &H81
CRCTable(159) = &H40
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -