Main Content

Stateflow.TruthTable

Truth table function in chart, state, box, or function

    Description

    Use Stateflow.TruthTable objects to create truth table functions that implement combinatorial logic design in a concise, tabular format. Typical applications include decision making for:

    • Fault detection and management

    • Mode switching

    You can call a truth table function in the actions of states and transitions. For more information, see Use Truth Tables to Model Combinatorial Logic.

    Creation

    Description

    example

    function = Stateflow.TruthTable(parent) creates a Stateflow.TruthTable object in a parent chart, state, box, or function.

    Input Arguments

    expand all

    Parent for the new truth table, specified as a Stateflow® API object of one of these types:

    Properties

    expand all

    Content

    Name of the truth table, specified as a character vector.

    Full label for the truth table, specified as a character vector.

    Action table for the truth table, specified as a cell array of character vectors.

    Condition table for the truth table, specified as a cell array of character vectors.

    Action language used to program the truth table, specified as 'MATLAB' or 'C'. The option 'C' is supported only in truth tables in charts that use C as the action language. For more information, see Differences Between MATLAB and C as Action Language Syntax.

    Whether to comment out the truth table, specified as a numeric or logical 1 (true) or 0 (false). Setting this property to true is equivalent to right-clicking the truth table and selecting Comment Out. For more information, see Commenting Stateflow Objects in a Chart.

    This property is read-only.

    Whether the truth table is implicitly commented out, specified as a numeric or logical 1 (true) or 0 (false). The truth table is implicitly commented out when you comment out a superstate in its hierarchy.

    Comment text added to the truth table, specified as a character vector. This property applies only when the IsExplicitlyCommented property is true. In the Stateflow Editor, when you point to the comment badge on the truth table, the text appears as a tooltip. When you set the IsExplicitlyCommented property to false, the value of CommentText reverts to ''.

    Graphical Appearance

    Position and size of the truth table, specified as a four-element numeric vector of the form [left top width height].

    This property is read-only.

    Whether the truth table graphically intersects a box, state, or function, specified as a numeric or logical 1 (true) or 0 (false).

    Font size for the truth table label, specified as a scalar. The StateFont.Size property of the chart that contains the truth table sets the initial value of this property.

    Debugging

    Level of diagnostic action when the truth table is overspecified, specified as 'Error', 'Warning', or 'None'. For more information, see Correct Overspecified and Underspecified Truth Tables.

    Level of diagnostic action when the truth table is underspecified, specified as 'Error', 'Warning', or 'None'. For more information, see Correct Overspecified and Underspecified Truth Tables.

    Whether to set the During Function Call breakpoint for the truth table, specified as a numeric or logical 1 (true) or 0 (false). This property applies only when both the Language property of the truth table and the ActionLanguage of the chart that contains the truth table are 'C'.

    Example: function.Debug.Breakpoints.OnDuring = true;

    Integer and Fixed-Point Data

    Whether the data in the truth table saturates on integer overflow, specified as a numeric or logical 1 (true) or 0 (false). When this property is disabled, the data in the truth table wraps on integer overflow. This property applies only when the Language property of the truth table is 'MATLAB' and the ActionLanguage of the chart that contains the truth table is 'C'. For more information, see Handle Integer Overflow for Chart Data.

    Default fimath properties for the truth table, specified as one of these values:

    • 'Same as MATLAB Default' — Use the same fimath properties as the current default fimath object.

    • 'Other:UserSpecified' — Use the InputFimath property to specify the default fimath object.

    This property applies only when the Language property of the truth table is 'MATLAB' and the ActionLanguage of the chart that contains the truth table is 'C'.

    Default fimath object, specified as a character vector. When the EmlDefaultFimath property for the MATLAB® function is 'Other:UserSpecified', you can use this property to:

    • Enter an expression that constructs a fimath object.

    • Enter the variable name for a fimath object in the MATLAB or model workspace.

    This property applies only when the Language property of the truth table is 'MATLAB' and the ActionLanguage of the chart that contains the truth table is 'C'.

    Code Generation

    Appearance of the truth table in generated code, specified as one of these values:

    • 'Auto' — An internal calculation determines the appearance of the function in generated code.

    • 'Function' — The function is implemented as a separate C function.

    • 'Inline' — Calls to the function are replaced by code.

    For more information, see Inline State Functions in Generated Code (Simulink Coder).

    Hierarchy

    This property is read-only.

    Chart that contains the truth table, specified as a Stateflow.Chart object.

    This property is read-only.

    Subviewer for the truth table, specified as a Stateflow.Chart, Stateflow.State, Stateflow.Box, or Stateflow.Function object. The subviewer is the chart or subchart where you can graphically view the truth table.

    This property is read-only.

    Machine that contains the truth table, specified as a Stateflow.Machine object.

    This property is read-only.

    Location of the parent of the truth table in the model hierarchy, specified as a character vector.

    Identification

    Description for the truth table, specified as a character vector.

    Document link for the truth table, specified as a character vector.

    User-defined tag for the truth table, specified as data of any type.

    This property is read-only.

    Session-independent identifier, specified as an integer scalar. Use this property to distinguish the truth table from other objects in the model.

    This property is read-only.

    Unique identifier, specified as an integer scalar. Unlike SSIdNumber, the value of this property is reassigned every time you start a new MATLAB session and may be recycled after an object is deleted.

    Object Functions

    classhandleProvide class handle for object
    dialogOpen properties dialog box
    findSpecified objects in hierarchy
    fitToViewZoom in on graphical object
    getReturn MATLAB structure containing property settings of object or array of objects
    highlightHighlight graphical object
    isCommentedDetermine if object is commented out
    setSet properties with specified values
    upReturn parent of object
    viewDisplay object in editing environment

    Examples

    collapse all

    Add a truth table function in the chart ch. Set its label to '[y1,y2] = f(x1,x2,x3)'.

    function = Stateflow.TruthTable(ch);
    function.LabelString = '[y1,y2] = f(x1,x2,x3)';
    Introduced before R2006a