Welcome, Guest. Please login or register.
Did you miss your activation email?
February 08, 2012, 11:01:29 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)
| | |-+  MFRAME Help
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: MFRAME Help  (Read 1324 times)
robocam.com.au
Newbie
*
Offline Offline

Gender: Male
Posts: 38


RoboCAM.com.au


WWW
« on: February 26, 2010, 08:46:14 AM »

All,

I found the MFRAME table below in a post by Elvis. At the present time I set a new uframe.cnd file every time I set up a new job.

If I knew how to set an MFRAME in my .jbi files it'd save plenty of time. Are the co-ords in the MFRAME variables base co-ordinates or ...?

X,Y,Z,Rx,Ry,Rz,SRT(all)
P000 = 1095 | -1650 | -519.592 | 90 | 0.000 | 90 | FRONT | UP | NO-FLIP | <180
P001 = 1095 | -1650 | -519.592 | 90 | 0.000 | 90 | FRONT | UP | NO-FLIP | <180
P002 = 2925 | -1650 | -519.592 | 90 | 0.000 | 90 | FRONT | UP | NO-FLIP | <180

A typical job file I use is below. How would this differ if I was to use the data in the table above, that is what would the file look like?

I'd appreciate any help and advice.

Kind Regards,

Adrian




/JOB
//NAME coke_0
//POS
///NPOS 950,0,0,0,0,0
///USER 1
///TOOL 1
///POSTYPE USER
///RECTAN
///RCONF 0,0,0,0,0,0,0,0
C00000=682.087,863.953,0.0,0.0,0.0,0.0
C00001=680.694,863.284,0.0,0.0,0.0,0.0
C00002=679.231,862.787,0.0,0.0,0.0,0.0
C00003=677.718,862.470,0.0,0.0,0.0,0.0
C00004=676.178,862.337,0.0,0.0,0.0,0.0
C00005=674.633,862.392,0.0,0.0,0.0,0.0
........
.........
..........
C00943=358.444,2108.017,0.0,0.0,0.0,0.0
C00944=367.677,2098.555,0.0,0.0,0.0,0.0
C00945=377.813,2088.663,0.0,0.0,0.0,0.0
C00946=388.799,2078.390,0.0,0.0,0.0,0.0
C00947=400.585,2067.785,0.0,0.0,0.0,0.0
C00948=413.120,2056.896,0.0,0.0,0.0,0.0
C00949=440.229,2034.467,0.0,0.0,0.0,0.0
//INST
///DATE 2009/20/12 20:59
///COMM RoboCAM
///ATTR SC,RW,RJ
////FRAME USER 1
///GROUP1 RB1
NOP
SPEED V=100.0
MOVL C00000
TIMER T=2.00
DOUT OT#(17) ON
TIMER T=2.00
SPEED V=20.0
MOVL C00001
MOVL C00002
MOVL C00003
MOVL C00004
MOVL C00005
........
.........
..........
MOVL C00943
MOVL C00944
MOVL C00945
MOVL C00946
MOVL C00947
MOVL C00948
MOVL C00949
JUMP JOB:coke_1
END
Logged
Minimann
Jr. Member
**
Offline Offline

Gender: Male
Posts: 84


« Reply #1 on: February 27, 2010, 07:57:46 AM »

Hi,

usually the MFRAME uses pulse coordinates but its also possible to use robot coords. Always when I make a userframe I use an MFRAME Job:

NOP
'ORG
REFP1
GETS PX121 $PX011
'XX
REFP2
GETS PX122 $PX012
'XY
REFP3
GETS PX123 $PX013
MFRAME UF'(?) PX121 PX122 PX123

The gets $PX 11;12;13 reads in the coordinates of the REFPOINT into the P Vars in Pulse
THen you can create your Userframe easily. Of course you have to teach the REFPOINTS first but you also can use any other point in your job.

Best Regards,
Minimann
Logged
robocam.com.au
Newbie
*
Offline Offline

Gender: Male
Posts: 38


RoboCAM.com.au


WWW
« Reply #2 on: February 28, 2010, 11:20:41 AM »

Hi Minimann,

Thanks for the reply. I'm not sure what you mean. Is my syntax in the sample .jbi below correct? That is have I got the P variable in the right position and the MFRAME statement correct etc?

Any help would be great!

Cheers,

Adrian



/JOB
//NAME coke_0
//POS
///NPOS 950,0,0,0,0,0
///USER 1
///TOOL 1
///POSTYPE USER
///RECTAN
///RCONF 0,0,0,0,0,0,0,0
P001 = 1095,-1650,519.592,90-,0,90
P002 = 1095,-1650,519.592,90-,0,90
P003 = 1095,-1650,519.592,90-,0,90
C00000=682.087,863.953,0.0,0.0,0.0,0.0
..........
C00949=440.229,2034.467,0.0,0.0,0.0,0.0
//INST
///DATE 2009/20/12 20:59
///COMM RoboCAM
///ATTR SC,RW,RJ
////FRAME USER 1
///GROUP1 RB1
NOP
MFRAME UF#(1) P001 P002 P003
SPEED V=100.0
MOVL C00000
TIMER T=2.00
DOUT OT#(17) ON
TIMER T=2.00
SPEED V=20.0
MOVL C00001
..........
MOVL C00949
JUMP JOB:coke_1
END
Logged
Fabian Munoz
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 862


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


