Liebes Forum,
als LV Anfänger habe ich folgendes Problem und hoffe auf Hilfe von euch.
Ich habe einen Elektro-Magneten der mir ein Ventil öffnet bzw. schließt.
Die notwendige Spannung bekommt er über ein Relais welches die Steuerspannung (7,3 V) direkt von der NI USB 6001 bekommt.
Mit einem einfachen Schieberegler in LV bekomme ich das per Hand auch hin. Schieberegler auf 10 und der Magnet zieht an. Zurück auf 0 und der Magnet löst wieder. Siehe mein VI.
Jedoch möchte ich den Magneten nun kontinuierlich abwechselnd öffnen und schließen lassen. Also benötige ich zwei Eingabemöglichkeiten mit variablen Zeitangaben (Öffnen = X sek) + (Schließen = Y sek) und eine zeitgesteuerte Schleife? Oder zeitgesteuerte Sequenz? Oder…? Ich weiß es nicht. Wie könnte die Umsetzung aussehen?
LV Version 2017
Über die Suchfunktion bin ich nicht weiter gekommen. Ich bitte um Hilfe.
LG,
Stefan
[
attachment=59279]
Hallo Stephan,
Zitat:Also benötige ich zwei Eingabemöglichkeiten mit variablen Zeitangaben (Öffnen = X sek) + (Schließen = Y sek)
Ja, das ist schon mal richtig.
Zitat:und eine zeitgesteuerte Schleife? Oder zeitgesteuerte Sequenz? Oder…?
Wie wäre es mit einer Statemachine?
Dann kannst du sehr einfach weitere Zustände (Init, DeInit, Pause, etc.) integrieren…
Ansonsten: die einfachste Lösung besteht in einer normalen While-Loop, in der dein Relais abwechselnd an- und ausgeschaltet wird:
[
attachment=59282]
Zitat:Die notwendige Spannung bekommt er über ein Relais welches die Steuerspannung (7,3 V) direkt von der NI USB 6001 bekommt.
Ich hoffe, das ist ein SSR mit einem Eingang, der nur wenig Strom benötigt…
Hallo Gerd,
vielen Dank für die schnelle Antwort.
Statemachine habe ich mal eben nicht in der LV-Hilfe gefunden.
An die While-Loop mache ich mich mal dran. Ist ja auch einfacher.
Das Relais ist von finder 34.51.7006.0010 und in meinen Augen ein elektromechanisches Relais.
https://www.conrad.de/de/printrelais-24-...02881.html
Bis dann,
Stefan
Hallo Stephan,
Zitat:Statemachine habe ich mal eben nicht in der LV-Hilfe gefunden.
Ich aber schon…
LabVIEW bringt da auch fertige Beispiel-Projekte mit!
Zitat:Das Relais ist von finder 34.51.7006.0010 und in meinen Augen ein elektromechanisches Relais.
Zum Glück ist der Spulenwiderstand hoch genug, sodass 5mA ausreichen.
Allerdings werden lt. techn. Daten bei Conrad 17V zum (sicheren) Schalten gefordert…
Hallo Stephan,
für die Schaltung des Relais würde ich dir vorschlagen eine Schaltung mit einem Optokopler aufzubauen. Die Gegenspannung der Spule des Relais kannst du dann auch direkt mit einer Freilauf Diode verbraten.
Alternativ kannst du dir auch einfach eine Platine wo alles schon drauf ist bestellen, kosten nur ca. 5€. Such einfach mal nach "Arduino Relais".
Ich gehe mal davon aus, dass du aktuell keine Schutzbeschaltung verbaut hast für die Gegespannung der Spule. Wenn du Pech hast himmelst du dir damit auf kurz oder lang den AO oder die ganze Karte. Daher meine Empfehlung: Erst die Schaltung vernünftig aufbauen, dann weiter machen.
Gruß Max
Hallo Gerd,
danke für die Info über Statemachine, aber das ist jetzt unten in der Prio-Liste.
Das Relais werde ich im Auge behalten und mittelfristig Ersatz suchen.
Jedoch fehlt mir der Durchblick bei dem Vi. Den Übergang von den boolschen Wert zu meinen DAQ-Assistenten habe ich nicht kapiert. Siehe mein VI im Anhang. Kannst Du da helfen?
Bis dann,
Stefan[
attachment=59291]
Hallo Stephan,
schau mal hier:
[
attachment=59292]
Wenn du statt eines DO einen AO ausgeben willst (was ich bei einem Relais eben unüblich finde), musst du eben einen Spannungswert vorgeben…
Der DAQmx-Teil im Bild ist nicht vollständig, dazu bekommst du aber im Beispielfinder wunderschöne (und vollständige) Beispiele geliefert!
Wie Max schon sagte: ein externer Treiber für dein Relais macht alles einfacher und schont dein DAQ-Gerät. Ich verwende gern simple MOSFETs, z.B. den IRL3705, mit zusätzlicher Freilaufdiode…
Hallo Gerd, Hallo Max,
die Sache mit der Gegenspannung des Relais habe ich nicht gewusst und werde ich bearbeiten.
In diesem Moment juckt mich aber das VI am meisten.
Ich bekomme ich jetzt die Fehlermeldung :
"Es wurden nicht genügend Werte geschrieben, um die anfängliche Bedingung für die Datentransferanfrage zu erfüllen.
Um eine Generierung erfolgreich zu starten, sollten Sie die Anzahl der anfänglich in den Puffer geschriebenen Werte erhöhen. Anderenfalls können Sie auch die Anzahl der für den Start erforderlichen Samples verringern, indem Sie die Bedingung für die Datentransferanfrage ändern.
Sample-Wert für Datenende: 1
Mindestwert: 2"
Der Thread
https://www.labviewforum.de/Thread-Analo...r-erhoehen
hat mir nicht geholfen.
Wie kann ich das am einfachsten lösen?
Bis dann,
Stefan