603,337 active members*
4,040 visitors online*
Register for free
Login
Results 1 to 10 of 10
  1. #1
    Join Date
    Aug 2010
    Posts
    0

    DNC Questions

    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. #2
    Join Date
    Sep 2010
    Posts
    1230
    Quote Originally Posted by pmd5700 View Post
    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!
    Peter,
    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. #3
    Join Date
    Aug 2010
    Posts
    0
    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. #4
    Join Date
    Sep 2010
    Posts
    1230
    Quote Originally Posted by pmd5700 View Post
    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
    Peter,
    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. #5
    Join Date
    Aug 2010
    Posts
    0
    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!

  6. #6
    Join Date
    Sep 2010
    Posts
    1230
    Quote Originally Posted by pmd5700 View Post
    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!
    That's correct. With regards to the second question, you run the main program from memory and call the Sub with M198.

    Regards,

    Bill

  7. #7
    Join Date
    Aug 2010
    Posts
    0
    Excellent! Thanks for all your help!

    Peter

  8. #8
    Join Date
    Sep 2010
    Posts
    1230
    Quote Originally Posted by pmd5700 View Post
    Excellent! Thanks for all your help!

    Peter
    PM sent to you.

    Regards,

    Bill

  9. #9
    Join Date
    Feb 2013
    Posts
    0

    M198 on Fanuc Oi-MC

    Do you have an example of a program that uses M198 in a main program to call a sub program from a memory card or data server?

  10. #10
    Join Date
    Aug 2011
    Posts
    2517
    O0001
    M198 P0002
    M30
    %

    Program O0002 is located on the memory card.

    Read the attached for more info.

Similar Threads

  1. CNC mill questions - thrust bearings, leadscrew mounting, general questions
    By tonofsteel in forum DIY CNC Router Table Machines
    Replies: 8
    Last Post: 02-03-2012, 10:42 PM
  2. Brass vs Aluminium Vs Steel, questions, questions and questions...
    By alexccmeister in forum Uncategorised MetalWorking Machines
    Replies: 25
    Last Post: 08-15-2011, 06:40 PM
  3. First CNC - Questions
    By Jonc80 in forum DIY CNC Router Table Machines
    Replies: 20
    Last Post: 04-21-2010, 11:58 PM
  4. Questions
    By halfstep in forum Charter Oak Automation Support Forum
    Replies: 1
    Last Post: 01-12-2010, 07:43 PM
  5. Questions
    By nofx in forum Metalworking- / Woodworking Tooling / Manual Machining
    Replies: 0
    Last Post: 01-08-2010, 05:07 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •