Pressure relief valve with proportional control

3 次查看(过去 30 天)
Hello, I use Pressure relief valve from SimHydraulics library in my model of vehicle and I would need to set valve pressure during simulation. Pressure relief valve model in SimHydraulics library doesn't support it, it is possible to set it only in dialog as constant (I need Pressure relief valve with proportional control). So I realized that three ways are possible. The first is to made my own model with simscape language. So I did but with only partial success, there were some problems with convergence after I added it to my model of hydraulic system. The second way is to use former valve model from library and set its desired pressure via block parameters (function set_param). I added valve and matlab fcn block to my simulink model of vehicle and implemented this function as follows:
function SetBrakeValvePressure(u)
% Nastavuje regulacni tlak bloku Brzdny ventil
% dle hodnoty na vstupu u [bar].
%#codegen
coder.extrinsic('get_param');
coder.extrinsic('set_param');
coder.extrinsic('num2str');
subsystemFullPath = 'MUV74Chvalis_model/HS prevod Chvalis1';
blockName = [subsystemFullPath '/Brake valve'];
% temp = get_param(blockName,'pres_set'); % is OK (only for testing access to Brake valve)
set_param(blockName,'pres_set',u); % gives error !
end
But there is a problem with set_param function. Simulink gives an error: "Error calling MATLAB function set_param". Calling get_param function is without problems. It seems that parameter 'pres_set' can't be set this way......
Finally the third way I should probably use is to make my own model in Simscape language with usage of inharitance. I would inherite my model from Pressure relief valve model in SimHydraulics library and the only thing i would do is to add one input for setting desired valve pressure and set valve pressure in equation section of simscape code. But I don't know how to do it exactly. The first problem is what is the right name of component in SimHydraulics to inherite from it. What I mean (proposal of simscape model implementation):
component PressureReliefValveWithProportionalControl < simhydraulics.?
% Pressure relief valve with proportional control
inputs
p_set = { 0, 'Pa' }; % Ps:top
end
equations
pres_set = p_set;
end
end
Can anybody help me, please ? Thank you for any help. Zdenek

回答(2 个)

Guy Rouleau
Guy Rouleau 2013-4-15
I recommend using a Pressure Sensor and the Variable Area Orifice. then write a Simscape component (or use blocks from the Physical Signals section of the Library) to implement the relation you need between the measured pressure and the opening of the orifice.
  1 个评论
rafael Michel
rafael Michel 2013-11-2
Do you have some example of this? I need to use a proportional control relief valve to do a system control in closed loop.
Thanks

请先登录,再进行评论。


Mika Herranen
Mika Herranen 2016-7-1
Hi,
any news on this problem, anyone? I would also need to control set value of the pressure reduction valve, during the simulation?
thnx

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by