If you use Profilab together with a microcontroller, you do not need a pulse generator. And you do not need a relay board. You can not position well if you do it your way, or that should not be important.
It is a problem that Profilab can only send max 1KHz, which is too low for a stepper motor driver in microstep operation.
If you send a command to a controller with Profilab, the controller will do the rest.
You give a command for pulse and direction, (you can do this via usb or com) and the number of steps you want to make. The only drawback is that you have to write two pieces of software, one for Profilab and one for your controller. But if you do that well, it works great.
![Wink ;)](./images/smilies/icon_e_wink.gif)