Welcome, Guest. Please login or register.
Did you miss your activation email?
May 23, 2012, 07:38:24 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)
| | |-+  Lack of physical memory on Kuka Kr60HA
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: Lack of physical memory on Kuka Kr60HA  (Read 1711 times)
Phil@TWI
Guest
« on: October 26, 2009, 03:52:56 PM »

Hi everyone,

We have a problem with our KUKA, in that when we try transfering a toolpath (SRC and DAT file) to the robot's C: drive, we get the error "lack of physical memory". We spoke to the KUKA engineer and he said that the file size was too large (10mb). He suggested using a smaller filesize, so I used a filter on the CADCAM software to remove extraneous points, which reduced the size a little.

I then chopped the toolpath into 10 pieces of 1mb each in order to stack them up using a global subroutine, but it won't allow more than one of these to be transfered to the robot. They want to sell us the CAMROB software for £7500 which isn't an option. The toolpath we are trying to transfer is quite large because it is similar to a 6 axis milling toolpath. I'm quite new to working with robots, so please don't rip into me for getting terms incorrect 

Our Robot is the KR60HA using the KRC control software (not sure which version but I can find out).

Any advice would be greatly appreciated.

Thanks

Phil McNutt
Logged
SkyeFire
Global Moderator
*****
Offline Offline

Posts: 1784



« Reply #1 on: October 26, 2009, 07:15:56 PM »

In the KUKA controllers, "physical memory" usually refers to RAM.  How much RAM do you have installed on your machine?  You can look at HELP>INFO>SYSTEM to find your processor, speed, RAM, and RAM "load" -- how much of the RAM is being used up.  You might be able to buy additional RAM.  However, just running down to the computer parts shop is risky -- only certain RAM types are certified to work in the KRC cabinet, and can be purchased from KUKA (for a markup, of course).

Still, the robots usually ship with at least 500MB of RAM.  I could see a 1MB program being too big, but it sounds like you only have trouble if you load more than one of them.  I'd check the RAM Load with the robot "empty," load one of your 1MB programs, and see what happens.  It would be interesting to see what happens if you break your programs up into much smaller chunks -- I've written and/or used some pretty hefty KRL programs in my time, but 1MB for a single module is still a whopper.  I suspect your programs may be badly over-populated with points -- you're likely to run into motion issues once you try running one of these programs.  Robots don't process points the way CNC machines do, and CAMROB bridges the gap by making use of the robot's natural motion tendencies (and, IIRC, by making real spline moves possible).

As for finding out what version your robot is, go to HELP>INFO>INFO.  The KSS (KUKA operating system, basically) will be under the blue KRC logo. 
Logged
TygerDawg
Full Member
***
Offline Offline

Posts: 230


« Reply #2 on: October 27, 2009, 12:05:56 PM »

I had similar problems trying to load multiple SRC & DAT files for paths.   Especially during the development phase when I was loading / unloading / deleting constantly.  Kept getting an error on "lack of physical memory" and failure to copy files.  Idiotic, since I was up to my eyeballs in RAM.  I finally was able to get past this KRC2 defect by regularly enabling "force a cold restart" and rebooting the controller.
Logged

TygerDawg
Blue Technik
Virtuoso Robotics Engineering
www.bluetechnik.com
wes_mcgee
Jr. Member
**
Offline Offline

Posts: 94


« Reply #3 on: October 27, 2009, 09:34:28 PM »

^^I had the same problem.

So what is the limit though for program size? I had a problem with a 5 mb program....which is not that large by my standards Yeah that is funny about the camrob, I don't see how a different cam software would fix it.

How does a cold restart fix it? I assume they have only allocated certain ram space to the program file of the vx works side. Can this be changed?
Logged
wes_mcgee
Jr. Member
**
Offline Offline

Posts: 94


« Reply #4 on: October 27, 2009, 10:21:43 PM »

