Is anyone aware about some solution to use CYCL 19 or one of PLANE transformations in ISV to simulate non-orthogonal machine, but using nominal coordinates of rotary axes (NOT spatial angles)?
My case is old machine, which is using CYCL 19, where they use nominal angles, instead spatial angles in this cycle - I was confused, because it is different than CYCL 19 usually works, but this is how they program it.
I'm looking for any workaround to make it work with ISV.
The only idea I had, was to use PLANE AXIAL in ISV, but it seems to be not implemented for non-orthogonal configurations:
Solved! Go to Solution.
I hope I understood you correctly....
PLANE AXIAL defines the nominal/programmed coordinates of the rotary axis. For machines with such a 45° B-Axis the NC code looks different between PLANE SPATIAL and PLANE AXIAL regarding the rotary values.
For example if you want to have the spindle direction horizontal, the real machine axis angle is 180°. This must be programmed in PLANE AXIAL. The PLANE SPATIAL calculates the correct machine axis value when 90° are programed.
Now the question is how is the coordinate system rotation handled? When 180° is programmed, the csys should rotate 90° only instead of 180°. Or rotates the Csys 180° as well or is there no csys rotation?
The question is the same for CYCL DEF 19.
Is this really handled on the real machine?
I know, that programmed angles will be different - this is the point. I was "ensured" that this is the way how this machine is programmed.
But if you too doubt about it, I will try to confirm it myself, by testing CYCL19 on that machine.
If it turn out to be true, then I will be back with my question - how to handle it with ISV
CYCL 19 works with spatial angles but @Marek_Pawlus wrote that this is an old machine and CYCL 19 works with nominal angles like plane axial.
So 180 deg in this CYCL 19 rotates axis to 180 deg to make it horizontal.
I understand it this way.
But as he said plane axial is not implemented in ISV so cycl 19 with this configuration is not implemented too.
I have a confirmation.
Real rotation angles are used in CYCL 19 on this machine instead of spatial angles.
Any ideas for a workaround how to handle it with ISV?
CSYS rotation is done correctly on real machine with code which I paste below.
Cycles 300 and 301 are responsible for actual rotation of axes.
With this, code machine also transforms it's coordinate system to correct position (which I would expect with B270, C270 using spatial angles). This example sets tool to horisontal position.
Obviously it was tested with sample moves in transformed XY plane - not just rotating axes.
CYCL DEF 301 DREHUNG ~ Q1501=+0 ;Os B stopni CYCL DEF 300 DREHUNG ~ Q1500=+180 ;Os C stopni CYCL DEF 19.0 WORKING PLANE CYCL DEF 19.1 B+0 C+180
in my opinion, there is no easy way to make it work with the OOTB data currently. There is a higher implementation effort needed to make it work with some restrictions and fixed assumptions. The problem what I see is the calculcation for the csys rotation based on the programmed values.
Currently, in CSE, there is the function calculateIKSAngles which uses a target vector as input to calculate the real machine axis values. On your machine there is the other way around. The input is a machine axis value and the result must be an orientation vector. The next complexity is to calculate out of this vector the angles around A, B, C. I´m not really sure if this works and how it should work in general without any assumptions. I´m really interested in how the real machine controller works with that. Or how the math could handle this. Maybe it´s pretty easy and my thinking is too complex.
Sorry Marek that I couldn´t give you a simple and satisfied answer.
thanks for your response!
Maybe I´m thinking too complicated ;-) But what you say makes sense and is definitely a possible solution.
@Marek_Pawlus is the input from Heinrich enough to implement the CYCL 19 or do you need some additonal information?