We generally use a stepper motor drive.
Depending on the make/model, you can usually set them up to make specific moves/velocities or follow pulse trains.
Some will take encoder feedback to do position verification (not usually closed loop control but the ability to see if the step motor went where commanded).
This has the advantage of letting the PLC output low power signals to drive a higher power step motor. The drive has all the power components to drive the bigger motor.
Also, most drives do something called microstepping which allows to you to have finer position control than the 1.8 deg step angle built into most step motors.