Skyefire,
   When you say "robot empty", does that mean putting files somewhere in the "program" folder or sub folders? So we should only keep the active program and any "called" sub routines in the active memory?

 Yeah 1 mb for milling is pretty small for me, I can easily see programs with 50-70k lines, which are about 5 mb. Maybe I should round off more digits, or does that even matter? I know the ABB RAPID had a way of real-time swapping modules into memory, does KRC have this? Even using spline interpolation...which we are just starting to explore here, a large path could be big.

 When you say camrob exploits the robot's natural motion tendencies, can you elaborate? We do have a scripted filter that allows us to convert the motion to circ moves, which usually gives better accuracy with same size file(or smaller file with equal accuracy). CAM packages (mastercam, etc.) can usually only do this on the orthogonal planes when milling surfaces(or 3d curves), luckily the KRC code allows an arc on any plane, since you only need to call the 3 points. But we have not used this script for any surfacing yet, which we still do with mastercam/robotmaster.
Logged
TygerDawg
Full Member
***
Offline Offline

Posts: 230


« Reply #5 on: October 28, 2009, 11:44:36 AM »

I don't know why "force a cold restart" worked.  I was told to do this by KUKA TechSupport, and they couldn't tell me WHY.  They also told me to chop up my files into 500KB chunks.  Not a robust solution, it clearly indicates to me that KRC2+KSS is very poor for this level of work.  I suppose that "force..."-ing  zero-ed the RAM and reset all the software memory allocations and pointers in the kluge-ed up Windows+VX software system KUKA has, thus giving  the best conditions for big programs. 
Logged

TygerDawg
Blue Technik
Virtuoso Robotics Engineering
www.bluetechnik.com
SkyeFire
Global Moderator
*****
Offline Offline

Posts: 1784



« Reply #6 on: October 28, 2009, 04:10:17 PM »

Skyefire,
   When you say "robot empty", does that mean putting files somewhere in the "program" folder or sub folders? So we should only keep the active program and any "called" sub routines in the active memory?

I meant, with none of your CNC programs on board.

Quote
Yeah 1 mb for milling is pretty small for me, I can easily see programs with 50-70k lines, which are about 5 mb. Maybe I should round off more digits, or does that even matter? I know the ABB RAPID had a way of real-time swapping modules into memory, does KRC have this? Even using spline interpolation...which we are just starting to explore here, a large path could be big.

You can sequence separate modules in KRL perfectly well -- I've never used programs that big, but my reflex response would be to break each larger program up into much smaller chunks and call them sequentially from a higher-level program.
Rounding digits might help a bit, but unless you're running each position out to 5+ decimal places, I doubt it would do a whole lot.
I don't know of any way to real-time swap entire modules.  There is a tech package from KUKA called the Directory Loader that can let you upload new programs to the robot in an automated fashion, but it's not an on-the-fly process.  Or, you could use the KRLXML package and a background process to load new positional data to your .dat file, maybe.
I suspect that the root problem here is that the KRC controller operates by loading *everything* into a RAM drive during boot, and then operates out of the RAMdrive -- the hard drive is almost completely out of play as far as the robot kernel is concerned.  This setup was developed at a time when a 100kb program would have been considered ludicrously oversized in robot programming, and there's probably a limit to the individual module size it can handle well.  I don't know how much, if any, KUKA Roboter may have done in handling Mb+ size modules.

Quote
When you say camrob exploits the robot's natural motion tendencies, can you elaborate? We do have a scripted filter that allows us to convert the motion to circ moves, which usually gives better accuracy with same size file(or smaller file with equal accuracy). CAM packages (mastercam, etc.) can usually only do this on the orthogonal planes when milling surfaces(or 3d curves), luckily the KRC code allows an arc on any plane, since you only need to call the 3 points. But we have not used this script for any surfacing yet, which we still do with mastercam/robotmaster.

CNC and CAM programming with robots isn't a subject I have much real experience with, so I can only speak in the most general terms.  From what I've seen, CAM programs seem to tend to overpopulate their paths, especially curves, with lots and lots of points.  OTOH, in general robot programming, we try to use as few points as possible on complex curves and use them as "attractors" to "pull" the path into the shape we want.  That works for hands-on programming, but has obvious drawbacks when you are programming directly from a CAD/CAM model.  My understanding is that KUKA's CAMROB package bridges the gap, converting CNC-type programs into something more optimized for robot use.  I assume that it takes the robot's natural arcs of motion into account and avoids things like programming umpteen dozen points per inch, but that's only a surmise on my part.  I'm also assuming that CAMROB is designed to deal with large CNC-type programs and work around the module-size issue, but that's another guess.

