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

📄 9111prtg.frm

📁 凌华工控控制卡PCI-9111计数器采集卡使用例子
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      End
      Begin VB.Label labValue 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "-5.00"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   4
         Left            =   120
         TabIndex        =   13
         Top             =   3045
         Width           =   600
      End
      Begin VB.Label labValue 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "-2.50"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   3
         Left            =   120
         TabIndex        =   12
         Top             =   2400
         Width           =   600
      End
      Begin VB.Label labValue 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "0.00"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   2
         Left            =   120
         TabIndex        =   11
         Top             =   1740
         Width           =   615
      End
      Begin VB.Label labValue 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "2.50"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   1
         Left            =   120
         TabIndex        =   10
         Top             =   1065
         Width           =   615
      End
      Begin VB.Label labValue 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "5.00"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Index           =   0
         Left            =   120
         TabIndex        =   9
         Top             =   420
         Width           =   615
      End
      Begin VB.Label labVots 
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "Vots"
         ForeColor       =   &H0000FFFF&
         Height          =   255
         Left            =   120
         TabIndex        =   8
         Top             =   200
         Width           =   495
      End
      Begin VB.Label labSignal 
         Appearance      =   0  'Flat
         BackColor       =   &H00C0C0C0&
         Caption         =   "Signals"
         ForeColor       =   &H0000FFFF&
         Height          =   300
         Left            =   2800
         TabIndex        =   7
         Top             =   200
         Width           =   780
      End
   End
End
Attribute VB_Name = "PrTg9111"
Attribute VB_Creatable = False
Attribute VB_Exposed = False
Dim gnADChn As Long
Dim gnCount As Long
Dim gnC2 As Long
Dim gnBuffer(4096) As Integer
Dim card As Integer
Dim nRate As Long
Dim range As Integer
Dim card_number As Integer
Dim post_cnt As Long
Private Sub btnExit_Click()
    If card >= 0 Then Release_Card (card)
    End
End Sub

Private Sub btnStart_Click()
    Dim result As Integer
    Dim access_cnt As Long
    Dim clear_op As Byte
    Dim fstop As Byte
    
    If card < 0 Then
        card_num.Enabled = False
        card = Register_Card(PCI_9111DG, card_number)
        If card < 0 Then
           MsgBox "Register Card Failed"
        End
        End If
    End If
    result = AI_9111_Config(card, TRIG_INT_PACER, 1, post_cnt)
    result = AI_AsyncDblBufferMode(card, 0)
    result = AI_ContReadChannel(card, gnADChn, range, gnBuffer(0), gnCount, CSng(nRate * 1000), ASYNCH_OP)
    clear_op = 0
    fstop = 0
    While fstop = 0 And clear_op = 0
           result = AI_AsyncCheck(card, fstop, access_cnt)
    Wend
    result = AI_AsyncClear(card, access_cnt)
    btnStart.Enabled = True
    access_cnt = access_cnt And &HFFFFFFF
    If access_cnt = 0 Then
       access_cnt = gnCount
    End If
    ShowData (access_cnt)
End Sub


Private Sub card_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub card_num_Click()
    card_number = Val(Trim$(card_num))
End Sub


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

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

Private Sub Command1_Click()

End Sub

Private Sub Form_Load()
    Dim bus As Integer, slot As Integer
    
    card_num.AddItem "0"
    card_num.AddItem "1"
    card_num.AddItem "2"
    card_num.AddItem "3"
    card_num.AddItem "4"
    card_num.AddItem "5"
    card_num.AddItem "6"
    card_num.AddItem "7"
    card_num.AddItem "8"
    card_num.AddItem "9"
    card_num.AddItem "10"
    card_num.AddItem "11"
    card_num.AddItem "12"
    card_num.AddItem "13"
    card_num.AddItem "14"
    card_num.AddItem "15"
    
    card_num.ListIndex = 0
    
    cobData.AddItem "512"
    cobData.AddItem "1024"
    cobData.AddItem "2048"
    cobData.AddItem "3072"
    cobData.AddItem "4096"

    cobData.ListIndex = 0

    cobSample.AddItem "10"
    cobSample.AddItem "20"
    cobSample.AddItem "30"
    cobSample.AddItem "40"
    cobSample.AddItem "50"
    cobSample.AddItem "70"
    cobSample.AddItem "90"
    cobSample.AddItem "100"

    cobSample.ListIndex = 0

    gnADChn = 0
    card = -1
    post_cnt = 1024
    'Range values
    range = AD_B_5_V
    
End Sub

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


Private Sub optChn_Click(Index As Integer)
    gnADChn = Index
End Sub

Private Sub ShowData(count As Long)
    Dim i As Integer, last As Long
    Dim x1 As Long, y1 As Long, x2 As Long, y2 As Long
    Dim w As Long, h As Long, data As Long
    
    picScreen.Cls
    last = count
    w = picScreen.ScaleWidth
    h = picScreen.ScaleHeight
    'gnBuffer contains 16-bit data, the 4 LSB is channel#
    'VB's integer is signed integer, its range is -32768 to 32767
    'We change the range to 0 to 65535
    'If gnBuffer(0) >= 0 Then
        data = gnBuffer(0)
    'Else
        'data = gnBuffer(0) + 65536
    'End If
    x1 = (last * w) / count
    y1 = ((2047 - ((data And &HFFF0) / 16)) * h) / 4095
    last = last - 1
    
    While (last > 0)
        'If gnBuffer(count - last) >= 0 Then
            data = gnBuffer(count - last)
        'Else
            'data = gnBuffer(count - last) + 65536
        'End If
        x2 = (last * w) / count
        y2 = ((2047 - ((data And &HFFF0) / 16)) * h) / 4095
        last = last - 1
        picScreen.Line (x1, y1)-(x2, y2), &HFFFF&
        x1 = x2
        y1 = y2
    Wend
End Sub




Private Sub postCount_Change()
  post_cnt = Val(Trim$(postCount))
End Sub


⌨️ 快捷键说明

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