INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Erzeugung einer PWM aus TTL Werten



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

06.09.2013, 13:00
Beitrag #11

paddsen Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2013

2012
2013
EN



RE: Erzeugung einer PWM aus TTL Werten
Erstellt man dazu erneut einen Task, der alle verwendeten DOs auf LOW setzt oder geht das einfacher?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2013, 13:07
Beitrag #12

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Erzeugung einer PWM aus TTL Werten
Hallo paddsen,

wozu einen neuen Task - du willst doch nur im schon vorhandenen alle DOs auf false setzen...

Einfach eine weitere DAQmxWrite-Funktion verwenden!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2013, 13:08
Beitrag #13

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Erzeugung einer PWM aus TTL Werten
Vor Beendigung des Task einfach ein DAQmxWrite... Aus dem Bauch heraus sollte es funktionieren.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2013, 13:31
Beitrag #14

paddsen Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2013

2012
2013
EN



RE: Erzeugung einer PWM aus TTL Werten
Ja perfekt. So klappt es jetzt, dass ich alle DOs auf Low oder High setzen kann.

Jetzt ist mein akutes Problem noch, dass ich versuche aus den HauptVI den STOP Knopf des PWM Erzeugungs VIs zu drücken, sodass das Main VI, das die tastverhältnisse berechnet weiterfeährt, aber die kontinuierliche PWM erzeugung gestoppt wird... so wie ich per Forumsuche und Google gesehebn habe, scheint das nicht ganz so einfach zu sein... ich werde mal versuchen das mit einer Globalen Variable zu machen... was meint ihr?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2013, 14:12
Beitrag #15

paddsen Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2013

2012
2013
EN



RE: Erzeugung einer PWM aus TTL Werten
Ich muss doch nochmal auf das Low Schalten der Ausgänge zurück kommen: ich habe das mit einem DAQmx Write VI und einem Boolean Array versucht. Leider ist die Reaktion beim Stoppen absolut Random, manchmal alle auf High, dann wieder alle Low, dann mal alle bis auf einen low....

Hier mal das Blockschaltbild:
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2013, 15:05 (Dieser Beitrag wurde zuletzt bearbeitet: 06.09.2013 15:09 von GerdW.)
Beitrag #16

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Erzeugung einer PWM aus TTL Werten
Hallo paddsen,

mal überlegen:
Du definierst den DO-Task mit "1 channel for all lines" und benutzt U8-Werte, um die einzelnen Bits zu setzen. Jetzt versuchst du zum Schluß, mit einem 1D-Bool-Array zu arbeiten.

- Wieso machst du das?
- Wieso wunderst du dich nicht selbst darüber, dass du nun einen anderen Datentyp benutzt?
- Wieso denkst du, dass ein "1D-Bool-Array" auf die Aussage "1 channel for all lines" passt?
Hmm

Zu deinem STOPP-Knopf:
Es gibt genügend Beispiele, die zeigen wie man Daten von einem VI zum anderen transportiert. Schon mal in den ExampleFinder geschaut? Stichworte (auch zur Suche im Forum): globale Variablen, FGVs, Queues, Melder, parallele Strukturen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.09.2013, 12:17
Beitrag #17

paddsen Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2013

2012
2013
EN



RE: Erzeugung einer PWM aus TTL Werten
Hey Smile

Also ok, jetzt, wenn ich es mir so ansehe, macht es natürlich keinen Sinn, einen task, der mit U8 Werten angesteuert wird, dann mit einem Array an Bool werten zu verändern. Problem war nur, dass mir nicht ganz klar war, wie die U8 Werte aussehen müssen, damit ich einzelne Lines damit ansteuern kann.

Danke für die Zurechtweisung.... ich bin leider erst langsam warm mit den DAQmx Funktionalitäten.

Jetzt eine Frage, die wieder auf Erfahrungswerte abzielt.

Ich habe jetzt das PWM-Programm soweit fertig und möchte es als funktionierendes Kern Programm abgeschlossen als VI in der restlichen Software nutzen: Es hat dann ja die 4 Eingänge mit den Duty Cycles und der Frequenz sowie die Ansteuerung des STOP Buttons über eine globale Variable.
Wenn ich jetzt noch parallel zur PWM Erzeugung Analogsignale einlesehen will, die mit in einem XY Graphen live angezeigt werden und dann nach dem Stoppen noch betrachtbar bleiben, wie gehe ich da am besten vor?
Einfach mit dem DAQ-Assistenten einen Task erstellen, der die Signale ab VI-Start einliest und darstellt oder ist das kein guter Stil?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.09.2013, 12:23 (Dieser Beitrag wurde zuletzt bearbeitet: 09.09.2013 12:25 von GerdW.)
Beitrag #18

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Erzeugung einer PWM aus TTL Werten
Hallo paddsen,

