Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

running two tasks simultaneously in vb

i HAve written this code in VB to simultaniously running two tasks 1.write to digital line 2. Generating pulse on Counter 0 PIN

 

its giving me error 200077 requested value is not supported value of this property


Option Explicit
    Private taskHandle1 As Long
    Private taskHandle2 As Long
    Dim sampsPerChanWritten As Long
    Dim data0(0 To 1) As Byte
    Dim data1(0 To 1) As Byte
    Private taskIsRunning1 As Boolean
    Private taskIsRunning2 As Boolean

Private Sub Command1_Click()
StopTask
End Sub

Private Sub startCommandButton_Click()
    data1(0) = 1
    On Error GoTo ErrorHandler
    startCommandButton.Enabled = False
    DAQmxErrChk DAQmxWriteDigitalLines(taskHandle1, 1, True, 10#, DAQmx_Val_GroupByChannel, data1(0), sampsPerChanWritten, ByVal 0&)
    taskIsRunning2 = False
    DAQmxErrChk DAQmxCreateTask("", taskHandle2)
    taskIsRunning2 = True
    DAQmxErrChk DAQmxCreateCOPulseChanFreq(taskHandle2, "Dev1/ctr0", "coChannel", DAQmx_Val_FrequencyUnits2_Hz, 0, 0#, 2500, 0.5)
    DAQmxErrChk DAQmxCfgImplicitTiming(taskHandle2, DAQmx_Val_AcquisitionType_ContSamps, 1000)
    Exit Sub

ErrorHandler:
    If taskIsRunning1 = True Then
        DAQmxStopTask taskHandle1
        DAQmxClearTask taskHandle1
        taskIsRunning1 = False
    End If
                
    startCommandButton.Enabled = True
                
    MsgBox "Error: " & Err.Number & " " & Err.Description, , "Error"
End Sub

Private Sub StopTask()
    DAQmxErrChk DAQmxStopTask(taskHandle1)
    DAQmxErrChk DAQmxClearTask(taskHandle1)
    taskIsRunning1 = False
    startCommandButton.Enabled = True
End Sub
Private Sub Form_Load()
    data0(0) = 0
    taskIsRunning1 = False
    DAQmxErrChk DAQmxCreateTask("", taskHandle1)
    taskIsRunning1 = True
    DAQmxErrChk DAQmxCreateDOChan(taskHandle1, "Dev1/port0/line8:8", "", DAQmx_Val_ChanForAllLines)
    DAQmxErrChk DAQmxStartTask(taskHandle1)
    DAQmxErrChk DAQmxWriteDigitalLines(taskHandle1, 1, True, 10#, DAQmx_Val_GroupByChannel, data0(0), sampsPerChanWritten, ByVal 0&)
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If taskIsRunning1 = True Then
    StopTask
    End If
    End
End Sub
Can Any body help me with this code

0 Kudos
Message 1 of 1
(3,818 Views)