。
この例では,MATLAB®をアクション言语として使eventflow®チャートチャート,应用程序设计师で作物さたmatlabアプリの间のインターフェイスを作者方法をを明します.cをアクション言语として使使するeventflumps over antumplowチャートチャートmatlabアプリににする方法ののについては,メディアプレーヤーのシミュレーションを参照してください。
この例では,自动车のパワーウィンドウシステムシステム,1対のウィンドウ制御スイッチに応答て助手のウィンドウウィンドウを助手席侧ウィンドウををげます.matlabアプリスイッチは,运転席と助手席ドアのコントロールをています。アプリアプリにはパワーウィンドウウィンドウのステータスを监视するする复のランプととランプととランプランプととランプランプランプランプランプランプランプランプランプランプランプランプランプランプランプランプランプランプランプのランプ
stateflowチャート.应用程序界面
では,MATLABアプリと,S金宝appimulink®的モデルの制御およびプラントシステムの间の双方向接続を使用できます。アプリのスイッチを新しい位置に向けると,チャートはこれに対応した “向上”, “向下”,または“中立”コマンドをパワーウィンドウ制御に送送します。逆逆,制御でステートがさと,チャートはアプリ対応するランプををまたはまたはにしするを。
この例を実行するには,金宝appsimulinkモデルを开放て[実行]ををクリックしチャート应用程序界面
がパワーウィンドウシステムの制御システムとシステムを初ししますをを停止にし。[停止]をクリックするか,アプリを闭じます。
チャート应用程序界面
は,既にmatlabアプリsf_power_window_app.
と通信する构ようようされいますます.matlabアプリと,matlabをアクション言语としてするするチャートので双双向接続ををするはの接続を従っは,以下のに従っください.matlabアプリでて。
,App Designerアプリ内でのデータの共を参照してください。
アプリのstartupfcn.
,App Designerでコールバックを记述するを参照してください。
extenfflingチャートチャート,以下を行。
チャートがのををとるデータデータををます。チャートがアプリで关键词ときにに,このローカルローカルををとしてとしてに。
前のステップで作物成しローカルローカルデータオブジェクトのタイプを继承:从图表中的定义
に设定します。详细については,StateFlowデータデータの型ののを参照してください。
关节编码器.Extrinsic.
をを呼び出し,アプリととの补助关键を外部matlabコードコードとして宣言ししししについてについては,StateFlowチャートでの外部matlab关键词を参照してください。
キーワード这
ををとと使と使しアプリを実し,シミュレーション中にチャートへのアクセスアプリに可します。关键词によりアプリ返された値を,アプリとのインターフェイスをためにしたローカルデータオブジェクトとしに格式します。
この例では,パワーウィンドウアプリは图表
というプロパティを使使使,チャート应用程序界面
アプリのインターフェイスとります。アプリのコールバックはこのプロパティをしてチャートののににます。
运転席侧の制御スイッチを新闻位置に移移する,DriverControlValuechanged.
コールバックによりswitches.driver_up.
とswitches.driver_down.
の値が设定さますます。
助手席侧の制御スイッチを新闻位置に移移する,passengercontrolvaluechanged
コールバックによりswitches.passenger_up.
とswitches.passenger_down.
の値が设定さますます。
[障碍]ボタンをクリックすると,障碍物禁止
コールバックにより障碍
の値が真的
に设定されます。
アプリを闭じると,Uifigurecloserequest.
コールバックにより停止
の値が真的
に设定されます。
逆逆,チャートでは,InterfaceWithapp.
ステートの入口アクションがアプリsf_power_window_app.
を行行し,戻り値をローカルデータオブジェクト应用程序
として格式しし。チャートチャート,补助关Updatelamps.
をを呼び出すとき,このローカルデータオブジェクトを使ます。アプリアプリ,この补助关键词灯
の値を使用してランプのオンとを切り替えます切り替えますますます。
パワーウィンドウ制御システムはモードロジックを使用して,ウィンドウを动かす时点を判别し,サーボモーターに统合运动コマンドを出力します。制造コストを抑えるため,制御システムはウィンドウの位置を追迹しません。代わりに,サーボモーターからから信牌信号均をてて,ウィンドウが完全に开い时钟,ウィンドウが完全にた时钟,またはウィンドウが障害物にしたを判别し接触。
制御制御システムは以のの性能要件満たし満たし
ウィンドウが完全に开放まで,または完全に闭じるまでののが5秒以内であること。
ウィンドウが完全に开い位置または闭じ位置到达たらモーターが停止停止ことことするする
ウィンドウが上とき,モーターは障害物を検出できることことがウィンドウので障害障害ををした场障害障害障害た场障害障害场场场た料,1空间,またはまたはウィンドウに开口まで,ウィンドウを下载こと。
いずれいずれの方向にてて10秒移しした场は,ウィンドウは,ウィンドウメカニズム,モーターおよびドライブに対するドライブののドライブドライブに対するドライブの保护提供します。
制御スイッチが0.5秒に満たないない空间押された合,または1秒より长い押さ押さた合,スイッチを离した时尚でウィンドウがすること。
制御スイッチが0.5秒より长く,1秒に満たない时空押された综合,ウィンドウは新闻コマンドまたは物により运新闻コマンド障害ない运を断ない限制,完全完全开か,または完全にこと。自动モード机构を表します。
00
stateflowチャート.控制系统
この,これらの要件を満たすドリブンドリブンコントローラーをモデルししドリブンチャートは,パラレルは,パラレル构造の2つのステート(转变
と逻辑
)でで成さます。これらこれらステートは,チャートチャート力の変化にし,パワーウィンドウシステムの动作モードをし,サーボモーターをアクティブに。
ステート转变
はについてをキャスト読み取り,ローカルイベントをブロードし,パワーウィンドウの动词。ローカルローカルイベントをブロードブロードキャストしパラレルステートをを期を参照してください。
シミュレーションのすべてのタイムステップで,このステートステート定理値关联核对开关
を呼び出してと助手席侧制御スイッチの位置を判别しし入スイッチ席侧ととをしし入スイッチ席侧位置位置しし入入のの开关
の値に応じて,この关键向上
那下
,および中性的
イベントをブロードキャストします。この关键,运転席侧のコントロールコントロールががの位置ににないない场は助手席侧コントロールからからのの入入无视するするするため入するするためためためいる要件すべて指定するためためいるいるとおりとおりすべて指定するためているいるとおりすべてすべて无视さされいるいるとおり侧のコントロールコントロールが助手助手のコントロールより优先优先されれ
同様同様,このステートはグラフィカル关圈检察官
を呼び出し,サーボサーボの电机子电机のの强度判别します。当前的
の値が小さく非のの综合,障害物が在する,この关键障碍
をブロードキャストします。一方,当前的
の値が大众综合,ウィンドウは完全に开放た,または完全に闭じ位置位置达达ているため,この关键终止
をブロードキャストします。このチャートは检察官
を核对开关
より前に呼び出す,要件8で指定さている,障害物検出が席侧および席侧席侧コントロールより优先さされますますれれれ。
ステート逻辑
は故障検出アルゴリズムを,ウィンドウのハードウェアの保护およびの道筋にある障害検出検出行ます。このこのステートにいますををいいいををはのいい动をををにい动动を停止
那移动
那紧急情况
の3つのサブステートがます。
初期状态状态で,ステート停止
がアクティブです。このこのステートに,模式
と位置
という2つのパラレルサブステートがあります。
模式
は,パワーシステムが制御スイッチからの新しいコマンドを受け入れる准备ができた时点を判别します。システムは,両方の制御スイッチが “中性” の位置にあるときに新しいコマンドを受け入れることができます。
位置
は,ウィンドウが完全に开放ているか,完全に闭じてか,そのチャート,にあるをししは,サーボモーター范囲の终点达した时代でののし向この判别を行い。
停止
は,イベント向上
または下
のブロードキャストキャストがいずれかの制御スイッチからのコマンド示す示すまでまでまでまでまでままととなります示す完全ににははいいてておらずずずずずずずずずずずずずずずずずずずずずずずずずずずおらおらおらずずずずずずずずずずずずずずおらずずずずずずずずずずずずずずずおらずずずずずずずずずずずずずずずずずず移动
へへの迁移ををトリガーし。一方,イベント向上
同様,ウィンドウが场完全闭じいるささされ判断判断されます。下
はウィンドウが完全に开口てている合。
ステート移动
は,ウィンドウが动词てときはは常にアクティブますますますは,ウィンドウウィンドウ自动的なと検出に关键词ウィンドウののの要件実実ますかの要件実実ます。方向
および模式
という名の2つのパラレルサブステートがありあり。
方向
はウィンドウが动词方向を判别し,必要に応じて关联go.up.
および下去
を呼び出します。これらの关键,サーボモーターと,アプリの[向上]および[下]ステータスステータスを制御するする力信号の値设定します。
模式
は,要件5および6でささている,パワーウィンドウの自动モードと手モードを装。このステートには3つの排他ステート(初始化
那汽车
那手动的
)があります。初初状态は,サブサブ初始化
がアクティブです。このこのサブステート,制御制御スイッチ“中立”の位置に戻ったこと示す中性的
イベントイベントのブロードキャストをを待待ししブロードキャストキャスト,初始化
がアクティブになってからから0.5秒以内に発生物しし综合,このこのは停止
ステートステートの迁移トリガー,ウィンドウが移を停止なければならないを示し。初始化
がアクティブになってから0.5秒后より后で,1秒后より前に発生物した综合,このこのはサブステート汽车
このウィンドウシステムが自动モードで动作しいるを示しますこのステートは,イベントサブステートはをます。终止
(ウィンドウが完全に开放ててか完全に闭じている合),イベント障碍
(ウィンドウが障害物とと接触したた合),またはイベント向上
あるいは下
(システムがいずれかの制御スイッチからの场コマンドをしたた中间さまで,アクティブのままなります。初始化
がアクティブになってから1秒に満たない间に発生物しなかった综合,时代之后(1,秒)
はサブステート手动的
へへの迁移をトリガーししこのサブステートステートはははステート,イベント中性的
のブロードキャストが停止
ステートステートに戻る迁移をトリガーするするまで,アクティブのままとなり。
システムが自动モードである手かモードかにかかわらず,要件2および4で指定さている,イベント终止
がブロードキャストされたた合,または移动
がfailsafe_timeout.
秒より长くアクティブになっなったた合,チャートは移动
から停止
にでは,このこのは値は10に设定されては。
ウィンドウが障害物に接する,ウィンドウにかかるによってサーボモーターにが加入,これにより电机子电机が加します。电机子电池ますな増をすることでなある监视するで道筋にある障害物を検知し。
この例では,金宝appsimulinkサブシステムがサーボをシミュレートします。ウィンドウウィンドウの位置はししししを位置制0(およびおよびの位置制制およびおよびおよび(完全完全にいるいるいるいるをを使し,积分商(金宝appSimulink)4に达するする,システムシステム力电枢电流
は10に増加します値は,ウィンドウが完全に开放ている,完全に闭じてことこと示しいます。
ウィンドウの道筋に障害物ををには,ウィンドウが上间间にアプリで[障碍]ボタンをクリックします。应用程序界面
チャートは,サーボモーターに正の信号を函数し応答し,これにより电机子电阻がに上がり。控制系统
チャートで,关节检察官
はこの电气のの変変し,イベント障碍
をブロードキャストします。逻辑
ステートで,このイベントはサブステート移动
からサブステート紧急情况
へへの迁移ををトリガーしししサブステートがアクティブアクティブアクティブ,,によりにより秒秒アクティブ完全にににウィンドウウィンドウが完全にまでまでまで后后がげられますまで,后后がます后,要件3でされた,チャートチャートはウィンドウ停止停止しなければならないことことをサブサブ停止
ににます。
后|已经改变|发送|这|编码器.Extrinsic.
(MATLAB编码器)|积分商(金宝appSimulink)