Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Reduce spindle acceleration in position control mode

Beitrag 26.04.2023, 09:48 Uhr
ES100
Level 1 = Community-Lehrling
*
Hi,

I have a tool that I use in position control mode (SPOS).
I would like to reduce the spindle acceleration for this tool to e.g. 0.5 rpm.

The only way I found how this can be achieved is by changing the MD35210 $MA_GEAR_SETP_POSCTRL_ACCEL.
However, I'd rather not do that since I don't want to affect other tools by this change.

It was hinted to me that I could also use the system variable $TC_TP_MAX_ACC[t] to reduce the max. acceleration of my tool.
However, that only works when I use the tool in speed control mode (S-command).
In position control mode (SPOS) it does not limit the tool acceleration.

Does anybody have an idea how my problem can be solved?
Ideally this acceleration setting should only be tied to my specific tool.

Btw, I use a SINUMERIK 840 D sl on a 5 axis milling machine.

Thank you!
   
Beitrag 27.04.2023, 14:01 Uhr
CaptainFu
Level 1 = Community-Lehrling
*
QUOTE (ES100 @ 26.04.2023, 11:48 Uhr) *
Hi,

I have a tool that I use in position control mode (SPOS).
I would like to reduce the spindle acceleration for this tool to e.g. 0.5 rpm.

The only way I found how this can be achieved is by changing the MD35210 $MA_GEAR_SETP_POSCTRL_ACCEL.
However, I'd rather not do that since I don't want to affect other tools by this change.

It was hinted to me that I could also use the system variable $TC_TP_MAX_ACC[t] to reduce the max. acceleration of my tool.
However, that only works when I use the tool in speed control mode (S-command).
In position control mode (SPOS) it does not limit the tool acceleration.

Does anybody have an idea how my problem can be solved?
Ideally this acceleration setting should only be tied to my specific tool.

Btw, I use a SINUMERIK 840 D sl on a 5 axis milling machine.

Thank you!



With the command "Acc" an acceleration correction (in percent) for the desired axis / spindle should be possible.
Whether you get exactly 0.5 1/s² (rpm ?), or how close to it, depends on the machine data.
For example for spindle 2:

Acceleration correction
Acc[S2]=Round((0.5 * 100) / $MA_GEAR_STEP_POSCTRL_ACCEL[S2])

Spos[2]=Ic(90)

;Acceleration back to 100 percent
Acc[S2]=100

Spos[2]=Ic(-90)
   
Beitrag 27.04.2023, 15:17 Uhr
ES100
Level 1 = Community-Lehrling
*
Hi CaptainFu,
thank you that generally seems like a good solution!

There is just one catch that I see:
$MA_GEAR_STEP_POSCTRL_ACCEL contains values for the 6 gear steps 0 to 5 on my machine.
So e.g. $MA_GEAR_STEP_POSCTRL_ACCEL[3,SPI(1)] refers to the spindle acceleration in gear step 3.
Now I am not sure what gear step is being used when using the SPOS command.
I assume it's either the lowest gear step or the one that was previously being used in speed control mode...?

So basically it could be either $MA_GEAR_STEP_POSCTRL_ACCEL[0,SPI(1)] or $MA_GEAR_STEP_POSCTRL_ACCEL[1,SPI(1)], etc. that I'd have to put in your formula.
I'll have to find out.
But I like your idea and once I have figured out the gear step being used I think I'll go with that approach, thanks!
   
Beitrag 28.04.2023, 14:06 Uhr
CaptainFu
Level 1 = Community-Lehrling
*
QUOTE (ES100 @ 27.04.2023, 17:17 Uhr) *
Hi CaptainFu,
thank you that generally seems like a good solution!

There is just one catch that I see:
$MA_GEAR_STEP_POSCTRL_ACCEL contains values for the 6 gear steps 0 to 5 on my machine.
So e.g. $MA_GEAR_STEP_POSCTRL_ACCEL[3,SPI(1)] refers to the spindle acceleration in gear step 3.
Now I am not sure what gear step is being used when using the SPOS command.
I assume it's either the lowest gear step or the one that was previously being used in speed control mode...?

So basically it could be either $MA_GEAR_STEP_POSCTRL_ACCEL[0,SPI(1)] or $MA_GEAR_STEP_POSCTRL_ACCEL[1,SPI(1)], etc. that I'd have to put in your formula.
I'll have to find out.
But I like your idea and once I have figured out the gear step being used I think I'll go with that approach, thanks!


You can use the Nc variable $AC_SGEAR[spino] to determine the active gear step. This should return the number of the step.
Your welcome.
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: