このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
Stateflow®チャートは,有限性ステートのグラフィカルであり,ステート,迁移,およびデータでデータされいます.stateflowチャート作物する.stateflow ove作者する.stateflowチャートチャート作物する,外部のの力信号,イベント,空间ベースベース条件matlab®アルゴリズムまたは仿金宝app真软件®モデルの反応を定義できます。詳細については,股份有限公司を参照してください。
たとえば,次のextenfflowチャートは半波整流のととロジックています。在
と离开
というラベルの2つのステートが含まれています。在
ステートでは,チャートチャートの力信号y
がが力x
と等しくなっています。离开
ステートでは,出力信号がゼロに設定されます。何らかのしきい値t0
を入力信号が横切ると,チャートはこれらのステート間で遷移します。各ステートのアクションにより,シミュレーションのタイムステップごとにy
の値が更新されます。
この例では,金宝appSIMULINKでのシミュレーションおよびMATLABでの実実にに闻名チャートを作品成员
Stateflowエディターは,状態遷移図,フローチャート,状態遷移表,および真理値表を設計するためのグラフィカルな環境です。Stateflowエディターを開く前に,ニーズに最も適しているチャート実行モードを決定します。
条件付き,イベントベース,および時間ベースのロジックを周期的または連続時間の仿金宝app真软件アルゴリズム向けにモデル化するには,仿真软件モデル内のブロックとしてシミュレーションを行えるStateflowチャートを作成します。MATLABコマンドプロンプトで,次のように入力します。
sfnew纠正在Simulink模型中的仿真创建图表金宝app
金宝app仿真软件で,空のStateflow图表ブロックを含む纠正
というモデルが作成されます.Stateflowエディターを开くには,チャートブロックをダブルクリックします。
再利用可能なステートマシンとタイミングロジックをMATLABアプリケーション向けに設計するには,MATLABオブジェクトとして実行できるスタンドアロンのStateflowチャートを作成します。MATLABコマンドプロンプトで,次のように入力します。
编辑rectify.sfx%创建图表作为MATLAB对象执行
ファイルrectify.sfx
が现出的,州流エディターに纠正
という名前の空のチャートが作成されます。
Stateflowエディターの主要なコンポーネントは,オブジェクトパレット,チャートキャンバスおよび[シンボル]ペインです。
チャートキャンバスは,ステート,迁移,およびその他のグラフィカル要素を组み合わせてチャートを作成するための描画领域です。
キャンバスの左側にあるオブジェクトパレットには,チャートにグラフィカル要素を追加するための一連のツールが表示されます。
キャンバスの右側にある[シンボル]ペインでは,チャートに新しいデータを追加して未定義や未使用のシンボルをすべて解決します。
ヒント
Stateflowチャートを作成した後は,その内容を実行モードの異なる別のチャートにコピーすることができます。たとえば,MATLABでの実行用にチャートを作成して,その内容を仿真金宝app软件でのシミュレーション用のチャートにコピーできます。
オブジェクトパレットで[ステート]アイコンをクリックし,ポインターをチャートキャンバスに移動します。ステートがそのデフォルト遷移とともに表示されます。ステートを配置するには,キャンバス上の位置をクリックします。テキストプロンプトで,ステートの名前在
とステートアクションY = X.
をを力します。
ステートをもう1つ追加します。在
ステートを右クリックしてドラッグします。青いグラフィカルキューはステートを横または縦に揃えるために役立ちます。新しいステートの名前が离开
に変わります。ステートをダブルクリックしてステートアクションをy = 0
に変更します。
2つのステートを揃えなお,2つのステート间のスペースで停止しします。青い迁移キューはいくつのを示してますます迁移示し示しいはは,该当を追には,该当する追ます。
あるいは,遷移を描くために,一方のステートのエッジをクリックし,もう一方のステートのエッジまでドラッグします。
各遷移をダブルクリックして,適切な遷移条件x < t0
またはx > = t0
を入力します。条件が大かっこ内に表示されます。
チャートをクリーンアップします。
より明確にするため,各遷移ラベルをその対応する遷移の上または下の適した場所に移動します。
チャートチャートのグラフィカル要素要素を整列せてサイズサイズを変更にはににはに[书记设定]タブで[自动调整]をクリックするか,ctrl + shift + aを押します。
キャンバスに合わせてチャートのサイズを変更するには,スペースバーを押すか[ビューに合成]アイコンをクリックします。
ペインでは,チャートデータは,未データは,ローカルデータは,ローカルデータは,未データは,スコープデータは,未データは,未データは,未データは,未データは,未データは,未データは,指定データは,ペイン指定はなりませんんんはんませんんはようにしようようようできるできるようようようようよう[[[[シンボル]のシンボルに赤のエラーバッジのマークが付いています。[タイプ]列には,未定義のシンボルに推奨されるスコープが,チャート内での用途に基づいて表示されます。
[シンボル]ペインを开开ます。
チャートを金宝app仿真软件モデル内に作成している場合,[モデルU化]タブの[データの設計]で[[シンボル]ペイン]を選択します。
matlabで実行するアロンアロンチャートを作物成[ステートチャート]タブで,[データの追加)、[[シンボル]ペイン]を選択します。
[シンボル]ペインで(未定義のシンボルを解決]をクリックします。
金宝app仿真软件モデル内でチャートを作成する場合,Stateflowエディターはシンボルx
およびt0
を入力データとしてy
を出力データとして解决します。
MATLABでの実行用にスタンドアロンのを作品成する合,州流エディターはt0
、x
およびy
をローカルデータとして解决します。
しきい値t0
はシミュレーション中は変わらないため,スコープを定数データに変更します。[タイプ]列で,t0
のの横のデータデータ型アイコンをクリックし(定数データ]
を選択します。
しきい値t0
の値を設定します。[値]列で,t0
の横の空白のエントリをクリックして,0の値を入力します。
extenfflowチャートを保存ます。
これで,チャートを仿金宝app真软件でシミュレートするか,MATLABで実行する準備ができました。
金宝app仿真软件モデル内でチャートをシミュレートするには,入出力端子を使用して,チャートブロックをモデル内の他のブロックに接続します。MATLABコマンドウィンドウからチャートを実行する場合は,MATLABオブジェクトとしてのチャートの実行を参照してください。
金宝appSimulinkエディターエディターに戻るに,キャンバス上部のバーで,simulinkモデルの名称(纠正)
をクリックします。エクスプローラーエクスプローラーバーが表示さされないないは,オブジェクトパレットの上部にに[エクスプローラーバーの非表示/表示)アイコンをクリックします。
モデルにソースを追加します。
金宝app仿真软件来源ライブラリから,正弦波(金宝app模型)ブロックを加载します。
正弦波ブロックブロックをダブルクリックして[サンプル時間]0.2をに設定します。
正弦波ブロックの出力をStateflowチャートの入力に接続します。
信号号x
というラベルを付けます。
モデルに水槽を加加します。
金宝app仿真软件下沉ライブラリから,2つの入力端子をもつ范围(金宝app模型)ブロックを加载します。
正弦波ブロックのの力を,范围ブロックの1つ目の入力に接続します。
extenflingチャートの出力を,范围ブロックの2つ目の入力に接続します。
信号号y
というラベルを付けます。
金宝app仿真软件モデルを保存します。
モデルをシミュレートするには,[実行]をクリックします。シミュレーション中,Stateflowエディターではチャートアニメーションによってアクティブステートと遷移が強調表示されます。
モデルをシミュレートした後に,范围ブロックをダブルクリックします。スコープにチャートの入力信号と出力信号のグラフが表示されます。
シミュレーションの結果には,整流器が負の入力値をフィルターで除外することが示されています。
MATLABコマンドウィンドウでチャートを実行するには,チャートオブジェクトを作成して,その関数一步
をを呼び出し.s金宝appimulinkモデル内でチャートをするするはは,金宝app仿真软件ブロックとしてのチャートのシミュレーションを参照してください。
チャート定義を関数として含む自解压
ファイルの名前を使用して,チャートオブジェクトr
を作物成し。チャートチャートx
のの初値値,名称と値のペアとしてします。
r =纠正(“x”,0);
ベクトルX
ベクトルY
は空のアキュムレータです。
T = 0:0.2:10;X =罪(T);Y = [];
関数一步
をを数回呼び出し,チャートチャートオブジェクトを行し。ベクトルX
の個々の値をチャートデータx
として渡します。結果として得られたy
の値をベクトルY
で収集します。実行中,Stateflowエディターではチャートアニメーションによってアクティブステートと遷移が強調表示されます。
为I = 1:51 step(r,“x”X (i));Y (i) = r.y;结束
チャートオブジェクトr
をMATLABワークスペースから削除します。
删除(r)
チャート実行の結果を調べます。たとえば,関数楼梯
を呼び出すと,X
とY
の値を比較する階段状グラフを作成できます。
ax₁=次要情节(2,1,1);楼梯(ax₁,T, X,“颜色”,'#0072bd')标题(ax₁,“x”)AX2 =子图(2,1,2);楼梯(AX2,T,Y,“颜色”,“# D95319”)标题(ax2,'是')
実行の結果には,整流器が負の入力値をフィルターで除外することが示されています。
sfnew
|楼梯
|图表|范围(金宝app模型)|正弦波(金宝app模型)