0

この質問は、いくつかのブロックで遊んでいたときに遭遇した問題に関連しています。これが私が持っているモデルです。ここに画像の説明を入力

ご覧のとおり、2 種類の接続があり、最初の接続 (上から下へ) の入力は でありu[1],u[2],u[3]、他のブロックは一目瞭然です (startTime = 5ステップ入力ブロックを除くすべてのデフォルト値)。

私の知る限り、最初の種類の接続は角速度のみを出力し、角度と角加速度は出力しません (両方ともゼロです)。これは少し現実的ではありません (なぜこれを行ったかを説明します)。2 番目の接続は、角速度も出力します。

私の問題は、2番目の接続で、クラッチが正常に機能しているように見えることでした(5秒後にクラッチが接続されます(相対角速度w_rel = 0))

ただし、最初の接続の動作はまったく異なります。これらはすべてフランジ接続であり、角速度はすべて から計算されるflange_a/b.phiことがわかります。そのため、入力 (realExpersion1) が何であれ、クラッチに角速度の差はないと予想する必要があります。しかし興味深いことに、モデルをシミュレートすると、クラッチの左側のフランジは動かず、代わりに右側のフランジが回転しています。これが私の結果の2つのプロットです。

接続1 ここに画像の説明を入力

接続2 ここに画像の説明を入力

実際には、flange_a.phiフランジ_b.phiがすべて 0 になることを期待する必要があり、Move ブロックの注釈を誤って削除すると__Dymola_InlineAfterIndexReduction = trueモデルは期待どおりに動作します。誰かが私が見たものを説明するのを手伝ってくれたら、本当に感謝しています。どうもありがとう!

4

1 に答える 1

3

モデルのドキュメントにはMove明確に記載されています

ユーザーは、入力信号が互いに一貫していることを保証する必要があります

あなたの場合、それらは一貫していません。ですから、あなたが奇妙な答えを得ても、私はあまり驚かないでしょう。なぜあなたがこのルートに行こうとしたのか、私にははっきりしませんでした。あなたはメッセージで理由を説明することをほのめかしていますが、私はあなたの動機を理解できませんでした. Moveこのモデルは、基礎となる方程式からこれらの関数を生成する代わりに、Dymola がインデックスの削減中に使用する位置、速度、および加速度の独自の明示的な関数をユーザーが提供できるようにするために存在すると思われます。一貫した機能を提供できない限り、このブロックを使用するべきではありません。

実際には、位置、速度、加速度のうち 1 つだけを指定するソースを使用する必要があります。それが不可能な場合は、ここであなたが実際に何を達成しようとしているのかを理解できるように、その理由を説明していただく必要があります。

于 2013-08-10T14:13:41.537 に答える