2017-02-20 3 views
2

J'ai essayé de simuler un pendule "spécial" avec la bibliothèque Modelica. Le pendule a un revolute à la première extrémité et un autre à l'autre bout. Au time < t le premier pendule devrait tourner autour de l'axe du premier revolute. Au time > t, le pendule doit tourner autour de l'axe de la révolute.
J'ai deux problèmes:Commutation se connecter dynamiquement dans Modellica.mechanics

  1. Je ne peux pas simuler un pendule avec deux revolutes où un cadre ist utilisé.

  2. J'ai essayé de changer le revolute en rotation à l'aide d'un si article comme celui-ci:
    if time < 5 then connect(world.frame_b, revolute.frame_a); else connect(world.frame_b, revolute1.frame_b); end if;
    Démarrage de la simulation, je reçois cette erreur:
    Failed to expand block containing connect: if (time < 5) then connect(world.frame_b, revolute.frame_a); else connect(world.frame_b, revolute1.frame_b); end if;

Quelqu'un a une idée comment je peut résoudre ce problème?

modelpicture

Répondre

0

Je pense que le problème est lié à peu près à la discussion trouve ici: Switch between two flanges

Résumé: Vous ne pouvez pas changer pendant la simulation Connects car cela nécessiterait de reconstruire les équations lors de la simulation.

En ce qui concerne votre problème: Pour être honnête, je ne vois pas de solution pour résoudre le problème dans Modelica.