Cancel
Showing results for 
Search instead for 
Did you mean: 

Variable RPM Values In One Operation

Valued Contributor
Valued Contributor

Hello Everyone,

 

There is a problem when I want to generate post. Although the operation that I made contains variable rpm values post is not contain this values. If I should define the operation there is some pictures about this. My NX version is 12.0.2 + MP4. Thanks in advance.

 

Screenshot_1.pngOperationScreenshot_2(1).pngPost

3 REPLIES 3

Re: Variable RPM Values In One Operation

Solution Partner Phenom Solution Partner Phenom
Solution Partner Phenom

Try to postprocess your Programm group not in Geometry View, but in Programm view.

Next - you must to check your postprocessor.

 

S1200 M05 - too "strong" command....

 

And - try to postprocess with ANY postprocessor from OOTB. If you will see different S value - problems in your post..

Re: Variable RPM Values In One Operation

Valued Contributor
Valued Contributor

Hello,

 

That was my problem too. Not all post processors support this. I became to the conclusion that I should write a couple of codes to add this function. Here is what I did for a Heidenhain. Hope it gives the idea to sort up your PP.

 

On tool change the spindle should not start because generally in deep hole drilling the drill bit is too long to rotate fast. So I edited the condition for spindle_on template inside Auto Tool Change as follows:

 

global mom_template_subtype

   if { $mom_template_subtype != "DEEP_HOLE_DRILLING" } {
       if { [info exists ::mom_spindle_startup_status] && [info exists ::mom_spindle_direction] } {
         if { ![string compare "OFF" $::mom_spindle_startup_status] &&\
              ![string compare "OFF" $::mom_spindle_status] } {

            set ::mom_spindle_direction "OFF"
         }
      }
      return 1
    } else {
        MOM_output_literal "; ACHTUNG_TIEFLOCHBOHRUNG"
        MOM_output_literal "M5 ; SPINDEL_STOP_SETZEN"
        return 0
    }

 

Then this command (LOCATE before linear move and rapid move) detects the spindle speed change and outputs the new speed or direction only for deep drilling:

 

global mom_spindle_direction mom_spindle_speed
global pre_spindle_direction pre_spindle_speed
global mom_template_subtype

if { $mom_template_subtype == "DEEP_HOLE_DRILLING" } {

    if { [info exists pre_spindle_speed] } {
        if { $mom_spindle_speed != $pre_spindle_speed } {
            MOM_force Once M_spindle
            MOM_output_literal "TOOL CALL Z S$mom_spindle_speed"
            MOM_do_template spindle_on
            return
        }
    }
}

 

This command (LOCATE befor linear move) suppresses linear moves after drilling and spindle stop inside the hole since some machines cannot make linear retract move with stopped spindle.

 

global mom_nxt_motion_event mom_template_subtype

if { ($mom_template_subtype == "DEEP_HOLE_DRILLING") && ($mom_nxt_motion_event == "rapid_move") } {
    MOM_suppress Once Z
}

 

And this command saves spindle status for deepdrilling (LOCATE after linear move and rapid move)

 

global mom_spindle_direction mom_spindle_speed
global pre_spindle_direction pre_spindle_speed

set pre_spindle_speed $mom_spindle_speed
set pre_spindle_direction $mom_spindle_direction

 

 

 

Kind regards,

Majid

Majid

Re: Variable RPM Values In One Operation

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

To detect single move drilling it is better to check for the correct variable, since if the operation is set to output the machine cycle you might want different things to happen.

In addition what to do if a user uses a regular drilling operation and sets it up like a deep drilling operation?

if {[info exist ::mom_cycle_definition_mode] && $::mom_cycle_definition_mode == 1} { ... }

Back to the OPs question, did you change the output of feed and speed in any way?

Some change the output to be forced only at a certain position in the NC code and that will break the logic of the single move drilling output.

Stefan Pendl, Systemmanager CAx, HAIDLMAIR GmbH
Production: NX12.0.2, VERICUT 8.2, FBM, MRL 3.1.7 | TcUA 10.1 MP7 Patch 0 (10.1.7.0) | TcVis 11.4
Development: C (ITK), .NET, Tcl/Tk Testing: NX (1876) | AWC 3.4 Preparing: -

Employees of the customers, together we are strong Smiley Wink
How to Get the Most from Your Signature in the Community
NX Customization - Best Practice Guide

Learn online





Solution Information