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

📄 addma1.frm

📁 16 relay output channels and 16 isolated digital input channels LED indicators to show activated
💻 FRM
📖 第 1 页 / 共 2 页
字号:
   End
   Begin VB.CommandButton Command2 
      Caption         =   "E&xit"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   7560
      TabIndex        =   3
      Top             =   3360
      Width           =   1335
   End
   Begin VB.CommandButton ComConvert 
      Caption         =   "&Convert"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   6120
      TabIndex        =   2
      Top             =   3360
      Width           =   1335
   End
   Begin VB.ListBox ListDevice 
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   1260
      Left            =   120
      TabIndex        =   1
      Top             =   240
      Width           =   3015
   End
   Begin VB.Label Label5 
      Caption         =   "Data Counts:"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   6360
      TabIndex        =   23
      Top             =   2640
      Width           =   1215
   End
   Begin VB.Label Label4 
      Caption         =   "FIFO size:"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   6360
      TabIndex        =   22
      Top             =   2160
      Width           =   975
   End
   Begin VB.Label Label2 
      Caption         =   "Device:"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   120
      TabIndex        =   5
      Top             =   0
      Width           =   1095
   End
End
Attribute VB_Name = "frmSelDev"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit


Private Sub ChkGainCde_Click()

  ErrCde = GainCodeFilling()
  If (ChkGainCde) Then
    ComGainList.Enabled = False
    ListGain.Enabled = True
  Else
    ComGainList.Enabled = True
    ListGain.Enabled = False
  End If

End Sub


Private Sub CombChCount_Click()
  ErrCde = GainCodeFilling()
End Sub

Private Sub CombChCount_GotFocus()
  frmSelDev.Refresh
End Sub


Private Sub CombChCount_LostFocus()
  frmSelDev.Refresh
End Sub

Private Sub CombStartCh_Click()
  Dim tempNum As Integer
  Dim i As Integer
 
  ' Add analog input channel item
  CombChCount.Clear
     
  If (lpDEVCONFIG_AI.ulChanConfig = 0) Then
    tempNum = lpDevFeatures.usMaxAISiglChl
  Else
    tempNum = lpDevFeatures.usMaxAIDiffChl
  End If
     
  For i = 1 To tempNum - Val(CombStartCh.Text)
    CombChCount.AddItem Str(i)
  Next i
  
  CombChCount.Text = CombChCount.List(0)
  CombChCount.Enabled = True
  
End Sub



Private Sub ComConvert_Click()
Dim i As Integer, j As Integer
Dim DataSize As Long

  '1. Open device
  ErrCde = DRV_DeviceOpen(devicelist(ListDevice.ListIndex).dwDeviceNum, DeviceHandle)
  If (ChkErr(ErrCde)) Then
    Exit Sub
  End If
    
  '2. Allocate DMA buffer
  ptDmaBuffer.CyclicMode = chkCyclic.value
  ptDmaBuffer.RequestBufSize = Val(DataCounts.Text) * 2
  ptDmaBuffer.ActualBufSize = DRV_GetAddress(lActualBufSize)
  ptDmaBuffer.buffer = DRV_GetAddress(lDmaBufPtr)
    
  ErrCde = DRV_AllocateDMABuffer(DeviceHandle, ptDmaBuffer)
  If (ChkErr(ErrCde)) Then
    DRV_DeviceClose (DeviceHandle)
    Exit Sub
  End If
  
  '3. Set gain list
  j = Val(CombStartCh.Text)
  For i = 0 To Val(CombChCount.Text) - 1
    wGainCode(i) = lpDevFeatures.glGainList(iGainIndex(j)).usGainCde
    j = j + 1
  Next i
    
  '4. Start AI Dual DMA funciton
  '4.1 Fill element of PT_FAIIntScanStart
  ptAiStart.TrigSrc = TrigMode(1).value                'Ext trig mode
  ptAiStart.SampleRate = Val(SpeedRate.Text)
  ptAiStart.NumChans = Val(CombChCount.Text)
  ptAiStart.StartChan = Val(CombStartCh.Text)
  ptAiStart.GainList = DRV_GetAddress(wGainCode(0))
  ptAiStart.Count = Val(DataCounts.Text)
  ptAiStart.BufferA = DRV_GetAddress(lDmaBufPtr)
  ptAiStart.BufferB = DRV_GetAddress(lDmaBufPtr)

  '4.2 Call advantech API function DRV_FAIDualDmaScanStart}
  ErrCde = DRV_FAIDualDmaScanStart(DeviceHandle, ptAiStart)
  If (ChkErr(ErrCde)) Then
    ErrCde = DRV_FreeDMABuffer(DeviceHandle, DRV_GetAddress(lDmaBufPtr))
    ErrCde = DRV_DeviceClose(DeviceHandle)
    Exit Sub
  End If
    
  'Show conversion status
  frmRun.Show
  frmSelDev.Enabled = False