« Reply #3 on: February 28, 2010, 04:49:36 PM »

Hi robocam

What Minimann described is the typical "how do I teach a user frame teaching 3 points"   I used it before.

1) I'm a bit confused with elvis P000 and  P001, I went back to read he's original post, I don't get it because P000 = P001 but that's beside the point

2) You can not add P vars using the editor without specifyng the new number of position on the //parameters

3) I would create a program MYFRAME and write Minimann's inside it. Dont use an editor, use the teach pendant. Then mod your program like I show below.
Run it once, step by step,obviously you are going to teach the 3 P var and see the results as a learning experience.

Once you've seen the results you dont need myframe anymore inside your prog

Give it a try and post results.  Good luck
/JOB
//NAME coke_0
//POS
///NPOS 950,0,0,0,0,0
///USER 1
///TOOL 1
///POSTYPE USER
///RECTAN
///RCONF 0,0,0,0,0,0,0,0
C00000=682.087,863.953,0.0,0.0,0.0,0.0
..........
C00949=440.229,2034.467,0.0,0.0,0.0,0.0
//INST
///DATE 2009/20/12 20:59
///COMM RoboCAM
///ATTR SC,RW,RJ

////FRAME USER 1
///GROUP1 RB1
NOP
CALL MYFRAME
MOVL C00000
TIMER T=2.00
DOUT OT#(17) ON
TIMER T=2.00
SPEED V=20.0
MOVL C00001
..........
Logged

somar
robocam.com.au
Newbie
*
Offline Offline

Gender: Male
Posts: 38


RoboCAM.com.au


WWW
« Reply #4 on: February 28, 2010, 11:18:04 PM »

Thanks Somar,

That's great. I take it that when I run my .jbi, it called the myframe job, I teach it the org, xx and xy and away it goes. As I use the robot for milling I usually have 40 - 60 jbi files linked. Will I have to do this for each one or only for the first job?

Cheers,

Adrian
Logged
Fabian Munoz
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 862


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


« Reply #5 on: March 01, 2010, 01:44:57 AM »

Hi:
Dont leave the frame job inside coke_0. Run it a as separate job, just to create your frame.

Then run your milling job which will be using ////FRAME USER 1

As far as the other jobs, well if you can use the same MYFRAME1 great, if not create another MYFRAME2 and change the parameters according. I dont know how much time for production you have but I would run MYFRAME every time.

I'm guessing you change fixtures a lot, and if you're milling, you have to be quite precise, therefore the MYFRAME3 you tought yesterday could be a couple of mm off today

 
Logged

somar
robocam.com.au
Newbie
*
Offline Offline

Gender: Male
Posts: 38


RoboCAM.com.au


WWW
« Reply #6 on: March 01, 2010, 04:30:39 AM »

Hi Sonmar,

OK now I got it. MYFRAME.jbi just makes entering in the uframe a whole lot simpler!

I'll try this out and let you all know how I get on.

Thank you so much.

Kind Regards,

Adrian

Logged
robocam.com.au
Newbie
*
Offline Offline

Gender: Male
Posts: 38


RoboCAM.com.au


WWW
« Reply #7 on: March 06, 2010, 04:04:21 AM »

Sonmar,

I gave all this a go without success! I'm just not familiar enough with the syntax of Inform II.

Rather than try and teach the coordinates each time, I know where the ORG, XX and XY are.

ORG 1735,0,1400
XX 2115,0,1400
XY 1735,1110,1400

How do I incorporate that information into the JBI file? I thought this is what the MFRAME  command was used for? I just don't know how to use it in the program structure.

I'd really appreciate your help.

Kind Regards,

Adrian
Logged
Robo Guru
Sr. Member
****
Offline Offline

Gender: Male
Posts: 464



« Reply #8 on: March 07, 2010, 02:41:07 AM »

MFRAME creates a user frame from 3 points.  You will first have to set your values into a p-variable.  This can be done manually or also programmed inside your robot job.  This is an example on how you would set a p-variable inside a robot job

SETE (1) P001 1234 (Set element 1 (x value) of P1 to the value of 1234)
SETE (2) P001 1234 (Set element 1 (y value) of P1 to the value of 1234)
SETE (3) P001 1234 (Set element 1 (z value) of P1 to the value of 1234)
SETE (4) P001 1234 (Set element 1 (Rx value) of P1 to the value of 1234)
SETE (5) P001 1234 (Set element 1 (Ry value) of P1 to the value of 1234)
SETE (6) P001 1234 (Set element 1 (Rz value) of P1 to the value of 1234)

Keep in mind you have to set all 6 values for your p-variable.

Once you have done this for all 3 values (ORG, XX, XY) you can now create your user frame with the MFRAME command.


