Jump to content

End Park Position


Recommended Posts

maybe this:


defineFunctionStart("PositionCMM")
	if getRecordHead("palletlocationnumber") == getRecordHead("lastpalletlocationnumber") then
	positionCMM(getPositionCMM().x,getPositionCMM().y,Pos_Z)
	positionCMM(getPositionCMM().x,Pos_Y,Pos_Z)
	endif
defineFunctionEnd("")


selectCase getRunID()

	case "Miniplan1"
	Pos_Y= -450
	Pos_Z= -10
	executeFunctionNamed("PositionCMM")
	case "Miniplan2"
	Pos_Y= -70
	Pos_Z= -10
	executeFunctionNamed("PositionCMM")
	case "Miniplan3"
	Pos_Y= -50
	Pos_Z= -20	
	executeFunctionNamed("PositionCMM")
endSelect
Link to comment
https://qualityforum.zeiss.com/topic/13636-end-park-position/#findComment-69908
Share on other sites

Please sign in to view this quote.

You just gotta right-click the end park commands you want your conditions applied to and add it to each one.

The conditional statement getStartSetting("selection") will return the name of the active characteristic selection in the CNC start options. This includes mini-plan names, so if you were to use a comparison to an expected mini-plan name, you might get what you want. Say you have a mini-plan named "OP1 checks". You could apply the condition getStartSetting("selection")=="OP1 checks" to a clearance move in your end park list. If you picked that mini-plan, this would return true, and you would skip that move command (by default). You could get the opposite result by using <> in place of == or by flipping the condition paths in the window.

I've just tested this and confirmed it will work, but since you can only apply your condition to a single move command at a time, you'd have to come up with a series of end park commands in the same end park position set, each one keyed to function based on the output of its own condition. Like an extremely inefficient if-else function block. It'd be messy.

condition.JPG

Link to comment
https://qualityforum.zeiss.com/topic/13636-end-park-position/#findComment-69910
Share on other sites

I should have read Israel's code on the last page first. Certainly, if you have PCM available it'll be a whole lot more elegant. If not, I see that getRunID() does what I attempted with getstartSetting("selection") except it's much quicker to type. That would make my non-PCM solution look more like getRunID()==whatever mini-plan name you want to check against.
Link to comment
https://qualityforum.zeiss.com/topic/13636-end-park-position/#findComment-69914
Share on other sites

×
×
  • Create New...