LabVIEWForum.de - Zeitgesteuerter Ablauf

LabVIEWForum.de

Normale Version: Zeitgesteuerter Ablauf
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

hab ein kleines Problem, das ihr sicher ohne Probleme beantworten könnt.
Hab bereits folgendes vi erstwellt.

[attachment=23926]

In der linken Hälftes des vi's erzeuge ich ein PWM Signal das ich über NU USB 6211 ausgebe.
In der rechten Hälfte kann ich über den Taster Kl87 einen Digitalen Ausgang ein und aus schalten.
Nun müsste ich das ganze so ändern, dass 10% TVH anliegen und wenn ich den Taster Kl87 drücke eine Sequenz gestertet wird.
Der Digitale Ausgang von Kl87 auf High. Dann 1000ms warten und das TVH auf 0% setzen, nun 500ms warten, dann wieder PWM auf 10% setzen.

Wie löse ich das am besten?
Danke für eure Hilfe.
Deine Fragestellung finde ich etwas verwirrend. Glas1

Aber ich versuche mal mein (oder Dein?!) Glück.
Wenn du weisst, wie deine Sequenz aussehen soll, dann könntest du genau diese Sequenz nachbauen. Im Moment gibst du ja lediglich einen High/Low Wert aus. Will heissen, dass du eine Sequenz bauen kannst, in der du zuerst auf Kl87 wartest und dann 1 Sekunde lang High ausgibst, 0,5s lang Low und danach in eine Schleife gehst, in der du entsprechend 10% von TVH (Tastverhältnis?!) High und Low ausgibst.

Wäre eine erste Lösung, wenngleich es auch noch eleganter geht.

//Tobias

PS: hast du schonmal die Suchfunktion hier im Forum benutzt? Dort finden sich sicherlich einige Themen mit "PWM".... Lvfsearch
Edit: Da findet man z.B. dies: PWM mit USB 6009
Hallo

ja sowas hab ich mir gedacht.
Mein Peblem ist, wie so eine Sequenz denn aussehen könnte. Die Idee ist da aber an der Umsetzung fehlt es.
Wie gesagt auf dem einem Ausgang habe ich 10%TVH. Nach betätigung des Kl87 Schalters (zeiter Ausgang wird geschaltet) soll das TVH noch für 1000ms auf 10% belieben, dann für 500ms auf 0% gehen und zuletzt wieder die 10% gehen.
Dachte mir, dass ich es mit einer Sequenz lösen könnte aber an der Umsetzung scheitert es.

Danke
Christian
Hä?! Jetzt schreibst du etwas ganz anderes.

Schreibe doch bitte einmal auf, was wann mit welchem Ausgang passiert. So in etwa:

Ausgang A1:
kontinuierliche Ausgabe der Frequenz F0 mit dem Dutycycle D = 1 - TVH/100 (sagen wir die Frequenz F0 mit Dutycycle D heisst ab jetzt F0D)

Ausgabe A2:
solange Kl87 == False: Low Signal
wenn Kl87 == True: Sequenz starten mit A2 = F0D für 1000ms, A2 = Low für 500ms, A2 = F0D bis Kl82 == False

Evtl wird es dann etwas verständlicher, was du gern möchtest. Blink
Hallo

ok dann versuch ich es mal klar darzustellen.
Danke das geht am besten mit einer Zeichnung.

[attachment=23942]

A 1 == F0D (immer 30Hz)
A 2 == Kl87 (digitaler Ausgang) schaltet ein Relais

Ab Start F0D=10% & Kl87= flase
Betätigung Schalter Kl87, Kl87 = true & Start Sequenz
F0D = 10% für weitere 1000ms, dann F0D = 0% für 500ms, dann F0D = 10%

In meinem vi Bild hab ich meine Umsetzung zur Erzeugung des TVH's dargestellt und die Beschaltung des Augangs2 für Kl87.
Nun soll die Schaltung so umgebaut werden, dass nach Betätigung des Schahlters Kl87 die Sequenz, wie sie auch auf meiner Skizze dargestellt ist abläuft.

Hoffe du hat mich jetzt besser verstanden.

Danke für deine Zeit!

Christian
' schrieb:Hoffe du hat mich jetzt besser verstanden.

Guten Morgen Christian.

Ja - ich hab jetzt endlich verstanden wie du es meinst. Und wie so oft: ein Bild sagt mehr als 1000 Worte!Smile

Hier eine Möglichkeit, die mit Notifiern arbeitet und dann entsprechend eine Sequenz ausführt, wenn Kl87 von False auf True wechselt.

LV2009
[attachment=23960]


Hoffe, das hilft dir ein wenig weiter.
Hallo

erst mal vielen Danke für deine super Unterstützung. Big Grin

Hier die Bilder meiner Umsetzung.

[attachment=24010][attachment=24011][attachment=24012]

Kann damit schon etwas anfangen hab aber noch ein Problem.
Zwar ist die Zeit ab Kl87 High bis TVH auf 0% nicht die 1000ms, diese Zeit ändert sich bei jeder Messdurchfürhrung (mal mehr mal weniger).
Die 500ms von TVH 0% auf TVH 10% sind sehr konstant.
Wie kann man das noch anpassen.

Danke
Christian
Kleiner Hinweis zu Bild 2, der Schalter ausserhalb der Schleife bringt dir nichts, da nur der Wert des Buttons vor Beginn der Schleife ausgelesen wird!
Das Metronom wartet nur bis zum nächsten Vielfachen von 1000ms... das bedeutet nicht, dass dein Code hier immer 1000ms wartet.
Das WartenVI wartet auch wirklich 500ms.


Gruß SeBa
Hallo SeBa

da war der Hund begraben.
Danke jetzt funktioniert es einwandfrei.

Gruß
Christian

P.s: Danke für die gute und schnelle Hilfe.
Seiten: 1 2
Referenz-URLs