Welcome, Guest. Please login or register.
Did you miss your activation email?
May 23, 2012, 07:39:12 PM
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
| |-+  KUKA Robot Forum (Moderators: Werner Hampel, Martin H, SkyeFire)
| | |-+  Making Positions Global
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: Making Positions Global  (Read 737 times)
sglander
Guest
« on: November 04, 2009, 03:57:37 PM »

Can anyone tell me how to make all of my positions global? Let me explain:

I have several different modules. I may have a motion (using inline form) in one module named something like Perch. The coordinates for this module are saved in its' data list.

Now say I create a new module and want to use that same point in this module. I insert another inline form, put the name Perch in it and would like it to have the same coordinates.

When I touchup the point Perch, I want it to update those coordinates in every different module, not just the current one.

Any help is greatly appreciated!
Logged
SkyeFire
Global Moderator
*****
Offline Offline

Posts: 1784



« Reply #1 on: November 05, 2009, 01:46:40 PM »

Not sure I've ever tried this.  Hm....

Well, unless you want to try modifying the system KFDs that build the structure of the inline form (inadvisable), or buy UserTech and build your own inline form, I think you're going to have to globalize your points manually.  That is, get them created, then hand-edit the DAT file and put GLOBAL after each DECL.  Or you could place the E6POSs in $CONFIG.DAT without the GLOBAL declaration.

Now, the tricky part is how the MOTION button will interact with a pre-existing global point.  Things to keep in mind:  when you create a point using the inline forms, the point name gets an "x" prefix appended to it.  So what you type and see on the KCP is P1, but the actual E6POS variable is xP1.  The other thing to keep in mind is that the KRL compiler handles global/local conflicts by simply (and silently) giving the local variable precedence over the global variable with the same name.  You'll need to keep a close watch to make sure that you don't get any duplicate point names.

The key issue here is how the inline form handles pre-existing points.  If a point with the same name already exists in the DAT file when you hit the MOTION button, you should get a KCP message to the effect that "This point already exists, do you want to re-write it's position?"  If you get this message when creating a new move to a pre-existing global point, then everything is probably fine.  To check, I'd set up a test point, and try using TOUCHUP on at different positions from different programs and checking to see if everybody follows the updates.
Logged
sglander
Guest
« Reply #2 on: November 05, 2009, 02:36:26 PM »

SkyeFire,

I did indeed place all of the E6POS declarations in the $Config.dat file and it seems to work just fine!
I probably should have just built one module with subroutine jumps in it, then I would have been fine, but I created multiple modules, so I had to find a way to make them global.

Thanks for the response.
Logged
presage
Newbie
*
Offline Offline

Gender: Male
Posts: 10


« Reply #3 on: November 06, 2009, 03:04:56 AM »

By putting the xP1 and so on in the config.dat, the inline forms will treat them globally just like they do for your xHOME positions.
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!