Open Loop Current Curve

Has anyone used a curve to command current during open loop before?

I have a test i need to run on an actuator that will need to start in closed loop, go to a position, then run a current command (time based list of currents), the return to closed loop and return to the start position.

I tried spoofing the axis by setting a direct output equal to the target position then running a position curve equal to the currents i want to run, but i cant figure out how to fix the position transition errors.

Hi Khonodel,

There are a couple of ways to do this, but here’s the easiest option:

  1. Create a virtual axis.

  2. Create an output-only axis (or use the axis you already have configured).

  3. Create a user program that repeatedly issues a Direct Output command to the output-only axis using the position value of the virtual axis.

  4. Run the curve on the virtual axis.

Does that make sense? Let me know if you have any trouble getting things running!

Thanks,

Ahhh, ok. I was close. Haha.

So this will allow me to toggle between open and closed loop control by either using or not using the virtual axis?

That virtual axis was the last piece of the puzzle, you basically had the solution other than that!

With this approach you can switch between open and closed loop by running your program issuing direct output commands or stopping that program and sending closed loop commands to your original axis. It should be a very nice transition.

Ok im still having issues, is the output of the direct output command supposed to be the target position of the virtual axis? Or should i use a different element for the direct output command?

Also im commanding direct current output as the first command in the same step as i am starting the curve. And using a jump next after both steps. Does that sound right?

Edit: i think i found the issue, you said “repeatedly issue commands”

Hi Khonodel,

You got it! those direct output commands need to be issued each time you want the current output value to be updated. If you’re still having issues feel free to send me over your project: support@deltamotion.com, Id be happy to look over the program.

Thanks,

Ok next question, how do i get a command to loop until a curve has finished? I dont see any tags or elements related to curve completion.

Also, im still getting transition errors. Even if i set the starting value of the current curve equal to the actual position of the actuator. Do i need to add a transition command to the start of the curve step?

If you issue the curve start command to your virtual axis you’ll be able to see when the TG (Target Generator) done bit is active that the curve cycle will be complete and you can kick out of your open loop sequence then.

Ok gotcha!

Is there anything else i can do to help with the transition error?

Hi Khonodel,

I would issue the Transition Rate command to your virtual axis first. Once you do this the transition parameters will be saved in the axis and you’ll be able to start the curve at any point!

Thanks,