hendraprimasyahputra Posted August 7, 2012 Share Posted August 7, 2012 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 Link to comment Share on other sites More sharing options...
JeffLowe Posted August 8, 2012 Share Posted August 8, 2012 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 More sharing options...
hendraprimasyahputra Posted August 9, 2012 Author Share Posted August 9, 2012 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 More sharing options...
Sina.Sattari Posted August 9, 2012 Share Posted August 9, 2012 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 More sharing options...
JeffLowe Posted August 10, 2012 Share Posted August 10, 2012 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 More sharing options...
Raghav Posted August 13, 2012 Share Posted August 13, 2012 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 More sharing options...
Unit101 Posted August 20, 2012 Share Posted August 20, 2012 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.comPcomm2_120409.zip Link to comment Share on other sites More sharing options...
hendraprimasyahputra Posted August 25, 2012 Author Share Posted August 25, 2012 Hi Unit101, do you have Pcomm2 project on VS 6.0 version ? if so, can you upload it. Thanks Link to comment Share on other sites More sharing options...
Unit101 Posted August 25, 2012 Share Posted August 25, 2012 Hi Unit101, do you have Pcomm2 project on VS 6.0 version ? if so, can you upload it. Thanks Sorry oldest version I have is for VS2005. I have emailed it directly to you. Hope it helps. Link to comment Share on other sites More sharing options...
hendraprimasyahputra Posted August 26, 2012 Author Share Posted August 26, 2012 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 Link to comment Share on other sites More sharing options...
Unit101 Posted August 26, 2012 Share Posted August 26, 2012 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 More sharing options...
hendraprimasyahputra Posted August 27, 2012 Author Share Posted August 27, 2012 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 Link to comment Share on other sites More sharing options...
JeffLowe Posted August 28, 2012 Share Posted August 28, 2012 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 More sharing options...
Unit101 Posted September 4, 2012 Share Posted September 4, 2012 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 More sharing options...
hendraprimasyahputra Posted September 4, 2012 Author Share Posted September 4, 2012 Thanks all for the comments. Finally i can run it. ^_^ Link to comment Share on other sites More sharing options...
Recommended Posts