I was looking in the library section a function or function block that could implement some kind of cyclic velocity control as it exist in previous Indraworks engineering versions: ML_OpenCyclicVelocityChannel.
As I couldn´t find it, I would like to ask anybody if there is a library that I am not looking at, or any suggestion of how to implement this kind of control.
Thank you very much in advance for any given help, support and/or hint.
Solved! Go to Solution.
At the moment only a cyclic position channel is implemented and velocity is not planned.
As a workaround you could use the formula: pos = vel*cycleTime. Therefore you need AxsCyclicSetPoint to open the cyclic channel and SetCyclicSetPoint to send the position.
Thank you so much CodeShepherd for your fast answer eventhough it is not the one I would like to red but it is a solution at leats.
I am a little affraid that the solution you propose could cause some kind of minor inestability or not continuos movement because when the position is about to being reached the velocity is decreasing to reach the point with zero velocity or micro changes in velocity that could be felt as vibration or something. Just theoretical speaking (or guessing) of course...but those kind of workaround usually has a hidden cost to pay.
Thanks anyway and again for your help and support.
I think I found another workaround, that is not fully tested right now. Feel free to write me a private message with you contact data if you have questions or need a meeting for testing.
Steps to go:
Add velocity related parameter to the cyclic data
S-0-0036 Velocity command value
S-0-0037 Additive velocity command value
S-0-0040 Velocity feedback value of encoder 1
Add velocity command value and feedback to the AxisProfile mapping
Use e.g. in PLC the command
Data.In.Velocity := 0.0;
Data.In.DriveVelMode := TRUE;
Send own velocity command values via additive velocity command value