Welcome, Guest. Please login or register.
Did you miss your activation email?
February 09, 2012, 07:04:39 AM
Home Help Login Register
News: Any Problems or Experience with Industrial Robots ?
Register and place your Question / Answer to worldwide Robotexperts right here !

+  Robotforum | Support for Robotprogrammer and Users
|-+  Industrial Robot Help and Discussion Center
| |-+  Yaskawa Motoman Robot Forum (Moderators: Fabian Munoz, Napierian)
| | |-+  imove commands being disrupted if robot is paused during the imovement
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: imove commands being disrupted if robot is paused during the imovement  (Read 586 times)
ScanRobot
Full Member
***
Offline Offline

Posts: 131


WWW
« on: August 13, 2010, 09:19:13 PM »

Hi Robotfellas

if the robot is stopped during a imove command (etc. with pause button or emergency circuit) and then started again,  it will restart the imove command from the beginning and therefore the movement lengh will be too far.

is there something to do to prevent this (i have made a complete palletizing program before i discovered this icon_frown icon_frown)?

parameter or so...?

robot: UP50 XRC 2001

thanks...
Logged
thachief
Newbie
*
Offline Offline

Posts: 8


« Reply #1 on: August 13, 2010, 10:09:35 PM »

Move to a position variable.  Calculate new position increment with math, If pause or E-Stop during MOVJ target is still same position.

'=== Example Code ===
' P022 = your position
' D010 = temp var to hold math
' 50 = shift increment amount
GETE D010 P022 (1)
ADD D010 50
SETE P022 (1) D010
MOVJ P022 VJ=10.00
Logged
Fabian Munoz
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 862


Uruguay Campeon de America 2011 !!!!!!!!!!


« Reply #2 on: August 14, 2010, 12:54:17 AM »

ScanRobot:
You've got a really got point there. I never questioned that myself before and i used in many projects the IMOV comment.

I really like to thank you about the post because I have an upcoming job with 7 robot tending CNCs and I was going to use it.

Unless somebody from Motoman can give us a clue I will write the approach and departure just thachief mentioned which BTW a use that a lot also becuase the value is right there, in front of you and you dont have to change screen to see it
« Last Edit: August 14, 2010, 02:26:23 AM by somar » Logged

somar
Robo Guru
Sr. Member
****
Offline Offline

Gender: Male
Posts: 464



« Reply #3 on: August 14, 2010, 02:11:39 AM »

I wrote a macro job once that would allow you to create an offset....

basically you could do something like this

MOVJ
MOVL
MADJ (X,Y,Z,Rx,Ry,Rz) 

MADJ was the name of my macro.  You could specify the amount of offset you wanted.  The macro would do exactly what "thachief" said.  It would capture the current position and then apply the requested shift.

Hope this helps
RoboGuru
Logged
popbot
Jr. Member
**
Offline Offline

Posts: 68



« Reply #4 on: August 17, 2010, 04:27:21 PM »

Aha.. I think I know how this one robot will sometimes crash into the wire clipper now.
Thank you all for this post
Logged

Do robots dream?
ScanRobot
Full Member
***
Offline Offline

Posts: 131


WWW
« Reply #5 on: August 21, 2010, 11:54:12 AM »

Thanks for all your replys

my solution was to create the below program "ABS"

when i want to make an relative movement I set one of the following values D061 - D066 to the movement lenght / or angle and then call the ABS and the movment to the point P52

etc:

SET D063 200000
CALL JOB:ABS
MOVL P052 V=1200.0 PL=0


the ABS job is:

/JOB
//NAME ABS
//POS
///NPOS 0,0,0,1,0,0
///TOOL 0
///POSTYPE ROBOT
///RECTAN
///RCONF 0,0,0,0,0,0,0,0
P0052=210.985,-1204.325,598.571,90.79,60.12,-89.41
//INST
///DATE 2010/08/17 06:44
///ATTR SC,RW
///GROUP1 RB1
NOP
GETS PX050 $PX000
GETS PX051 $PX000
CNVRT PX052 PX051 BF
GETE D051 P052 (1)
GETE D052 P052 (2)
GETE D053 P052 (3)
GETE D054 P052 (4)
GETE D055 P052 (5)
GETE D056 P052 (6)
ADD D051 D061
ADD D052 D062
ADD D053 D063
ADD D054 D064
ADD D055 D065
ADD D056 D066
SETE P052 (1) D051
SETE P052 (2) D052
SETE P052 (3) D053
SETE P052 (4) D054
SETE P052 (5) D055
SETE P052 (6) D056
SET D061 0
SET D062 0
SET D063 0
SET D064 0
SET D065 0
SET D066 0
END
Logged
potis
Sr. Member
****
Offline Offline

Gender: Male
Posts: 295



« Reply #6 on: August 23, 2010, 03:46:07 PM »

just fyi instead of using the cnvrt instruction you can use the
gets PX052 $PX001   
this way the P52 position is saved in base frame and you dont need to make convrt after.

best regards
Logged
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!