📄 frmaotester.frm
字号:
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 + -