バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回、信号入力を可変にするためにソースブロックについて簡単に説明。
いままでのmassモデルを流用することを想定し、forceとtrapezoidを使ってみることに。
ただ、Modelicaの既存ブロックは大量にあるためにどこにあるやら。
尚、forceとtrapezoidは全く別のカテゴリに居たりする。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
forceブロックはどこ?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
まずはforceブロックがどこにあるか。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
いままで使ってたmassモデルのconstant forceと同じとこにあるね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
constant forceの話が出たところって・・・。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
ここか!
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
ふんふん。
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](https://www.simulationroom999.com/blog/wp-content/uploads/2021/06/02_ライブラリブラウザForce-330x1024.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
これをドラッグしてくれば良いね。
trapezoidブロックはどこ?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
次はtrapezoidブロックだけど・・・。
どこにあるんだ?
これもconstant forceの近くにあるのかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
trapezoidは全く別のところだね。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
ここにあるよ。
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](https://www.simulationroom999.com/blog/wp-content/uploads/2021/06/03_ライブラリブラウザTrapezoid-300x1024.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
じゃ、これもドラッグして。
OpenModelica Connection Editorで接続
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
あとは線でつなげばOKだね。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうそう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
こんな感じ。
![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](https://www.simulationroom999.com/blog/wp-content/uploads/2021/06/04_massモデルTrapezoid、Force付.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
うん。
いいんじゃないかな。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
あと、Trapezoidに設定値が居るのかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
そうだね。
デフォルトだと台形波じゃなくて矩形波っぽいのが出るような設定になっていたと思う。
よって、通常であればここで狙った波形になるように修正・・・。
なんだけど、今回はデフォルトのままで行こう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
え?いいの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/まるフクロウ.png)
いいよ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
まぁそういうなら、そのままにしておこう。
Modelicaコードの修正は必要?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
あと、パラメータを簡単に変えられるようにModelicaコードを修正とかいるのかな?
前回のForce1、Force2みたいな感じで。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
今回は不要でいいかなー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
え?そこも不要でいいの???
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
うん。
まぁなぜ不要かは実際に動かしてみると変わると思うよ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
うーん、いままでとはちょっと雰囲気が違うのかー??
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- trapezoidブロックとForceブロックを配置。
- ForceブロックはModelica→Mechanics→Translational→Sourcesにある。
- trapezoidブロックはModelica→Blocks→Sources→Trapezoidにある。
- 本来はtrapezoidを修正する必要があるが今回は不要。
バックナンバーはこちら。
コメント