Rate of change monitor

pauly

Member
Join Date
May 2002
Location
South Wales,U.k
Posts
244
Does any one know how the rate of change of an analogue value can be monitored when rising and falling? The plc is a 90-30 with a 350 cpu. Thanks in advance.
 
Rate of change

Thanks for the reply, the analogue value is constantly changing either rising or falling, what could it be compared to?
 
You take the reading from the analog input, move it to a holding register...on the next scan or 10 seconds later, the time period to compare is your choice. You take the analog input and compare it to the value in the holding register.

Then (as Steve said) after doing the compare move the NEW analog value into the holding register.
 
Last edited:
There are two things I would add to the above suggestions. First, I would use a timer to control the interval between comparisons. Depending on hte signal in question you probably want an interval of several seconds or even minutes. If you use every scan you will either get insignificantly small changes or else you will just pick up the "noise" (normal background fluctuations) in the analog value, not the real rate of change.

For the same reason, you might consider using digital filtering to dampen the noise in the measurement.
 
I'm curious.

I'm a function block guy and I would have answered "subtract the current value from the holding register value".

If the result of the subtraction is positive, the rate of change is positive, but one also gets a value indicating the magnitude of the rate of change. 48.7 - 42.3 = + 6.4

If I use a CMPR (compare) block, my output is strictly boolean - one output is true for greater than, another output is true for equal to, a 3rd output is true for less than. I get no magnitude value with just a compare function.

Do your "compare" function(s) do the same, that is >, or < ?

Or does it give a magnitude result as well?
Dan
 
Why do you need the rate of change? If it is just for a display, so that the operator can see the process is speeding up or slowing down, you could divide the current reading by the full scale span and display as a percent of full scale.

Current reading / full scale span * 100 = % full scale
If your scaling was 0-500 and current reading was 125 you would get:
(125/500)*100=25%

Never used the GE PLC's but if they do not support floating point you may be able to mulitply the first two numbers first(if the results are less than 32767), that eliminates the decimal.

(125*100)*(500*100)=25

If your scaling didn't start at zero, you would have to account for the offset.

Just a thought.

Ken
 

Similar Topics

I am working on a PLC program that requires an analog valve to close a given percentage in a given time in seconds. I give the start position, the...
Replies
22
Views
2,917
Hi All, My question is about how to detect the rate of change in a register and know is it increasing or decreasing, for example I wanna know if...
Replies
11
Views
3,765
Hello, I'm trying to take input from a group of load cells and compute throughput (i.e. tons/hour, kg/hour, etc.). Currently the load cells...
Replies
6
Views
1,628
Good Morning , I'm working on a project that I may need to change the acceleration rate according to which recipe is being ran. I took notice...
Replies
2
Views
2,188
Does GE RX3i have a "Rate of Change" FBD or? I need to alarm on an analog signal that changes to fast or "Spikes".
Replies
1
Views
1,319
Back
Top Bottom