Opened 15 years ago

Last modified 14 years ago

#1157 closed defect (worksforme)

[MultiBody] Validating a model with Cylindrical joint returns errors but is built successfully (from MathCore)

Reported by: Karin Gustafsson Owned by: Karin Gustafsson
Priority: critical Milestone: Red October
Component: Version:
Keywords: Cc: Karin Gustafsson,

Description

The following model returns errors when validating. Similar errors is returned when building. However, the model seems to work as expected.

model Cylindrical
  annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, initialScale=0.1, grid={10,10})));
  MultiBody.Joints.Cylindrical cylindrical1 annotation(Placement(visible=true, transformation(origin={-20.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=0)));
  MultiBody.Parts.InertialSystem inertialSystem1 annotation(Placement(visible=true, transformation(origin={-60.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=0)));
  MultiBody.Parts.CylinderBody cylinderBody1(r={1,0,0}) annotation(Placement(visible=true, transformation(origin={20.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=0)));
equation 
  connect(cylindrical1.frame_a,inertialSystem1.frame_b) annotation(Line(visible=true, origin={-40.0,-10.0}, points={{9.5,0.0},{-9.5,0.0}}));
  connect(cylinderBody1.frame_a,cylindrical1.frame_b) annotation(Line(visible=true, origin={0.0,-10.0}, points={{9.5,0.0},{-9.5,0.0}}));
end Cylindrical;

The same happens if you replace the Cylindrical joint with !Planar or a !Universal joint. It seems that changing prefix to constant instead of parameter for startValueFixed will solve the problem but then this value cannot be changed easily in the model. Same thing seems to happen with revolute joint. See for example MultiBody?.Examples.Loops.Engine2.

Change History (3)

comment:2 by Per Östlund, 15 years ago

Fixed the formatting.

comment:3 by Per Östlund, 14 years ago

From the components used I assume that this is MSL 2.X with MultiBody, and with those libraries the example model works both with checkModel and instantiateModel.

Note: See TracTickets for help on using tickets.