主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

Stateflowチャートの作成と実行

Stateflow®チャートは,有限性ステートのグラフィカルであり,ステート,迁移,およびデータでデータされいます.stateflowチャート作物する.stateflow ove作者する.stateflowチャートチャート作物する,外部のの力信号,イベント,空间ベースベース条件matlab®アルゴリズムまたは仿金宝app真软件®モデルの反応を定義できます。詳細については,股份有限公司を参照してください。

たとえば,次のextenfflowチャートは半波整流のととロジックています。离开というラベルの2つのステートが含まれています。ステートでは,チャートチャートの力信号yがが力xと等しくなっています。离开ステートでは,出力信号がゼロに設定されます。何らかのしきい値t0を入力信号が横切ると,チャートはこれらのステート間で遷移します。各ステートのアクションにより,シミュレーションのタイムステップごとにyの値が更新されます。

两种状态的状态流程图。

この例では,金宝appSIMULINKでのシミュレーションおよびMATLABでの実実にに闻名チャートを作品成员

Stateflowチャートの作成

Stateflowエディターを開く

Stateflowエディターは,状態遷移図,フローチャート,状態遷移表,および真理値表を設計するためのグラフィカルな環境です。Stateflowエディターを開く前に,ニーズに最も適しているチャート実行モードを決定します。

  • 条件付き,イベントベース,および時間ベースのロジックを周期的または連続時間の仿金宝app真软件アルゴリズム向けにモデル化するには,仿真软件モデル内のブロックとしてシミュレーションを行えるStateflowチャートを作成します。MATLABコマンドプロンプトで,次のように入力します。

    sfnew纠正在Simulink模型中的仿真创建图表金宝app

    金宝app仿真软件で,空のStateflow图表ブロックを含む纠正というモデルが作成されます.Stateflowエディターを开くには,チャートブロックをダブルクリックします。

  • 再利用可能なステートマシンとタイミングロジックをMATLABアプリケーション向けに設計するには,MATLABオブジェクトとして実行できるスタンドアロンのStateflowチャートを作成します。MATLABコマンドプロンプトで,次のように入力します。

    编辑rectify.sfx%创建图表作为MATLAB对象执行

    ファイルrectify.sfxが现出的,州流エディターに纠正という名前の空のチャートが作成されます。

Stateflowエディターの主要なコンポーネントは,オブジェクトパレット,チャートキャンバスおよび[シンボル]ペインです。

  • チャートキャンバスは,ステート,迁移,およびその他のグラフィカル要素を组み合わせてチャートを作成するための描画领域です。

  • キャンバスの左側にあるオブジェクトパレットには,チャートにグラフィカル要素を追加するための一連のツールが表示されます。

  • キャンバスの右側にある[シンボル]ペインでは,チャートに新しいデータを追加して未定義や未使用のシンボルをすべて解決します。

默认视图状态溢编辑器。

ヒント

Stateflowチャートを作成した後は,その内容を実行モードの異なる別のチャートにコピーすることができます。たとえば,MATLABでの実行用にチャートを作成して,その内容を仿真金宝app软件でのシミュレーション用のチャートにコピーできます。

ステートと遷移の追加

  1. オブジェクトパレットで[ステート]アイコンをクリックし,ポインターをチャートキャンバスに移動します。ステートがそのデフォルト遷移とともに表示されます。ステートを配置するには,キャンバス上の位置をクリックします。テキストプロンプトで,ステートの名前とステートアクションY = X.をを力します。

    图表中只有一个状态,On。

  2. ステートをもう1つ追加します。ステートを右クリックしてドラッグします。青いグラフィカルキューはステートを横または縦に揃えるために役立ちます。新しいステートの名前が离开に変わります。ステートをダブルクリックしてステートアクションをy = 0に変更します。

    图表有两种状态,开和关。

  3. 2つのステートを揃えなお,2つのステート间のスペースで停止しします。青い迁移キューはいくつのを示してますます迁移示し示しいはは,该当を追には,该当する追ます。

    あるいは,遷移を描くために,一方のステートのエッジをクリックし,もう一方のステートのエッジまでドラッグします。

    用转换连接两个状态的图表。

  4. 各遷移をダブルクリックして,適切な遷移条件x < t0またはx > = t0を入力します。条件が大かっこ内に表示されます。

    具有过渡条件的图表。

  5. チャートをクリーンアップします。

    • より明確にするため,各遷移ラベルをその対応する遷移の上または下の適した場所に移動します。

    • チャートチャートのグラフィカル要素要素を整列せてサイズサイズを変更にはににはに[书记设定]タブで[自动调整]をクリックするか,ctrl + shift + aを押します。

    • キャンバスに合わせてチャートのサイズを変更するには,スペースバーを押すか[ビューに合成]アイコンをクリックします。

未未定义のシンボルの解决

