2017-08-15 1 views
0

私はModelicaを使ったことがないので、次のようにモデルを構築するのは難しいです。 巻取機の空気ダンサーの動作をシミュレートするためのモデルを作成したいと思います。ある量の紙ウェブを回転させてロールするスピンドルがある。ダンサーの行動は紙の要求に応じて変化する。私はスピンドルの回転角に基づいて要求のデータを持つテーブルを持っています。
スピンドルが特定の速度で回転する単純なモデルを構築するにはどうすればよいかを知りたいと思います(台形信号 - > Modelica.Blocks.Sources.Trapezoidによって得られます)。私はスピンドルの質量と慣性を考慮したくありません。私はスピンドルがシステムの速度源だと考えています。したがって、私はスピンドルの位置を得るために(Modelica.Blocks.Continuous.Integrator)の速度を統合する必要があります。私はcombiTable1D(Modelica.Blocks.Tables.CombiTable1D)のすべてのデータ要求 - スピンドルの回転角度を持っています。私のモデルでは、スピンドルの回転角度は「angolo」と呼ばれ、combiTableの最初の列です。 enter image description hereOpenModelicaでPnuematicダンサーのモデルを作成するにはどうしたらいいですか?

最初の質問は次のとおりです。この最初のステップでモデルを開始するための正しいブロックを選択しましたか? CombiTable出力は、スピンドルの位置に基づいて紙ウェブを要求します。この出力は、第2ステップで構築するダンサーシステムの入力になります。 この3つのブロックを接続してシミュレーションを開始しましたが、翻訳エラーが発生しました。次の画像を参照してください。 2番目の質問は、なぜこのエラーがありますか?そして私はそれをどのように解決できますか? enter image description here

ありがとうございました。

答えて

0

1)この部分はあまり明確ではありませんが、私は答えるようにしてください。あなたはスピンドルの回転角を生成したいと思っています、私はスピンドルの角度位置を意味すると思います。そのために、あなたがしたことは有効です。ただ、あなたがより良い洞察力を与えるためにexamplifyするには、次の行を書くことによってもそれを行うことができます。

Modelica.SIunits.Angular Velocity angular_speed   "speed of the spindle"; 
    Modelica.SIunits.Angle angular_position     "angular position of the spindle"; 
    parameter Modelica.SIunits.Angle initial_position  "starting angle of the spindle"; 

initial equation 
    angular_position = initial_position; 

equation 
    angular_speed = trapezoid1.y; 
    der(angular_position) = angular_speed; 

2)あなたは、あなたのモデルで使用する前に、変数「ANGOLO」を定義する必要があります。あなたは何かのように追加することができます。または、変数に正しいSI単位を持つタイプを選択することもできます。一般的に

Real angolo "This is where you define your variable"; 

equation 
    angolo = CombiTable1D1.y[1]; 

、私が理解することは、すでにデータ配列として主軸の角度位置を持っていて、後で使用するためにModelicaにインポートしたいということです。なぜあなたが最後に達成したいことがあるときに、Modelicaで生成されたスピード信号を統合しようとするのか分かりません。

マイケルティラーの本Modelica by Exampleから非常にうまくいくと思います。 In this exampleには、あなたが見ることができる同様の初期化があります。

関連する問題