Zitat:Wenn ich jetzt noch parallel zur PWM Erzeugung Analogsignale einlesehen will, die mit in einem XY Graphen live angezeigt werden und dann nach dem Stoppen noch betrachtbar bleiben, wie gehe ich da am besten vor?
DAQmx-Task erstellen, abfragen und in einem Graphen darstellen. Ob die Daten "nach dem Stoppen" sichtbar bleiben, hast du selbst in der Hand - musst ja den Graphen nicht mit "leeren" Werten überschreiben...

Zitat:Einfach mit dem DAQ-Assistenten einen Task erstellen, der die Signale ab VI-Start einliest und darstellt oder ist das kein guter Stil?
Ich persönlich würde beim Wort "DAQ-Assistenten" nie von gutem Stil reden Smile NI sieht das wohl anders...

Sagen wir es mal anders:
Du hast jetzt eine Routine, die die PWM-Kanäle behandelt. Jetzt brauchst du eine zweite, die sich um die AI kümmert. Kapselung von Funktionalität ist nie schlecht, man muss nur den Datenaustausch vernünftig definieren...

Zitat:mir nicht ganz klar war, wie die U8 Werte aussehen müssen, damit ich einzelne Lines damit ansteuern kann.
Jedes Bit in dem U8 steuert einen der 8 DOs. Lass dir den U8-Wert in Binärdarstellung (mit führenden Nullen) anzeigen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2013, 09:11 (Dieser Beitrag wurde zuletzt bearbeitet: 10.09.2013 09:30 von paddsen.)
Beitrag #19

paddsen Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2013

2012
2013
EN



RE: Erzeugung einer PWM aus TTL Werten
So wie ich jetzt verstanden habe, muss ich doch dann DAQmx Write (Digital U8 1Chan 1 Samp) wählen und eine U8 Konstante mit dem Wert 0 an den data Eingang hängen. Ich habe jedoch immernoch die Problematik, dass die DOs beim beenden Zufallswerte ausgeben - Kann es daran liegen, dass oben der Task schon gecleart wurde? Es kann doch nicht so schwer sein, dass man einstellt, dass am Ende alle ports auf 0 gesetzt werden... Blush

EDIT: Kann es damit zusammenhängen, dass ich den Task aufgegriffen habe und dieser noch die Einstellung der sample Clock innehat und dadurch nicht mit DAQmx Write (Digital U8 1Chan 1 Samp) rückgesetzt werden kann, sondern auch irgendwie wieder eingestellt werden muss, dass die es sich um keinen kontinuierlichen Ausgang handelt... ich hänge jetzt schon echt ne ganze Weil an dem Problem...gibts doch nicht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2013, 10:06
Beitrag #20

paddsen Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2013

2012
2013
EN



RE: Erzeugung einer PWM aus TTL Werten
Ich lade jetzt mal das Programm hoch, damit ihr es besser anschauen könnt. Ich komme einfach nicht drauf, wie ich das mit dem Ports auf LOW oder HIGh setzen nach dem Stoppen hinbekomme... das ist natürlich eine wichtige Anforderung an mein Programm, dass alle DOs beim Stoppen immer auf den selben Wert gesetzt werden....

lv12_img


Angehängte Datei(en)
0.0 .zip  pwm.zip (Größe: 72,53 KB / Downloads: 142)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Erzeugung der Pulse mit NI USB 6002(DAQmx) Felix777 10 10.323 10.08.2015 22:49
Letzter Beitrag: jg
  Erzeugung eines stufenlos einstellbaren PWM-Signals Fredy Dilker 14 19.701 24.03.2014 11:01
Letzter Beitrag: GerdW
  Erzeugung unterschiedlicher Analogsignale hans-gebert 3 4.368 24.04.2012 23:15
Letzter Beitrag: jg
  Erzeugung Analogausgangssignal kpalime 9 8.162 18.01.2011 21:54
Letzter Beitrag: kpalime
  Zwei DAQmx Channels zur Erzeugung zweier Analog Outputs zur Steuerung eines galvano XY-Scanners RiSo1985 18 15.147 22.01.2010 11:02
Letzter Beitrag: Lucki
  Probleme bei gleichzeitiger Signalerfassung und -Erzeugung yrthy 4 4.312 18.07.2008 17:12
Letzter Beitrag: IchSelbst

Gehe zu: