Hallo, ich habe eine Grundsätzliche Verständigungsfrage zum Thema Interrupt und finde leider auch kein entsprechendes Beispiel was mir was sagen könnte.
Ausgangslage:
Ich nehme ein Werkstück mit undefinierter Dicke auf und soll dies auf einer Rollenbahn ablegen.
An dem Greifer befinden sich Zylinder, die ausgefahren sind und beim ablegen eingedrückt werden können (Freie Ventilmittelstellung). Ich will den Sensor der unteren Endlage eines Zylinders als Interrupt Signale nehmen.
Wenn das Signal kommt, soll der Robby anhalten, einen Ausgang schalten und eine eine bestimme Position fahren.
Ich glaube ich habe die generelle Funktion vom Interrupt und die Deklaration noch nicht verstanden. Wäre super wenn mir jemand nen aussagekräftiges Beispiel nenne könnte.
Vielen Dank für die freundliche Hilfe!
Mein Code sieht aktuell so aus:
VAR intnum INT_Ablegen;
PROC Ausrichttisch_Ablegen()
MoveL VorposAusricht,v200,z100,Sauger_Mitte\WObj:=Ausrichttisch;
Sauger_runter;
CONNECT INT_Ablegen WITH Interrupt_Ausrichttisch;
ISignalDI Interupt, 1, INT_Ablegen;
SETDO Interupt_Freigabe,1;
MoveL Offs(Ausricht,0,0,ZPOS),v200,fine,Sauger_Mitte\WObj:=Ausrichttisch;
Sauger_Aus;
MoveL VorposAusricht,v200,fine,Sauger_Mitte\WObj:=Ausrichttisch;
ENDPROC
!! INTERRUPT !!
TRAP Interrupt_Ausrichttisch
Sauger_Aus;
MoveL VorposAusricht,v200,fine,Sauger_Mitte\WObj:=Ausrichttisch;
SETDO Interupt_Freigabe,0;
SetGO Ist_Schritt, 0;
ENDTRAP
!! INTERRUPT !!
Alles anzeigen