Hi! I hope to have found a solution putting in the online form into "Orientation Control" Wrist PTP but, the middle point you suggested, probably is the best and secure solution. Thanks...
Posts by IlFincoITA
-
-
Hi! I have this movement:
LIN TelecameraSX_Lato_A Vel=2 m/s CPDAT64 Tool[1]:Faccia_A Base[0]
LIN OverDepPressa1A Vel=2 m/s CPDAT56 Tool[5]:Faccia_B Base[0]Here A6 makes a 180° rotation from XTelecameraSX_Lato_A
What I need is to move linear from XTelecameraSX_Lato_A to XOverDepPressa1A with a 180° A6 CCW turn but it choose to turn CW instead. How can I force it to turn CCW.
-
Hi! Since I'm new to programming I've seen some old programs from my ex coworker. He basically use interlock signals in different way. Let's suppose that the Robot wants to start a motion into another machine. Machine allow the Robot to get in and the Robot disable the machine from moving. I'm found two ways:
PTP OverPrel_C1_DX Vel=100 %
WAIT FOR I40_Mach_GetIn
TRIGGER WHEN DISTANCE = 0 DELAY = 0 DO O68_Mach_dontMove=TRUE
LIN Prel_C1_DX Vel=2 m/sor
PTP OverPrel_C1_DX Vel=100 %
att_dep1:
IF I40_Mach_GetIn THEN
ELSE
GOTO att_dep1
ENDIF
PTP OverPrel_C1_DX Vel=100 %
TRIGGER WHEN DISTANCE = 0 DELAY = 0 DO O68_Mach_dontMove=TRUE
PTP OverPrel_C1_DX Vel=100 %
LIN Prel_C1_DX Vel=2 m/sIs there any reason to trust one procedure from the other? What do you normally do to be safe and secure? You can trust this interlock signals?
-
Thank you very much... you are right problably I've started this too quickly. I'll read manuals carefully. Anyway the spline I did with KRL commands was beautiful... wich gave me a wrong impression that it was right.
-
Hi. But inline form can not e used inside PTP_SPLINE, ENDSPLINE BLOCK...
-
I'm just payng with SPLINES and it is something interesting. Example:
PTP_SPLINE
SPTP XP1
SPTP XP3
SPTP XP2ENDSPLINE
But I had to touch up the points fist using the inline form then put those points out of my loop and use them into SPLINE movements. How it is possible to touch up those pints? or you have to declare it and manually fill the respective coordinates...
-
OK... thanks al lot for sharing some of your tips. I agree with you that you need to observe the cycle at the and of your job and try to see where and when you can adjust the speed.
So in conclusion you can leave the speed as it is for PTP (100%) and LIN (2 m/s) and place before and after blocks of your program $OV_PRO adjustments... wich is faster than modify each movement speed...
-
Hi! I'm new to Robot programming. I would like to know how do you think when programming moves on robot. I mean we all start to teach points and if you use the INLINE mothod for all point you have a velocity. PTP 100% and LIN 2 m/s for default. I understand that they are $OV_PRO dependent. So if your $OV_PRO is 10% you have to think for instance to that 2 m/s relative your $OV_PRO.
So besically you try to program your movement presuming that you'll go to $OV_PRO=100% and you can figure it out how much velocity you want for avery movement. And if you need to change the speed you have to reinsert the velocity for that movement.
Another way could be to leave all the maximim velocity and write your $OV_PRO when needed to scale the velocity down.
Wich is the best practice for speed control over the program? Are any other method you use out there?
-
Here is the new CODE:
Code
Display More&ACCESS RVO &REL 9 &PARAM EDITMASK = * &PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe DEF Interrup_TEST( ) INI PTP HOME Vel= 100 % LOOP PTP OverStartFasatura Vel=100 % INTERRUPT WITH BRAKE DECL 21 WHEN i1_InterruptOn == TRUE DO OnInterrupt() INTERRUPT ON 21 LIN StartFasatura Vel=2 m/s LIN EndFasatura Vel=0.5 m/s INTERRUPT OFF HALT ENDLOOP OnInterrupt() PTP HOME Vel= 100 % END DEF OnInterrupt() INTERRUPT OFF HALT LIN StartFasatura Vel=2 m/s WAIT SEC 1 INTERRUPT WITH BRAKE DECL 21 WHEN i1_InterruptOn == TRUE DO OnInterrupt() INTERRUPT ON 21 RESUME END
Now the Program stop as soon the signal is true and the curson enter into te subroutine. But the next linear motion is not executed, the cursor goes back into the main program on LIN EndFasatura (where the interrupt was stopped I suppose) and and the error KSS01388 $ORI_TYPE variable write protected by BAS module into phrase 590
It is clear that ths is my first INTERRUPT program...
-
Hi! I want to program an interrupt. During a movement between two linear point i want that if a signal goes off the movement will be stopped and the robot must go to another point. What I did is:
INTERRUPT WITH BRAKE F DECL 10 WHEN I67_RuotaDentFerma==TRUE DO ReStart_Fasatura ()
INTERRUPT ON 10
LIN StartFasamentoRuota_L2 Vel=0.1 m/s
LIN FasamentoRuota_L2 Vel=0.005 m/s
INTERRUPT OFF
here is the subroutine:
DEF ReStart_Fasatura ()
LIN OutDepRuota_L2 Vel=Approach m/s
END
But the interrupt it is not executed it goes from "StartFasamentoRuota_L2" to "FasamentoRuota_L2" no matter what...
-
Hi! I'm doing a palletizig job. A box is filled with some pieces. Usually I touch up a position and on that position I made Z, Y and Z offsets. But sometimes as the offset encrease the position (parameters "S" and "T") could change so the calculated position result into a "not reachable" position. Usually I use the walk around to change the configuration with something like this:
IF (Pz_Fila_Dep <= THEN
XDepPzCassetta_Orig.T=11
ENDIFIF (Pz_Fila_Dep > THEN
XDepPzCassetta_Orig.T=10
ENDIFWhat do you normally do? Is there another way? Especially because this trick is only applicable as soon you have seen an entire job and is it not predictable... What for example if you need to change original position. You have o verify the entire job...
Thanks
-
OK maybe I get it now.
j = j+1 and i=i+1 is not necessary because this is what FOOR loop does... right. Poor me... my ignorance. So sorry...
-
Sorry Panic Mode I didn't understand...
-
Hi! This piece of code is driving me creazy. I fail incrementing the counter "J". The statement J=J+1 works but as son a there is the ENDFOR it increase the "J" to onother unit.
see the code and small images to show the problem:
FOR i=0 TO Ncolonne
FOR j=0 TO NrighePlaceRingCalc(i,j)
SWITCH Num
CASE 1
LIN PC_PlaceRingPinza1_OvUp CONT Vel=2 m/s free Tool[3]:Grip_Ring1 Base[5]
LIN PC_PlaceRingPinza1_Up CONT Vel=2 m/s free Tool[3]:Grip_Ring1 Base[5]
PinzaUnPo(1,0.06,0.04) ; Apertura limitata Pinza 1
PULSE ( $OUT[57], true, 0.5) ; Soffio Pinza 1
WAIT SEC 0.07
PinzaChiudi(1,0.05)
LIN PC_PlaceRingPinza1_OvUp CONT Vel=2 m/s free Tool[3] Base[5]
CASE 2
LIN PC_PlaceRingPinza2_OvUp CONT Vel=2 m/s free Tool[4]:Grip_Ring2 Base[5]
LIN PC_PlaceRingPinza2_Up CONT Vel=2 m/s free Tool[4]:Grip_Ring2 Base[5]
PinzaUnPo(2,0.06,0.04) ; Apertura limitata Pinza 2
PULSE ( $OUT[58], true, 0.5) ; Soffio Pinza 2
WAIT SEC 0.07
PinzaChiudi(2,0.05)
LIN PC_PlaceRingPinza2_OvUp CONT Vel=2 m/s free Tool[4]:Grip_Ring2 Base[5]
ENDSWITCH; incremento j (righe) e verifico il PEN
j = j+1
IF ((Num == 1) AND I59_PEN_GRP1) OR ((Num == 2) AND I60_PEN_GRP2) THEN
j = Nrighe
i = Ncolonne
ENDIF
ENDFOR
; incremento i (colonne) e verifico il PEN
i = i+1
IF ((Num == 1) AND I59_PEN_GRP1) OR ((Num == 2) AND I60_PEN_GRP2) THEN
j = Nrighe
i = Ncolonne
ENDIF
ENDFOR -
Hi! Is there a way to prevent the operator from potentially change a program? Tipically when you have a robot there is present an operator who can turn the selector in T1 and record or modify some position. Isn't there a way to let the operator move and execute the program manually but with some restrictions?
-
Hi! But where did you see that the robot has calibration problem? Who tells you that? I mean... if I have recorded a joint pos and after a collision I go there I could see that there are differenced. Than what I could do? OK the tecnician suggested me to correct the tool but it seems to me a bit empirical... Besides how I can corect the tool by trial?
-
Hi all! I'm experiencing some problem with this Robot. To make it short it's happened that I've manually enter in collision with (i've made an error moving it manually). The collision was not so bad... do you know wen you try to teach some point in a restricted area... well with this Robot I'm basically doing drilling operation. After that all my points need to be manually adjust.. they where just wrong. Now the robot didn't report any error in calibration. The tool seems not to be damage or bended in some ways... I repeat the collision wasn't so bad. Is it possible that this big guy is so fragile?
A technician suggested me to record a point and try to reach it after a collision... and if there are differenced try to correct them with new tool dimesion. Whad have you ecperienced in a similar situation? How does COMAU manage the robot calibration? I read a bit the manual but I'm very confused about that...
-
Hi! And what happen if the control is shooting of due a power failure. As soon as the power is back again the controller is automatically rebooted? Without the sturtup procedure? That is the thing that worry me most...
-
Hi! There is a way lo lower the main speed on startup? I've noticed that after a complete restart (not cold but usual) the main velocity is always 100%...
-
Thanks everyone! For Leon... I'm not shure to have inderstood you approach. Do you mean establish a base, establish a position, than rotate the base and go to the same point rotated. But the result is it a perfect circle? Not a series of small linear points...