パラレル化を使用した同期サブシステムのモデル化
同時実行される動作モ,ドを実装するには,Stateflow®チャ,トで“パラレル化”を使用します。たとえば,複雑なシステム設計の一部としてパラレルステートを使用して,同時にアクティブになる独立した複数のコンポーネントやサブシステムをモデル化することができます。詳細にいては,有限ステ,トマシンのモデル化を参照してください。
ステ,ト構造
Stateflowチャートでは,排他的(或)ステートとパラレル(和)ステートを組み合わせることができます。
排他的(或)ステトは相互に排他的な動作モ,ドを表します。同じ階層レベルで2の排他的ステトをアクティブにしたり,同時に実行することはできません。状态流では,各排他的ステ,トが実線の四角形で表されます。
パラレル(和)ステ,トは独立した動作モ,ドを表します。2つ以上のパラレル ステートを同時にアクティブにすることが可能です。ただし、これらは順次実行されます。Stateflow では、各パラレル ステートが、実行順序を示す数字の付いた破線の四角形で表されます。
特定の階層レベルにあるステトはすべて同じタプでなければなりません。親ステート(または,最上位ステートの場合はチャート自体)は,或(排他)または和(パラレル)のいずれかの構造をもっています。既定のステ、ト構造タ、プは或(排他)です。構造タイプを変更するには、親ステートを右クリックして[構造]、[及(パラレル)]を選択します。
パラレル構造の例
この例では,パラレル化を使用して施設内の気温を120度に保空調機を実装しています。
この空調機では2台のファンが動作します。最初のファンは気温が120度を超えるとオンになります。2台目のファンは気温が 150 度を超えると追加の冷却機能を提供します。チャートはこれらのファンをFAN1
およびFAN2
のパラレルステ,トとしてモデル化し,空調機がオンのときはこの両方がアクティブになります。これらのファンは,2 (在
と从
)を反映する,動作のしきい値以外は同一構成のステ,トと遷移をもっています。
3番目のパラレルステトSpeedValue
は,各タムステップでスッチがオンであったファンの数に基づいて,出力デタ气流
の値を計算します。論理式(FAN1.On)
の値は,FAN1
の在
ステトがアクティブな場合は1です。そうでない場合,(FAN1.On)
は0になります。同様に,(FAN2.On)
の値はFAN2
のス▪▪ッチがオンとオフのど▪▪らであるかを表します。これらの式の和は,各タaaplムステップにおいてスaaplッチがオンであったファンの数を示します。
排他的(或)ステ,トとパラレル(和)ステ,トの組み合わせ
次の表は,空調機のチャートに排他(或)ステートとパラレル(和)ステートを使用する根拠をまとめています。
ステト | 構造 | 理由 |
---|---|---|
定时关机 ,集成软件包 |
排他的(或)ステト | 空調機が同時にオンでありオフであることは不可能です。 |
FAN1 ,FAN2 |
パラレル(和)ステ,ト | ファンは必要な冷却量に応じてオンまたはオフになる独立コンポ,ネントとして動作します。 |
FAN1。在 ,FAN1。从 |
排他的(或)ステト | ファン1が同時にオンでありオフにすることはできません。 |
FAN2。在 ,FAN2。从 |
排他的(或)ステト | ファン2を同時にオンおよびオフにすることはできません。 |
SpeedValue |
パラレル(和)ステ,ト | SpeedValue は,各タ。 |
メモ
チャート階層内の別の場所に同じ名前をもつオブジェクトがある場合に,オブジェクトに一意の識別子を指定するには,Fan1。在
やFan2。在
のようなドット表記を使用します。詳細にいては,ドット表記を使用したデ,タの識別を参照してください。
パラレルステ,トの実行順序
FAN1
、FAN2
,およびSpeedValue
が同時にアクティブであっても,シミュレ,ション時にはこれらのステ,トは順次実行されます。ステ,トの右上隅にある数字は実行順序を示します。この実行順序の根拠は次のとおりです。
FAN1
はFAN2
よりも低い温度でスesc escッチが入るため,最初に実行される。これは,FAN2
がオンとオフのどらかであるかに関係なくオンになることが可能です。FAN2
はFAN1
よりも高い温度でスesc escッチが入るため,2 esc esc番目に実行される。これは,FAN1
が既にオンの場合にのみオンになることが可能です。SpeedValue
はFAN1
とFAN2
の最新ステ,タスを観察できるように,最後に実行される。
既定では,パラレルステートの実行順序はチャート内での作成順序に基づいてStateflowにより割り当てられます。パラレルステ,トの実行順序を変更するには,ステ,トを右クリックして[実行順序]ドロップダウンリストから値を選択します。
例の確認
Stateflowの例にはStateflowチャ,トとSimu金宝applink®サブシステムが含まれています。
気温临时
に基づいて,空中管制员チャ,トはファンをオンにし,气流
の値を物理设施サブシステムに渡します。次の表に示されるように,この出力値によって冷却量が決まります。
气流 の値 |
説明 | 冷却活動係数k很酷的 |
---|---|---|
0 | ファンは稼動していない。临时 の値は減少しない。 |
0 |
1 | 1のファンが稼動している。临时 の値は冷却活動係数に従って減少する。 |
0.05 |
2 | 2のファンが稼動している。临时 の値は冷却活動係数に従って減少する。 |
0.1 |
物理工厂ブロックにより,次の式に基づいて施設内の気温が更新されます。
临时
(0) = t最初的
临时
'(t) = (t环境-临时
·(k (t))热- k很酷的),
ここで,
T最初的は初期温度(既定= 70o)
T环境は周囲温度(既定= 160o)
k热は施設の熱伝達係数(既定= 0.01)
k很酷的は
气流
に対応する冷却活動係数
临时
の新しい値によって,シミュレ,ションの次のタ,ムステップにおける冷却量が決まります。