585,670 active members*
3,976 visitors online*
Register for free
Login
Results 1 to 6 of 6
  1. #1
    Join Date
    Aug 2004
    Posts
    421

    Any AB PLC experts?

    I have what I think to be kind of a complicated ladder logic to build. What I am wanting to do is this:

    2 inputs, measured spindle speed (1 pulse per revolution), and PWM speed output by Mach2

    3 outputs, spindle speed increase, decrease, and hold for speed change.

    I am trying to figure out how to measure frequency using ladder logic. If I can figure this out I can determine the actual frequency of the spindle, compare it to the signal output by Mach2, then adjust accordingly.

    I have high speed counters, but those have a finite limit, and I really need more of an instantaneous measure of frequency.

    Any thoughts?

    Joe
    If you try to make everything idiot proof, someone will just breed a better idiot!

  2. #2
    Join Date
    Aug 2004
    Posts
    421
    I should add, is thier a better way? PIC? (don't know what the capabilities of pic are)
    If you try to make everything idiot proof, someone will just breed a better idiot!

  3. #3
    Join Date
    Oct 2004
    Posts
    742

    To determine spindle speed:

    First of all, the PLC will require a certain amount of time to do a program scan. On some of the high-dollar units this time can be as small as .3 nano seconds. The program scan time will vary depending upon the length of the ladder logic program. Also, the scan time will vary from one PLC to another.

    If you had an inverse time function -- then you could be on your way to making this work.

    You would need to have the PLC program wait on a single pulse from the spindle. This pulse would start the inverse time function countdown. A second pulse from the spindle would stop the inverse time function. The amount of time that passed between the two pulses would be the spindle speed.

    Example: pulse - countdown for .0005 Seconds - pulse
    1 Second divided by .0005 = 2000 RPM's.

    The inverse time function would have to be very accurate to at least 4 decimal places.

    EDIT: The inverse time function would have to be very accurate to at least 8 decimal places.

    I don't know how practical it would be to try to attempt this with ladder logic.

    I believe mach III has a spindle speed input that directly controls the PWM output to hold the feedrate in the program. If you are wanting to verify the speed of the spindle generated by Mach III, I would recommend a DC motor connected to the spindle and attached to an analog meter. Using a calibration pot one could calibrate RPM's to a DC Voltage which would read on the meter.

    I have not worked with Allen Bradley PLC's in many years, and realize that many advances have been made in this field. So, my above thoughts are based on technology of 15 years ago.

    Sorry, I could not be of any help, but thought I would respond as best as I could without having any specifications of any of the equipment that you have at your disposal.

    Jerry

  4. #4
    Join Date
    Mar 2005
    Posts
    1498
    051109-1634 EST USA

    jderou:

    A once per revolution pluse will not provide very good resolution in a reasonable time. Note 3600 RPM is 60 RPS. Using direct counting and a 1 sec sample period you will have and output of 60 +/- 1 . If the RPM is close to 60 instead of 3600 then the reading will be 1 +/-1 . If instead you measure the period between pulses, then you can get much higher resolution, but the time to get results is inversely proportional to speed.

    If you use 60 pulses per revolution then a direct count over a 1 sec sample time gives you RPM +/-1 .

    An 8259 or derivative counter timer can be used for your application. This would include many different microcontrollers.

    It will require considerable study on your part to work with these devices. You probably need to more precisely think out your requirements relative to this once per revolution encoder.

    .

  5. #5
    Join Date
    Dec 2003
    Posts
    24220
    PLC's are virtually useless for realtime applications, unless specialty cards are used and then it gets expensive, especially AB.
    A PIC probabally could be used by starting an internal timer and use the input interrupt and read the time elapsed, I think I have seen something in the the various ap. notes by MicroChip or others doing this.
    Al.
    CNC, Mechatronics Integration and Custom Machine Design

    “Logic will get you from A to B. Imagination will take you everywhere.”
    Albert E.

  6. #6
    Join Date
    Dec 2004
    Posts
    518
    jderou,

    Hi. I haven't programmed a PLC-5 in many years, but I know that with the slicks (SLC-500 series) you can pick a ladder file to be driven off of a selectable timed interrupt at an interval you choose, say once a second. You could have the pulse input from the spindle index a counter in a regular ladder file. Then the interrupt driven file (getting called one per second) would simply read the counter value as the frequency/speed and reset the counter's accumulated value for the next pass.

    If you used a small DC motor as a tach generator and ran that to an analog input card you would be better off. There would be no need for any special interrupt driven file-just read the analog value and scale directly to an RPM (x volts = Y rpm).

    A PWM signal can be run through a simple resistor-capacitor low pass filter to get the equivilant average DC output. You could get the PWM speed reference, convert to DC via such a flter, and make this a second analog input into the PLC.

    All in all though it all seems a bit kludgy...I like the PIC idea better.

    Evodyne

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •