Impuls erzeugen ohne Counter zu verwenden?

Signal -erfassung, -verarbeitung und -ausgabe

Impuls erzeugen ohne Counter zu verwenden?

Postby Andband on 22 Jan 2010, 19:19

Hallo
alle Beispiele von Labview verwenden zum Taktgeben den Counterausgang von den DAQ-Karten (ich hab Version 7/englisch).

Die erste Frage die sich mir stellt:
Warum ist das so? Meine Vermutung ist, dass da das Timing am besten ist.

2. Kann man das irgendwie umgehen? Also kann man einen 'Pulsetrain' auch manuell mit dem normalen digitalen Output erzeugen?

Um konkret zu fragen: Wie gibt man am digitalen Ausgang 50 x ein 0 Volt-Puls mit 10 Hz aus? Timing ist mir nicht wichtig, wichtig ist nur, dass die Anzahl der Pulse stimmt.

Ich kann dazu nur die Legacy-Treiber verwenden (also kein DAQmx) weil die Labview Version das nicht unterstuezt.
Andband
assistant
assistant
 
Posts: 132
Joined: 26 Oct 2009, 23:05
LabVIEW Version: 7.1
Karma: 5

Re: Impuls erzeugen ohne Counter zu verwenden?

Postby Eugen Graf on 22 Jan 2010, 19:29

Ich kann nicht sagen, ob und wie es ohne DAQmx funktioniert, aber ich denke du kannst dir ein Waveform erzeugen und dort die gewünschte Frequenz (dt) eingeben.
Attachments
BuildWaveform.png
BuildWaveform.png (2.72 KiB) Viewed 5770 times
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Re: Impuls erzeugen ohne Counter zu verwenden?

Postby Andband on 22 Jan 2010, 22:10

Hm, ok, dass koennte man dann evtl so ergaenzen:

digitalwaveform.JPG


Jetzt ist nur die Frage, wie ich dies letztendlich dann ausgebe. Einfach mit dem digitalem Output verbinden?
Andband
assistant
assistant
 
Posts: 132
Joined: 26 Oct 2009, 23:05
LabVIEW Version: 7.1
Karma: 5

Re: Impuls erzeugen ohne Counter zu verwenden?

Postby Eugen Graf on 22 Jan 2010, 22:11

Wenn es geht dann würde ich es probieren, wenn nicht, dann vielleicht noch an den Treiber anpassen.
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Re: Impuls erzeugen ohne Counter zu verwenden?

Postby Andband on 23 Jan 2010, 00:22

Hm schade, die digtiale Waveform wurde net geschluckt von Write to Digital Port.

Aber wenn man "Write to Digital Port" in die Schleife einbaut und abwechselnd true und false schreiben laesst (natuerlich mit nem Wait in der Schleife) bekommt man das Puls-Signal im Rahmen der Messgenauigkeit hin. Dass geht aber denk ich echt nur bei Anwendungen wo Timing keine Rolle spielt.

Mit DAQmx wuerde man direkt Waveformen ausgeben koennen? Wie schaut dass dann aus? Vielleicht sollte man Labview mal upgraden.
Andband
assistant
assistant
 
Posts: 132
Joined: 26 Oct 2009, 23:05
LabVIEW Version: 7.1
Karma: 5

Re: Impuls erzeugen ohne Counter zu verwenden?

Postby Eugen Graf on 23 Jan 2010, 00:32

Also 10 Hertz finde ich gar nicht viel. 100 ms kann man auch einhalten. Was ist denn das Problem jetzt? Nimm dir eine For-Schleife für 50 Mal und 100 ms Zeitverzögerung. In der Schleife schickst du abwechselnd TRUE und FALSE.

Oder verstehe ich was nicht?
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Re: Impuls erzeugen ohne Counter zu verwenden?

Postby jg69 on 23 Jan 2010, 22:00

Andband wrote:Hallo
alle Beispiele von Labview verwenden zum Taktgeben den Counterausgang von den DAQ-Karten (ich hab Version 7/englisch).

Die erste Frage die sich mir stellt:
Warum ist das so? Meine Vermutung ist, dass da das Timing am besten ist.

2. Kann man das irgendwie umgehen? Also kann man einen 'Pulsetrain' auch manuell mit dem normalen digitalen Output erzeugen?

Um konkret zu fragen: Wie gibt man am digitalen Ausgang 50 x ein 0 Volt-Puls mit 10 Hz aus? Timing ist mir nicht wichtig, wichtig ist nur, dass die Anzahl der Pulse stimmt.

Ich kann dazu nur die Legacy-Treiber verwenden (also kein DAQmx) weil die Labview Version das nicht unterstuezt.

DAQmx unterstützt sehr wohl LabVIEW 7.0.
s. hier: http://digital.ni.com/public.nsf/allkb/ ... 8100596848
DAQmx in Verison 8.1 und LabVIEW 7.0 geht sehr wohl!

