?? ai.frm
字號:
VERSION 5.00
Object = "{624EC978-8E3A-11D2-A9C9-002018650913}#1.1#0"; "Adain.ocx"
Begin VB.Form DAQForm
BackColor = &H00C0C0C0&
BorderStyle = 3 'Fixed Dialog
Caption = "模擬電壓采集"
ClientHeight = 4560
ClientLeft = 870
ClientTop = 945
ClientWidth = 8055
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4560
ScaleWidth = 8055
ShowInTaskbar = 0 'False
Begin VB.CommandButton Cmdquit
Caption = "關閉程序"
Height = 375
Left = 6480
TabIndex = 7
Top = 3090
Width = 1230
End
Begin VB.CommandButton Cmdget2
Caption = "連續采集"
Enabled = 0 'False
Height = 375
Left = 6480
TabIndex = 6
Top = 2200
Width = 1230
End
Begin VB.Timer Timer1
Enabled = 0 'False
Interval = 1000
Left = 7170
Top = 3900
End
Begin DAQAILib.DAQAI DAQAI1
Height = 495
Left = 6450
TabIndex = 5
Top = 3870
Width = 495
_Version = 65537
_ExtentX = 864
_ExtentY = 864
_StockProps = 0
CyclicMode = -1 'True
End
Begin VB.CommandButton Cmdset
Caption = "板卡設置"
Height = 375
Left = 6480
TabIndex = 4
Top = 420
Width = 1230
End
Begin VB.CommandButton Cmdget1
Caption = "間斷采集"
Enabled = 0 'False
Height = 375
Left = 6480
TabIndex = 3
Top = 1310
Width = 1230
End
Begin VB.PictureBox Picture1
BackColor = &H00FFFFFF&
ForeColor = &H00000000&
Height = 2895
Left = 45
ScaleHeight = 2835
ScaleWidth = 6075
TabIndex = 0
Top = 45
Width = 6135
End
Begin VB.Frame Frame1
Height = 1485
Left = 60
TabIndex = 1
Top = 3000
Width = 6150
Begin VB.TextBox Tnum
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1335
TabIndex = 10
Top = 315
Width = 1335
End
Begin VB.TextBox Tu
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 4170
TabIndex = 2
Top = 315
Width = 1335
End
Begin VB.Shape Alarm2
FillColor = &H00C0FFC0&
FillStyle = 0 'Solid
Height = 465
Left = 4590
Shape = 3 'Circle
Top = 870
Width = 555
End
Begin VB.Shape Alarm1
FillColor = &H00C0FFC0&
FillStyle = 0 'Solid
Height = 465
Left = 1710
Shape = 3 'Circle
Top = 870
Width = 555
End
Begin VB.Label Label4
Caption = "上限指示燈:"
Height = 255
Left = 3030
TabIndex = 13
Top = 1020
Width = 1170
End
Begin VB.Label Label3
Caption = "下限指示燈:"
Height = 255
Left = 300
TabIndex = 12
Top = 1005
Width = 1170
End
Begin VB.Label Label1
Caption = "采樣個數:"
Height = 255
Left = 315
TabIndex = 11
Top = 450
Width = 990
End
Begin VB.Label Label6
Caption = "V"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Left = 5610
TabIndex = 9
Top = 420
Width = 375
End
Begin VB.Label Label2
Caption = "當前電壓值:"
Height = 255
Left = 3015
TabIndex = 8
Top = 435
Width = 1170
End
End
End
Attribute VB_Name = "DAQForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'定義變量
Dim num As Integer '采集的數據個數
Dim Data(1000) As Single '采樣電壓數據的數值形式
Dim filedata(1000) As String '采樣電壓數據的字符串形式
'板卡設置
Private Sub Cmdset_Click()
DAQAI1.SelectDevice '選擇模擬量輸入設備
DAQAI1.OpenDevice '打開模擬量輸入端口
DAQAI1.CyclicMode = True '循環方式采集數據
DAQAI1.StartChannel = 0 '通道號0
DAQAI1.SampleRate = 500 '采樣頻率
DAQAI1.DataType = adReal '模擬量輸入返回值為實型
DAQAI1.TransferMode = adSoftTrig '軟件觸發模式
Alarm1.FillColor = QBColor(10) '報警指示燈初始顏色
Alarm2.FillColor = QBColor(10)
Cmdget1.Enabled = True '使命令按鈕有效
Cmdget2.Enabled = True
End Sub
'間斷采集數據
Private Sub Cmdget1_Click()
Timer1.Enabled = False
Call getdata
End Sub
'使時鐘有效
Private Sub Cmdget2_Click()
Timer1.Enabled = True
End Sub
'連續采集數據
Private Sub Timer1_Timer()
Call getdata
End Sub
'采集數據
Sub getdata()
Dim u As String
If num > 99 Then Call renew
u = DAQAI1.RealInput(0) '獲取AI0通道數據(實型電壓值)
Data(num) = Val(u)
filedata(num) = Format$(Data(num), "0.00")
Tu.Text = filedata(num)
Call alarm
num = num + 1
Tnum.Text = Str(num)
Call draw '調用畫曲線子程序
End Sub
'畫曲線
Sub draw()
Picture1.Cls
Picture1.DrawWidth = 1
Picture1.BackColor = QBColor(15)
Picture1.Scale (0, 5)-(100, 0)
For i = 1 To num - 1
X1 = (i - 1): Y1 = Data(i - 1)
X2 = i: Y2 = Data(i)
Picture1.Line (X1, Y1)-(X2, Y2), QBColor(0)
Next i
End Sub
'報警指示
Sub alarm()
If Data(num) <= 0.5 Then
Alarm1.FillColor = QBColor(12)
End If
If Data(num) > 3.5 And Data(num) < 0.5 Then
Alarm1.FillColor = QBColor(10)
Alarm2.FillColor = QBColor(10)
End If
If Data(num) >= 3.5 Then
Alarm2.FillColor = QBColor(12)
End If
End Sub
'刷新
Private Sub renew()
Tnum.Text = "": Tu.Text = ""
Picture1.Cls
For i = 0 To num - 1
Data(i) = 0: filedata(i) = ""
Next i
num = 0
End Sub
'關閉程序
Private Sub Cmdquit_Click()
DAQAI1.CloseDevice '關閉板卡模擬量輸入端口
Unload Me
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -