LabVIEWForum.de - Schalter für Datenausgang ersetzen

LabVIEWForum.de

Normale Version: Schalter für Datenausgang ersetzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
hallo leute mit ahnung,

ich benutze erst seit sehr kurzer zeit LabVIEW und stoße immer wieder auf probleme die für mich unlösbar erscheinen. eines davon ist:
das steuern eines zylinders über eine selbstentworfene schaltung. dabei soll das ni usb-6009 für die digitale ansteuerung verwendet werden. die ansteuerung funktioniert auch soweit, jedoch muss hierbei immer ein schalter gedrückt werden, damit der zylinder rein- bzw. rausfährt. dies soll aber eigentlich alles in der entsprechenden schleife automatisch ablaufen, ohne das ich einen schalter drücke. außerdem soll der vorgang dann beendet werden, wenn mein zylinder ganz ausgefahren- bzw. eingefahren ist.

über hilfe wäre ich wirklich dankbar!

gruß otto

Lv86_img
Hallo Otto!
Na das was Du gepostet hast ist ja auch noch nicht wirklich ein Programm.
Übrigens kannst Du das boolsche Bedienelement auch gegen eine Konstante ersetzen.
Dann fällt das Schalter drücken weg!

Bekommst Du ein Signal wenn der Zylinder ausgefahren bzw. eingefahren ist?

Grüße
Andreas

Kleine Anregung, wie ich eine Ansteuerung für Magnetventile realisiert habe.
[attachment=26497]
Hallo Andreas,

danke für deinen Tipp mit der Konstanten. Das Signal für die Kolbenstellung bekomme ich über Näherungsschalter (einen am unteren Zylinderende und einen am oberen Ende). Dies sind jeweils digitale Eingangssignale die über das USB 6009 aufgenommen werden. Eigentlich müsste ich den Zylinder doch über deren Eingabe steuern oder? Hast du eine Idee für die Verknüpfung beider Elemente (Zylinder und Näherungsschalter)? Im Moment ist meine Überlegung dies über eine boolesche Konstante zu realisieren.

Vielen Dank für die Hilfe im Voraus!!!

Gruß Otto
Hallo Otto,
die Eingangssignale der Zylinder verwendest Du, um die digitalen Ausgänge entsprechend zu setzen.
Grundsätzlich solltest Du Dir überlegen, wie die Fahrfunktion des Zylinders aussehen soll und wie diese gestartet wird.
Läuft der Zylinder direkt mit dem Start des Programmes los?
Was macht der Zylinder genau? Ich denke nicht, daß er ständig ein- und direkt wieder ausfährt usw.
Gibt es Wartezeiten?
Glas1
Prinzipiel kommt vermutlich eine Statemachine oder Zustandsautomat für Dein Programm in Frage.

Grüße
Andreas
Hallo Andreas,

ich habe versucht die vorgeschlagene Konstante in mein Programm einzubauen, jedoch weiß ich nicht genau wie du das gemacht hast...Mellow
Ansonsten ist das nur ein kleiner Ausschnitt des gesamten Programms, dies läuft in einer State-Machine ab. Der Zylinder hat immer kurze Wartezeiten, zwischen dem Hoch- und Runterfahren. Diese müssen jedoch erst genau festgelegt werden, da dies ein Prüfstand ist der erst neu aufgebaut wird. Der Zylinder beginnt im ausgefahrenen Zustand, dann startet das Programm. Daraufhin soll er solange Fahren, bis der obere Näherungsschalter aufleuchtet. Nach eíner kurzen Wartezeit soll er wieder nach unten fahren bis der zweite Nägherungsschalter aktiviert wird. Die einzelnen States sind soweit fertig. Ich sitze eben noch an der Verknüpfung zwischen Näherungsschalter und Kolbensteuerung.

Danke für deine Hilfe!!!

Gruß

Otto
Also hier ein Beispiel für den Programmablauf, wie ich ihn anhand deiner Beschreibung jetzt mal flüchtig umsetzen würde:
[attachment=26528]
Das Beispiel ist mit dem Statechartmodul von LV erstellt worden, aber lässt sich natürlich auch als gewöhnlicher Zustandsautomat programmieren.

Bezüglich der Einbindung der Signale vom Näherungsschalter:
entweder pollst du das Signal regelmässig und schaltest entsprechend dann den Steuerausgang, sobald du das gewünschte Signal erhälst, oder du arbeitest mit einem Event, das müsste mit dem USB-6009 eigentlich gehen, und reagierst entsprechend auf die Wertänderung am Eingang.

Edit: Die DAQ-Event-VI sind hier unter DAQmx Advanced zu finden:
[attachment=26529]
Referenz-URLs