41348members
184411posts

M580 Derive function

Highlighted

M580 Derive function

Hello community, 

 

I'm looking for a function that can derive in the M580. Last week a client of us had big accident in one of their machines. This failure occured because of a component that was too old, the machine did trip because of another failure signal that appeared a seconds later. I don't want to anticipate the failure because it will be impossible, I want to trip the machine when the failure occurs. For example, of all the variable of the machine we saw to critics change, the pressure of the circulating water of the machine drops 1.3 bar in 4 seconds which is dangerous, the speed of this change in such a short time is the one I want to evaluate, so I can make a new trip. Any ideas people? I thought of a derivating function. Thank you very much. 

 

Capture.PNG

10 REPLIES 10
Highlighted
Commander

Re: M580 Derive function

If I'm not wrong, your point is:

If the pressure of the circulating water of the machine drops 1.3 bar in 4 seconds, you want to shut off this machine

 

I think we can just simply use LE (less equal)/LT (less than) and TON (Timer ON/ delay ON) to make a Machine Trip?

 

Highlighted

Re: M580 Derive function

Hello Mr.

 

If you take a look at the graph, you will see that the speed of the change of the variable is fast. There is a simple LT shutdown but it is at 1.5bar. If a change of 1 bar or more in just a short period of time it tells me that something else is going on, like a damage of the cylinder. Want I want to do is minimize that impact of that failure. 

Highlighted
Commander

Re: M580 Derive function

hi @Kevingalvez12 ,

 

noted. you can use AVGMV for fixed size of time window or AVGMV_K (if you want correction factor K) 

 

AVGMV Description:

image.png  OR image.png

 

VariableDescription
Y(new)
Y Value in current program cycle
Y (old)
Y Value from the last program cycle
N
Window size (number of values in the buffer)
X(N-1)
oldest X value in the buffer

 

 

image.png

 
VariableDescription
Y(new)
Y Value in current program cycle
Y (old)
Y Value from the last program cycle
N
Window size (number of values in the buffer)
X(N-1)
oldest X value in the buffer

image.png

Input Value or X is your real value.

and manipulated variable is V or Average

Highlighted
Commander

Re: M580 Derive function

Sorry @Kevingalvez12 , 

 

after re-read your post. I think I was misunderstood again.

 

so you want to detect accidentally 1 Bar increment.

 

let me try to test it first

Highlighted
Commander

Re: M580 Derive function

 

@Kevingalvez12 Hi, is it the function do you need?

Highlighted
Lieutenant

Re: M580 Derive function

 You could use the AALARM function block from the General Purpose Library (GPL) downloadable from this site. The function embed a deviation alarm which is I think what you need.

 

Highlighted
Commander

Re: M580 Derive function

@Eric_Coudurier great to know that 👍 GPL would be proper to used than my DFB.

 

image.png

 

image.png

if I'm not wrong, it (deviation) should be configured in SPD parameter? @Eric_Coudurier 

Highlighted
Lieutenant

Re: M580 Derive function

Yes SPD is the deviation setpoint. but there are other parameters to fill: HYSTSP, TONSP, TOFFSP and SP.

Here the functional schema :

 

2020-01-27_12-09-32.jpg 

To enable the alarm you also need to set: AALARM_CFG.CFGW.2 and DWATCH 

Re: M580 Derive function

Thank you all for your suggestions, I will take a look to the blocks. For your knowledge there is a derive block that I found it's called "deriv"

Highlighted

Re: M580 Derive function

I think this one is great.