Was du auch einmal erzählen könntest: Was für eine DAQ-Karte hast du? Nur dann sind verlässliche Aussagen möglich. Es gibt nämlich eine ganze Reihe von DAQ-Karten, bei denen du bei den DIOs keinen Hardware-Takt für das Timing verwenden kannst. Und nur so erhältst du einen "stabilen" Pulsetrain.

Gruß, Jens
jg69
developer
developer
 
Posts: 265
Joined: 14 Oct 2008, 00:09
Medals: 1
Professionalism (1)
LabVIEW Version: 8.x, 20x
Karma: 16

Re: Impuls erzeugen ohne Counter zu verwenden?

Postby Andband on 25 Jan 2010, 16:43

Danke erstmal!!

@eg: jop, wie gesagt, dass mit der for schleife klappt, hatte ich ja schon bestaetigt :)

@jg69 es ist eine NI PCI 6023e - glaube nicht dass die Karte einen Hardwaretakt fuer die I/Os hat, die ist schon aelter und ich habe keinen Hinweis auf so ein Feature gesehen. Das muss allerdings nichts heissen. Das ist die Karte:
http://sine.ni.com/nips/cds/view/p/lang/en/nid/10967

3 Fragen stellen sich mir:

1. Was ist die Funktion von diesen 'two 24-bit countern' - ist das ein Digitaler Input mit Hardware-Timer? Oder auch ein Output?

2. Wie krieg ich den Pulsetrain mit DAQmx hin?

3. Was passiert wenn ich mir eine digitale Waveform erzeuge und mit dem momentan noch nicht vorhandenen Wissen von Frage 2 ausgebe, ohne Hardware-Timing im Output zu haben?
Andband
assistant
assistant
 
Posts: 132
Joined: 26 Oct 2009, 23:05
LabVIEW Version: 7.1
Karma: 5

Re: Impuls erzeugen ohne Counter zu verwenden?

Postby Andband on 27 Jan 2010, 00:41

Hallo, ich bins wieder. Ich kann euer stoehnen schon fast fuehlen, aber ich bin echt etwas verzweifelt gerade.
Ich hab heute ewig rumgemacht, mit irgendwie nicht sonderlich vielen Ergebnissen:

Der Pulserzeugungsteil mit der Schleife funktioniert super.

Gleichzeitig sollen vier Spannungen eingelesen werden. Der Spannungseinleseteil funktioniert super.

Beides zusammen geht nicht mehr :( . Buhuhu

Dabei hab ich mich schon soo gefreut, des es hinhaut. :cry:
Ich verstehs einfach net, das analoge Signal sampel ich mit 1 Hz.
Das Problem ist jetzt, das analoge Signal wird schoen aufgenommen, aber der erzeugte Puls ist total randommaessig/langsam. Als ob der Computer nicht hinterherkommt. Mir ist das Timing vom Puls ja nicht mal wichtig, hauptsache, dass es einigermassen annehmbar schnell ist (10-30 Hz) und dass die Anzahl der Impulse stimmt (ich will die Position von einem Schrittmotor aendern)

Ich hoffe einfach, dess es ein Fehler meinerseits ist. Der Computer sollte das doch wirklich hinbekommen. Ich habe mal einen Screenshot und die beiden VIs angehanegt.
Die obere Schleife sorgt fuer das Einlesen der analogen Eingaenge. Die untere Schleife schaut in einem Textdokument, nach welcher Zeit (z.b. nach 1 minuten, und dann nach 2min),wie weit, wie schnell und in welche Richtung der Motor gedreht werden soll und fuehrt dann "steps.vi" aus, was das Impulserzeugen am digitalen Ausgang ueberhimmt.

Hat jemand einen Tipp fuer mich?
Attachments
readout.llb
(105.8 KiB) Downloaded 152 times
motorreadout.GIF
Andband
assistant
assistant
 
Posts: 132
Joined: 26 Oct 2009, 23:05
LabVIEW Version: 7.1
Karma: 5

Re: Impuls erzeugen ohne Counter zu verwenden?

Postby Andband on 28 Jan 2010, 01:17

Ok anscheinend funktioniert sowas einfach nicht mit den Legacy-Treibern, weil da die Faehigkeit parallel zu arbeiten nicht so toll ist.

Die Loesung in meinem Fall war sich die DAQmx Treiber 8.7.1 welche fuer Labview 7 funktionieren herunter zu laden, und das ganze damit nochmal zu programmieren. Das Programm ist vom Aufbau komplett identisch nur mit dem Unterschied, dass ich jetzt die DAQmx Dinger verwendet habe und jetzt geht es.
Andband
assistant
assistant
 
Posts: 132
Joined: 26 Oct 2009, 23:05
LabVIEW Version: 7.1
Karma: 5


Return to Signalverarbeitung

Who is online

Users browsing this forum: No registered users and 1 guest

cron