Main Content

isActive

Determine if state is active

    Description

    example

    tf = isActive(stateOp) returns logical 1 (true) if stateOp is the operating point for a state that is active. Otherwise, the function returns logical 0 (false).

    Examples

    collapse all

    1. Open the sf_aircraft model.

      openExample("sf_aircraft")

      For more information about this model, see Detect Faults in Aircraft Elevator Control System.

    2. Set the model to save the final operating point. Open the Configuration Parameters dialog box and, in the Data Import/Export pane:

      1. Select Final states and enter a name for the operating point. For this example, use xSteadyState.

      2. Select Save final operating point.

      3. Click OK.

    3. Set the stop time for this simulation segment. In the Simulation tab, set Stop Time to 3.

    4. Run the simulation.

    5. Access the Stateflow.op.BlockOperatingPoint object that contains the operating point information for the Mode Logic chart.

      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. Access the Stateflow.op.OperatingPointContainer object that contains the operating point information for the Actuators state.

      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. Highlight the states that are active in the chart at t = 3.

      highlightActiveStates(op)

      Stateflow chart showing active states.

    8. Change the substate activity in the state LO to reflect a failure of the left-outer actuator.

      setActive(op.Actuators.LO.Isolated)

      Stateflow chart showing active states.

    9. Verify that the substate Isolated in the state LO is active in the modified operating point.

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

    10. Remove the highlighting of active states in the Stateflow® Editor.

      removeHighlighting(op)

    Input Arguments

    collapse all

    Operating point for a state, specified as a Stateflow.op.OperatingPointContainer object.

    Version History

    Introduced in R2009b