⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ai.frm

📁 VB开发 利用DAQAI控件实现板卡模拟量输入
💻 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 + -