MFRAME (UF#1) P1, P2, P3

Hope this helps,

RoboGuru
Logged
robocam.com.au
Newbie
*
Offline Offline

Gender: Male
Posts: 38


RoboCAM.com.au


WWW
« Reply #9 on: March 11, 2010, 09:34:14 PM »

To Eveyone that's replied, thank you so much, I know I must be a huge pain in the backside. I've gone away and tried everything you've suggested but as a bit of a newbie, I have yet to suceed but try and try again is what I'm doing.

Please see my latest attempt. This one just comes up with variable errors so I've got something wrong here. Can anyone please take a look and edit as necessary? That way I can learn what I've got wrong?

/JOB
//NAME test_10
//POS
///NPOS 4,0,0,3,0,0
///USER 1
///TOOL 1
///POSTYPE USER
///RECTAN
///RCONF 0,0,0,0,0,0,0,0
C00000=0,0,0.0,0.0,0.0,0.0,0.0
C00001=500.0,0.0,0.0,0.0,0.0,0.0
C00002=500.0,500.0,0.0,0.0,0.0,0.0
C00003=0.0,500.0,0.0,0.0,0.0,0.0
//INST
///DATE 2009/08/12 12:15
///COMM APTEST
///ATTR SC,RW,RJ
////FRAME USER 1
///GROUP1 RB1
NOP
'
SETE (1) P001 1700.0
SETE (2) P001 500.0
SETE (3) P001 650.0
SETE (4) P001 0.0
SETE (5) P001 0.0
SETE (6) P001 0.0
'
SETE (1) P002 2100.0
SETE (2) P002 500.0
SETE (3) P002 650.0
SETE (4) P002 0.0
SETE (5) P002 0.0
SETE (6) P002 0.0
'
SETE (1) P003 1700.0
SETE (2) P003 900.0
SETE (3) P003 650.0
SETE (4) P003 0.0
SETE (5) P003 0.0
SETE (6) P003 0.0
'
MFRAME UF#(1) P001 P002 P003
'
SPEED V=100.0
MOVL C00000
MOVL C00001
MOVL C00002
MOVL C00003
END

Cheers,

Adrian

 
 
Logged
tony gast
Hero Member
*****
Offline Offline

Gender: Male
Posts: 700


Can I barrow a cup of robots?


« Reply #10 on: March 12, 2010, 01:04:43 PM »

what variable error are you getting?
Is the variable declared?...... as the right type?......it should be set as a ROBOT not as PULSE
Logged

Oh, well
Fabian Munoz
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 862


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


« Reply #11 on: March 12, 2010, 01:23:41 PM »

Hi Robocam:

Are yo using an editor to write the program ?
I'm asking because  I cannot write MFRAME UF#(1) P001 P002 P003 from the TP
,i can only write MFRAME UF#(1) PX001 PX002 PX003

Maybe that's your error
Logged

somar
robocam.com.au
Newbie
*
Offline Offline

Gender: Male
Posts: 38


RoboCAM.com.au


WWW
« Reply #12 on: March 13, 2010, 12:19:11 AM »

Hi Somar,

I use a text editor to create the jbi's and then test them using motosim. I live a ways from the factory so rather than try programming the robot in my fibreglass dust ridden factory, I try and do it in my home office first.

The reason I use a text editor is I've written several scripts that take specific G code after post processing and turn it into motoman .jbi code.

For each and every job I have to set up a new userframe and using the pendant is a real pain and it's not as accurate as I need. Using various length tools, a Z height gauge and laser, I know exactly where my home positions are for various jigs/fixtures. However depending upon the job and the blank I load into the fixtures I need to change the uframe position relative to those accurate co-ords.

Once I have worked out how to set up the userframe using a text editor I can include that syntax into my scripts and reduce my set up time by a considerable margin.

I did try modifying the uframe.cnd file with a text editor and change the PULSE to ROBOT and inserting x,y,z,rx,ry,rz. However when I loaded the modified uframe.cnd file into my HP165 it had a mild heart attack and I had to reload the robot from a back up!

It looks like I have to try and do this in the pendant first and see what the resulting .jbi file looks like. I'm completely hopeless on the pendant so I was trying to short circuit that process and just keep modifying the jbi's I've been working and see what input I could get from you guys the robot experts.

To illustrate what I do I'll start another thread and load up a few files.

Cheers,

Adrian

Logged
Fabian Munoz
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 862


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


« Reply #13 on: March 13, 2010, 01:06:07 AM »

Hi:

I would recommend that, go to the teach pendant, create the program there, teach a couple of points, then work offline. That will give you a good start.

Went to you home page, nice, don't forget me when you make your first million

 beerchug  somar
« Last Edit: March 16, 2010, 12:44:56 AM by somar » Logged

somar
motomaster
Newbie
*
Offline Offline

Posts: 25


« Reply #14 on: March 16, 2010, 12:28:09 AM »

I agree with somar...it is best to create a job on the teach pendant to use as an example to make sure you get your syntax correct....I did see so errors in your example above...when using the SETE command the data is in microns so there are no decimals...if you want 1700mm you type in 1700000...
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!