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

📄 vb9111s.frm

📁 PCI9111卡的采集例子程序
💻 FRM
📖 第 1 页 / 共 2 页
字号:
            FillStyle       =   0  'Solid
            Height          =   255
            Index           =   0
            Left            =   300
            Top             =   240
            Width           =   195
         End
      End
      Begin VB.PictureBox picScreen 
         Appearance      =   0  'Flat
         AutoRedraw      =   -1  'True
         BackColor       =   &H00000000&
         ForeColor       =   &H80000008&
         Height          =   2700
         Left            =   720
         ScaleHeight     =   178
         ScaleMode       =   3  'Pixel
         ScaleWidth      =   331
         TabIndex        =   6
         Top             =   480
         Width           =   5000
      End
      Begin VB.Label labValue 
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "-5.00"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   4
         Left            =   100
         TabIndex        =   15
         Top             =   3050
         Width           =   600
      End
      Begin VB.Label labValue 
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "-2.50"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   3
         Left            =   100
         TabIndex        =   14
         Top             =   2400
         Width           =   600
      End
      Begin VB.Label labValue 
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "0.00"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   2
         Left            =   100
         TabIndex        =   13
         Top             =   1740
         Width           =   600
      End
      Begin VB.Label labValue 
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "2.50"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   1
         Left            =   100
         TabIndex        =   12
         Top             =   1070
         Width           =   600
      End
      Begin VB.Label labValue 
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "5.00"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   0
         Left            =   100
         TabIndex        =   11
         Top             =   420
         Width           =   600
      End
      Begin VB.Label labVots 
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "Volt"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Left            =   120
         TabIndex        =   10
         Top             =   200
         Width           =   495
      End
      Begin VB.Label labSignal 
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "Signals"
         ForeColor       =   &H0000FFFF&
         Height          =   300
         Left            =   2800
         TabIndex        =   9
         Top             =   200
         Width           =   780
      End
   End
   Begin VB.Label Label3 
      Caption         =   "PCI-9111 Auto-scan Interrupt Transfer"
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   -1  'True
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H000000FF&
      Height          =   255
      Left            =   1920
      TabIndex        =   31
      Top             =   120
      Width           =   3555
   End
End
Attribute VB_Name = "int9111"
Attribute VB_Creatable = False
Attribute VB_Exposed = False
Dim nSample As Long
Dim range_value(5) As Integer
Dim gnADChn As Integer
Dim Range As Integer
Dim gnCount As Long
Dim gnC1 As Integer
Dim gnC2 As Integer
Dim gnBuffer(8192) As Integer

Private Sub btnExit_Click()
  If card >= 0 Then Release_Card (card)
    End

End Sub



Private Sub btnStart_Click()
    Dim result As Integer
    Dim i As Integer
    
    picScreen.Cls
    result = AI_9111_Config(card, TRIG_INT_PACER, 0, 1024)
    
    Range = range_value(cobRange.ListIndex)
    
    result = AI_ContScanChannels(card, gnADChn, Range, gnBuffer(0), gnCount, CSng(nSample * 1000), SYNCH_OP)
    ShowData (gnCount)
End Sub

Private Sub btnStop_Click()
    picScreen.Cls

End Sub

Private Sub cobChn_Click()
    gnADChn = cobChn.ListIndex
End Sub


Private Sub cobData_Click()
    gnCount = Val(Trim$(cobData))
End Sub


Private Sub cobRange_Click()
Select Case cobRange.ListIndex
   Case 0
    labValue(0).Caption = "10.0"
    labValue(1).Caption = "5.0"
    labValue(2).Caption = "0.0"
    labValue(3).Caption = "-5.0"
    labValue(4).Caption = "-10.0"
  Case 1
    labValue(0).Caption = "5.0"
    labValue(1).Caption = "2.5"
    labValue(2).Caption = "0.0"
    labValue(3).Caption = "-2.5"
    labValue(4).Caption = "-5.0"
  Case 2
    labValue(0).Caption = "2.50"
    labValue(1).Caption = "2.25"
    labValue(2).Caption = "0.00"
    labValue(3).Caption = "-2.25"
    labValue(4).Caption = "-2.50"
  Case 3
    labValue(0).Caption = "1.250"
    labValue(1).Caption = "0.625"
    labValue(2).Caption = "0.00"
    labValue(3).Caption = "-0.625"
    labValue(4).Caption = "-1.250"
  Case 4
    labValue(0).Caption = "0.6250"
    labValue(1).Caption = "0.3125"
    labValue(2).Caption = "0.0000"
    labValue(3).Caption = "-0.3125"
    labValue(4).Caption = "-0.6250"
  End Select
