rate of change

good morning, i have a signal 0-100%,  I need limite this signal  to a fall of 10% per second, the rise did not confine me anything, 

Regards.

10 Replies

  • For an input you can use the RTLM (Rate Limit) and configure INCREASE_MAX (100), DECREASE_MAX (-10), ENABLE (1), TIME_UNITS (Secs). Wire the input signal to IN and the OUT will be the raw value on increase or the limited value on decrease.

    If the signal is an output, you can use the same block or you can configure on the AO block SP_RATE_DN to 10 and leave SP_RATE_UP to 0.

    Regards,

    Matt

  • In reply to Irving_Aguilar:

    The  INCREASE_MAX  and DECREASE_MAX are in terms of engineering units per time units, so if the requirement is 10% per second and the input signal is not a 0-100% signal, then you will have to ensure the signal is either scaled from 0-100% or configure the _MAX parameters based on the scale you need.

  • Regarding to this i have one question, Is there any block to calculate rate of change...
    Like, rate of change of temperature per hr?
  • In reply to bhushan619:

    The rate limit block, RTLM, has an output "ROC" that is the current rate of change.  You many need to expose this parameter as an output of the block.  Note that this ROC is a "scan to scan" rate of change and can be affected by noise on the signal.  Books on-line says this about ROC "The filtered rate of change of the IN parameter. ROC is an indication that is independent of the scan-to-scan rate of change used by the block algorithm to determine OUT."  

    I often create my on "rate of change calculator" to be less affected by noise on the signal.  I do this by wiring the signal to both the plus input of a subtract block and to a deadtime block.  The output of the deadtime block is wired to the negative input of the subctract block.  The output of the Subtract block can be divided by the deadtime setting to get the ROC.  The ROC is an average ROC over the deatime.  I gernerally use 10 -20 seconds.   If you execute the module and function blocks at one second, the ROC will update every second even though the ROC is averaged over the deadtime which is longer.

  • In reply to James Beall:

    Excellent information, James. Thanks for your sharing your expertise! :)

    Best Regards,

    Rachelle McWright: Business Development Manager, Dynamic Simulation: U.S. Gulf Coast

  • Thankyou james,very usefull info..!
  • In reply to bhushan619:

    I have an additional question regarding this function block if anyone can help me. If you use the Rate Limiter function block on the output of a PID controller will the PID controller receive a status signal to prevent it winding up / down if it's output has been clamped by the rate limiter function block?
  • In reply to BrettWilson26:

    I am not aware of a rate limiter feature built into the output of the PID controller. So I assume you are talking about wiring a RTLM block to the PID/OUT. Instead I suggest that you use an AO block on the output of the PID, with its BKCAL_OUT going to the BKCAL_IN of the PID. Then in the AO block, set the SP_RATE_UP and SP_RATE_DN to apply the rate limiting as you desire. In this case, I believe the AO block will communicate a limiting status to the PID.
  • In reply to Mark Coughran:

    Mark Coughran is correct about using the SP rate limit on the AO block for this purpose. In addition, you should enable the FRSPID_OPTION "Dynamic Reset Limit" on the upstream PID block to prevent the Integral action from moving faster than the rate limit.