![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| Fanuc Discuss Fanuc controllers here! |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
I have 2 DNC questions for a Fanuc 0i-MC controller. 1) When using DNC with a memory card or RS232 cable, can you access subprograms? 2) Is there any way to start a DNC program from a specific line. For example, you run through 6 hours of machining and then your cutter breaks. Is there a way to start from near the point your cutter broke, or do you just need to start from the beginning? Thanks for your help! |
|
#2
| |||
| |||
Most definitely, but of course the Sub Programs have to be registered in the controls memory. All other functions of the machine such as Single Block, Feed Hold, Optional Stop, Compulsory Stop, Block Skip etc, all work as per normal. With regards to restarting part way through a program in DNC mode, it depend somewhat on the software being used with the DNC. My own Comms/Editor package, when used in DNC mode, prompts the user with the message "Do you want to Start from the Current Block"; the Current Block being where the cursor is currently located in the program in the PC. OK, that satisfies the PC end of things, but you just can't place the cursor anywhere in the program and expect the machine to know whats previous to the current cursor position, such as Tool Length offset calls etc. Accordingly, program structure is important with regards to how easy or difficult it is to restart in DNC mode. Particularly with programs destined for DNC use, I structure my programs so that each tool is a Stand Alone program within the program. All of the information relevant to that tool is included so that if all of the program except for that tool's code was deleted, it could be successfully run. I only use a sequence number at the start of each tool and I increment these numbers by 1. The reason being, is that in a large program, having many tools, in my opinion, its easier to know the sequence of the operation, than the tool number used in the operation. For example, I know that its the 7th operation I want to repeat, rather than it being tool number 24. Accordingly, I can just search for N7 in the program. Because the program is being run in DNC from a PC, the size of the program is somewhat irrelevant, and limited by the space left on the Hard Drive; if it fits on the Hard Drive, then you can run it as a DNC program. Accordingly, I Post the program so that G0, G1, G2, G3 etc are output in each block where required, notwithstanding that they're modal. So, to do a restart in DNC, I do the following: 1. At the machine side I ensure that the machine is ready to be restarted. 2. At the PC end, I search for the sequence number of the operation within which the restart will be initiated. 3. I find the block where I actually want the cutting to recommence and I put a sequence number that's not used elsewhere in the program; any number greater than the total number of machining operations being carried out by the program; N111 for example. Once that is done, I again search for the sequence number as in point 2 above. 4. The software being used will dictate whether the PC or machine initiates the transfer, but in the case of my software, I get the PC side ready, then with the machine control in single block, I step through the program until the tool change has been completed and the Work and Tool length offset has been applied from the program. 5. Back at the PC, I move the cursor down to the where I want the machining to start in the program, sequence number N111 to use the example from point 3 above. 6. There will be a couple of lines buffered in the machine from when the program was restarted before repositioning the cursor as in point 5. Still in single block, let these play out and watch for the N111 block to appear as the next block at the control. Because I include all G0's etc, the machine will be in the correct mode when it starts machining. 7. In manual mode, move the tool close to where you want the machining to restart. Back into single block mode and press cycle start to progress the program until you're sure that machine and program are in sync again. 8. Select Auto Mode and and let the machine run. The above may sound complicated, but in practice its quite simple. You're merely allowing the machine control to read and apply the required offsets and anything else in the start up of the tool that's important, and then you change the position of the cursor in the DNC program to where you want the machining to restart. There is a restart sequence for the Oi when running from memory, but this does not apply in DNC with RS232. Regards, Bill |
|
#3
| |||
| |||
| Bill, I appreciate your response! I was reading the manual for the 0i-MC last night and from what I can tell, you can read subprograms from the memory card, but the main program has to be in the controller memory. Does that sound right to you? As for DNC restart; at the moment, because of machine changes and computer changes, we don't have a program that can do dripfeed, so we're mainly concered with drip feeding from the memory card. We have 4GB memory cards that seem to work fine with our machines so I guess subprograms aren't a necessity, but more of an interest just incase we need them some day. Thanks, Peter |
|
#4
| |||
| |||
There are a couple of ways of doing it with a memory card. Obviously, you only use DNC when the program is too large for the memory, there is no advantage otherwise. If the Subs are large in size, and particularly if the operation is repeating, then the Subs are recorded on the card using a small Main program in memory to manage the calling. To do DNC from a Memory Card you need the I/O device to be set to 4 Regards, Bill |
|
#5
| |||
| |||
| That's what I figured. Just to be clear, you can't have the main program and the sub program(s) on the memory card. The main program has to be on the control memory if the sub programs are on the memory card. If you have the main program on the controller memory and the sub program(s) on the memory card, do you have to drip feed to access the sub programs, or can you just run a regular program and use M198 to call the sub programs? Thanks! |
| Sponsored Links |
|
#6
| |||
| |||
Regards, Bill |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| CNC mill questions - thrust bearings, leadscrew mounting, general questions | tonofsteel | DIY-CNC Router Table Machines | 8 | 02-03-2012 03:42 PM |
| Brass vs Aluminium Vs Steel, questions, questions and questions... | alexccmeister | General Metal Working Machines | 25 | 08-15-2011 12:40 PM |
| New Machine Build- First CNC - Questions | Jonc80 | DIY-CNC Router Table Machines | 20 | 04-21-2010 05:58 PM |
| Questions | halfstep | Industrial Hobbies (Support forum) | 1 | 01-12-2010 12:43 PM |
| Newbie- Questions | nofx | Metal Working Tooling | 0 | 01-07-2010 10:07 PM |