Hallo Zusammen,
hier mein erster Beitrag
Ich arbeite aktuell an der Programmierung eines ABB Roboters, Steuerung S4 und OS30 (Hoffentlich sind das ausreichende Infos, ich habe bisher nur mit KUKA gearbeitet).
Folgendes Problem:
Ich arbeite an einem Punkt mit Programmverschiebung und möchte im aufgerufenem, verschobenen Programm einen Interrupt mit Trap. Leider löst dieser nicht aus.
Nur wenn der Interrupt vor der Programmverschiebung angelegt wird, funktioniert dieser. Aufgrund unterschiedlicher Programmaufrufe wäre es super wenn der Interrupt innerhalb der eigentlichen Routine funktionieren würde, nicht in der welche die Programmverschiebung durchführt. Wäre super wenn hier jemand weiterweiß.
Siehe Code:
funktioniert nicht:
PROC Verschieben()
MoveL Psuch_start_2,v200,fine,grf;
pTemp:=CRobT(\Tool:=grf\WObj:=wobj0);
SearchL\Stop,di_Drucksig_P2,pTemp,Psuch_stop_2,v5,grf;
PDispOn\ExeP:=pTemp,mitte_Band_2,grf;
Schl;
PDispOff;
ENDPROC
PROC Schl()
CONNECT ibandriss WITH tbandriss;
ISignalDI di_Band_Okay,0,ibandriss;
...do my routiene
IDelete ibandriss;
ENDPROC
Alles anzeigen
Funktioniert:
PROC Verschieben()
CONNECT ibandriss WITH tbandriss;
ISignalDI di_Band_Okay,0,ibandriss;
MoveL Psuch_start_2,v200,fine,grf;
pTemp:=CRobT(\Tool:=grf\WObj:=wobj0);
SearchL\Stop,di_Drucksig_P2,pTemp,Psuch_stop_2,v5,grf;
PDispOn\ExeP:=pTemp,mitte_Band_2,grf;
Schl;
PDispOff;
IDelete ibandriss;
ENDPROC
PROC Schl()
...do my routiene
ENDPROC
Alles anzeigen
Gibt es hier eine Limitierung oder irgendetwas was den Interrupt verhindert?
Auch bin ich mir nicht sicher ob der Komplette block jedes mal wieder eingegeben werden muss oder würde es reichen den CONNECT Aufruf nur einmal im Haupt Proc auszuführen:
Wenn noch Infos benötigt werden lasst es mich wissen.
Danke schon mal und viele Grüße
Andy