Cancel
Showing results for 
Search instead for 
Did you mean: 

Angular limits head/head machine

Experimenter
Experimenter

I have a post working for sometime with successful retract/re-engage when my C Axis hits the limits.  I've run into a case where the toolpath we created in NX exceeded the A Axis Limits.  It is impossible for the machine to reach the position.   I have the limits in the A Axis set to +/- 108, but the position in the toolpath was A-145.  The post continued on and output the Axis position to A0.0 which was not very favorable at the machine.  After some investigation, and tunring on the warnings in the post, I do get an error message that axis limits were exceeded.

 

How can I have the post stop and throw an error when the Axis limits are reached?

Thanks in advance for the assistance.

 

NX11.0.2.7    PB10.0.3.0

5 REPLIES
Highlighted

Re: Angular limits head/head machine

Gears Phenom Gears Phenom
Gears Phenom

as you said - check some warning,variable (debug) and check it in every move with:

 

  IF  some warning is telling you "appropriate string"

DO

 MOM_abort or MOM_display_message or MOM_output_to_listing_device or whatever..

---------------------------------------------
#♫ PB, 5ax, itnc, nx, vericut ♫ #

Re: Angular limits head/head machine

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

Yes, it is MOST annoying that there is (by default) no *visible* warning that a rotary position cannot be reached.  You just get garbage output that can crash the machine...

 

You need something like this:

 

#=============================================================
# Over-ride post-supplied PB_catch_warning with our own procedure
# NOTE: PB_catch_warning is defined in an "uplevel", so this must be done in "start of program"
# Also, it is reset in every "Start of path", so we have to over-ride there as well

proc PB_CMD_Reset_PB_catch_warning {} {
#=============================================================
uplevel #0 {
	#---------------------------------------------------------------------------------
	proc MOOG_PB_catch_warning {} {
	#---------------------------------------------------------------------------------
	# Called by MOM_catch_warning (ugpost_base.tcl)
	#
	# - String with "mom_warning_info" (come from event generator or handlers)
	#   may be output by MOM_catch_warning to the message file.
	#
	# - "mom_warning_info" will be transfered to "mom_sys_rotary_error" for
	#   PB_CMD_kin_before_motion to handle the error condition.
	#

		global mom_sys_rotary_error mom_warning_info

		if { [string match "ROTARY CROSSING LIMIT." $mom_warning_info] } {
			set mom_sys_rotary_error $mom_warning_info
		}

		if { [string match "secondary rotary position being used" $mom_warning_info] } {
			set mom_sys_rotary_error $mom_warning_info
		}

		
		if { [string match "WARNING: unable to determine valid rotary positions" $mom_warning_info] } {

			# # To abort the current event
			# # - Whoever handles this condition MUST unset it to avoid any lingering effect!
			# #
			# global mom_sys_abort_next_event
			# set mom_sys_abort_next_event 1

			global mom_operation_name
			set message "\n\n\n\n---------------------------------------------------------------------------------------------------------"
			set message "$message\n$mom_operation_name - ERROR -unable to determine any valid rotary axis position - post aborting"
			set message "$message\n---------------------------------------------------------------------------------------------------------\n\n\n\n"
			# Don't do abort if in simulation mode
			global mom_post_in_simulation
			if {[info exists mom_post_in_simulation] &&
				$mom_post_in_simulation != 0} {
				MOM_output_to_listing_device "$mom_operation_name - ERROR -unable to determine any valid rotary axis position"
				# TODO: Sync manager - is this 1st pass (opening sync manager) or 2nd (posting from sync manager)
				if {$mom_post_in_simulation != "SYN"} { return }
			}
			MOM_abort $message

		}
	}
}	;# end of uplevel


	if {![string length [info procs UGS_PB_catch_warning ]]} {
		rename PB_catch_warning UGS_PB_catch_warning
		rename MOOG_PB_catch_warning PB_catch_warning
	} else {
		rename PB_catch_warning  {}
		rename MOOG_PB_catch_warning PB_catch_warning
	}
}

 

Put a call to that proc into the "Start of path" event

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled


Re: Angular limits head/head machine

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

Note the above code is (IMHO) pretty "fragile"

It depends on the warning string

- NOT being translated into a localized language

- NOT being changed by Siemens in some future version of NX.

 

Ken

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled


Re: Angular limits head/head machine

Valued Contributor
Valued Contributor

Hello.

Not sure if it helps, but I remember seeing something similar to your situation in the Haas VF2 5 axis post processor.

 

Go to

 

https://download.industrysoftware.automation.siemens.com/

 

Then

 

NX--> Product updates--> Pb posts--> Haas VF2 5 axis (folder)

 

To save locally...

 

MB1 on each file (21 files in total), save link as...(this process was once simpler in the pleasant past...)

 

  

Kal.

 

NX 9.0.3.4 MP12 | PB 9.0.3.2 | NX11.0.2.7 MP11 | VERICUT 7.3.4

Re: Angular limits head/head machine

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

On the same page, without going into the folder structure, you can enter "haas vf2" into the search box in the middle at the top of the page. Include the quotes to search for the phrase. In addition these post-processors haven't been updated for a long time, so it might be much better to just create one from scratch.

Stefan Pendl, Systemmanager CAx, HAIDLMAIR GmbH
Production: NX10.0.3, VERICUT 8.1, 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: NX12.0 | AWC 3.4 Preparing: NX12.0

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