1) Motion Assistant is a high level, interactive application that makes calls to the Flexmotion driver. You can do anything with direct calls to the Flexmotion driver that you can do with Motion Assistant. Can you do everything in C++ that you can do in something like Excel or Photoshop? Sure. Is it as convenient? Probably not.
In the case of contouring, you will need to load the file, manipulate the data slightly (if necessary), configure a buffer, write to the buffer, tell the card to go, and check the progress of the move along the way if you like. In all, you can do this with 6-8 VIs and we have a few good examples to show you how, although you can do this in Motion Assistant in about 30 sec.
2) Yes.
3) You can probably get a better sales pitch from your local sales engineer 🙂 (and a demo too), however I can tell you that I am very familar with the Flexmotion API and I still find myself using Motion Assistant for many projects, just to save time.
4) I'm a little confused about this question. If by "step" you mean one move in a sequence of moves, then you specify the exact move profile you want including the position, velocity, accel, and je_rk (apparently the grammar checker doesn't like that industry standard term). You do not just guess and check. The controller calculates the commands required for the motor to follow the move you request.
If by "step" you mean one physical increment on the motor, then this will depend on the type of motor and feedback device you want to use. The math is pretty simple. Let's say you have a linear stage with a 200 steps/rev motor (very common), microstepping factor of 10 (2 to 256 is common), and a lead screw with a pitch of 5 mm. Then 1 step is 1/2000 rev or 0.0025 mm in physical units. For servo motors, the "steps" are determined by the resolution of the position encoder attached to the motor shaft.
Hope this helps. Happy holidays!
Regards,
Brent R.
Applications Engineer
National Instruments