Is it possible to update the parameters of a Simscape block using the output of another block in Simulink?

1 次查看(过去 30 天)
I am trying to use the output of a simulink integrator as one variable in the "Breakaway friction torque" parameter of a Simscape Rotational Friction block. Is there a way to do this so that the target parameter responds to changes during the model run?
The physical description of my objective is: This is a rotating mechanical system with a friction device within. The friction device changes its breakaway torque as a function of a system response that can't be calculated beforehand. So this property must be tracked and used to continuously update the properties of the rotational friction block.

回答(1 个)

Nicolas Schmit
Nicolas Schmit 2017-11-16
So you want to change the breakaway friction torque during the simulation. I think the simplest way to do that is to create a custom component where the breakaway torque is defined as an input instead of a parameter.
  1. Create a copy the source code of the Rotational Friction block.
  2. Add a "input" section
  3. Move the line "brkwy_vel = { 0.1, 'rad/s' }; % Breakaway friction velocity" from the "parameter" section to the "input" section
  4. Add a Simscape Component block to your model, and use the modified source code.
The newly created Simscape Component will have a physical signal input that let you set the breakaway torque during the simulation.

类别

Help CenterFile Exchange 中查找有关 Variable Initialization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by