Eingang blockieren

Marco_Ulm

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Wie kann man eigentlich einen Eingang für eine bestimmte Zeit bzw. bis ein bestimmtes Ereignis eintritt blockieren? :confused:
Ich programmiere in FUB und habe leider nichts passendes gefunden.

Gruß Marco
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nee, leider nicht. Oder ich stelle mich zu blöd an.

Also ich habe folgendes Problem.

Ich steuer einen Motor an, der auf eine Linearachse montiert ist.

Im ersten Teil des Programms geht es darum, wenn die Achse eingefahren ist (Erkennung durch Endlagensensor oben) und ich auf einen Taster drücke, dann soll sie bis zu einer bestimmten Position ausfahren. Das klappt soweit auch alles wunderbar.

Im zweiten Teil soll die Achse wieder einfahren bzw. nur einfahren, falls sie von Anfang an ausgefahren war.
Start immer über den selben Taster.

Also ich betätige den Taster einmal und die Achse fährt aus und dann wieder ein oder ich betätige den Taster einmal und die Achse fährt nur ein. Je nach Anfangsposition.

Probleme gibt es dann, wenn ich den Taster betätigt habe, die Achse ausfährt und ich währenddessen den Taster erneut drücke, denn dann befindet sich ja die Achse noch in der Zwischenposition und das führt zu Störungen in Ablauf.
 
... bedingung wäre dann wohl sowas wie Endlage nicht erreicht oder Endlage nicht definiert ... :rolleyes:
 

Anhänge

  • und.JPG
    und.JPG
    16,2 KB · Aufrufe: 41
Also würde da die Endschalter/Endlagenschalter mit auf die Setzbedingung geben.
Fehler würde dann bei STOP oder Stromausfall eintreten.
Da dann halt über Quasi Codierung 5 sec Gedrückt halten Fahrt in Startposition.
Was sich aber wiederrum über einen "Flip Flop" ansteuern ließe um Entweder Obere oder Untere Endlage anzufahren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn die Achse die Ausfahrposition erreicht, setzt du einem Merker X, wenn sie die Einfahrposition erreicht resettest du diesen Merker X. Betätigst du den Taster, dann hast du einmal den Merker auf False (eingefahren bis Ausgefahren erreicht). Ist dieser Merker also False, und du drückst Start fährst du immer aus. Ist der Merker True (Ausgefahren bis eingefahren erreicht) fährst du immer ein, wenn der Taster betätigt wird. Dann schadest es auch nichts, wenn du den Taster mehrmals betätigst, der Merker bleibt ja solange in seinem Zustand, bis du die jeweilige Gegenendlage erreicht hast.

Code:
//NW1 
U #E_Endlage_AUS
UN #E_TASTER
S M X
U #E_Endlage_EIN
UN #E_TASTER
R M X
NOP 0

//NW2

U #E_Taster
UN M X
UN #E_Endlage_AUS
= #A_AUSFAHREN

//NW3

U #E_TASTER
U M X
UN #E_Endlage_Ein
= #A_EINFAHREN

Kleiner Nachtrag zur Sicherheit ;-), nur, wenn er Ausgang auch abgeschaltet werden soll, wenn die Endlage erreicht ist.
 
Zuletzt bearbeitet:
Hallo
allgemein kann man ein Eingang als Merker betrachten.
U M 1.0
R E 0.0
So eine Anweisung schreibt man extrem selten und wenn schon, dann
am Anfang von OB1 (besonders dann, wenn der Eingang in vielen Stellen abgefragt ist)
 
Zurück
Oben