主要内容

このページ最新ではありませ。をクリックし,英语のの最新版版を参照参照し。

stateflowチャートをしヒューマンマシンインターフェイスの设计设计设计

stateflow®チャートチャートチャートチャートチャートチャートグラフィカルユーザーユーザーインターフェイスのモデルモデル化化するする方法方法方法方法方法をををしますます。。。スタンドスタンドスタンドアロンアロンアロンチャートチャートチャートチャートはは,,,,金宝app,,,,,,,,,,,,ををををををををを生成がれいるいる关数を含めててののすべて机能机能使用ししてチャートををプログラミングできますます。。matlabオブジェクトとしてするするするするチャートチャートチャート作成作成を参照しください。

状态流チャートチャート,,そのイベントイベントて,时相演算子时相演算子をすることことことによってによって実行実行実行できます。イベントイベントドリブンドリブンドリブンドリブンおよびおよびおよびおよびタイマードタイマードタイマードタイマードタイマードリブンリブンリブンリブンのののの実行実行実行ワークワークワークフローフローフローフローフローフローフローフローフローフローフロー基とロジック设计にています。

  • Matlab应用程序设计师ををするはインターフェイスからコールバック关数がチャート内のイベントを。。。。

  • stateflowチャートで时相演算子とローカルデータユーザーインターフェイスプロパティを制御。。

matlabを使用てユーザーインターフェイスを方法の详细について,,应用设计师ををし开発开発开発を参照しください。

应用设计师ユーザーユーザー制御制御

このユーザーに,を制御制御するとオフオフのスイッチが含ま含まれれてていいます。。。。スイッチ[on]の[on]のののの位置位置にある场合场合场合场合)のいずれモードでが光り。の速さは,[眨眼率]スライダースライダーをて制御しし

ファイルsf_lamp_logic.sfxsateflowはインターフェイススタンドスタンドアロンアロンアロンののののチャートチャートチャート定义します。。チャートにには,,(ON离开眨眼および坚硬的)とローカル(延迟および应用程序) が含まれています。チャート内のアクションは、各ステートからどのウィジェットにアクセス可能かを制御します。たとえば、离开ステートので,ユーザーインターフェイスの,,[模式]オプション[blink速率]スライダースライダーグレー表示ますます。。。

ステートではサブステート坚硬的Blinking2つのつのをます。点灭ランプ実装するために,チャート时相论时相论に依存ます。チャートステートステート眨眼に入る,出力迁移式式(延迟,秒)之后)は,后チャートを実行するするタイマータイマーオブジェクト作成ます。その后后ステートステートステートステート眨眼睛。在に迁移し,眨眼に戻る遷移をトリガーする別のタイマー オブジェクトを作成します。チャートが 2 つのステートの間で遷移を続ける間、ローカル データ遅延の値を変更して点滅の速さを調整したり、入力イベント坚硬的または离开を呼び出し点灭から迁移を実行たりできます。

のジャンクション,直近でアクティブだったステート关する关する保持ししてて,,,ランプランプをオンオンにしたときときにユーザーユーザーインターフェイスインターフェイスが前

イベントをしスタンドアロンのチャート実行実行

matlabコマンドでイベントを呼び出すこと,スタンドアロンの実行実行stateFlowエディターstateFlowエディターエディターエディターエディターには,,チャートチャートアニメーションをを使用使用しししてててアクティブステートステートステートををされます。

1.状态流エディターでアロンチャートを开き。。

编辑sf_lamp_logic.sfx

2.チャートオブジェクトlを作成して延迟の値を 0.5 に初期化します。この値は 1 秒あたり 1 回の点滅速度に対応します。

l = sf_lamp_logic('延迟',0.5);

3.ランプをにし。。

在(l)上

4.点灭モードにます。

眨眼(L)

5。延迟0.25ににします。この値値はははは秒秒秒秒秒回回点灭速度にに対応。。

l.delay = 0.25;

6.点灯モードにます。

坚硬的(L)

7.ランプをにします。

关闭(l)

8.チャートオブジェクトlをmatlabワークワークスペース削除し。。。

删除(l)

スタンドアロンのチャートとユーザー インターフェイスの接続

ユーザー インターフェイスとスタンドアロンの Stateflow チャートの間に双方向接続を確立するには、App Designer ウィンドウを開いて[コード]を选択し。

1.应用设计师ウィンドウウィンドウ,,,チャートチャートへのを保存するのプロパティプロパティ层相を作成し。

properties (Access = private) lampLogic结尾

2.チャートオブジェクト作成てそのデータデータ应用程序をユーザーハンドルに设定关数关数StartupFcnを作成ます。チャートをを层相プライベート プロパティに割り当てます。

组件创建后执行的%代码功能startupfcn(app)app.lamplogic = sf_lamp_logic('延迟',0.5,'应用程序',应用程序);结尾

3.ユーザーインターフェイスたときチャートオブジェクト削除する关数关数closerequestfcnを作成し。

%关闭请求功能:uifigure功能UIFigureCloseRequest(app, event) delete(app.lampLogic); delete(app);结尾

4.ユーザーのごと,アロンの适切なイベントを呼び出すコールバック关数を追加しし。

  • 切换ウィジェットウィジェットコールバック关数Valuechangedfcn

功能switchvaluechanged(app,event)value = app.switch.value;switch较低(值)案子'离开'OFF(app.lamplogic);案子'上'在(app.lamplogic)上;结尾结尾
  • 模式按钮ウィジェットウィジェットコールバック关数SelectionChangedFCN

功能ModeButtongRoupSelectionChanged(App,event)selectedButton = app.modebuttongroup.seledectectobject;如果app.solidbutton == selected button solid(app.lamplogic);别的眨眼(app.lamplogic);结尾结尾
  • 眨眼率滑块ウィジェットウィジェット关数关数关数Valuechangedfcn

功能blinkrateslidervaluechanged(app,event)app.lamplogic.delay = round(0.5/app.blinkrateslider.value,2);结尾

ユーザーインターフェイスする,チャートキャンバスおよびウィジェット上で制御制御ウィジェットの调整のの效果效果ますますます

参考

关连するトピック