【Modelica】最小構成のMBD事例 第2章 その22【massモデル⑪】

【Modelica】最小構成のMBD事例 第2章 その22【massモデル⑪】 事例

バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/

はじめに

前回、信号入力を可変にするためにソースブロックについて簡単に説明。
いままでのmassモデルを流用することを想定し、forceとtrapezoidを使ってみることに。
ただ、Modelicaの既存ブロックは大量にあるためにどこにあるやら。
尚、forceとtrapezoidは全く別のカテゴリに居たりする。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

forceブロックはどこ?

太郎くん
太郎くん

まずはforceブロックがどこにあるか。

フクさん
フクさん

いままで使ってたmassモデルのconstant forceと同じとこにあるね。

太郎くん
太郎くん

constant forceの話が出たところって・・・。

太郎くん
太郎くん

ここか!

太郎くん
太郎くん

ふんふん。
Modelica→Mechanics→Translational→Sources
で潜っていけばいいのね。

OpenModelica、ライブラリブラウザ、ModelicaReferrence、ModelicaServices、Complex、Modelica、Blocks、ComplexBlocks、StateGraph、Electrical、Magnetic、Mechanics、MultiBody、Rotational、Translational、UserGuide、Example、Components、Sensors、Sources、Position、Speed、Accelerate、Move、Force、Force2、Modelica.Mechanics.Translational.Sources.LinearSpeedDependentForce、Modelica.Mechanics.Translational.Sources.QuadraticSpeedDependentForce、Modelica.Mechanics.Translational.Sources.ConstantForce、Modelica.Mechanics.Translational.Sources.SignForce、Modelica.Mechanics.Translational.Sources.ConstantSpeed、Modelica.Mechanics.Translational.Sources.ForceStep、Modelica.Mechanics.Translational.Sources.EddyCurrentForce、Modelica.Mechanics.Translational.Interfaces
太郎くん
太郎くん

これをドラッグしてくれば良いね。

trapezoidブロックはどこ?

太郎くん
太郎くん

次はtrapezoidブロックだけど・・・。
どこにあるんだ?
これもconstant forceの近くにあるのかな?

フクさん
フクさん

trapezoidは全く別のところだね。

フクさん
フクさん

ここにあるよ。
Modelica→Blocks→Sources→Trapezoid

OpenModelica、ライブラリブラウザ、Modelica.Blocks、Modelica.Blocks.Examples、Modelica.Blocks.Continuous、Modelica.Blocks.Discrete、Modelica.Blocks.Interaction、Modelica.Blocks.Interfaces、Modelica.Blocks.Logical、Modelica.Blocks.Math、Modelica.Blocks.MathInteger、Modelica.Blocks.MathBoolean、Modelica.Blocks.Nonlinear、Modelica.Blocks.Routing、Modelica.Blocks.Noise、Modelica.Blocks.Sources、Modelica.Blocks.Sources.RealExpression、Modelica.Blocks.Sources.IntegerExpression、Modelica.Blocks.Sources.BooleanExpression、Modelica.Blocks.Sources.Clock、Modelica.Blocks.Sources.Constant、Modelica.Blocks.Sources.Step、Modelica.Blocks.Sources.Ramp、Modelica.Blocks.Sources.Sine、Modelica.Blocks.Sources.Cosine、Modelica.Blocks.Sources.ExpSine、Modelica.Blocks.Sources.Exponentials、Modelica.Blocks.Sources.Pulse、Modelica.Blocks.Sources.SawTooth、Modelica.Blocks.Sources.Trapezoid、Modelica.Blocks.Sources.KinematicPTP、Modelica.Blocks.Sources.KinematicPTP2、Modelica.Blocks.Sources.TimeTable
太郎くん
太郎くん

じゃ、これもドラッグして。

OpenModelica Connection Editorで接続

太郎くん
太郎くん

あとは線でつなげばOKだね。

フクさん
フクさん

そうそう。

太郎くん
太郎くん

こんな感じ。

OpenModelica Connection Editor、Modelica.Blocks.Sources.Trapezoid trapezoid、Modelica.Mechanics.Translational.Sources.Force force、Modelica.Mechanics.Translational.Components.Mass mass、Modelica.Mechanics.Translational.Sources.ConstantForce constantForce2
フクさん
フクさん

うん。
いいんじゃないかな。

太郎くん
太郎くん

あと、Trapezoidに設定値が居るのかな?

フクさん
フクさん

そうだね。
デフォルトだと台形波じゃなくて矩形波っぽいのが出るような設定になっていたと思う。
よって、通常であればここで狙った波形になるように修正・・・。
なんだけど、今回はデフォルトのままで行こう。

太郎くん
太郎くん

え?いいの?

フクさん
フクさん

いいよ。

太郎くん
太郎くん

まぁそういうなら、そのままにしておこう。

Modelicaコードの修正は必要?

太郎くん
太郎くん

あと、パラメータを簡単に変えられるようにModelicaコードを修正とかいるのかな?
前回のForce1、Force2みたいな感じで。

フクさん
フクさん

今回は不要でいいかなー。

太郎くん
太郎くん

え?そこも不要でいいの???

フクさん
フクさん

うん。
まぁなぜ不要かは実際に動かしてみると変わると思うよ。

太郎くん
太郎くん

うーん、いままでとはちょっと雰囲気が違うのかー??

まとめ

フクさん
フクさん

まとめだよ。

  • trapezoidブロックとForceブロックを配置。
  • ForceブロックはModelica→Mechanics→Translational→Sourcesにある。
  • trapezoidブロックはModelica→Blocks→Sources→Trapezoidにある。
  • 本来はtrapezoidを修正する必要があるが今回は不要。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました