主要内容

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

故障検出とロジックをもつチャートテストテスト

simulink金宝app®モデルののスナップですですstateFlow®チャートの操作点は以下がれ。。。

  • チャートステートのアクティビティ

  • チャートのローカルの値

  • チャートの出力の値

  • MATLAB®关数关数内内真实表ブロックブロック内固定データの値値値

详细については,状态流でで操作の使用使用を参照しください。

チュートリアルの目的

エレベーターシステムのがが台以上しし场合ののsf_aircraftモデルのテストするします。モデル仕组みの详细については,航空机用の制御の故障の検出を参照しください。

模式逻辑チャートチャートは,,,基基に使用使用れれれているアクチュエータののステートががが监视监视监视监视さささされれますます。。。。各各各各エレベーターエレベーターエレベーターエレベーターに外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部外部がアクティブ,内部は待机状态あり。。。

4台アクチュエータ正常机能ている,左右エレベーターはははははは秒后秒后に定常位置にに。

1台以上ににt = 3 = 3でで何がかをを知りたいたいたいととししします。そこそこそこで,,,,,,,,,,,,,,,,,,,,,t = 3〜10ののの范囲でで再びシミュレーションシミュレーションしますます。。

手顺 タスク 参照
1 チャートの点を定义。。 操作点の定义
2 操作点,ががが台台故障というで値を変更します。 1台台をした操作の値変更変更
3 モデルをし変更した操作をテストします。 1台の想定た操作点テストテスト
4 2台台したいう想定で点の値変更します。 2台台をした操作点のの変更変更
5 モデルをして変更した点テストテストますます。 2台故障した操作点テストテスト

操作点の定义

  1. sf_aircraftモデルを开き。

  2. 操作点保存をにします。

    1. [モデルパラメーター]ダイアログダイアログを,[データ/エクスポート]ペインに移动ます。

    2. [最终]チェックボックスオンにし。。

    3. 名前をし。例:xfinal

    4. [最终の点保存]チェックボックスオンにし。。

    5. [适用]をクリックし。

    プログラムでのの机能

  3. このシミュレーションの时间を定义し。。

    1. [モデルコンフィギュレーション]ダイアログダイアログで[ソルバー]ペインに移动ます。

    2. [终了]として3を入力し。

    3. [好的]をクリックし。

    プログラムでのの机能

  4. シミュレーションを开始ます。

    t = 3 =,,,,におけるすべての操作ををををベースベースベースベーススペース内の変数xfinalに保存し。

  5. 操作点保存をにします。

    こうしば前のでした操作が上书きされるれることははありませ

    1. [モデルパラメーター]ダイアログダイアログを,[データ/エクスポート]ペインに移动ます。

    2. [最终の点保存]チェックボックスオフにし。。

    3. [最终]チェックボックスオフにし。。

    4. [好的]をクリックし。

    プログラムでのの机能

1台台をした操作の値変更変更

  1. 操作点のを有效に。。

    1. [モデルパラメーター]ダイアログダイアログを,[データ/エクスポート]ペインに移动ます。

    2. [初期]チェックボックスオンにし。。

    3. チャートの点を含ん変数変数xfinalを入力し。

    4. [好的]をクリックし。

    プログラムでのの机能

  2. 模式逻辑チャートの点ののオブジェクトハンドルをしし。

    コマンドプロンプト,のよう入力します。

    blockPath ='sf_aircraft/mode逻辑';c = xfinal.get(blockPath);

    ヒント

    モデルウィンドウが强调されて场合,,,GCB(金宝appSimulink)を使用てのパス指定できます。

    c = xfinal.get(gcb);

    操作点に対する得到メソッドの使用

  3. 操作点コンテンツを调べ。。

    c = block:“模式逻辑”(handle)(活动)路径:sf_aircraft/mode逻辑包含: +执行器“ state(or)”(active) + li_act“ function” + lo_act“ function” function“ + l_switch”功能 + ri_act” + ri_act“函数” + ro_act“函数” + r_switch“函数” + li_mode“状态输出数据” sf_aircraft_modeType [1,1] + lo_mode“状态输出数据” sf_aircraft_modeType [1,1]1] + ro_mode“状态输出数据” sf_aircraft_modetype [1,1]

    チャートのにはステート关数およびのリスト阶层顺に收纳收纳してて。。。

  4. t = 3 = 3でなっているを强调表示ます。。。

    コマンドプロンプト,のよう入力します。

    C.高光活化;

    アクティブな强调されます。。ので,外部アクチュエータアクチュエータアクチュエータアクチュエータアクチュエータアクチュエータアクチュエータ台台台台台ががアクティブアクティブにててておりおり,,内部内部内部2

    ヒント

    ある単一ステートであるかどうかチェックするために,活跃メソッドをする。たとえば以下のに入力します。

    c.actuators.li.l1.standby.Sactive

    true(1),,,,,,,,,,,,,,アクティブアクティブでない场合场合はははははははははははははははははははははははははですですですですチャートの点をするためのメソッドを参照しください。

  5. 1台台をするように内ステートアクティビティを変更ます。

    左侧(lo)アクチュエータアクチュエータ故障た仮定ます。を変更するにには,以下のコマンドを使用使用使用

    c.actuators.lo.isolated.setactive;

    新たになっサブステートが,で强调表示され。

    固定によりチャート适切なステートから出てなにににするすることことででで,,ステートのの整合性が维持维持されれますます。しかし入口アクションはれません同様に,アクティブたたサブステートに対する出口アクションもされません。

  6. 次の使用て,変更し点を保存し。。

    xfinal = xfinal.set(blockPath,c);

1台の想定た操作点テストテスト

  1. テストするの终了を新たにし。。。

    1. [モデルパラメーター]ダイアログボックスの[ソルバー]ペインに移动ます。

    2. [终了]として10を入力し。

    3. [好的]をクリックし。

    开始时间にする必要がませ。シミュレーションは前回前回中断したところところからからますますます

    プログラムでのの机能

  2. シミュレーションを开始ます。

    チャートのをと,その他他他台台,のの(lo)アクチュエータアクチュエータアクチュエータアクチュエータの故障に适切に対応対応ししてて

    アクチュエータ 切替わり 理由
    左侧の(li) 待机状态からへ 左侧のの外部(LO)アクチュエータアクチュエータ故障补正するががある。。
    右侧の(RI) 待机状态からへ 2台台は油圧に接続れているため。
    右侧の(RO) アクティブから待机へ アクチュエータはエレベーター基基基台がアクティブなることができる。。

    どちらのも定常を维持しています。

2台台をした操作点のの変更変更

  1. 2台台をするようにチャートのステートを変更変更ます。

    左侧(li)アクチュエータアクチュエータ故障た仮定ますステートを変更するには,以下のコマンドコマンドを使用使用

    c.actuators.li.isolated.setactive;
  2. 次の使用て,変更し点を保存し。。

    xfinal = xfinal.set(blockPath,c);

2台故障した操作点テストテスト

  1. [モデルパラメーター]ダイアログボックスで终了时间がががになっいること确认し。。

  2. シミュレーションをしてください。

    2台台と故障ているため左侧は机能しなくなりなります。右侧のエレベーターはは,,定常定常

チャートの変更し,アクチュエータについて右のエレベーターの応答応答をテストするとと,同様のの结果结果结果。

关连するトピック