End Sub

Private Sub ComGainList_Click()
  frmGainCdeSet.Show 1
End Sub

Private Sub Command2_Click()
  End
End Sub

Private Sub Form_Load()
  Dim gnNumOfDevices As Integer
  Dim MaxEntries As Integer
  Dim nOutEntries As Integer
  Dim i, ii As Integer
  Dim tt As Long
  Dim tempStr As String
  Dim Response
  Dim tempNum As Integer
  Dim lpDEVCONFIG_AI As DEVCONFIG_AI

  MaxEntries = 9
  
  'Add type of PC Laboratory Card
  tt = DRV_GetAddress(devicelist(0))
  ErrCde = DRV_DeviceGetList(tt, MaxEntries, nOutEntries)
  If (ErrCde <> 0) Then
    DRV_GetErrorMessage ErrCde, szErrMsg
    Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
    Exit Sub
  End If
  
  ' Return the number of devices which you install in the system using
  ' Device Installation
  ErrCde = DRV_DeviceGetNumOfList(gnNumOfDevices)
  If (ErrCde <> 0) Then
    DRV_GetErrorMessage ErrCde, szErrMsg
    Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
    Exit Sub
  End If
    
  For i = 0 To (gnNumOfDevices - 1)
    tempStr = ""
    For ii = 0 To MaxDevNameLen
      tempStr = tempStr + Chr(devicelist(i).szDeviceName(ii))
    Next ii
      ListDevice.AddItem tempStr
  Next i
  ListDevice.Text = ListDevice.List(0)
  ListDevice.Enabled = True
         
End Sub



Private Sub ListDevice_Click()
  Dim i, ii As Integer
  Dim tempNum As Integer
  Dim TestRes As Boolean
  Dim tempStr As String
  Dim nOutEntries As Integer
  Dim lpSubDeviceList As Long
  Dim dwDeviceNum As Long
  Dim temp As String
        
  For i = 0 To 15
    iGainIndex(i) = 0
  Next i
     
  ListGain.Clear
  
  'Open device
  dwDeviceNum = devicelist(ListDevice.ListIndex).dwDeviceNum
  ErrCde = DRV_DeviceOpen(dwDeviceNum, DeviceHandle)
  If (ChkErr(ErrCde)) Then
    Exit Sub
  End If
    
  'Get device's features and configurations
  ptDevGetFeatures.buffer = DRV_GetAddress(lpDevFeatures)
  ErrCde = DRV_DeviceGetFeatures(DeviceHandle, ptDevGetFeatures)
  If (ChkErr(ErrCde)) Then
    Exit Sub
  End If
      
  ptAIGetConfig.buffer = DRV_GetAddress(lpDEVCONFIG_AI)
  ErrCde = DRV_AIGetConfig(DeviceHandle, ptAIGetConfig)
  If (ChkErr(ErrCde)) Then
    Exit Sub
  End If
     
  'According device feature to set gain selection
  tempNum = lpDevFeatures.usNumGain
  If (lpDevFeatures.usNumGain > 0) Then
    For i = 0 To (lpDevFeatures.usNumGain - 1)
      tempStr = ""
      
      For ii = 0 To 15
        tempStr = tempStr + Chr(lpDevFeatures.glGainList(i).szGainStr(ii))
      Next ii
      ListGain.AddItem tempStr
    Next i
  End If
  ListGain.Text = ListGain.List(0)
     
  'Add analog input channel item
  CombStartCh.Clear
  If (lpDEVCONFIG_AI.ulChanConfig = 0) Then
    tempNum = lpDevFeatures.usMaxAISiglChl
  Else
    tempNum = lpDevFeatures.usMaxAIDiffChl
  End If
  
  If (tempNum > 0) Then
    For i = 0 To (tempNum - 1)
      temp = Str(i)
      CombStartCh.AddItem temp
    Next i
    CombStartCh.Text = CombStartCh.List(0)
    CombStartCh.Enabled = True
  End If
  
  'Close device
  DRV_DeviceClose (DeviceHandle)
  
End Sub

⌨️ 快捷键说明

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