Given the succes of this forum for my last question I thought I'd give this one a go too
As before, I am configuring an MCF file for a specific machine with a Siemens 840D control
The machine has a crossrail which can be set to a variety of positions. The machine datum is aligned with this crossrail and as a part of this movement the subprogram that controls the crossrail appears to update
the basic frame using the following:
...where _PC contains the offset compensation value for the current crossrail position (e.g. -600, -800, -1000.0...). I am attempting to use the subprograms from the machine's ARC file as directly as possible.
The program then updates the settable frame using:
In my simulation I am expecting to see the result of these commands being the machine datum being shifted by the compounding of these two frame offsets (e.g. -600+70=-530), as this is what appears to occur on the machine, however what I see instead is only the shift from the original machine datum to the settable frame from the $P_UIFR.
I've had a look at the GMe_SetFixedTransformation that is attached to the G500, G54...etc. and see only a reference to the $P_UIFR frame variable. My question therefore is, is there some additional configuration required in the MCF to make this basic frame work, given that the $P_UIFR frame setting works out of box (out of the CCF) and that I see an entry for $P_UBFR in the CCF file?
Is this a misinterpretation of how the actual control is working in this case (as with my last post!)?
Any help much appreciated.
Solved! Go to Solution.
The answer is simple and not satisfieing .
The transformation of $P_UBFR is not part of teh OOTB CCF.
The variable it self is defined, but not used in any transformation.
Solution will be customize it, be add a transformaiton into the transformaiton stack e.g. name it "UBFRAME" and define a variable listener like this.
Hope it will do the job
Thanks for the reply.
I don't see that method within my CCF (pulled from NX9.0.2). Is there any chance you could share the contents of the method?
Correct, as I wrote these variable listener is not part of the delivered CCF. You need to create it in your MCF; and make sure you add a related transformation into the transformation stack.
I understand the creation of the variable listener, but you referenced a method (GMe_SetTrafoByFrame) which is not available for me to use.
I attempted to create a method of my own (as below) but I get errors when running the simulation about ActivateTransformation, GMe_ActivateBaseFrame and $P_CHBFRAME
Thanks Thomas, that was the problem.
I've ended up manipulating the BASE frame in the $P_UBFR variable, instead of creating my own, as this meant SUPA did not need any extra configuration, this made me consider that other frame manipulation may not work as expected alongside the new frame. It seems to make sense after reading the 840D manual.
Thanks both for your help.