Hallo Lab View Gemeinde,
ich bin echter Frischling im Lab View Programmieren.
Ich habe folgendes Problem:
Ich benötige für eine Klappensteuerung eine Zustandsanzeige. (Quasi Klappenstellung in 0-100%)
Die Klappe wird über ein 0-5 Volt Signal gesteuert.
0 Volt = keine Reaktion
+5V = Klappe fährt auf. (Ganz auf dauert 2min)
-5V = Klappe fährt zu. (Ganz zu dauert 2min)
Die Klappe fährt stufenlos und hat somit auch Zwischenstellungen. Ein Zufahren ist auch jederzeit, möglich.
Ich benötige jetzt quasi eine Visuelle Anzeige (Balkenelement) welcher mir die Stellung in 0-100% anzeigt.
Wenn jetzt zum Beispiel die Klappe bei 45% steht, und sie geschlossen wird, soll der Balken natürlich auch langsam mit zurückwandern.
Ich hoffe ihr könnt mir dabei helfen.
Vielen Dank schon mal.
Gruß,
Stefan
Hallo Stefan,
dann nimm doch einen Balken und verändere die Skalenanzeige auf einen Bereich von 0 bis 100 und füge über den "Fortgeschrittenen Bearbeitungsmodus" beim Anzeigeformat ein "%" hinzu...
Kannst du den aktuellen Klappenzustand zurücklesen oder willst du das nur per Software berechnen?
In beiden Fällen: einfach den Klappenzustandswert auf den Balken ausgeben.
Beim Berechnen:
Einfach mal die zugehörige Formal auf Papier entwerfen - und dann erst in LabVIEW programmieren. Wenn's dabei Probleme gibt: VI hochladen und nachfragen!
Hallo,
danke erst mal für die Antwort.
Nen Balken zu entwerfen ist ja kein Problem.
Ich habe das Problem, dass ich nicht weiss wie ich die Daten bekomme.
Vom Prinzip her wäre das ja ne Case Struktur. Bei +5 V inkrementieren bei -5V dekrementieren. Bei 0V keine Aktion.
Nur wo speichere ich den Wert? Wenn ich das in ne Schleife packe, dann wird beim Start der Schleife immer wieder bei 0 gestartet.
Ich habe momentan echt gar keinen Ansatz.
Wie gesagt bin ich ein echter Neuling.
Hallo Stefan,
dann schau dir mal an, was die LV-Hilfe und die Examples zu (uninitialisierten) "Shiftregistern" bzw. "Schieberegistern" so zu sagen haben...
Kurze Zwischenfrage:
Hast Du Hardware angeschlossen und siehst Du die Klappenstellung bereits in LabVIEW, d.h. hast Du eine funktionierende Kommunikation mit der Hardware?
Gruss, BDB
(07.02.2011 14:42 )mstefan26 schrieb: [ -> ]Hallo,
danke erst mal für die Antwort.
Nen Balken zu entwerfen ist ja kein Problem.
Ich habe das Problem, dass ich nicht weiss wie ich die Daten bekomme.
Vom Prinzip her wäre das ja ne Case Struktur. Bei +5 V inkrementieren bei -5V dekrementieren. Bei 0V keine Aktion.
Nur wo speichere ich den Wert? Wenn ich das in ne Schleife packe, dann wird beim Start der Schleife immer wieder bei 0 gestartet.
Ich habe momentan echt gar keinen Ansatz.
Wie gesagt bin ich ein echter Neuling.
Hallo Bernd,
ja habe ich. Hardware ist ein NI Modul, für -10 bis +10 Volt.
Das Signal kommt auch rein.
Hallo Stefan,
du liest also die Klappenstellung schon ein. (Warum sagst du das nicht gleich, ich hatte in Beitrag#2 auch schon danach gefragt...)
Warum willst du die dann noch speichern? Stell doch den Wert einfach (evtl. nach erfolgter Skalierung - die auch schon per DAQmx erfolgen kann) auf dem Balken dar!
Hallo,
also ich bekomme nur ein +5V Signal als eingang. Damit weiss ich nur die Klappe fährt.
In welcher Stellung die ist kann ich damit natürlich nicht darstellen, oder?
Ich probiere schon die ganze Zeit herum, komme aber auf keinen grünen Zweig.
Hallo Stefan,
Bernd fragt:
Zitat:Hast Du Hardware angeschlossen und siehst Du die Klappenstellung bereits in LabVIEW
Du antwortest:
Zitat:ja habe ich. Hardware ist ein NI Modul, für -10 bis +10 Volt. Das Signal kommt auch rein.
Du anwortest mir:
Zitat:ich bekomme nur ein +5V Signal als eingang. Damit weiss ich nur die Klappe fährt
Besonders klare Antworten gibst du uns nicht, oder?
Bekommst du nun nur ein TTL-Signal (0 & 5V) oder doch etwas analoges zwischen +5 und -5V? Beschreibt der Wert direkt die gewünschte Klappenstellung oder stellt der nur einen Steuerbefehl (ala "Fahre zu" & "Fahre auf") dar? Schon bei Beitrag #9 und man muss immer noch die Grundlagen abfragen...
Du weißt also nur das Steuersignal. Damit weißt du, wo die Klappe hinfährt...
Du musst also nur den vorherigen Zustand mit zugehörigem Zeitstempel speichern (s.o.: Shiftregister!) und mit der aktuellen Zeit und dem aktuellen Steuersignal (über eine von dir zu entwickelnde Formel) den aktuellen Klappenzustand approximieren. Nach 2min ist die Klappe in der Zielstellung und der aktuelle Zustand wird als "vorheriger" gespeichert...
Also, so weit ich es verstanden habe: Du hast eine Klappe die auf und zu fahren kann. Zu wird gesteuert durch -5V anlegen im Hauptprogram; auf durch +5V, bei 0V bleibt die Stellung konstant. Das ganze braucht 2min um Vollständig auf / zu zu sein. Heist:
Du brauchst einen Initialisierungswert; ergo: Erster Prozess ist 2min lang + oder - 5V --> Klappe fährt definitiv auf auf / zu. Heist je nachdem 0 oder 100%.
Ab dann musst du eigentlich wenn ich das richtig sehe nur noch 2 Bool Elemente auf dem Frontpanel ansteuern (eins für auf, eins für zu) und vermutlich am besten Eventgesteuert auslesen.
Wenn auf- bzw. zufahren gedrückt wird startest du eine Zeitmessung im VI und wertest aus wie lange gefahren wurde um die neue Position zu bestimmen. Das ganze am besten noch mit einem Abbruch versehen wenn die jeweilige Endposition erreicht ist (ganz auf / ganz zu) und du bist fertig.
Das wäre jetzt davon ausgehend, dass ich das richtig verstanden habe, dass du die aktuelle Postion der Klappe nicht auslesen kannst.
Falls doch brauchst du einfach nur Position auslesen, auswerten in welche Richtung du fahren musst und schnell genug pollen. Stop dann im einfachsten Fall bei der ersten Position auf der du gerade drüber bist.
Das ganze dann auf der % Anzeige auszugeben ist dabei ein eher triviales Problem.