One thing you could try:  rather than import the programs using the KCP Navigator (which I assume you're using), try copying the programs directly to the correct subdir on the C:\ drive using Windows (remember the RAMdrive/Hard Drive split), then force a cold-boot of the robot (CONFIG>ON/OFF OPTIONS).  When the robot reboots, any properly formatted KRL module that is inside the Program directory will be loaded and compiled.  It's a bit of a workaround, but this might get you past the module size issue.  It's easy to do and worth a try, at any rate.

Logged
wes_mcgee
Jr. Member
**
Offline Offline

Posts: 94


« Reply #7 on: October 28, 2009, 05:02:53 PM »

That is an interesting work around. Also, we have the krlxml package, so that could be interesting as well.
Logged
optimus_prime
Full Member
***
Offline Offline

Posts: 168


« Reply #8 on: October 31, 2009, 06:53:37 PM »

Instead of file transfer.
Co-ordinate transfer in RealTime via = RSIEthernetXML
KRLEthernetXML for asynchronous transfer.
Logged
the leg
Full Member
***
Offline Offline

Posts: 191


Life is like a game of poker .


« Reply #9 on: November 03, 2009, 05:25:57 PM »

You can increase the physical pages in the registry to 3125 and this should work also you can change values in the memconfig.ini

*** REMEMBER TO MAKE A NOTE OF ALL SETTINGS BEFORE YOU START TO MAKE CHANGES AS YOU MAY HAVE TO CHANGE THEM BACK CHANGE THESE SETTINGS AT YOUR OWN RISK ****
Logged
presage
Newbie
*
Offline Offline

Gender: Male
Posts: 10


« Reply #10 on: November 06, 2009, 02:24:08 AM »

I have had the same problem, the only option I found you could try without additional Kuka packages is to edit the registry:

HKEY_LOCAL_MACHINE\SOFTWARE\KUKA Roboter GmbH\Cross3\Manager\Boot\VxWin

VxWinRAM can be increase in 1MB steps, eg 16x1024x1024=16777216
PhysicalPages can be increase to 3125 from the default 1920

There is a limit to what VxWinRAM can be increased to, I just down't remember so try it increasing it in steps.

I still found I couldn't load enough programs into memory in one hit so I had to use KR Directory Loader to import files, however this required me to stop the KRC from the SPS to load the files, giving me about 10 seconds of downtime while the KRC restarted and compiled the new programs into VXWinRAM memory.
Logged
MOM
Newbie
*
Offline Offline

Posts: 14


« Reply #11 on: November 12, 2009, 01:00:09 AM »

Hello,

it is quite interesting to find two posts of the same problem on side of of this forum. The answer is stille the same:


the  problem seems to be a common problem - you even can find that at the German forum.

If you have the problem "no physical memory available" this leads to the lack of the memory for your programs.
Increasing the VxWinRAM will not help at all. This portion of memory is used by the vxwin itself, addon's and global variables.

The answer to the memory of your program problems could be solved with the Physical Pages (theoretically).
Increasing this value gives you more space for your programs. But after all it may be not very useful.

It also depends of the software version you are using:

In KSS V4.x the values you are giving are fixed
In KSS V5.x and above the values will be corrected.

The values are :
A_Pages for source files
O_Pages for dat files
If you seleted 64 pages for src files in version KSS 4.x you will occupy 256 KBytes for every krl program. If another krl program only uses 4 kByte still 256 kBytes are reserved.

Starting with KSS V5.x you are able the specify a startup in the memconfig.ini for the memory consumption. If the selected values are wrong then these values  will be corrected after a cold reboot.

E. g.: You specified 64 pages (256KByte of RAM); The robot programs only requires 32 pages (128 kBytes) then you could load twice as many programs  as originally.

Regards MOM
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!