From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

acquisizione dati scheda Ni - 6341USB, usando driver NIDAQmx su VB.net

Salve a tutti, sono un nuovo utente che ha un problema con l'utilizzo della funzione MyTask.Timing e quasi sicuramente anche con la funzione WaitUntilDone().

 

Io vorrei sapere come posso controllare la frequenza di SampleRate, e provando con myTask.Timing() questo fa solo un ciclo anzichè quelli previsti.

Riesco a controllare la frequenza di campionamento su ambiente MatLab attraverso l'opzione .Rate, ma utilizzando Vb.NET non sono riuscito a controllarla in modo cosi diretto.

 

Grazie mille!

 

 Private Sub btSTART_Click(sender As Object, e As EventArgs) Handles btSTART.Click
        '#####################################################################################


        NC = NumericUpDown1.Value 'numero di cicli

        Dim indiceCiclo As Integer = 0
       


        If isJustHomed = True Then
           

xHome = Math.Round(AxMintController1.get_Pos(0) * CConv, 4)
       

End If


   Dim Vel(Ns - 1) As Double


        AxMintController1.set_Suspend(0, 0) 'Toglie l'hold al motore
       

HoldBox.Checked = False

        Dim myTask As New Task                                 ' Assegna un nome all'oggetto "task"
       

myTask.AOChannels.CreateVoltageChannel(ComboBoxMo.Text, "MOTOR", Convert.ToDouble(tbminMo.Text), Convert.ToDouble(tbmaxMo.Text), AOVoltageUnits.Volts)
       

myTask.Timing.ConfigureSampleClock("", TextBox7.Text, SampleClockActiveEdge.Rising, SampleQuantityMode.FiniteSamples)

        Dim writer As AnalogSingleChannelWriter = New AnalogSingleChannelWriter(myTask.Stream)
      

  Do
            For I As Integer = 0 To Ns - 1        

            Vel(I) = v(I) * kV
    

        Next
            'writer.WriteMultiSample(True, Vel) 'Sincrono
           

writer.BeginWriteMultiSample(True, Vel, Nothing, Nothing) 'Ascincrono
           

myTask.WaitUntilDone()
           

xStop = Math.Round(AxMintController1.get_Pos(0) * CConv, 4)
       
            NC -= 1
            '
            Label3.Text = NC
          
            TextBox11.Text = xStop - xHome
           
        Loop While NC <> 0
0 Kudos
Messaggio 1 di 1
3.458Visualizzazioni