Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

isActive

确定状态是否处于激活状态

    说明

    如果 stateOp 是激活状态的工作点,tf = isActive(stateOp) 将返回逻辑值 1 (true)。否则,该函数返回逻辑值 0 (false)。

    示例

    示例

    全部折叠

    1. 打开 sf_aircraft 模型。

      openExample("sf_aircraft")

      有关此模型的详细信息,请参阅Detect and Isolate Faults in Aircraft Elevator Control System

    2. 设置模型以保存最终工作点。打开“配置参数”对话框,并在数据导入/导出窗格中执行以下操作:

      1. 选择最终状态并输入工作点的名称。对于此示例,请使用 xSteadyState

      2. 选择保存最终工作点

      3. 点击确定

    3. 设置此仿真段的停止时间。在仿真选项卡中,将停止时间设置为 3

    4. 运行仿真。

    5. 访问包含 Mode Logic 图的工作点信息的 Stateflow.op.BlockOperatingPoint 对象。

      blockpath = "sf_aircraft/Mode Logic";
      op = get(xSteadyState,blockpath)
      op = 
      
        Block:    "Mode Logic"    (handle)    (active)
        Path:     sf_aircraft/Mode Logic
      
        Contains:
      
          + Actuators          "State (OR)"                    (active)
          + LI_act             "Function"
          + LO_act             "Function"
          + L_switch           "Function"
          + RI_act             "Function"
          + RO_act             "Function"
          + R_switch           "Function"
            LI_mode            "State output data"		sf_aircraft_ModeType [1,1]
            LO_mode            "State output data"		sf_aircraft_ModeType [1,1]
            RI_mode            "State output data"		sf_aircraft_ModeType [1,1]
            RO_mode            "State output data"		sf_aircraft_ModeType [1,1]
    6. 访问包含 Actuators 状态的工作点信息的 Stateflow.op.OperatingPointContainer 对象。

      op.Actuators
      ans = 
      
        State:    "Actuators"    (handle)    (active)
        Path:     sf_aircraft/Mode Logic/Actuators
      
        Contains:
      
          + LI            "State (AND)"         (active)
          + LO            "State (AND)"         (active)
          + RI            "State (AND)"         (active)
          + RO            "State (AND)"         (active)
      
    7. 突出显示图中在 t = 3 处被激活的状态。

      highlightActiveStates(op)

      Stateflow chart showing active states.

    8. 更改状态 LO 中的子状态活动以反映左侧外部作动器的故障。

      setActive(op.Actuators.LO.Isolated)

      Stateflow chart showing active states.

    9. 验证状态 LO 中的子状态 Isolated 在修改后的工作点中被激活。

      isActive(op.Actuators.LO.Isolated)
      ans =
      
        logical
      
         1

    10. 取消 Stateflow® 编辑器中激活状态的突出显示。

      removeHighlighting(op)

    输入参数

    全部折叠

    状态的工作点,指定为 Stateflow.op.OperatingPointContainer 对象。

    版本历史记录

    在 R2009b 中推出