My understanding is you simply want to figure out how to calculate a rate of change. In this case, it sounds like you want to know you want to know by how many amps per second a motor's current draw is changing.
I have done this plenty in the past, but usually with weights instead of current draw. If you have an Allen-Bradly PLC this is pretty easy, but the concept itself is not too complex and should work for any PLC. Additionally, there are a million ways to do this, each with upsides and downsides. This is, from my experiences, usually the best way to do it but there are so many uses for a rate of change calculation you should be under no impression that there is one single best way.
First thing is you want two tags, we will call it "CurrentDraw" and "CurrentDraw_Prev". CurrentDraw is how much current the motor is drawing at the time the logic is being scanned, and CurrentDraw_Prev is how much current was being drawn last scan, use a MOV after the logic to store this value. Then, you calculate a new value, "Change", by Change = CurrentDraw - CurrentDraw_Prev. If you have a continuous task, do this on a consistent timer, a few times a second. If this is a periodic task, put no timer on the logic.
Next we scale Change to units that are useful. Say you calculated Change 10 times a second (100ms scanrate). You need to multiply Change by 10 to get it in units of amps/second. This looks like Change_Scaled = Change*(1 second/scanrate).
Usually you get really jumpy messy data with this. This is where having an Allen Bradley PLC is nice, you should use the MAVE function block to smooth it out. It is a moving average function and fixes the jumpiness of the calculations. If you don't have an Allen Bradley PLC, maybe the one you are using have a moving average function. If not, you should program your own (or use a moving average-like smoothing factor, there are a million ways to do this).
The logic looks like this (for 100ms scanrate):
Change = CurrentDraw - CurrentDraw_Prev
Change_Scaled = Change * 10
RateOfChange = MAVE(Change_Scaled)
MOV(CurrentDraw, CurrentDraw_Prev)
Hope this makes sense.