Main Content

addPoint

Add signal to list of analysis points for slLinearizer or slTuner interface

Description

addPoint(s,pt) adds the specified point to the list of analysis points for the slLinearizer or slTuner interface, s.

Analysis points are model signals that can be used as input, output, or loop-opening locations for analysis and tuning purposes. You use analysis points as inputs to the linearization commands of s: getIOTransfer, getLoopTransfer, getSensitivity, and getCompSensitivity. As inputs to the linearization commands, analysis points can specify any open- or closed-loop transfer function in a model. You can also use analysis points to specify tuning goals for systune.

example

addPoint(s,blk,port_num) adds the point that originates at the specified output port of the specified block as an analysis point for s.

example

addPoint(s,blk,port_num,bus_elem_name) adds the specified bus element as an analysis point.

example

Examples

collapse all

Open the scdcascade model.

mdl = 'scdcascade';
open_system(mdl);

Create an slLinearizer interface for the model.

sllin = slLinearizer(mdl);

Add u1 and y1 as analysis points for sllin.

addPoint(sllin,{'u1','y1'});

View the currently defined analysis points within sllin.

sllin
 
slLinearizer linearization interface for "scdcascade":

2 Analysis points: 
--------------------------
Point 1:
- Block: scdcascade/C1
- Port: 1
- Signal Name: u1
Point 2:
- Block: scdcascade/G1
- Port: 1
- Signal Name: y1
 
No permanent openings. Use the addOpening command to add new permanent openings.
Properties with dot notation get/set access:
      Parameters         : [] 
      OperatingPoints    : [] (model initial condition will be used.)
      BlockSubstitutions : []
      Options            : [1x1 linearize.LinearizeOptions]

Suppose you want to linearize the magball model and obtain a transfer function from the reference input to the plant output. Add the signals originating at the Desired Height and Magnetic Ball Plant blocks as analysis points to an slLinearizer interface.

Open the magball model.

mdl = 'magball';
open_system(mdl);

Create an slLinearizer interface for the model.

sllin = slLinearizer(mdl);

Add the signals originating at the Design Height and Magnetic Ball Plant blocks as analysis points of sllin. Both signals originate at the first (and only) port of the respective blocks.

blk = {'magball/Desired Height','magball/Magnetic Ball Plant'};
port_num = [1 1];
addPoint(sllin,blk,port_num);

Open the scdbusselection model.

mdl = 'scdbusselection';
open_system(mdl);

Create an slLinearizer interface model.

sllin = slLinearizer(mdl);

The COUNTERBUS signal of scdbusselection contains multiple bus elements. Add the upper_saturation_limit and data bus elements as analysis points to sllin. When adding elements within a nested bus structure, use dot notation to access the elements of the nested bus, for example limits.upper_saturation_limit.

blk = {'scdbusselection/COUNTERBUSCreator','scdbusselection/COUNTERBUSCreator'};
port_num = [1 1];
bus_elem_name = {'limits.upper_saturation_limit','data'};
addPoint(sllin,blk,port_num,bus_elem_name);

Both bus elements originate at the first (and only) port of the scdbusselection/COUNTERBUSCreator block. Therefore, blk and port_num repeat the same element twice.

Input Arguments

collapse all

Interface to a Simulink model, specified as either an slLinearizer interface or an slTuner interface.

Analysis point to add to the list of analysis points for s, specified as:

  • Character vector or string — Signal identifier that can be any of the following:

    • Signal name, for example 'torque'

    • Block path for a block with a single output port, for example 'Motor/PID'

    • Path to block and port originating the signal, for example 'Engine Model/1' or 'Engine Model/torque'

  • Cell array of character vectors or string array — Specifies multiple signal identifiers.

  • Vector of linearization I/O objects — Use linio to create pt. For example:

    pt(1) = linio('scdcascade/setpoint',1)
    pt(2) = linio('scdcascade/Sum',1,'output')

    Here, pt(1) specifies an input, and pt(2) specifies an output. The interface adds all the signals specified by pt and ignores the I/O types. The interface also adds all 'loopbreak' type signals as permanent openings.

Block path identifying the block where the analysis point originates, specified as a:

  • Character vector or string to specify a single point, for example blk = 'scdcascade/C1'.

  • Cell array of character vectors or string array to specify multiple points, for example blk = {'scdcascade/C1','scdcascade/Sum'}.

blk, port_num, and bus_elem_name (if specified) must have the same size.

Port where the analysis point originates, specified as a:

  • Positive integer to specify a single point, for example port_num = 1.

  • Vector of positive integers to specify multiple points, for example port_num = [1 1].

blk, port_num, and bus_elem_name (if specified) must have the same size.

Bus element name, specified as a:

  • Character vector or string to specify a single point, for example bus_elem_name = 'data'.

  • Cell array of character vectors or string array to specify multiple points, for example bus_elem_name = {'limits.upper_saturation_limit','data'}.

blk, port_num, and bus_elem_name (if specified) must have the same size.

More About

collapse all

Version History

Introduced in R2013b