📄 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 + -