You can do that with the PWM, if my memory is working tonight it goes up to 5KHz., outputs of a GEIP VersaMax Micro, use the DC out 14 point unit and you will have 4 PWM outputs, there is a version that runs on 12 VDC also.I'm not buying the math. Keep in mind i am NOT a mathematician .
A four stroke V8 only has 4 firings pre revolution so
3000RPM=12000 firings per minute=200 firings per second
That's 5 milliseconds
I don't think a PLC's scan time is consistent enough to it it though.