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

📄 frmaotester.frm

📁 使用研华DAQ实现研华数据采集卡的多种功能。包括数据输入输出等。内含多个源码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         Text            =   "AdvanTech"
         ToolTipText     =   "Device Name"
         Top             =   720
         Width           =   4095
      End
      Begin VB.CommandButton cmdSelectDevice 
         Caption         =   "&Select Device"
         Default         =   -1  'True
         Height          =   375
         Left            =   4080
         TabIndex        =   2
         ToolTipText     =   "Selecting device to operation"
         Top             =   240
         Width           =   1335
      End
      Begin VB.Label Label1 
         AutoSize        =   -1  'True
         Caption         =   "Device No. :"
         Height          =   195
         Left            =   120
         TabIndex        =   6
         Top             =   405
         Width           =   900
      End
      Begin VB.Label Label2 
         AutoSize        =   -1  'True
         Caption         =   "Device Name :"
         Height          =   195
         Left            =   120
         TabIndex        =   5
         Top             =   765
         Width           =   1065
      End
   End
   Begin VB.CommandButton cmdExit 
      Caption         =   "&Close"
      Height          =   375
      Left            =   6120
      TabIndex        =   0
      ToolTipText     =   "Close application"
      Top             =   930
      Width           =   1335
   End
End
Attribute VB_Name = "frmAoTester"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim bRet As Boolean

Private Sub chkCyclicMode_Click()
   If chkCyclicMode.Value = Checked Then
      DAQAO1.CyclicMode = True
   Else
      DAQAO1.CyclicMode = False
   End If
      
End Sub


Private Sub chkEventEnabled_Click()
   If chkEventEnabled.Value = Checked Then
      DAQAO1.EventEnabled = True
   Else
      DAQAO1.EventEnabled = False
   End If
End Sub

Private Sub cmbChannel_Click()
   DAQAO1.Channel = cmbChannel.ListIndex
End Sub


Private Sub cmbDataType_Click()
   DAQAO1.DataType = cmbDataType.ListIndex
End Sub

Private Sub cmdStatus_Click()
    txtStatus.Text = DAQAO1.OutputStatus
End Sub

Private Sub ErrorTimer_Timer()
    txtErrorCode.Text = DAQAO1.ErrorCode
    txtErrorMessage.Text = DAQAO1.ErrorMessage
End Sub

Private Sub Form_Unload(Cancel As Integer)
   ErrorTimer.Enabled = False
   DAQAO1.OutputStop
   DAQAO1.CloseDevice
End Sub

Private Sub txtNumberOfOutputs_Click()
   DAQAO1.NumberOfOutputs = Val(txtNumberOfOutputs.Text)
End Sub

Private Sub cmbOutputRange_Click()
    gOutputRange = (cmbOutputRange.ListIndex + 1) * 5 ' 5 ,10 V
End Sub

Private Sub cmbTransferMode_Click()
    DAQAO1.TransferMode = cmbTransferMode.ListIndex
End Sub

Private Sub cmdExit_Click()
   Unload Me
   End
End Sub

Private Sub cmdOutputStart_Click()
    Dim i As Long
    Dim j As Long
   If DAQAO1.OpenDevice Then
      MsgBox DAQAO1.ErrorMessage, vbOKOnly
      Exit Sub
   End If
   
   DAQAO1.Channel = cmbChannel.ListIndex
   DAQAO1.EventEnabled = chkEventEnabled.Value
   DAQAO1.CyclicMode = chkCyclicMode.Value
   DAQAO1.NumberOfOutputs = Val(txtNumberOfOutputs.Text)
   DAQAO1.TransferMode = cmbTransferMode.ListIndex
   DAQAO1.OutputRate = Val(txtOutputRate.Text)
   DAQAO1.DataType = cmbDataType.ListIndex
   
   'Set Data Array
    
   If DAQAO1.DataType = adReal Then
        ReDim gDataArray(0 To DAQAO1.NumberOfOutputs - 1)
        For i = 0 To DAQAO1.NumberOfOutputs - 1
            'gDataArray(i) = (gOutputRange * Rnd)
            gDataArray(i) = ((gOutputRange / 2) * (Sin((3.14 / 180) * i) + 1))
        Next i
        DAQAO1.SetRealBuffer gDataArray
   Else
        ReDim gBinDataArray(0 To DAQAO1.NumberOfOutputs - 1)
        j = DAQAO1.NumberOfOutputs / 2
        For i = 0 To j
            gBinDataArray(i) = 4095
        Next i
        For i = j + 1 To DAQAO1.NumberOfOutputs - 1
            gBinDataArray(i) = 0
        Next i
        DAQAO1.SetRawBuffer gBinDataArray
   End If
    
   cmdSelectDevice.Enabled = False
   cmdOutputStart.Enabled = False
   cmdOutputStop.Enabled = True
   cmdExit.Enabled = False
   ' Start getting data
   bRet = DAQAO1.OutputStart
   If bRet Then
      MsgBox DAQAO1.ErrorMessage, vbOKOnly
      Exit Sub
   End If
   ErrorTimer.Enabled = True
