主要内容

パラレル化を使用した同期サブシステムのモデル化

同時実行される動作モ,ドを実装するには,Stateflow®チャ,トで“パラレル化”を使用します。たとえば,複雑なシステム設計の一部としてパラレルステートを使用して,同時にアクティブになる独立した複数のコンポーネントやサブシステムをモデル化することができます。詳細にいては,有限ステ,トマシンのモデル化を参照してください。

ステ,ト構造

Stateflowチャートでは,排他的(或)ステートとパラレル(和)ステートを組み合わせることができます。

  • 排他的(或)ステトは相互に排他的な動作モ,ドを表します。同じ階層レベルで2の排他的ステトをアクティブにしたり,同時に実行することはできません。状态流では,各排他的ステ,トが実線の四角形で表されます。

    具有两个排他(OR)状态的状态流图。

  • パラレル(和)ステ,トは独立した動作モ,ドを表します。2つ以上のパラレル ステートを同時にアクティブにすることが可能です。ただし、これらは順次実行されます。Stateflow では、各パラレル ステートが、実行順序を示す数字の付いた破線の四角形で表されます。

    具有两个并行(AND)状态的状态流图。

特定の階層レベルにあるステトはすべて同じタプでなければなりません。親ステート(または,最上位ステートの場合はチャート自体)は,或(排他)または和(パラレル)のいずれかの構造をもっています。既定のステ、ト構造タ、プは或(排他)です。構造タイプを変更するには、親ステートを右クリックして[構造][及(パラレル)]を選択します。

パラレル構造の例

この例では,パラレル化を使用して施設内の気温を120度に保空調機を実装しています。

この空調機では2台のファンが動作します。最初のファンは気温が120度を超えるとオンになります。2台目のファンは気温が 150 度を超えると追加の冷却機能を提供します。チャートはこれらのファンをFAN1およびFAN2のパラレルステ,トとしてモデル化し,空調機がオンのときはこの両方がアクティブになります。これらのファンは,2 ()を反映する,動作のしきい値以外は同一構成のステ,トと遷移をもっています。

3番目のパラレルステトSpeedValueは,各タムステップでスッチがオンであったファンの数に基づいて,出力デタ气流の値を計算します。論理式(FAN1.On)の値は,FAN1ステトがアクティブな場合は1です。そうでない場合,(FAN1.On)は0になります。同様に,(FAN2.On)の値はFAN2のス▪▪ッチがオンとオフのど▪▪らであるかを表します。これらの式の和は,各タaaplムステップにおいてスaaplッチがオンであったファンの数を示します。

排他的(或)ステ,トとパラレル(和)ステ,トの組み合わせ

次の表は,空調機のチャートに排他(或)ステートとパラレル(和)ステートを使用する根拠をまとめています。

ステト 構造 理由
定时关机集成软件包 排他的(或)ステト 空調機が同時にオンでありオフであることは不可能です。
FAN1FAN2 パラレル(和)ステ,ト ファンは必要な冷却量に応じてオンまたはオフになる独立コンポ,ネントとして動作します。
FAN1。在FAN1。从 排他的(或)ステト ファン1が同時にオンでありオフにすることはできません。
FAN2。在FAN2。从 排他的(或)ステト ファン2を同時にオンおよびオフにすることはできません。
SpeedValue パラレル(和)ステ,ト SpeedValueは,各タ。

メモ

チャート階層内の別の場所に同じ名前をもつオブジェクトがある場合に,オブジェクトに一意の識別子を指定するには,Fan1。在Fan2。在のようなドット表記を使用します。詳細にいては,ドット表記を使用したデ,タの識別を参照してください。

パラレルステ,トの実行順序

FAN1FAN2,およびSpeedValueが同時にアクティブであっても,シミュレ,ション時にはこれらのステ,トは順次実行されます。ステ,トの右上隅にある数字は実行順序を示します。この実行順序の根拠は次のとおりです。

  • FAN1FAN2よりも低い温度でスesc escッチが入るため,最初に実行される。これは,FAN2がオンとオフのどらかであるかに関係なくオンになることが可能です。

  • FAN2FAN1よりも高い温度でスesc escッチが入るため,2 esc esc番目に実行される。これは,FAN1が既にオンの場合にのみオンになることが可能です。

  • SpeedValueFAN1FAN2の最新ステ,タスを観察できるように,最後に実行される。

既定では,パラレルステートの実行順序はチャート内での作成順序に基づいてStateflowにより割り当てられます。パラレルステ,トの実行順序を変更するには,ステ,トを右クリックして[実行順序]ドロップダウンリストから値を選択します。

例の確認

Stateflowの例にはStateflowチャ,トとSimu金宝applink®サブシステムが含まれています。

金宝app模拟空气控制系统的Simulink模型。

気温临时に基づいて,空中管制员チャ,トはファンをオンにし,气流の値を物理设施サブシステムに渡します。次の表に示されるように,この出力値によって冷却量が決まります。

气流の値 説明 冷却活動係数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很酷的气流に対応する冷却活動係数

临时の新しい値によって,シミュレ,ションの次のタ,ムステップにおける冷却量が決まります。

関連するトピック