Hallo zusammen!
Ich habe mal eine Frage zum Vorlaufstopp vor einem IF Aufruf.
Ich habe hier ein Programm eines fremden Programmierers und ich soll es ein wenig optimieren.
In einem übergeordnetem Ablauf ist eine If Anweisung im NIO Fall
An dieser bleibt der Roboter immer kurz stehen.
Jetzt meine Frage: Wenn ich ein Continue vor die IF Anweisung ($IN36==true entspricht NIO) schreibe, prüft er es ja mit einem Vorlauf. Er würde aber das Unterprogramm "holen_schweissen..." erst noch komplett durchfahren, oder kann es passieren, dass er auch dies überspringt?
Ich muss lediglich den kurzen Stopp (fett gedruckt) von "holen_schweissen..." zu "praegen_ablegen.." weg bekommen. Oder habe ich da einen Denkfehler??
Für einen Tipp wäre ich sehr dankbar!
DEF ablauf_links_5( )
continue
if (not $ext) then
;FOLD INI;%{PE}
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;FOLD SPOTTECH INI
USERSPOT(#INIT)
;ENDFOLD (SPOTTECH INI)
;FOLD GRIPPERTECH INI
USER_GRP(0,DUMMY,DUMMY,GDEFAULT)
;ENDFOLD (GRIPPERTECH INI)
;FOLD USER INI
;Make your modifications here
;ENDFOLD (USER INI)
;ENDFOLD (INI)
endif
;FOLD PTP HOME Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
$BWDSTART = FALSE
PDAT_ACT=PDEFAULT
FDAT_ACT=FHOME
BAS (#PTP_PARAMS,100 )
$H_POS=XHOME
PTP XHOME
;ENDFOLD
holen_schweissen_li_5 ()
if $in[36]==true then
goto fehler_links
endif
;Signieren linkes Teil
praegen_ablegen_li_5 ()
if $in[36]==false then
goto end_li
endif
fehler_links:
;Fehlschweissung links
fehlteil_li_5 ()
end_li:
;FOLD PTP HOME Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
$BWDSTART = FALSE
PDAT_ACT=PDEFAULT
FDAT_ACT=FHOME
BAS (#PTP_PARAMS,100 )
$H_POS=XHOME
PTP XHOME
;ENDFOLD
END