model MKC_bloco "Sistema massa-mola-amortecedor em modelo de blocos" Modelica.Blocks.Sources.Step g(height = 10) "aceleração da gravidade" annotation(Placement(visible = true, transformation(origin = {-110, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Continuous.Integrator integrator_da_aceleracao "Integrador da aceleração" annotation(Placement(visible = true, transformation(origin = {49.245, -0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Continuous.Integrator integrator_da_velocidade "Integrador da velocidade" annotation(Placement(visible = true, transformation(origin = {110.755, -0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Math.Gain m(k = 0.2) "Massa do corpo" annotation(Placement(visible = true, transformation(origin = {-67.934, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Math.Gain _1_m(k = 1 / 0.2) "1/m" annotation(Placement(visible = true, transformation(origin = {-6.76, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Math.Gain c(k = 10.0) "Constante de amortecimento" annotation(Placement(visible = true, transformation(origin = {51.044, -40}, extent = {{10, -10}, {-10, 10}}, rotation = 0))); Modelica.Blocks.Math.Gain k(k = 10000.0) "Rigidez da mola" annotation(Placement(visible = true, transformation(origin = {51.044, -80}, extent = {{10, -10}, {-10, 10}}, rotation = 0))); Modelica.Blocks.Math.Feedback feedback annotation(Placement(visible = true, transformation(origin = {-40, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Math.Add add annotation(Placement(visible = true, transformation(origin = {-10, -60}, extent = {{10, -10}, {-10, 10}}, rotation = 0))); equation connect(add.y, feedback.u2) annotation(Line(visible = true, origin = {-33.667, -42.667}, points = {{12.667, -17.333}, {-6.333, -17.333}, {-6.333, 34.667}}, color = {0, 0, 127})); connect(c.y, add.u1) annotation(Line(visible = true, origin = {20.511, -47}, points = {{19.533, 7}, {-0.511, 7}, {-0.511, -7}, {-18.511, -7}}, color = {0, 0, 127})); connect(k.y, add.u2) annotation(Line(visible = true, origin = {20.511, -73}, points = {{19.533, -7}, {-0.511, -7}, {-0.511, 7}, {-18.511, 7}}, color = {0, 0, 127})); connect(integrator_da_velocidade.y, k.u) annotation(Line(visible = true, origin = {116.2, -40}, points = {{5.555, 40}, {23.8, 40}, {23.8, -40}, {-53.155, -40}}, color = {0, 0, 127})); connect(integrator_da_aceleracao.y, c.u) annotation(Line(visible = true, origin = {70.822, -20}, points = {{-10.577, 20}, {9.178000000000001, 20}, {9.178000000000001, -20}, {-7.778, -20}}, color = {0, 0, 127})); connect(integrator_da_aceleracao.y, integrator_da_velocidade.u) annotation(Line(visible = true, origin = {79.5, -0}, points = {{-19.255, 0}, {19.255, 0}}, color = {0, 0, 127})); connect(_1_m.y, integrator_da_aceleracao.u) annotation(Line(visible = true, origin = {20.743, -0}, points = {{-16.503, 0}, {16.503, -0}}, color = {0, 0, 127})); connect(feedback.y, _1_m.u) annotation(Line(visible = true, origin = {-24.88, 0}, points = {{-6.12, -0}, {6.12, 0}}, color = {0, 0, 127})); connect(m.y, feedback.u1) annotation(Line(visible = true, origin = {-52.467, 0}, points = {{-4.467, 0}, {4.467, 0}}, color = {0, 0, 127})); connect(g.y, m.u) annotation(Line(visible = true, origin = {-89.467, 0}, points = {{-9.533, 0}, {9.533, 0}}, color = {0, 0, 127})); annotation(experiment(StopTime = 0.2), Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, initialScale = 0.1, grid = {5, 5}))); end MKC_bloco;