?? frmmodbusplat.frm
字號:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmModbusPlat
BorderStyle = 1 'Fixed Single
Caption = "Modbus客戶仿真機"
ClientHeight = 6195
ClientLeft = 45
ClientTop = 735
ClientWidth = 10695
BeginProperty Font
Name = "宋體"
Size = 9.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Icon = "frmModbusPlat.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 6195
ScaleWidth = 10695
StartUpPosition = 2 'CenterScreen
Begin VB.Timer tmrTime
Interval = 500
Left = 360
Top = 4200
End
Begin MSCommLib.MSComm MSComm1
Left = 480
Top = 4800
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = -1 'True
End
Begin MSComctlLib.StatusBar stbStatus
Align = 2 'Align Bottom
Height = 375
Left = 0
TabIndex = 0
Top = 5820
Width = 10695
_ExtentX = 18865
_ExtentY = 661
_Version = 393216
BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628}
NumPanels = 4
BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628}
EndProperty
BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Object.Width = 7832
MinWidth = 7832
EndProperty
BeginProperty Panel3 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Object.Width = 6068
MinWidth = 6068
EndProperty
BeginProperty Panel4 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Alignment = 1
EndProperty
EndProperty
End
Begin VB.Menu mnuControl
Caption = "控制(&C)"
Begin VB.Menu mnuConnect
Caption = "聯接(&O)"
End
Begin VB.Menu mnuDisconnect
Caption = "離線(&D)"
Enabled = 0 'False
End
Begin VB.Menu mnuOper1
Caption = "-"
End
Begin VB.Menu mnuExit
Caption = "退出(&X)"
Shortcut = ^X
End
End
Begin VB.Menu mnuSimulator
Caption = "仿真工具(&S)"
Enabled = 0 'False
Begin VB.Menu mnuPortSpy
Caption = "端口監視(&P)..."
End
Begin VB.Menu mnuDataSimu
Caption = "數據仿真器(&E)..."
End
End
Begin VB.Menu mnuOption
Caption = "選項(&O)"
Begin VB.Menu mnuHDSet
Caption = "硬件設置(&H)..."
End
Begin VB.Menu mnuPLSet
Caption = "協議設置(&P)..."
End
End
Begin VB.Menu mnuAbout
Caption = "關于(&A)"
End
End
Attribute VB_Name = "frmModbusPlat"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Const cPORTSTATUSINDEX = 1
Const cPORTDESPINDEX = 2
Const cPLDESPINDEX = 3
Const cTIMESTATUSINDEX = 4
Private Sub Form_Load()
stbStatus.Panels(cPORTSTATUSINDEX).Text = "端口離線"
stbStatus.Panels(cTIMESTATUSINDEX).Text = Format$(Time, "hh:mm:ss")
End Sub
Private Sub Form_Unload(Cancel As Integer)
If gbOnline Then
Cancel = True
End If
End Sub
Private Sub mnuAbout_Click()
Load frmCOMTestAbout
frmCOMTestAbout.Show vbModal, Me
End Sub
Private Sub mnuConnect_Click()
On Error GoTo ErrConnect
MSComm1.CommPort = gtHDSet.byCOMPort
MSComm1.Settings = gsBaudRate(gtHDSet.byBaudRate) & "," & _
Left$(gsParityMode(gtHDSet.byParityMode), 1) & "," & _
gsDataBit(gtHDSet.byDataBit) & "," & gsStopBit(gtHDSet.byStopBit)
MSComm1.Handshaking = gtHDSet.byHandShaking
If gtPLSet.byFrameType = 0 Then
MSComm1.InputMode = comInputModeText
Else
MSComm1.InputMode = comInputModeBinary
End If
MSComm1.EOFEnable = gtHDSet.bEOFEnable
MSComm1.NullDiscard = gtHDSet.bNullDiscard
MSComm1.RTSEnable = gtHDSet.bRTSEnable
MSComm1.DTREnable = gtHDSet.bDTREnable
MSComm1.InputLen = 0
MSComm1.PortOpen = True
stbStatus.Panels(cPORTSTATUSINDEX).Text = "端口在線"
mnuConnect.Enabled = False
mnuExit.Enabled = False
mnuDisconnect.Enabled = True
mnuSimulator.Enabled = True
tmrTime.Interval = gtPLSet.iScan
gbOnline = True
Exit Sub
ErrConnect:
stbStatus.Panels(cPORTDESPINDEX).Text = Err.Description
End Sub
Private Sub mnuDataSimu_Click()
Load frmDataSimu
frmDataSimu.Show vbModal, Me
End Sub
Private Sub mnuDisconnect_Click()
MSComm1.PortOpen = False
stbStatus.Panels(cPORTSTATUSINDEX).Text = "端口離線"
mnuSimulator.Enabled = False
mnuDisconnect.Enabled = False
mnuConnect.Enabled = True
mnuExit.Enabled = True
gbOnline = False
End Sub
Private Sub mnuExit_Click()
Unload Me
End Sub
Private Sub mnuHDSet_Click()
Load frmHDSet
frmHDSet.Show vbModal, Me
End Sub
Private Sub mnuPLSet_Click()
Load frmPLSet
frmPLSet.Show vbModal, Me
End Sub
Private Sub mnuPortSpy_Click()
Load frmPortSpy
frmPortSpy.Show vbModal, Me
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEventBreak
stbStatus.Panels(cPORTDESPINDEX).Text = "收到 Break"
Case comEventCDTO
stbStatus.Panels(cPORTDESPINDEX).Text = "CD (RLSD) 超時"
Case comEventCTSTO
stbStatus.Panels(cPORTDESPINDEX).Text = "CTS 超時"
Case comEventDSRTO
stbStatus.Panels(cPORTDESPINDEX).Text = "DSR 超時"
Case comEventFrame
stbStatus.Panels(cPORTDESPINDEX).Text = "幀錯誤"
Case comEventOverrun
stbStatus.Panels(cPORTDESPINDEX).Text = "數據丟失"
Case comEventRxOver
stbStatus.Panels(cPORTDESPINDEX).Text = "接收緩沖區溢出"
Case comEventRxParity
stbStatus.Panels(cPORTDESPINDEX).Text = "校驗錯誤"
Case comEventTxFull
stbStatus.Panels(cPORTDESPINDEX).Text = "傳輸緩沖區已滿"
Case comEventDCB
stbStatus.Panels(cPORTDESPINDEX).Text = "獲取 DCB] 時意外錯誤"
Case comEvCD
stbStatus.Panels(cPORTDESPINDEX).Text = "CD 線狀態變化"
Case comEvCTS
stbStatus.Panels(cPORTDESPINDEX).Text = "CTS 線狀態變化"
Case comEvDSR
stbStatus.Panels(cPORTDESPINDEX).Text = "DSR 線狀態變化"
Case comEvRing
stbStatus.Panels(cPORTDESPINDEX).Text = "Ring Indicator 變化"
Case comEvReceive
stbStatus.Panels(cPORTDESPINDEX).Text = "收到" & MSComm1.RThreshold & "個字符"
Case comEvSend
stbStatus.Panels(cPORTDESPINDEX).Text = "傳輸緩沖區有" & MSComm1.SThreshold & "個字符"
Case comEvEOF
stbStatus.Panels(cPORTDESPINDEX).Text = "輸入數據流中發現 EOF 字符"
End Select
End Sub
Private Sub tmrTime_Timer()
Dim iInSize As Integer
Dim vaInBuffer As Variant
Dim byInBuffer() As Byte
Dim strInBuffer() As String
Dim vaOutBuffer As Variant
Dim byOutBuffer() As Byte
Dim strOutBuffer() As String
Dim strTemp As String
Dim i As Integer, j As Integer, k As Integer
Dim iAddress As Integer
Dim iDataCount As Integer
Dim byByteCount As Byte
Dim iPkgLen As Integer
Dim iCrc As Integer
Dim byCrc(1) As Byte
Dim byData As Byte
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -