cancel
Showing results for 
Search instead for 
Did you mean: 

4 axis CSE Simulation: usage of G68.2 and G53.1

Valued Contributor
Valued Contributor

Hello

 

Im trying to do a 4 axis simulation for fanuc machine.

 

I am unable to get G68.2 and G53.1 to work in 4 axis setup.

I did try this with my own setup first and then with SIM04 fanuc mm of the box simulation.

 

 

In both Im getting error from CSE with G53.1 that Axis B is not defined.(see included picture).

53.1 command in CSE still looks for 5th axis even when kinematic chain is defined without 5th axis.

 

Do I need to define Dummy axis or what?

Has anyone countered same problem?

 

5 REPLIES

Re: 4 axis CSE Simulation: usage of G68.2 and G53.1

Siemens Phenom Siemens Phenom
Siemens Phenom

Hi Jussi,

 

I did not tested it but try the following:

- create a dummy B axis

or

- set the GV_strFifthAxisName to "" in MCF File.

 

Inside the G53.1 metacode we call the following macroc ommands. As you can see we use global variables with the included  4 and 5 axis name.

                  <MacroCommand>
                     <Name>GMe_SetJointValue</Name>
                     <Param>GV_strFourthAxisName</Param>
                     <Param>GV_dFourthAxisAngle</Param>
                     <Param>FALSE</Param>
                  </MacroCommand>
                  <MacroCommand>
                     <Name>GMe_SetJointValue</Name>
                     <Param>GV_strFifthAxisName</Param>
                     <Param>GV_dFifthAxisAngle</Param>
                     <Param>FALSE</Param>
                  </MacroCommand>

Inside the GMe_setJointValue method we use the isDefined function for this Alert message.

doesJointExist(strJointName)

ThomasF

Re: 4 axis CSE Simulation: usage of G68.2 and G53.1

Valued Contributor
Valued Contributor

Hello

 

Does not work.

 

Tryed both ways, defining without axis name and defining with dymmy axis.

 

What next?

Re: 4 axis CSE Simulation: usage of G68.2 and G53.1

Siemens Phenom Siemens Phenom
Siemens Phenom
Hi Jussi,

I checked it.. at first I have to say SORRY! The option with the empty GV_strFifthAxisName will not work as you already figured out.

But the other option with the dummy axis should work. Ensure that you assigned the axis to the channel after you created it and set the GV_strFifthAxisName to this axis name.

Thomas

Re: 4 axis CSE Simulation: usage of G68.2 and G53.1

Valued Contributor
Valued Contributor

Hello

 

Still some problem, dummy axis helped simulation to run.

I did not give any vector for 5th axis in CSE.

 

But in simulation I still have problem.

Calculation of G68.2 is correct.

Then machine is commanded to Z3 this should be ok, but it goes to -933.003.

 

Is this behavies cause of 5-axis defined as dummy and not moving part.

I did try 5th axis with vector or no vector defined in CSE, it had same behavier.

 

Jussi

Re: 4 axis CSE Simulation: usage of G68.2 and G53.1

Siemens Phenom Siemens Phenom
Siemens Phenom
Hi Jussi,

now the problem is somewhere else and it´s hard to specify where it is in detail.

Please check the following points:
- Chain definition correctly in kinematic model? Using correct chain name? --> GV_strSwivelingChainName
- Origin of machine zero correctly? Move all axes to zero and check if the tool mount position matches with the machine zero
- GeoAxis definition in channel configuration correclty?
- Axis Limits correct? GV_dFifthAxisLimitMax/Min, GV_dFourthAxisLimitMax/Min
- Vector settings correct? GV_dFourthAxisX/Y/Z, GV_dFifthAxisX/Y/Z
- Axis names correct? GV_strFifth/FourthAxisName

- Maybe it´s easier to understand what values are calculated when you debug the IKS function in CSE Development tools. Read the cse manual how to use it.
It can look like this:
- getVectorX(calculateIKSLinears(GV_strSwivelingChainName, createCoordinate(), 90, 0)
- getVectorY(calculateIKSLinears(GV_strSwivelingChainName, createCoordinate(), 90, 0)
- getVectorZ(calculateIKSLinears(GV_strSwivelingChainName, createCoordinate(), 90, 0)
--> the third parameter is the partangle and the fourth one the toolangle

- you can also debug the "TABLEROTATE" transformation. The calculated values from IKS are written to that transformation. With NX1003 its possbile the request the values directly from there.

getVectorX(getMatrixTranslation(getTrafoMatrix("TABLEROTATE")))
getVectorY(getMatrixTranslation(getTrafoMatrix("TABLEROTATE")))
getVectorZ(getMatrixTranslation(getTrafoMatrix("TABLEROTATE")))

Thomas

Learn online





Solution Information