Hallochen miteinander,
mal ne Bescheidene Frage. Wir haben seid zwei Tagen ein kleines Problem. Ab und zu kommt es bei unserer Anlage zu einem Crash zwischen zwei Robotern. Ich hab nur so viel herausgefunden, dass nach einer Kollision des zweiten Roboters mit dem Bauteil (ist bei der Bearbeitung herausgesprungen) der erste Robi versucht das nächste Bauteil einzulegen und natürlich gegen den zweiten Robi fährt.
Ich kann mir das nur so erklären, dass der Programmierer der Anlage überall diese continue Befehle drin hat. Macht ja auch manchmal sinn, aber gerade bei wichtigen Sachen wie unten rot gekennzeichnet, denke ich mal ist das schlecht. Meine Version dazu ist, dass der Vorlauf schon über die diese Zeilen darüber weg war und die Bedingung erfüllt war und bein erreichen das Programmzeigers die Bedingung nicht mehr erfüllt ist, aber durch das continue ignoriert wird.
Bitte um Hilfe :ylsuper:
PS: Anlage ist sehr neu und ich als Grundlagenprogrammierer auch.
Robi ist ein KR6
38 ;**********************************************************
39 ; H O L E N
40 ;**********************************************************
41 DEF rHolen ( )
42
43 $IPO_MODE=#BASE
44 $BASE=BASE_DATA[1]
45 $TOOL=TOOL_DATA[5]
46
47 $APO.CPTP=10
48 $apo.cdis=10
49
50 PTP HOME Vel= 100 % DEFAULT
51 $TIMER_STOP[5]=TRUE
52 CONTINUE
53 WAIT FOR ((diVakuumOK==FALSE) AND (diSchieneAblegenVor==TRUE) AND ($IN[33]==TRUE) AND (diZyklus_Run==TRUE))
54 $TIMER[5]=0
55 $TIMER_STOP[5]=FALSE
56 INTERRUPT ON 20
57
58 PTP zwpHol_A1 Vel= 100 % PDAT1 Tool[5]:tVakGreiferA1 Base[0]
59 CONTINUE
60 WAIT FOR (diFreigHolen==TRUE)
61 INTERRUPT ON 23
62 $TIMER_STOP[8]=TRUE
63 $TIMER[8]=0
64 $TIMER_STOP[8]=FALSE
65
66 axis_vel_acc(75,50)
67 $APO.CPTP=1
68 $apo.cdis=1
69 PTP XpHol_A1:{X 0, Y 0,Z -10, A 0, B 0, C 0} c_ptp C_DIS
70 axis_vel_acc(100,100)
71
72 TRIGGER WHEN PATH=-3 DELAY=0 DO doAbblasenEin=FALSE
73 TRIGGER WHEN PATH=-3 DELAY=0 DO doVakuumEin=TRUE
74
75 $VEL.CP=0.3
76 LIN pHol_A1 Vel= 0.3 m/s CPDAT1 Tool[5]:tVakGreiferA1 Base[0]
77 ;
78 WAIT FOR (diVakuumOK==TRUE)
79
80 PULSE (doTeilEntnommen,TRUE,0.5)
81 ;
82 $VEL.CP=0.8
83 LIN {X 0, Y 0,Z 10, A 0, B 0, C 0}:XpHol_A1 C_DIS
84
85 $APO.CPTP=1
86 $apo.cdis=1
87 INTERRUPT OFF 23
88 PTP zwpHol_A1 Vel= 100 % PDAT1 Tool[5]:tVakGreiferA1 Base[0]
89
90 $TIMER_STOP[8]=TRUE
91
92 $APO.CPTP=10
93 PTP HOME Vel= 100 % DEFAULT
94
95 INTERRUPT OFF 20
96 END ;______________________________________________________