End Sub

Private Sub cmdOutputStop_Click()
   ' Stop get data
   ErrorTimer.Enabled = False
   bRet = DAQAO1.OutputStop
   If bRet Then
      MsgBox DAQAO1.ErrorMessage, vbOKOnly
      Exit Sub
   End If
   ' Close device
   DAQAO1.CloseDevice
   cmdSelectDevice.Enabled = True
   cmdOutputStart.Enabled = True
   cmdOutputStop.Enabled = False
   cmdExit.Enabled = True
End Sub

Private Sub cmdSelectDevice_Click()
   Dim i As Integer
   Dim j As Integer
   Dim bRet As Boolean
   
   'DAQDevice1.SelectDevice
   DAQAO1.SelectDevice
   txtDeviceNum.Text = DAQAO1.DeviceNumber
   txtDeviceName.Text = DAQAO1.DeviceName
   DAQAO1.DeviceNumber = DAQAO1.DeviceNumber
   DAQAO1.DeviceName = DAQAO1.DeviceName
   
   ' Open device
   If DAQAO1.OpenDevice Then
      MsgBox DAQAO1.ErrorMessage, vbOKOnly
      Exit Sub
   End If

    If DAQAO1.MaxChannel = 0 Then
        MsgBox "Function Not Supported", vbOKOnly
        Unload Me
        End
    End If
   ' Get Max. channel number
   cmbChannel.Clear
   For j = 0 To DAQAO1.MaxChannel - 1
      cmbChannel.AddItem (Str(j))
   Next j
   
   cmbChannel.ListIndex = DAQAO1.Channel
   
   DAQAO1.CloseDevice
End Sub

Private Sub DAQAO1_OnCompleted()
   Dim i As Long
   Dim j As Long
   
   lstWritting.Clear
   If DAQAO1.NumberOfOutputs < 10 Then
        j = 0
   Else
        j = DAQAO1.NumberOfOutputs - 10
   End If
   
   If DAQAO1.DataType = adReal Then
        For i = j To DAQAO1.NumberOfOutputs - 1
            lstWritting.AddItem (Str(i) + ":" + Str(gDataArray(i)))
        Next i
   Else
        For i = j To DAQAO1.NumberOfOutputs - 1
            lstWritting.AddItem (Str(i) + ":" + Str(gBinDataArray(i)))
        Next i
   End If
End Sub

Private Sub DAQAO1_OnTerminated()
   Dim i As Long
   Dim j As Long
   
   ' Stop wtite data
   DAQAO1.OutputStop
  
   lstWritting.Clear
   If DAQAO1.NumberOfOutputs < 10 Then
        j = 0
   Else
        j = DAQAO1.NumberOfOutputs - 10
   End If
   
   If DAQAO1.DataType = adReal Then
        For i = j To DAQAO1.NumberOfOutputs - 1
            lstWritting.AddItem (Str(i) + ":" + Str(gDataArray(i)))
        Next i
   Else
        For i = j To DAQAO1.NumberOfOutputs - 1
            lstWritting.AddItem (Str(i) + ":" + Str(gBinDataArray(i)))
        Next i
   End If

   ' Close device
   DAQAO1.CloseDevice
   cmdOutputStart.Enabled = True
   cmdOutputStop.Enabled = False
   cmdExit.Enabled = True
   ErrorTimer.Enabled = False
End Sub

Private Sub Form_Load()
   ' Select default device
   ErrorTimer.Enabled = False
   Call cmdSelectDevice_Click
   ' Setting initial value
   txtDeviceNum.Text = DAQAO1.DeviceNumber
   txtDeviceName.Text = DAQAO1.DeviceName
   
   cmbDataType.ListIndex = DAQAO1.DataType
   cmbChannel.ListIndex = DAQAO1.Channel
   cmbTransferMode.ListIndex = DAQAO1.TransferMode
   
   txtOutputRate.Text = DAQAO1.OutputRate
   'txtNumberOfOutputs.Text = DAQAO1.NumberOfOutputs
   txtNumberOfOutputs.Text = 32768
   gOutputRange = 5
End Sub


Private Sub txtDeviceNum_Change()
    DAQAO1.DeviceNumber = Val(txtDeviceNum.Text)
    txtDeviceName.Text = DAQAO1.DeviceName
End Sub


Private Sub txtOutputRate_Change()
    DAQAO1.OutputRate = Val(txtOutputRate.Text)
End Sub

⌨️ 快捷键说明

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