Stateflow.op.BlockOperatingPoint - Operating point information for Stateflow chart - MATLAB (original) (raw)

Operating point information for Stateflow chart

Description

A Stateflow.op.BlockOperatingPoint object contains a snapshot of a Stateflow® chart during simulation. The operating point includes information about:

Creation

When you save the final operating point for a Simulink® model, as described in Save Operating Points, you create a Simulink.op.ModelOperatingPoint (Simulink) object that contains aStateflow.op.BlockOperatingPoint object for each Stateflow chart in the model.

Access the Stateflow.op.BlockOperatingPoint object for a chart by calling the get (Simulink) function and using the block path to the chart. For example, if the final operating point for the model is xFinal and the block path to your chart is"myModel/Chart", enter:

op = get(xFinal,"myModel/Chart");

Properties

The Stateflow.op.BlockOperatingPoint object contains a property for each state, box, function, local data, and output data in the chart. The name of the property matches the name of the state, function, box, or data. For example:

Object Functions

Examples

collapse all

  1. Open the sf_car model.
    For more information about this model, see Model a Car with Automatic Transmission.

  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 shift_logic chart.
    blockpath = "sf_car/shift_logic";
    op = get(xSteadyState,blockpath)
    op =
    Block: "shift_logic" (handle) (active)
    Path: sf_car/shift_logic
    Contains:

    • gear_state "State (AND)" (active)
    • selection_state "State (AND)" (active)
      gear "State output data" gearType [1, 1]
      down_th "Local data" double [1, 1]
      up_th "Local data" double [1, 1]
      datasetWrittenToVector "Data set written to vector" logical 4x1
  6. Access the Stateflow.op.OperatingPointContainer object that contains the operating point information for the gear_state state.
    ans =
    State: "gear_state" (handle) (active)
    Path: sf_car/shift_logic/gear_state
    Contains:

    • first "State (OR)" (active)
    • fourth "State (OR)"
    • second "State (OR)"
    • third "State (OR)"
  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 gear_state to reflect a change in gear.
    setActive(op.gear_state.second)
    Stateflow chart showing active states.

  9. Verify that the substate second in the stategear_state is active in the modified operating point.
    isActive(op.gear_state.second)

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

  11. Open the model old_sf_car.
    openExample("old_sf_car")

  12. 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.
  13. Set the stop time for this simulation segment. In the Simulation tab, set Stop Time to 10.

  14. Run the simulation.

  15. Access the Stateflow.op.BlockOperatingPoint object that contains the operating point information for the shift_logic chart.
    blockpath = "old_sf_car/shift_logic";
    op = get(xSteadyState,blockpath)
    op =
    Block: "shift_logic" (handle) (active)
    Path: old_sf_car/shift_logic
    Contains:

    • gear_state "State (AND)" (active)
    • selection_state "State (AND)" (active)
      gear "Block output data" double [1, 1]
  16. Highlight the states that are active in the chart at t = 10.
    highlightActiveStates(op)
    Stateflow chart showing active states.

  17. Access the Stateflow.op.OperatingPointData object that contains the operating point information for the chart output gear.
    ans =
    Description: 'Block output data'
    DataType: 'double'
    Size: '[1, 1]'
    Range: [1x1 struct]
    InitialValue: [1x0 double]
    Value: 4

  18. Change the value of gear to 1.

  19. Inspect the modified operating point information for the chart output gear.
    ans =
    Description: 'Block output data'
    DataType: 'double'
    Size: '[1, 1]'
    Range: [1x1 struct]
    InitialValue: [1x0 double]
    Value: 1

Version History

Introduced in R2009b

expand all

Stateflow.SimState.BlockSimState is now calledStateflow.op.BlockOperationPoint. The behavior remains the same.

See Also

Objects

Functions

Topics