ペインでは,チャートデータは,未データは,ローカルデータは,ローカルデータは,未データは,スコープデータは,未データは,未データは,未データは,未データは,未データは,未データは,指定データは,ペイン指定はなりませんんんはんませんんはようにしようようようできるできるようようようようよう[[[[シンボル]のシンボルに赤のエラーバッジのマークが付いています。[タイプ]列には,未定義のシンボルに推奨されるスコープが,チャート内での用途に基づいて表示されます。

  1. [シンボル]ペインを开开ます。

    • チャートを金宝app仿真软件モデル内に作成している場合,[モデルU化]タブの[データの設計][[シンボル]ペイン]を選択します。

    • matlabで実行するアロンアロンチャートを作物成[ステートチャート]タブで,[データの追加)[[シンボル]ペイン]を選択します。

  2. [シンボル]ペインで(未定義のシンボルを解決]をクリックします。

    • 金宝app仿真软件モデル内でチャートを作成する場合,Stateflowエディターはシンボルxおよびt0を入力データとしてyを出力データとして解决します。

    • MATLABでの実行用にスタンドアロンのを作品成する合,州流エディターはt0xおよびyをローカルデータとして解决します。

    “符号”窗格的前后视图,用于解析未定义的符号t0、x和y。

  3. しきい値t0はシミュレーション中は変わらないため,スコープを定数データに変更します。[タイプ]列で,t0のの横のデータデータ型アイコンをクリックし(定数データ]を選択します。

  4. しきい値t0の値を設定します。[値]列で,t0の横の空白のエントリをクリックして,0の値を入力します。

  5. extenfflowチャートを保存ます。

これで,チャートを仿金宝app真软件でシミュレートするか,MATLABで実行する準備ができました。

金宝appブロックとしてのチャートのシミュレーション

金宝app仿真软件モデル内でチャートをシミュレートするには,入出力端子を使用して,チャートブロックをモデル内の他のブロックに接続します。MATLABコマンドウィンドウからチャートを実行する場合は,MATLABオブジェクトとしてのチャートの実行を参照してください。

  1. 金宝appSimulinkエディターエディターに戻るに,キャンバス上部のバーで,simulinkモデルの名称(纠正)をクリックします。エクスプローラーエクスプローラーバーが表示さされないないは,オブジェクトパレットの上部にに[エクスプローラーバーの非表示/表示)アイコンをクリックします。

  2. モデルにソースを追加します。

    • 金宝app仿真软件来源ライブラリから,正弦波(金宝app模型)ブロックを加载します。

    • 正弦波ブロックブロックをダブルクリックして[サンプル時間]0.2をに設定します。

    • 正弦波ブロックの出力をStateflowチャートの入力に接続します。

    • 信号号xというラベルを付けます。

  3. モデルに水槽を加加します。

    • 金宝app仿真软件下沉ライブラリから,2つの入力端子をもつ范围(金宝app模型)ブロックを加载します。

    • 正弦波ブロックのの力を,范围ブロックの1つ目の入力に接続します。

    • extenflingチャートの出力を,范围ブロックの2つ目の入力に接続します。

    • 信号号yというラベルを付けます。

  4. 金宝app仿真软件モデルを保存します。

    在Simu金宝applink模型中,正弦波块为图表创建输入信号。范围块绘制图表的输入和输出。

  5. モデルをシミュレートするには,[実行]をクリックします。シミュレーション中,Stateflowエディターではチャートアニメーションによってアクティブステートと遷移が強調表示されます。

  6. モデルをシミュレートした後に,范围ブロックをダブルクリックします。スコープにチャートの入力信号と出力信号のグラフが表示されます。

    显示图表的输入和输出的范围块。

    シミュレーションの結果には,整流器が負の入力値をフィルターで除外することが示されています。

MATLABオブジェクトとしてのチャートのの行

MATLABコマンドウィンドウでチャートを実行するには,チャートオブジェクトを作成して,その関数一步をを呼び出し.s金宝appimulinkモデル内でチャートをするするはは,金宝app仿真软件ブロックとしてのチャートのシミュレーションを参照してください。

  1. チャート定義を関数として含む自解压ファイルの名前を使用して,チャートオブジェクトrを作物成し。チャートチャートxのの初値値,名称と値のペアとしてします。

    r =纠正(“x”,0);
  2. ベクトルXベクトルYは空のアキュムレータです。

    T = 0:0.2:10;X =罪(T);Y = [];
  3. 関数一步をを数回呼び出し,チャートチャートオブジェクトを行し。ベクトルXの個々の値をチャートデータxとして渡します。結果として得られたyの値をベクトルYで収集します。実行中,Stateflowエディターではチャートアニメーションによってアクティブステートと遷移が強調表示されます。

    I = 1:51 step(r,“x”X (i));Y (i) = r.y;结束
  4. チャートオブジェクトrをMATLABワークスペースから削除します。

    删除(r)
  5. チャート実行の結果を調べます。たとえば,関数楼梯を呼び出すと,XYの値を比較する階段状グラフを作成できます。

    ax₁=次要情节(2,1,1);楼梯(ax₁,T, X,“颜色”'#0072bd')标题(ax₁,“x”)AX2 =子图(2,1,2);楼梯(AX2,T,Y,“颜色”“# D95319”)标题(ax2,'是'

    用MATLAB显示输入输出图。

    実行の結果には,整流器が負の入力値をフィルターで除外することが示されています。

参考

|||(金宝app模型)|(金宝app模型)

关键词する