Jump to content
OMRON Forums

Program Size


hendraprimasyahputra

Recommended Posts

  • Replies 14
  • Created
  • Last Reply

Top Posters In This Topic

Hi DeltaTau,

 

I use UMAC for my machine now. Is there a limitation of G-code program size on UMAC ?. I got about 300000 line of G-Code, i tested by put them all on prog 1 and run it. UMAC stop around line 20000. Any suggestion ?

 

Thanks

 

For programs that large you will need to use the rotary buffer and spool the program in. PcomServer has drivers for doing this from a windows application.

Link to comment
Share on other sites

Hi DeltaTau,

 

I use UMAC for my machine now. Is there a limitation of G-code program size on UMAC ?. I got about 300000 line of G-Code, i tested by put them all on prog 1 and run it. UMAC stop around line 20000. Any suggestion ?

 

Thanks

 

For programs that large you will need to use the rotary buffer and spool the program in. PcomServer has drivers for doing this from a windows application.

 

any other solution ? because i don't have PcommServer

Link to comment
Share on other sites

Turbo PMAC's memory size is your limitation in size of the program which you can load and execute. In your case, the first 20000 lines of the G-code fits into the memory and the rest are rejected since the RAM is already full.

 

In order to load programs larger than your RAM space, Turbo PMAC can use "Rotary Buffer" to accept endless stream of motion program lines while executing them. If you're interested, please check the Turbo PMAC's Users Manual under the section titled "Rotary Motion Program Buffers".

Link to comment
Share on other sites

Turbo PMAC's memory size is your limitation in size of the program which you can load and execute. In your case, the first 20000 lines of the G-code fits into the memory and the rest are rejected since the RAM is already full.

 

In order to load programs larger than your RAM space, Turbo PMAC can use "Rotary Buffer" to accept endless stream of motion program lines while executing them. If you're interested, please check the Turbo PMAC's Users Manual under the section titled "Rotary Motion Program Buffers".

 

Sina: The OP does not have the communications library. Are there example code snippets that he could use to implement a rotary buffering mechanism?

Link to comment
Share on other sites

I also face the same problem. We have our custom written GUI program which could accommodate only few KB of NC code. We are using the motion program buffer. How to find the limit of the program which the user can input? if we need to change to rotary buffer, will it take much effort to change our GUI? Is it possible to provide any sample code snippets.

 

Regards,

Raghav

Link to comment
Share on other sites

Hello,

Please see below attached C# VS2010 complete project that demonstrates using both Binary rotary buffer and Ascii buffer to download a motion program continuously to a PMAC.

 

It shows how to load in an example G-code program to a list box, then initialize the PMAC buffer, open it and spool the program to the PMAC. It also shows how to keep track and display to user the current line being executed and track the buffer filling up and being empty.

 

I also have this in older versions of VS if needed.

 

Feel free to contact me directly with questions about implementing this. mesposito@deltatau.com

Pcomm2_120409.zip

Link to comment
Share on other sites

Hi,

 

Is it the same if i separate the motion program into several parts and upload it in different PROG ?

 

I got about 225000 line of G-code right now, my plan is to separate them into 20000/PROG. is it possible ?

 

Thanks

 

Hello, I'm not sure I understand your question ?

You want to break up the single large (225000 line) G-code to smaller programs of about 20,000 lines each.

This is OK... and you could then download them One by One to PMAC and run each one, but they would run then stop, load new one, run, stop at end again... so they would not in this way smoothly continue from one to the other.

 

However in your HMI application you can easily OPEN the Binary Rotary Buffer, then open the first G-code file, load this to the buffer, and when you see that all lines are in the buffer you can open the next G-code file and simply continue loading this to the buffer and there would be no stop in motion as long as we keep sending lines from the files faster than the PMAC can execute them.

You could also create a single array and load all the files to it then send this to PMAC thru rotary buffer... just need enough memory in PC for this.

 

So it is no problem to send several G-code files thru the buffer one after another... this is all handled by your HMI application code, the PMAC does not care of know where these lines come from, they are just put in the buffer one after another using PcommServer functions.

 

You also mention "seperate program" so you want to load each of the 20,000 line files into a different Program# of the PMAC ?

-this can be done but NOT with Rotary Buffer, you only have ONE rotary buffer open at a time

-you could load the files into different program buffers on PMAC just using the Open Prog#... Close and download command.

- just are limited by how much memory you have on PMAC as to how many of these you can load

- then you run each one using PMAC logic for normal motion program $1B22R to run motion program #22 in CS1

 

Not sure I answered your question... let me know if need more clarification...

Link to comment
Share on other sites

Hi,

 

I tried to run the HMI but i got 2 errors :

 

The type or namespace name 'PCOMMSERVERLib' could not be found (are you missing a using directive or an assembly reference?)

 

How can i fix this ?

 

Thanks

I recall back on 8-9-2012 you said you do not have the PCOMMSERVER. Without this package you are going to have a difficult time using the rotary buffer over the bus. An alternative would be to use one of the PMAC's comm ports and spool in with RS-232. If this is not fast enough then your application may require you to purchase the PCOMMServer package.

Link to comment
Share on other sites

Hi,

 

I tried to run the HMI but i got 2 errors :

 

The type or namespace name 'PCOMMSERVERLib' could not be found (are you missing a using directive or an assembly reference?)

 

How can i fix this ?

 

Thanks

 

Yes as JeffL mentioned in order to build your own HMI like the example you have you must purchase and install the PcommServer library.

 

However it is also true that you can create an application that only uses the ASCII buffer and spools the data thru a serial port to the PMAC. The HMI code I gave you shows how to use the ASCII buffer. But it does not do this thru the serial port only.

 

I suggest if you need to create a custom HMI that you purchase the Pcomm Library. It is a one-time cost with no royalties and includes documentation and more examples. With this you could easily use the HMI example you have and develop your own buffer type HMI using either the Binary or ASCII buffer.

 

The part number for the PMAC Communications Library is "3A0-9PRO2-35x" called ACC-9PNPRO2 and cost is $499.00

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...