Impuls erzeugen ohne Counter zu verwenden?

Signal -erfassung, -verarbeitung und -ausgabe
Ответить
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Impuls erzeugen ohne Counter zu verwenden?

Сообщение Andband »

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.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Impuls erzeugen ohne Counter zu verwenden?

Сообщение Eugen Graf »

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.
Вложения
BuildWaveform.png
BuildWaveform.png (2.72 КБ) 8819 просмотров
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Impuls erzeugen ohne Counter zu verwenden?

Сообщение Andband »

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?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Impuls erzeugen ohne Counter zu verwenden?

Сообщение Eugen Graf »

Wenn es geht dann würde ich es probieren, wenn nicht, dann vielleicht noch an den Treiber anpassen.
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Impuls erzeugen ohne Counter zu verwenden?

Сообщение Andband »

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.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Impuls erzeugen ohne Counter zu verwenden?

Сообщение Eugen Graf »

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?
jg69

Professionalism
developer
developer
Сообщения: 265
Зарегистрирован: 14 окт 2008, 00:09
Награды: 1
Версия LabVIEW: 8.x, 20x

Re: Impuls erzeugen ohne Counter zu verwenden?

Сообщение jg69 »

Andband писал(а):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
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Impuls erzeugen ohne Counter zu verwenden?

Сообщение Andband »

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
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Impuls erzeugen ohne Counter zu verwenden?

Сообщение Andband »

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?
Вложения
readout.llb
(105.8 КБ) 284 скачивания
motorreadout.GIF
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Impuls erzeugen ohne Counter zu verwenden?

Сообщение Andband »

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.
Ответить

Вернуться в «Signalverarbeitung»