Hallo.
Ich habe nur mäßig Erfahrung bei komplexen Programmieraufgaben und brauch nun doch mal Hilfe.
Bis jetzt habe ich nur Programme an einem KRC 2 V5.4 geteacht und kleiner Programme mit Verfahrbewegung und Laser Befehlen erstellt.
Nun soll ich ein KRC4 Compact V8.3 in eine Anlage integrieren.
Zum Zellentür öffnen ist ein Taster verbaut und zur Überwachung und Verriegelung ein Riegel mit Magnet (wie auch immer das Teil korrekt heißt).
Problem dabei ist, wenn man die Tür entriegelt hat und in die Zelle geht verriegelt sich die Tür bis jetzt wieder selber sowie der Taster losgelassen wird.
Wäre halt doof wenn man nicht mehr rauskommt
Ich hatte mir das nun folgender maßen vorgestellt:
Ausgangsstellung:
im sps.sub in die schleifen geschrieben
Taster nicht betätigt
Ausgang nicht gesetzt (Magnet zur Türverriegelung nicht geschaltet und somit die Tür versperrt)
Ablauf:
-Taster betätigen (Kurz drücken und wieder loslassen)
-Ausgang wird geschaltet und bleibt geschaltet ( Magnet gibt Türverriegelung frei, Tür lässt sich öffnen)
bis
-Taster erneut betätigt
-Ausgang wir wieder auf False gesetzt
und dann der Ablauf wieder von vorn
$IN[17] ist der Taster
$OUT[14] ist der Magnet
Hier nun mein Text dazu:
;Tür entriegeln
IF NOT $OUT[14] EXOR NOT $IN[17] == TRUE THEN
$FLAG[2] = TRUE
ENDIF
IF $FLAG[2] AND NOT $OUT[14] == TRUE THEN
$OUT[14] = TRUE
ENDIF
;Tür verriegeln
IF NOT $OUT[14] EXOR NOT $IN[17] == FALSE THEN
$FLAG[2] = FALSE
ENDIF
IF NOT $FLAG[2] AND $OUT[14] == TRUE THEN
$OUT[14] = FALSE
ENDIF
Mit dieser Art lässt sich der Ausgang zwar schalten aber man braucht zeit und noch mehr Glück.
Manchmal gelingt das setzten und rücksetzen gleich und manchmal dauert es 100 mal Taster drücken.
Wo liegt mein Fehler und wie kann ich ihn beheben?
Oder wie kann ich es besser/ anders lösen?
Ich danke schon mal für eure Bemühung und Vorschläge.
Gruß Friedrich