cancel
Showing results for 
Search instead for 
Did you mean: 

Lock Axis Issue

Valued Contributor
Valued Contributor

 

The part I am machining is a flanged cylindrical part with oval bosses on the side. I have arranged the operations in the operation navigator with the drilling being the top or the first that drills a bolt pattern in the top flange. The next operation is to planer mill oval pockets in the bosses on the side. I want to position the holes with the B rotary axis to drill so, that means I have to invoke the lock axis function. When I do, the subsequent planer mill operation will not output circular interpolation for anything, only linear moves. It makes no difference how the Motion Output Type is set in Machine Control.

 

I have canceled the lock axis function in End of Path in the drilling operation to no avail. If I post out the planer mill event separately, circular interpolation is used. Circular interpolation is used also if I don’t used lock axis in the drilling operation and post the entire program. But, I get coordinate positioning for the drilling output.

 

This happens with both the Fanuc 30i post I developed and a post that was developed by Siemens for the Yasda 5 axis head/table (A/B) machine. Funny thing, is that originally the post for the Yasda would only output XY coordinates for positioning.

Hmmmmmmmmmmm….wonder why. I am redoing this post so that lock axis will function but now have this problem.

 

Help……………

10 REPLIES

Re: Lock Axis Issue

Phenom
Phenom

maybe add call to unlock in custom command at end of path and  reload kinematics

 

MOM_reload_kinematics is already called by SET_LOCK in MOM_lock_axis 

but it should be OK to overload it

 

global mom_lock_axis
global mom_lock_axis_plane

set mom_lock_axis "OFF"
set mom_lock_axis_plane "NONE"
MOM_lock_axis
MOM_reload_kinematics

 

Re: Lock Axis Issue

Solution Partner Phenom Solution Partner Phenom
Solution Partner Phenom

Excuse me, why you talk about Lock Axis?!

You have XYC machine and travel limits for Y and you want use XC motions, but no XY? NO.

I think - you need G68, G68.1 function in your postprocessor to rotate or rotate and translate MCS, rotate heads\tables and drilling, milling...

Re: Lock Axis Issue

Valued Contributor
Valued Contributor

agrivas wrote:

maybe add call to unlock in custom command at end of path and  reload kinematics

 

MOM_reload_kinematics is already called by SET_LOCK in MOM_lock_axis 

but it should be OK to overload it

 

global mom_lock_axis
global mom_lock_axis_plane

set mom_lock_axis "OFF"
set mom_lock_axis_plane "NONE"
MOM_lock_axis
MOM_reload_kinematics

 


Thanks agrivas,

I went a few better and created a PB_CMD cancel lock acess. here are the things I canceled:

 

    if { [info exists mom_sys_lock_value] } {unset mom_sys_lock_value}

 

    if { [info exists mom_sys_lock_plane] } {unset mom_sys_lock_plane}

 

    if { [info exists mom_sys_lock_axis] } {unset mom_sys_lock_axis}

 

    if { [info exists mom_sys_lock_status] } {unset mom_sys_lock_status}

 

    if { [info exists mom_lock_axis_value] } {unset mom_lock_axis_value}

 

    if { [info exists mom_lock_axis_plane] } {unset mom_lock_axis_plane}

 

    if { [info exists mom_lock_axis_] } {unset mom_lock_axis}

 

I'm still getting output that is not what is expected.

 

Wayne-o

 

 

 

 

 

 

Re: Lock Axis Issue

Valued Contributor
Valued Contributor

Chigishev wrote:

Excuse me, why you talk about Lock Axis?!

You have XYC machine and travel limits for Y and you want use XC motions, but no XY? NO.

I think - you need G68, G68.1 function in your postprocessor to rotate or rotate and translate MCS, rotate heads\tables and drilling, milling...


Thanks for your reply. The machines are 5 axis head/table and table/table machines. Both can position XYZBC or XYZAC in order to machine the ovals so a G68 axis translation is not required. I'm not sure that you have captured what the problem really is.

 

 

 

Re: Lock Axis Issue

Phenom
Phenom
You might want to look in MOM_lock_axis and the proc's it calls Unset may not be enough It changes and reloads the kinematics depending on the lock axis variables.

Re: Lock Axis Issue

Valued Contributor
Valued Contributor

agrivas wrote:
You might want to look in MOM_lock_axis and the proc's it calls Unset may not be enough It changes and reloads the kinematics depending on the lock axis variables.

Thanks,

Will do and let you know how I make out.

 

Wayne-o

 

 

 

Re: Lock Axis Issue

Solution Partner Phenom Solution Partner Phenom
Solution Partner Phenom

I have captured.

Re: Lock Axis Issue

Valued Contributor
Valued Contributor

Here's what I found;

 

The MOM_lock_axis calls the SET_LOCK tcl command and sends the three variables that are set in the

lock axis UDE. It has a series of switches that tests for the value of the variables sent and sets the appropriate

parameters. The last set of switches test for locked rotary axes. Beyond the terminating bracket of the switch

statements the following code is entered. It sets the mom_kin_arc_output_mode to LINEAR.

 

global mom_sys_lock_arc_save

global mom_kin_arc_output_mode

 

            if { ![info exists mom_sys_lock_arc_save] } {

                       set mom_sys_lock_arc_save $mom_kin_arc_output_mode

                        }

 

            set mom_kin_arc_output_mode "LINEAR"

 

          MOM_reload_kinematics

 

            return "ON"

 

The SET_LOCK command ends here and the mom_kin_arc_output_mode never gets reset!

 

 

I believe that this code is improperly placed in the SET_LOCK command. I think that it should have been placed

inside the closing bracket of the switch statements. In the event that a rotary axis was locked, only linear output would

be used.

 

The mom_kin_arc_output_mode would then be set back to it’s default value of “FULL_CIRCLE” when the lock

axis UDE is set to “OFF”. This happens when SET_LOCK is called with the mom_lock_axis value == “OFF”.

This will re-set the mom_kin_arc_output_mode with FULL_CIRCLE that was stored in the mom_sys_lock_arc_save

variable the first time through.

 

switch $mom_lock_axis {

            OFF {

                        global mom_sys_lock_arc_save

                        global mom_kin_arc_output_mode

 

                                    if { [info exists mom_sys_lock_arc_save] } {

                                                set mom_kin_arc_output_mode $mom_sys_lock_arc_save

                                                unset mom_sys_lock_arc_save

                                                MOM_reload_kinematics

         }

         return "OFF"

Re: Lock Axis Issue

Phenom
Phenom

The switch statement returns from the"OFF" case after resetting mom_kin_arc_output_mode 

It might be worth printing out the mom_lock_ and other variables before and after call to MOM_lock_axis

 

I remember reading somewhere about calling MOM_reload_kinematics twice fixing some problem.

 

 

 

   switch $mom_lock_axis {
      OFF {
         global mom_sys_lock_arc_save
         global mom_kin_arc_output_mode 
         if {[info exists mom_sys_lock_arc_save]} {
             set mom_kin_arc_output_mode $mom_sys_lock_arc_save
             unset mom_sys_lock_arc_save 
             MOM_reload_kinematics
         }
         return "OFF"
      }

 

Learn online





Solution Information