VERSION 4.00 Begin VB.Form PrTg9111 Appearance = 0 'Flat BackColor = &H00C0C0C0& Caption = "9111 Pre-Trigger Interrupt" ClientHeight = 5460 ClientLeft = 1515 ClientTop = 1755 ClientWidth = 7665 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H0000FFFF& Height = 5865 Left = 1455 LinkTopic = "Form1" ScaleHeight = 5460 ScaleWidth = 7665 Top = 1410 Width = 7785 Begin VB.Frame Frame1 BackColor = &H00C0C0C0& Caption = "Post Count" ForeColor = &H00FF0000& Height = 615 Left = 2160 TabIndex = 20 Top = 3840 Width = 2175 Begin VB.TextBox postCount Height = 285 Left = 120 TabIndex = 22 Text = "1024" Top = 240 Width = 1095 End Begin VB.Label labData Appearance = 0 'Flat BackColor = &H00C0C0C0& Caption = "Samples" ForeColor = &H0000FFFF& Height = 255 Index = 1 Left = 1320 TabIndex = 21 Top = 240 Width = 735 End End Begin VB.CommandButton btnExit Appearance = 0 'Flat BackColor = &H80000005& Caption = "Exit" Height = 500 Left = 6240 TabIndex = 4 Top = 4680 Width = 1000 End Begin VB.CommandButton btnStart Appearance = 0 'Flat BackColor = &H80000005& Caption = "Start" Height = 500 Left = 4800 TabIndex = 3 Top = 4680 Width = 1000 End Begin VB.Frame frmData Appearance = 0 'Flat BackColor = &H00C0C0C0& Caption = "Buffer Size" ForeColor = &H00FF0000& Height = 615 Left = 4680 TabIndex = 2 Top = 3840 Width = 1935 Begin VB.ComboBox cobData Appearance = 0 'Flat Height = 315 Left = 120 Style = 2 'Dropdown List TabIndex = 15 Top = 240 Width = 975 End Begin VB.Label labData Appearance = 0 'Flat BackColor = &H00C0C0C0& Caption = "Samples" ForeColor = &H0000FFFF& Height = 255 Index = 0 Left = 1155 TabIndex = 16 Top = 255 Width = 720 End End Begin VB.Frame frmSample Appearance = 0 'Flat BackColor = &H00C0C0C0& Caption = "Sampling Rate" ForeColor = &H00FF0000& Height = 615 Left = 120 TabIndex = 1 Top = 3840 Width = 1700 Begin VB.ComboBox cobSample Appearance = 0 'Flat Height = 315 Left = 120 Style = 2 'Dropdown List TabIndex = 14 Top = 240 Width = 975 End Begin VB.Label Label1 Appearance = 0 'Flat BackColor = &H00C0C0C0& Caption = "KHz" ForeColor = &H0000FFFF& Height = 255 Left = 1150 TabIndex = 17 Top = 260 Width = 450 End End Begin VB.Frame dmaFrame Appearance = 0 'Flat BackColor = &H00C0C0C0& Caption = "Interrupt Input(A/D)" ForeColor = &H00FF0000& Height = 3375 Left = 120 TabIndex = 0 Top = 120 Width = 7455 Begin VB.Frame Card_Frame Caption = "Card Number" ForeColor = &H00FF0000& Height = 615 Left = 5880 TabIndex = 18 Top = 2520 Width = 1455 Begin VB.ComboBox Card_num Height = 315 Left = 120 TabIndex = 19 Text = "Number" Top = 240 Width = 1215 End End Begin VB.Frame frmChannel Appearance = 0 'Flat BackColor = &H00C0C0C0& Caption = "AD Channel" ForeColor = &H00FF0000& Height = 1755 Left = 5880 TabIndex = 6 Top = 480 Width = 1380 Begin VB.OptionButton optChn Caption = "7" Height = 315 Index = 7 Left = 660 TabIndex = 30 Top = 1200 Width = 495 End Begin VB.OptionButton optChn Caption = "6" Height = 315 Index = 6 Left = 660 TabIndex = 29 Top = 900 Width = 495 End Begin VB.OptionButton optChn Caption = "5" Height = 315 Index = 5 Left = 660 TabIndex = 28 Top = 600 Width = 495 End Begin VB.OptionButton optChn Caption = "4" Height = 315 Index = 4 Left = 660 TabIndex = 27 Top = 300 Width = 495 End Begin VB.OptionButton optChn Caption = "3" Height = 315 Index = 3 Left = 120 TabIndex = 26 Top = 1200 Width = 495 End Begin VB.OptionButton optChn Caption = "2" Height = 315 Index = 2 Left = 120 TabIndex = 25 Top = 900 Width = 495 End Begin VB.OptionButton optChn Caption = "1" Height = 315 Index = 1 Left = 120 TabIndex = 24 Top = 600 Width = 495 End Begin VB.OptionButton optChn Caption = "0" Height = 315 Index = 0 Left = 120 TabIndex = 23 Top = 300 Value = -1 'True Width = 495 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 = 5 Top = 480 Width = 5000 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