?? frmmain.frm
字號:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1
Caption = "7060數字輸出控制"
ClientHeight = 4170
ClientLeft = 45
ClientTop = 210
ClientWidth = 6675
LinkTopic = "Form1"
ScaleHeight = 4170
ScaleWidth = 6675
StartUpPosition = 2 '屏幕中心
Begin VB.ComboBox cmbNO
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 405
Left = 1980
TabIndex = 10
Text = "Combo1"
Top = 405
Width = 1140
End
Begin VB.CommandButton cmdOpenCOM
Caption = "打開通信端口"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 600
Left = 4440
TabIndex = 4
Top = 315
Width = 1590
End
Begin VB.ComboBox cmbCOM
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 405
Left = 450
TabIndex = 3
Text = "Combo1"
Top = 405
Width = 1140
End
Begin VB.CommandButton cmdEnd
Caption = "結束"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 600
Left = 4410
TabIndex = 0
Top = 2025
Width = 1590
End
Begin MSCommLib.MSComm MSComm1
Left = 135
Top = 1035
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = -1 'True
End
Begin VB.Label lblMsg
BackColor = &H00C0FFFF&
BorderStyle = 1 'Fixed Single
Caption = "Label2"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 420
Left = 315
TabIndex = 11
Top = 3645
Width = 5460
End
Begin VB.Label Label1
Caption = "站號"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 330
Index = 6
Left = 2025
TabIndex = 9
Top = 90
Width = 780
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "RL4"
BeginProperty Font
Name = "Tahoma"
Size = 12
Charset = 136
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 240
Index = 5
Left = 3375
TabIndex = 8
Top = 1665
Width = 465
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "RL3"
BeginProperty Font
Name = "Tahoma"
Size = 12
Charset = 136
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 240
Index = 4
Left = 2475
TabIndex = 7
Top = 1665
Width = 465
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "RL2"
BeginProperty Font
Name = "Tahoma"
Size = 12
Charset = 136
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 240
Index = 3
Left = 1575
TabIndex = 6
Top = 1665
Width = 465
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "RL1"
BeginProperty Font
Name = "Tahoma"
Size = 12
Charset = 136
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 240
Index = 2
Left = 675
TabIndex = 5
Top = 1665
Width = 465
End
Begin VB.Image imgOut
Height = 1095
Index = 3
Left = 3285
Stretch = -1 'True
Top = 1935
Width = 690
End
Begin VB.Image imgOut
Height = 1095
Index = 2
Left = 2385
Stretch = -1 'True
Top = 1935
Width = 690
End
Begin VB.Image imgOut
Height = 1095
Index = 1
Left = 1485
Stretch = -1 'True
Top = 1935
Width = 690
End
Begin VB.Image imgOut
Height = 1095
Index = 0
Left = 495
Stretch = -1 'True
Top = 1935
Width = 690
End
Begin VB.Image imgOFF
Height = 735
Left = 3420
Picture = "frmMain.frx":0000
Stretch = -1 'True
Top = 0
Visible = 0 'False
Width = 780
End
Begin VB.Image imgON
Height = 735
Left = 3465
Picture = "frmMain.frx":2946
Stretch = -1 'True
Top = 855
Visible = 0 'False
Width = 780
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "數字輸出控制"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 240
Index = 1
Left = 1560
TabIndex = 2
Top = 1395
Width = 1440
End
Begin VB.Label Label1
Caption = "通信端口"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 330
Index = 0
Left = 450
TabIndex = 1
Top = 135
Width = 1125
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'聲明記錄四個數字輸出狀態的數組變量
Dim RelayStatus(1 To 4) As Boolean
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'當選擇通信端口的Combo控件被選中后觸發此事件
'若用戶改變通信端口時,關閉通信端口
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub cmbCOM_Click()
'若通信端口號碼和現在的選擇一樣時就不處理,直接跳出此子程序
If cmbCOM.ListIndex + 1 = MSComm1.CommPort Then Exit Sub
MSComm1.PortOpen = False '關閉通信端口
lblMsg.Caption = "已停止檢測并關閉通信端口"
cmdOpenCOM.Enabled = True '允許使用【打開通信端口】按鈕
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'單擊【結束】按鈕后觸發此事件
'使用End命令將系統結束
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub cmdEnd_Click()
End
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'單擊【打開通信端口】按鈕后觸發此事件
'將MSComm控件的參數設置好,并打開
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub cmdOpenCOM_Click()
'校驗是否開關通信端口
If cmdOpenCOM.Caption = "關閉通信端口" Then
MSComm1.PortOpen = False
cmdOpenCOM.Caption = "打開通信端口"
Exit Sub
End If
'判斷端口號碼是否落在1--16之間
If cmbCOM.ListIndex >= 0 And cmbCOM.ListIndex <= 16 Then
MSComm1.CommPort = cmbCOM.ListIndex + 1
Else
MsgBox "指定通信端口時發生錯誤!", vbCritical + vbOKOnly, "系統信息"
Exit Sub
End If
'觸發錯誤檢測機制
On Error GoTo comErr
MSComm1.Settings = "9600,n,8,1" '設置通信參數
MSComm1.PortOpen = True '打開通信端口
cmdOpenCOM.Caption = "關閉通信端口"
lblMsg.Caption = "可按下ON-OFF開關,執行繼電器的控制工作。"
Exit Sub
comErr:
MsgBox "打開通信端口時發生錯誤!請確定通信端口存在且正常。", vbCritical + vbOKOnly, "系統信息"
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'窗體的Load事件
'輸入圖形暫時設為灰色,表示無狀態信息進入
'將通信端口號碼及站號輸入Combo控件;并默認兩者的選項是第一個
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
Dim i%
For i = 0 To 3
imgOut(i).Picture = imgOFF.Picture
Next i
cmbNO.Clear
For i = 1 To 255
cmbNO.AddItem CStr(Hex(i))
Next i
cmbNO.ListIndex = 0
cmbCOM.Clear
cmbCOM.AddItem "COM1"
cmbCOM.AddItem "COM2"
cmbCOM.ListIndex = 0
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'當代表數字輸出的Image控件被選中時觸發此事件
'將被選中的繼電器作轉態
'轉態后將數字輸出的決定送至模塊執行
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub imgOut_Click(Index As Integer)
Dim Buf$, RLOut%, i%
'將記錄轉態,并改變ON.OFF按鈕的顯示
RelayStatus(Index + 1) = Not RelayStatus(Index + 1)
If RelayStatus(Index + 1) Then
imgOut(Index).Picture = imgON.Picture
Else
imgOut(Index).Picture = imgOFF.Picture
End If
'計算輸出值
RLOut = 0
For i = 1 To 4
If RelayStatus(i) Then RLOut = RLOut + 2 ^ (i - 1)
Next i
'若通信端口尚未打開,不可發送數據
If cmdOpenCOM.Caption = "打開通信端口" Then Exit Sub
Buf = cmbNO.List(cmbNO.ListIndex)
'若只有一位數,則在此位數的前端加上一個0
If Len(Buf) = 1 Then
Buf = "0" & Buf
End If
MSComm1.Output = "#" & Buf & "000" & Hex(RLOut) & Chr(13) '組合完整的命令字符串
'等到cr的字符返回
Buf = WaitRS(MSComm1, vbCr, 2000)
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -