Guten Morgen,
ich habe aktuell folgendes Problem im AUT EXT betrieb wenn die SPS die Programmnummer übergibt und nach Rückfrage von Roboter bestätigt startet zwar das korrekte Programm Switchcase doch ist dieses Programm abgearbeitet wiederholt er es erneut. Es sei dem es wird vor der Abarbeitung eine andere Programmnummer zugesendet dann wird die neue Programm Nummer abgearbeitet.
Ich möchte es jedoch so haben das nach dem abgearbeiteten Programm er ins Cell zurück (wenn noch keine neue Programmnummer ansteht) springt und so lange wartet bis von der sps eine neue Programmnummer übergeben bekommt.
AUT EXT nach abgearbeiteten unterpogramm ins Cell programm zurück springen
-
Frozen1909 -
July 11, 2017 at 10:41 AM -
Thread is Resolved
-
-
Es kann sein dass die Programnummer von SPS dauerhaft ansteht. Check mal dort nach.
-
Normalerweise springt er ins cell zurück, geht über Endloop zu:
P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
Hier schickt er der SPS eine neue Programmanforderung und geht nicht einfach weiter.
Erst wenn die SPS Signal Programmnummer gültig sendet, liest er die Programmnummer ein und führt den Job aus.
So läuft's mit der Standardkonfiguration. Siehe auch Ablaufdiagramme.
Schau bitte drauf, was in Deinem Falle die SPS macht.
Sonst bitte mal Konfiguration posten und Signalverlauf bei Dir.
Gruss SJX -
Hallo Danke für die antworten das Problem war das dauerhafte anstehen des Bits für die Programmnummer Zusendung.
Das ganze habe ich jetzt mit einem Handshake Bit gelöst die SPS das setzt beim Zusenden der Programmnummer noch zusätzlich ein Bit Job aktiv und dieses Bit wird dann im jedem Programm am ende zurück gesetzt. Das ganz frage ich dann im loop vom cell Programm vor dem switchcase so ab:Code
Display MoreLOOP WAIT FOR Job_Starten IF Job_Starten then Job_aktiv=TRUE ENDIF if Job_aktiv then P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 ) SWITCH PGNO ; Select with Programnumber CASE 1 P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request wkz_greifer_holen() ; Call User-Program CASE 2 P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request wkz_greifer_zurueck() ; Call User-Program CASE 3...4...