Making Step Pulses with Ramp

jthornton

Member
Join Date
Jul 2002
Location
Poplar Bluff, MO
Posts
295
Is it possible to make pulses for a stepper drive with an acceleration/deceleration curve of some sort in ladder. I'm using an Automation Direct Click PLC which has one high speed output.



JT
 
Are you sure about the high speed output? I only see reference to high speed Inputs on the Automation Direct web site.
 
Last edited:
If you are just doing velocity, I would get an analog velocity drive and use an analog output from the PLC. Trying to generate pulses using ladder certainly has limitations. If you want to try it, search for ramp functions on this website and try to implement some of those ideas into your timers. 5us on and off timing of the hardware doesn't really help you if you can't control it in those increments.
 
I have done this but on a motion controller with s-curves. It is tricky and requires fast update time and control of the counters. I don't see how this can be done in a PLC without having a stepper motor controller module. Most stepper motor controllers are crude and are only able to generate linear ramps. ( no s-curves ).
 
Thanks for the feedback, looks like I'll need either a Panasonic FP-X or Automation Direct BX10. Both of them have motion routines.


I saw that video, seems like the Click can only send ASCII messages to the SureStep Advanced Drive.



JT
 
Last edited:
The right hard ware is needed too. For instance, if the ramp is modified every millisecond it would be good to have a 1 MHz counter. In the 1 every millisecond I would adjust the number of counts the counter divisor depending on the number of counts I needed that millisecond. If I needed 5 pulse in a millisecond I would set the counter to generate a pulse count every 200 clocks. If I needed 200 pulses a millisecond I would generate set the counter to generate a pulse every 5 counts. There were limitations. Sometimes the pulses had to be a minimum of 5 counts long. This meant I usually was limited to 100 pulses every millisecond so each pulse was 5 counts on and 5 counts off. This is just an example. In practice the counter ran at over 20 MHz so that finer resolution was possible.
Often I need an odd number of pulses. I had to keep track of the remainders to make the ramp smooth. This is not a simple task when generating s-curve because every millisecond required a different amount of pulses. A liner ramp may require 8.5 pulses every millisecond, then you can alternate by sending 8 pulses then 9 pulses then 8 pulses and so on.


Buy a card that can do what you want so you don't have to waste time reinventing the wheel.
 

Similar Topics

Hi, I have a simple function block that does not function when I use multi instance SFB4 IEC Timer On Delay. I could not attached a zip of the...
Replies
7
Views
9,089
Hi everybody, I have a request from you, i wanna learn about how to use DB to program a process e.g. a circulation process where inputs are ...
Replies
4
Views
3,056
Hi, I have seen a few post with similar topics and I have tried contacting the authors however I have not had any luck so I am posting this new...
Replies
14
Views
1,011
Hi everyone I've created an FC that includes the blocks TCON, TDISCON, TSEND and TRCV. This block has to be as generic as possible across...
Replies
15
Views
1,515
Hi all, I have been working on a tool for my company that handles a specific task our company runs into often related to PLC's. This is a tool I...
Replies
15
Views
2,875
Back
Top Bottom