I have a Bosch Rexroth EFC 5610 VFD which I control using the UCCNC Modbus Master plugin, which is part of the UCCNC default delivery. I am not only controlling it but also monitoring some of the parameters the VFD can deliver through Modbus. The values I am reading are presented in modified UCCNC tabs and fields. I removed some and added some others. Another major difference compared to the original UCCNC is the way I start the spindle. For example the following G-code does not cause any problems:

S24000 // Set spindle speed to 24,000 rpm
M3 // Start spindle
G0 Z -1
G1 X 100 Y 100
.
.
.
...and so on. The code works because I am checking the so called "speed arrival" signal sent from the VFD in my M3 and M4 macros, and simply don't continue unless the signal is set within a certain time. If the signal for some reason never comes then the G-code will be stopped. The advantage is that I don't have to care about the time it takes for the spindle to run up to speed, and also if one part requires slower rpm than the other, I don't have to care, I can use the same code after tool change. There is no feedback from the spindle, so of course, the VFD has no idea about the real state of the spindle except through checking the current, the voltage and the frequency it outputs, but this feature works very well.

Anyway, I have been using these features since several years, i.e. ever since I bought the VFD for 5 years ago, and I am very happy with it, glad that I don't have to use PWM and simple control. The other day I made a video showing the modifications and how I use these. I hope some of you are interested in watching it. Ask if you have questions regarding the macros, I can share these, but unfortunately, these work only with the Bosch VFD and I have no intentions, nor do I have time, to make them generic and usable for other VFD. Nevertheless, I can answer generic questions if anyone is interested.