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

📄 da_form.frm

📁 此为用vb编写的usb高速数据采集实例 如果没有相应的驱动
💻 FRM
字号:
VERSION 5.00
Begin VB.Form DA_Form 
   Caption         =   "DA 4路模拟输出"
   ClientHeight    =   8745
   ClientLeft      =   1380
   ClientTop       =   1275
   ClientWidth     =   12120
   Icon            =   "DA_Form.frx":0000
   LinkTopic       =   "Form1"
   MDIChild        =   -1  'True
   ScaleHeight     =   8745
   ScaleWidth      =   12120
   WindowState     =   2  'Maximized
   Begin VB.Frame Frame1 
      Caption         =   "自动连续输出(正弦波)"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   4575
      Left            =   720
      TabIndex        =   0
      Top             =   840
      Width           =   9255
      Begin VB.ComboBox Combo2 
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   360
         ItemData        =   "DA_Form.frx":0CCA
         Left            =   4440
         List            =   "DA_Form.frx":0CDA
         TabIndex        =   9
         Text            =   "0"
         Top             =   720
         Width           =   1575
      End
      Begin VB.CommandButton AutoChannel0Start_Cmd 
         Caption         =   "开始"
         Height          =   375
         Left            =   7080
         TabIndex        =   6
         Top             =   3600
         Width           =   810
      End
      Begin VB.CommandButton AutoChannel0Stop_Cmd 
         Caption         =   "停止"
         Height          =   375
         Left            =   8160
         TabIndex        =   5
         Top             =   3600
         Width           =   810
      End
      Begin VB.PictureBox Picture0 
         BackColor       =   &H80000009&
         Height          =   2295
         Left            =   240
         ScaleHeight     =   149
         ScaleMode       =   3  'Pixel
         ScaleWidth      =   429
         TabIndex        =   4
         Top             =   1920
         Width           =   6495
      End
      Begin VB.CheckBox Check1 
         Caption         =   "以恒定值输出"
         Height          =   375
         Left            =   360
         TabIndex        =   3
         Top             =   600
         Width           =   2655
      End
      Begin VB.TextBox Text1 
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   5280
         TabIndex        =   2
         Text            =   "2048"
         Top             =   1320
         Width           =   735
      End
      Begin VB.ComboBox Combo1 
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   360
         ItemData        =   "DA_Form.frx":0CEA
         Left            =   1800
         List            =   "DA_Form.frx":0CFD
         TabIndex        =   1
         Text            =   "128"
         Top             =   1320
         Width           =   1335
      End
      Begin VB.Label Label4 
         Caption         =   "Label4"
         Height          =   15
         Left            =   5520
         TabIndex        =   11
         Top             =   1440
         Width           =   135
      End
      Begin VB.Label Label3 
         Caption         =   "通道选择:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   3120
         TabIndex        =   10
         Top             =   760
         Width           =   1215
      End
      Begin VB.Label Label1 
         Caption         =   "正弦波周期(点)"
         Height          =   375
         Left            =   360
         TabIndex        =   8
         Top             =   1440
         Width           =   1455
      End
      Begin VB.Label Label2 
         Caption         =   "请输入电压:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   10.5
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   4080
         TabIndex        =   7
         Top             =   1440
         Width           =   1455
      End
   End
   Begin VB.Menu file 
      Caption         =   "文件操作"
      Begin VB.Menu Open_SC 
         Caption         =   "打开数采系统"
      End
      Begin VB.Menu Check_IO 
         Caption         =   "开关量IO检测"
      End
      Begin VB.Menu closesystem 
         Caption         =   "关闭本系统"
      End
      Begin VB.Menu exit 
         Caption         =   "退出应用程序"
      End
   End
   Begin VB.Menu WindowsListDA 
      Caption         =   "窗口列表"
      WindowList      =   -1  'True
   End
