Hallo miteinander zur späten Stunde,
ich habe folgendes Problem:
Ich habe eine Messkarte bei der ich Spannung auslese. Dies passiert auch, jedoch will ich die Berechnung außerhalb meines HandleBufferDone erledigen. Da bei einem durchlauf 32786 Werte ausgegeben werden
Nach ca. 1Sekunde startet dieses wieder von vorne.
Wie kann ich die Werte volts1 übergeben. Ich habe den Tip bekommen es mit einem Timer und einer Boolean Flag zu machen, jedoch habe ich keinen Plan wo welcher Teil hinkommt.
Mein Code sieht bisher so aus:
wird natürlich nichts angezeigt...
votls1 ist selbstverständlich eine globale Variable
Wer kann mir helfen???
ich habe folgendes Problem:
Ich habe eine Messkarte bei der ich Spannung auslese. Dies passiert auch, jedoch will ich die Berechnung außerhalb meines HandleBufferDone erledigen. Da bei einem durchlauf 32786 Werte ausgegeben werden
Nach ca. 1Sekunde startet dieses wieder von vorne.
Wie kann ich die Werte volts1 übergeben. Ich habe den Tip bekommen es mit einem Timer und einer Boolean Flag zu machen, jedoch habe ich keinen Plan wo welcher Teil hinkommt.
Mein Code sieht bisher so aus:
VB.NET-Quellcode
- Try
- Dim aiSS As AnalogInputSubsystem = CType(sender, AnalogInputSubsystem)
- If dtBuffer.ValidSamples > 0 Then
- BuffersCompleted += 1
- 'Wenn die Kanäle im Frame in der Checkbóx aktiv ist, wird dieser hier verwendet
- If chkKanal1.Checked Then volts1 = dtBuffer.GetDataAsVolts(aiSS.ChannelList(0))
- If chkKanal2.Checked Then volts2 = dtBuffer.GetDataAsVolts(mAinSS.ChannelList(1))
- If chkKanal3.Checked Then volts3 = dtBuffer.GetDataAsVolts(mAinSS.ChannelList(2))
- If chkKanal4.Checked Then volts4 = dtBuffer.GetDataAsVolts(mAinSS.ChannelList(3))
- If chkKanal5.Checked Then volts5 = dtBuffer.GetDataAsVolts(sAinSS.ChannelList(0))
- aiSS.BufferQueue.QueueBuffer(dtBuffer)
- Dim samplesToDisplay As Integer = If(dtBuffer.ValidSamples >= Integer.Parse(txtSamplesPerBuffer.Text), Integer.Parse(txtSamplesPerBuffer.Text), dtBuffer.ValidSamples)
- If aiSS.SynchronizationMode = SynchronizationModes.Master Then
- masterBuffersCompleted += 1
- lblNumPlottedMaster.Text = masterBuffersCompleted.ToString()
- For i As Integer = 0 To volts1.Length - 1
- Next
- Else
- slaveBuffersCompleted += 1
- lblNumPlottedSlave.Text = slaveBuffersCompleted.ToString()
- For i As Integer = 0 To volts5.Length - 1
- ' txtChannel5.Text = volts5(i)
- Next
- End If
- End If
- Catch e As Exception
- StatusBar1.Text = e.Message
- End Try
- [\vbnet]
- Es geht momentan hauptsächlich um Volts1, volts1 soll dann im nächsten Sub aufgegriffen werden und weiter berechnet werden.
- nehme ich dann im nächsten Sub:
- [vbnet]
- For i = 0 To volts1.Length - 1
- volts1(i) = txtChannel1.Text
- Next
wird natürlich nichts angezeigt...
votls1 ist selbstverständlich eine globale Variable
Wer kann mir helfen???