Main Content

simscape.probe.VariableTable

Store and manage block variable data for probing

Since R2024b

Description

simscape.probe.VariableTable returns an empty VariableTable object.

Creation

You create an empty VariableTable object when you set a workspace variable equal to simscape.probe.VariableTable. You create a populated VariableTable object when you use the simscape.probe.defaultVariableTable function.

Object Functions

insertInsert variable to probe into variable table object

Examples

collapse all

This example shows how to create a variable table, configure a block variable for probing, and add and remove variables.

Create a VariableTable object and save it as a workspace variable.

table1 = simscape.probe.VariableTable
table1 = 

  VariableTable with unset variable(s)

Create an empty variable configuration to store the probing settings. To make a variable configuration for the variable w, enter:

table1("w") = simscape.probe.VariableConfiguration
table1 = 

  VariableTable with 1 variable(s):

             Unit     PortLabel    Probing
            ______    _________    _______

    w ⟼    {[""]}    <missing>     false  

Use the insert object function to add a second variable configuration.

table1 = insert(table1, "t", simscape.probe.VariableConfiguration)
table1 = 

  VariableTable with 2 variable(s):

              Unit         PortLabel       Probing
            _________    ______________    _______

    w ⟼    {[""]}       <missing>         false  
    t ⟼    {[""]}       <missing>         false 

Set the VariableConfiguration object properties to change the variable configuration.

table1("w").Unit = "rad/s";
table1("w").PortLabel = "Ang.Velocity";
table1("w").Probing = true
table1 = 

  VariableTable with 2 variable(s):

              Unit         PortLabel       Probing
            _________    ______________    _______

    w ⟼    {[rad/s]}    "Ang.Velocity"     true  
    t ⟼    {[""   ]}    <missing>          false 

Instead of adding and changing the variable properties one-by-one, you can use the simscape.probe.defaultVariableTable function to construct a VariableTable object containing all the variables that can be probed for a specified Simscape™ block.

To remove a variable from a VariableTable object, assign its variable configuration to [].

table1("t") = []
table1 = 

  VariableTable with 1 variable(s):

              Unit         PortLabel       Probing
            _________    ______________    _______

    w ⟼    {[rad/s]}     "Ang.Velocity"    true 

This example shows how to configure a simscape.probe.VariableTable object for the Ideal Torque Source block in the Permanent Magnet DC Motor example model and attach the table to a Probe block.

Open the model.

openExample('simscape/PermanentMagnetDCMotorExample')

Add a Probe block to the model.

add_block('nesl_utility/Probe','PermanentMagnetDCMotor/Probe');

Bind the Probe block to the Ideal Torque Source block named Load Torque.

simscape.probe.setBoundBlock('PermanentMagnetDCMotor/Probe','PermanentMagnetDCMotor/Load Torque')

Get the default variable table for the Load Torque block.

table1 = simscape.probe.defaultVariableTable('PermanentMagnetDCMotor/Load Torque')
table1 = 

  VariableTable with 5 variable(s):

                Unit       PortLabel    Probing
              _________    _________    _______

    C.w ⟼    {[rad/s]}      "C.w"       false 
    R.w ⟼    {[rad/s]}      "R.w"       false 
    S   ⟼    {[N*m  ]}      "S"         false 
    t   ⟼    {[N*m  ]}      "t"         false 
    w   ⟼    {[rad/s]}      "w"         false

The default probing status for all the variables is false.

Change the probing status of the t variable.

table1("t").Probing = true
table1 = 

  VariableTable with 5 variable(s):

                Unit       PortLabel    Probing
              _________    _________    _______

    C.w ⟼    {[rad/s]}      "C.w"       false 
    R.w ⟼    {[rad/s]}      "R.w"       false 
    S   ⟼    {[N*m  ]}      "S"         false 
    t   ⟼    {[N*m  ]}      "t"         true  
    w   ⟼    {[rad/s]}      "w"         false  

Change the port label associated with the t variable.

table1("t").PortLabel = "Torque"
table1 = 
  VariableTable with 5 variable(s):

                Unit       PortLabel    Probing
              _________    _________    _______

    C.w ⟼    {[rad/s]}    "C.w"         false 
    R.w ⟼    {[rad/s]}    "R.w"         false 
    S   ⟼    {[N*m  ]}    "S"           false 
    t   ⟼    {[N*m  ]}    "Torque"      true  
    w   ⟼    {[rad/s]}    "w"           false  

Attach table1 as the variable table to the Probe block.

simscape.probe.setVariableTable('PermanentMagnetDCMotor/Probe',table1)

The name of the output port of the Probe block in the block diagram changes to Torque.

To confirm that you properly attached the variable table table1 to the Probe block, enter:

simscape.probe.getVariableTable('PermanentMagnetDCMotor/Probe')
ans = 

  VariableTable with 5 variable(s):

                Unit       PortLabel    Probing
              _________    _________    _______

    C.w ⟼    {[rad/s]}    "C.w"         false 
    R.w ⟼    {[rad/s]}    "R.w"         false 
    S   ⟼    {[N*m  ]}    "S"           false 
    t   ⟼    {[N*m  ]}    "Torque"      true  
    w   ⟼    {[rad/s]}    "w"           false 
 

Version History

Introduced in R2024b