メインコンテンツ

信号線の管理

モデルの構築が進むにつれて、モデルのブロックを整理するのに機能的にも視覚的にもモデル コンポーネントが役立つようになります。モデル内で信号線を同様に整理するために、信号をグループ化してバスを作成するなど、さまざまな戦略を適用することができます。

信号線の煩雑さを軽減する方法を示すために、この例では複数のセンサーとアクチュエータを使用してプラントを実装します。このプラントには 2 つの同一のマス-バネ-ダンパー系があります。ビームが 2 つの質量を接続します。

Diagram of two identical mass, spring, damper systems with the masses connected

センサーは質量の変位を読み取ります。コントローラーはビーム中央の高さ x を調整し、アクチュエータが質量に加えるべき力を計算することで、ビームを水平にします。コントローラーはビーム終端間の高さの相違 delta を使用して、ビームを水平にします。

BasicModelingSignals という名前のモデルは、プラントとその環境、オペレーター、およびコントローラーを表します。

mdl0 = "BasicModelingSignals";
open_system(mdl0);

Model with many signal lines

シミュレーション後に信号を表示するために、モデルでは 2 つの Scope ブロックが使用されます。1 つ目の Scope ブロックには、目標のビームと実際のビームの水平度が示されます。もう 1 つの Scope ブロックには、中心におけるビームの目標位置と実際の位置、および両端での実際のビームの位置が示されます。

sim(mdl0);

ログ記録用の信号のマーク

信号線の数を減らすには、ビューアーを信号線に直接接続するか、信号線のデータ ログを有効にします。Sink ブロックを使用せずにシミュレーション データを可視化する方法を選択することで、余分な信号線を回避できます。

BasicModelingLogging という名前のモデルは Scope ブロックと関連する信号線を削除してから、それらの信号のデータ ログを有効にします。

mdl1 = "BasicModelingLogging";
open_system(mdl1);

Model without Scope blocks and related lines

Operator サブシステムでは、x_goal および delta_goal というラベルが付いた信号が、各信号の上に表示されたアイコンで示されるようにログ記録用にマークされています。

Operator subsystem with logging icons above x_goal and delta_goal

Controller サブシステムでは、x および delta というラベルが付いた信号がログ記録用にマークされています。

Controller subsystem with logging icons above x and delta

Plant サブシステムでは、x1 および x2 というラベルが付いた信号がログ記録用にマークされています。

Plant subsystem with logging icons above x1 and x2

シミュレーション データ インスペクターを使用すると、シミュレーション後にログに記録された信号データを表示できます。

sim(mdl1);

Simulation results in the Simulation Data Inspector with one plot for x, x1, x2, and x_goal and another plot for delta and delta_goal

信号をバスにグループ化

信号線の数をさらに減らすために、Bus Creator ブロックまたは Out Bus Element ブロックを使用して、信号線をグループ化してバスを作成することができます。バスにグループ化されたときにすべての信号線で ID が保持され、下流でバスから分離することができます。

バスを作成することで、BasicModelingBuses という名前のモデルはさらに読みやすいシステム表現を提供します。バスのライン スタイルを確認するには、モデルをコンパイルします。

mdl2 = "BasicModelingBuses";
open_system(mdl2);
set_param(mdl2,SimulationCommand="Update");

Model with bus input and output for each subsystem

このモデルでは、バス内の各信号について個別にデータをログ記録する代わりに、sensor および goal という名前のバスに関連付けられている信号線のデータ ログを有効にします。

信号がバスにグループ化された後も、シミュレーション結果は同じままです。

sim(mdl2);

Simulation results in the Simulation Data Inspector with signals grouped by bus but individually selected

参考

トピック