End Sub

Private Sub cobSample_Click()
    nSample = Val(Trim$(cobSample))
End Sub

Private Sub Form_Load()
    Dim result As Integer
    
    SettingForm.Show 1
    If card < 0 Then
      MsgBox "Register card failed."
      End
    End If
    gnC1 = 10
    
    cobChn.AddItem "Ch0"
    cobChn.AddItem "Ch0~Ch1"
    cobChn.AddItem "Ch0~Ch2"
    cobChn.AddItem "Ch0~Ch3"
    cobChn.AddItem "Ch0~Ch4"
    cobChn.AddItem "Ch0~Ch5"
    cobChn.AddItem "Ch0~Ch6"
    cobChn.AddItem "Ch0~Ch7"

    cobChn.ListIndex = 0
    gnADChn = 0
        
    cobRange.AddItem "+/- 10V"
    cobRange.AddItem "+/- 5V"
    cobRange.AddItem "+/- 2.5V"
    cobRange.AddItem "+/- 1.25V"
    cobRange.AddItem "+/- 0.625V"

    cobRange.ListIndex = 0
    
    range_value(0) = 1
    range_value(1) = 2
    range_value(2) = 3
    range_value(3) = 4
    range_value(4) = 5
    
    cobData.AddItem "1024"
    cobData.AddItem "2048"
    cobData.AddItem "4096"
    cobData.AddItem "6144"
    cobData.AddItem "8192"

    cobData.ListIndex = 0

    cobSample.AddItem "10"
    cobSample.AddItem "20"
    cobSample.AddItem "30"
    cobSample.AddItem "40"
    cobSample.AddItem "50"

    cobSample.ListIndex = 0
End Sub


Private Sub ShowData(Count As Integer)
    Dim i, last, total As Integer
    Dim x1(0 To 7) As Long, y1(0 To 7) As Long
    Dim x2(0 To 7) As Long, y2(0 To 7) As Long
    Dim idx(0 To 7) As Integer, color(0 To 7) As Long
    Dim w, h, data As Long
    Dim ch As Integer
    
    last = Count / (gnADChn + 1)
    w = picScreen.ScaleWidth
    h = picScreen.ScaleHeight
    For i = 0 To 7
        idx(i) = 0
    Next
    color(0) = &HFFFF&
    color(1) = &HFF&
    color(2) = &HFF0000
    color(3) = &H8000&
    color(4) = &H80FF&
    color(5) = &HFF00FF
    color(6) = &HFFFF00
    color(7) = &HFF00&
    For i = 0 To Count - 1
        'Get the channel number
      If card_type = PCI_9111HR Then
        ch = i Mod (gnADChn + 1)
      Else
        If gnBuffer(i) >= 0 Then
           ch = gnBuffer(i) Mod 16
        Else
           ch = ((gnBuffer(i) Mod 16) + 16) Mod 16
        End If
      End If
        data = Fix(gnBuffer(i) / 16)
        If ch > 7 Then
         Exit For
        End If
        x2(ch) = (idx(ch) * w) / last
        y2(ch) = CInt((2047 - CLng(data)) * h / 4095)
        If idx(ch) <> 0 Then
            picScreen.Line (x1(ch), y1(ch))-(x2(ch), y2(ch)), color(ch)
        End If
        x1(ch) = x2(ch)
        y1(ch) = y2(ch)
        idx(ch) = idx(ch) + 1
    Next
End Sub



Private Sub Form_Unload(Cancel As Integer)
  If card >= 0 Then Release_Card (card)
End Sub


⌨️ 快捷键说明

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