Hello,

I´m working on a Simulation in Simulink for my masters degree in engineering. In this Simulation there is a valve which controlls the flow of water on one side of a plate heat exchanger based on the outlet tempreture of water on the other side of the exchanger. At the moment this valve is controlled by a thermostat, now it shall be controlled by a electrical engine so that the plant can be controlled electronicly and monitored.

My Problem is now that this engine has a maximum chaning speed e.g when the controller jumps from 0 to its maximum value the engine should need 30 seconds to adjust its position so that the valve is opened completly. I tryed many different solutions but none of them works like they are supposed to be.

`function y = fcn(u, du,t)persistent dy_alt y_alt dyif isempty(dy_alt) dy_alt=0; y_alt=u; dy=0;endwhile du~=0 || y_alt~=u if du>0 dy=0.7; dy_alt=dy; elseif du<0 dy=-0.7; dy_alt=dy; elseif du==0 dy=dy_alt; end y=y_alt+dy*t; if y==u break endendy=u;y_alt=y;end`

This is one example of a solution for the problem but it doesent works. The Simulation runs without an error but only until a certain time is reached then it doesnt proceed further.

Has somebody an idea to solve this Problem? Maybe the Solution is easy but i dont see it :/

## Best Answer