What's new
What's new

Fanuc and PCMCIA | How do you run your large programs?

TangentCNC

Aluminum
Joined
Feb 1, 2016
Location
Chandler, Az, USA
So I can drip from the pcmcia no problem except for when there are M98 subs

I can save a primary file to memory that calls the subs with M198, then run the subs off the PCMCIA if I split up each sub into its own file *works great this way but time consuming*

I can also load them to memory with subs using M98 but as we all know...fanuc sucks in the memory area so even simple 3d work eats it all up.

Is there something I'm missing?


I sure do miss Okuma's :(
 
Main Memory
Program calls whatever you are running
pallet change
program call whatever you are running on second pallet
m99

Store everything in the DNC side. Doesn't really take any more time?
 
%
o0001( op2 spacer.ncf )
( t1 2.00 face endmill )
( t2 .50 finish endmill )
( t3 .50 ball endmill )
( t4 .63 spot drill )
( t5 .37 drill )
( t6 .25 spot drill )


( 5/13/2016 AT 10:20 PM )
( PARTS PROGRAMMED: 4 )
( FIRST TOOL NOT IN SPINDLE )
M60 ( ROTATE PALLET )
G54
M60 ( ROTATE PALLET )
M30
G54
M98P10002
G55
M98P10002
G56
M98P10002
G57
M98P10002
G54
M99


o0002( sub number: 0002 )
n1g0g17g40g49g98g90g80
( operation 14: Roughing )
( workgroup )
( tool 2: .5 finish endmill )
t2m6
x8.693y1.6389s14000m3t2
g43z1.h2m8
z1.3
g1z.1f80.
Z.01f418.95
g3x8.8478y1.3609z-.0062i.2164j-.0616f418.95
x9.1258y1.5157z-.0225i.0616j.2164
g0z1.3m9
g91g28y0z0m5................................
M1
m99
%
 
What it means is, M98/198 cannot be used in a card program.
Let the main program be in the CNC memory, and M198 subs on the card.
 
M198 PBLALALALA
M198 PNANANANANA
M198 PAAAAAAHHHHHH
P508003 M98
P198 P555666777777


And so on... Split your subs up into either card programs or memory programs. So make a main to deal with the program jumps and be done with it. If you utilise the card properly you can jump wherever you want to, whether it be on the control or the card. I hate it when folks say that they hate fanuc... yeah the manuals suck big time but if used properly it can get the job done just the same, if not better, than the rest.
 
I hate it when folks say that they hate fanuc... yeah the manuals suck big time but if used properly it can get the job done just the same, if not better, than the rest.

You'd think that as much as people complain about the manuals they would put more effort into improving them. I've been running YASNAC machines over a decade now. I have ran FANUC in the past. From what I recall the FANUC manual did suck.
 
I know I can M198 and store the subs on the card and I do. Problem is, my post processor doesnt split them into multiple files and its all just 1 big file.

If thats the way it has to be then so be it..just takes forever when im using 20 tools and some of the operations are 3d tool paths. digging and searching takes a long time.
 
I think what im going to do is find a c# compiler and write a program that will look for each new sub and output them all separately into their respective files. When im done if you guys want it ill make it available on my website to download.

Thats the only "quick" way I see to make it happen without accidentally making a mistake.
 
I think what im going to do is find a c# compiler and write a program that will look for each new sub and output them all separately into their respective files. When im done if you guys want it ill make it available on my website to download.

Thats the only "quick" way I see to make it happen without accidentally making a mistake.

Hello TangentCNC,
I assume that all the Subprograms are contained in one file, if so, each Sub should start withe an "O" character plus a program number and finish with a % character. Accordingly, its a simple task to write an app to find the occurrence of an "O" and output all code between it and the next % inclusive, to a new, single file. However, there are other ways that the Subprograms can be separated without reinventing the wheel.

Given that each Subprogram will start with an "O" character, if you were to load the the program into memory, the Subprograms will be automatically separated by the Fanuc Control. Each time an "O" character is encountered, a new, separate program will be registered. These single files can then be output to your external device (PC, or Laptop most likely) and saved as a unique file.

If the whole file wont fit into memory:
1. load until the memory is full

2. save the files that have been separated

3. then clear the saved files from memory

4. make a working copy of your original file containing the Subprograms and deleted those Subs that have been separated and saved

5. repeat the load to CNC memory, output to external device and save the individual file exercise until done.

Most Editor/Comms packages allow more than one Edit Window to be opened at the same time. In this case:
1. open the file containing all Subprograms

2. open New Program Window

3. Copy and Paste each individual Subprogram from the file containing all Subprograms, to the other open Window

4. Save content of other open Window to a unique file

5. Clear content of other open Window and repeat steps 3 and 4 above until done.

Regards,

Bill
 
Bill,
When we call a sub with M198, what exactly happens?
I believe, it temporarily gets stored in some buffer memory, which gets cleared automatically after M99.
If so, CNC must have sufficient memory for the temporary storage.

Sinha
 
you have too many #'s in your sub program call

The sub programs on the pcmcia must not have an extention like .nc rename the subprogram file to "O0001"
 
you have too many #'s in your sub program call

The sub programs on the pcmcia must not have an extention like .nc rename the subprogram file to "O0001"


I'm well aware of them being "O0001". I do it often and was only looking for a way to not have to manually copy/paste each sub into its own file.... Got tired of waiting and not seeing another solution so I made a program to split the file and save them all correctly as well as compress them to a zip file.

Give that link a try for yourself.
 








 
Back
Top