RPM / Tachometer System

brettshelley

Member
Join Date
Dec 2007
Location
Durban
Posts
45
Long time no post!

Anyhow, long day taking it's toll!

Anyone know of a simple ladder routine to calculate RPM based on a simple proxy connected to shaft reading a pulse a rev off the shaft. Have to calculate 10-40 rpm based off the proxy. Driving me nuts!

So, one proxy, 1ppr, 10-40 rpm to reach!!!

Tried timers, retentive, counters blah blah!

PLC :DL06 Automation Direct

Cheers... Brett
 
This implements what I described over at the AD forum.


PLC 06
// Rung 1
// Address 0
STR X0
PD C0
// Rung 2
// Address 2
STR C0
LD K6000
DIV TA0
OUT V2000
// Rung 3
// Address 6
STRN C0
TMRF T0 K6000
// Rung 4
// Address 10
END
// Rung 5
// Address 11
NOP

#BEGIN ELEMENT_DOC
"X0","Shaft Prox","","1 PPR"
"C0","One Shot Of Prox","",""
"T0","Pulse Timer","","Time in 1/1000ths of a second between pulses"
"V2000","RPM","",""
#END
 
Bernie,

I will give that a try!

Been bugging me for ages due to the slow rotation, before would use encoder for accuracy but customer wanted a cheaper solution! Same old!

So, instead had to use single proxy on shaft keyway!

Cheers...
 
Again emphasizing that this is for low speed as brettshelley has noted, you will need the following as implemented on your particular PLC:

1. An up timer with the best resolution available but one which won't reach its limit in 1 minute. Make its preset the equivalent of 1 minute.

2. You will need a method of creating a one shot from the input signal. Again, refer to yoour PLC.


Here's the sequence:

The timer is merrily timing away, increasing its accumulated time.

The input signal happens. We create a one-shot pulse from that turn-on edge.

Using the one-shot we divide the preset of timer by the accumulated time of the timer and store the result in the 'RPM' register. (Note: take into account whether your division rounds or not.)

Again, using the one-shot reset the timer.

---------------------------------------------------------------------

And a correction to the documentation at the bottom of the DL06 code post above:

Time in 1/1000ths of a second between pulses

should have read

Time in 1/100ths of a second between pulses

(Got a little too wild with the zeroes)
 
Last edited:

Similar Topics

Hello, I have a motor that we are sending a RPM Speed Output from 0-100% to the VFD. However, the Motor HP needs to be limited to 6000 HP and the...
Replies
3
Views
106
Hi everyone, This is my first time posting, so please forgive any omissions or mistakes. I am attempting to control the velocity of a stepper...
Replies
18
Views
1,063
Hi all, I am implementing an incremental encoder sensor (ABZ) to replace the existing "manual" encoder wheel I have in my device. This is a 360...
Replies
0
Views
175
Dear We are working in AB Studio 5000 and the drive is a PowerFlex 755T. For this project I need to control a conveyor to a certain set point...
Replies
2
Views
152
Hello all, Quick question. If motor name plate says 1400 RPM @50 Hz and VFD speed is set to 20Hz does that mean the motor shaft is rotating at...
Replies
3
Views
834
Back
Top Bottom