End
Attribute VB_Name = "DA_Form"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim hCollect As Long
Private WriteDAThread As ThreadObject
Public Cycle0 As Long
Public Cycle1 As Long
Dim SineDataBuffer(4096) As Long
Dim Middata As Long
Dim xlength As Long
Dim i As Integer
 
Private Sub DAOutput_Click()
   DA_Form.Show
End Sub

Private Sub Check_IO_Click()
   DIO_Form.SetFocus
End Sub

Private Sub Check1_Click()
If Check1.Value = 0 Then
   DA_Form.Combo1.Enabled = True
   Combo1.BackColor = &H80000005
   Text1.Enabled = False
   Text1.BackColor = &H80000008
Else
   DA_Form.Combo1.Enabled = False
   Combo1.BackColor = &H80000008
   Text1.Enabled = True
   Text1.BackColor = &H80000005
End If
Call DAWave
End Sub

Private Sub Combo1_Click()
Call DAWave
End Sub

Private Sub Text1_Change()
Call DAWave
End Sub

Private Sub Form_Load()
    DA_Form.Combo1.Text = 128    ' 默认周期为128点
    Combo1.BackColor = &H80000005
    DA_Module.bDeviceRun0 = False
    Text1.Enabled = False
    Text1.BackColor = &H80000008
    Check1.Enabled = True
    Check1.Value = 0
    Combo2.Enabled = True
    AutoChannel0Stop_Cmd.Enabled = False
    Text1.Text = 2047
    
    Call DAWave
End Sub

Private Sub AutoChannel0Start_Cmd_Click()
    Dim bStatus As Boolean

    DA_Module.bDeviceRun0 = True  ' 置设备准运行标志
    Call DAWave
    Set WriteDAThread = New ThreadObject
    WriteDAThread.Initialize AddressOf WriteDAFunction0
    WriteDAThread.Enable = True
    
    AutoChannel0Start_Cmd.Enabled = Not AutoChannel0Start_Cmd.Enabled
    AutoChannel0Stop_Cmd.Enabled = True
    DA_Form.Combo1.Enabled = False
    Text1.Enabled = False
    Combo2.Enabled = False
End Sub

Private Sub AutoChannel0Stop_Cmd_Click()
    Dim bStatus As Boolean

    DA_Module.bDeviceRun0 = False     '置设备停止标志

    WriteDAThread.Enable = False

    AutoChannel0Stop_Cmd.Enabled = Not AutoChannel0Stop_Cmd.Enabled
    AutoChannel0Start_Cmd.Enabled = True
    Combo2.Enabled = True
   
    If Check1.Value = 0 Then
          DA_Form.Combo1.Enabled = True
    Else
       Text1.Enabled = True
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
 Me.Visible = False
End Sub

Private Sub Open_SC_Click()
   AD_Form.Show
End Sub

Private Sub closesystem_Click()
    Unload Me
End Sub

Private Sub exit_Click()
    End
End Sub

Public Sub DAWave()
    Dim str As String, str1 As String
    str = DA_Form.Combo1.Text
      Cycle0 = CLng(str)
    str1 = DA_Form.Text1.Text
    Cycle1 = CLng(str1)
    
    Picture0.Cls
    Picture0.ScaleMode = 3

    If Check1.Value = 0 Then
       For i = 0 To 4095
          Middata = Int(Sin(6.28 * i / Cycle0) * 2048 + 2047)
          SineDataBuffer(i) = Middata / 4096 * (Picture0.ScaleHeight - 1)
       Next i
    Else
        For i = 0 To 4095
         Middata = Cycle1
          SineDataBuffer(i) = Middata * (Picture0.ScaleHeight - 1) / 4096
       Next i
    End If
    
    If Picture0.Width > 2048 Then
       xlength = 2048
    Else
       xlength = Picture0.Width
    End If

    For i = 1 To xlength - 1
        Picture0.Line (i - 1, Picture0.ScaleHeight - SineDataBuffer(i - 1))-(i, Picture0.ScaleHeight - SineDataBuffer(i))
    Next i
End Sub



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -