This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

writeBlockValue

Update block values in Simulink model

Syntax

writeBlockValue(st)
writeBlockValue(st,blockid)
writeBlockValue(st,m)

Description

example

writeBlockValue(st) writes tuned parameter values from the slTuner interface, st, to the Simulink® model that st describes. Use this command, for example, to validate parameters of a control system that you tuned using systune or looptune.

writeBlockValue skips blocks that cannot represent their tuned value in a straightforward and lossless manner. For example, suppose you tune an user defined Subsystem or S-Function block. writeBlockValue will skip this block because there is no clear way to map the tuned value to a Subsystem or S-Function block. Similarly, if you parameterize a Gain block as a second-order transfer function, writeBlockValue will skip this block, unless the transfer function value is a static gain.

writeBlockValue(st,blockid) only updates the block or blocks referenced by blockid.

writeBlockValue(st,m) writes tuned parameter values from a generalized model, m, to the Simulink model described by the slTuner interface, st.

Examples

collapse all

Create an slTuner interface for the model.

st = slTuner('scdcascade',{'C1','C2'});

Specify the tuning goals and necessary analysis points.

tg1 = TuningGoal.StepTracking('r','y1m',5);

addPoint(st,{'r','y1m'});

tg2 = TuningGoal.Poles();
tg2.MaxFrequency = 10;

Tune the controller.

[sttuned,fSoft] = systune(st,[tg1 tg2]);
Final: Soft = 1.28, Hard = -Inf, Iterations = 37

After validating the tuning results, update the model to use the tuned controller values.

writeBlockValue(sttuned);

Input Arguments

collapse all

Interface for tuning control systems modeled in Simulink, specified as an slTuner interface.

Blocks to update with tuned values, specified as a:

  • Character vector or string, to update one block.

  • Cell array of character vectors or string array, to update multiple blocks.

The blocks in blockid must be in the TunedBlocks property of the slTuner interface st. You can specify a full block path, or any portion of the block path that uniquely identifies the block among the other tuned blocks of st.

Example: blk = {'scdcascade/C1','scdcascade/C2'}

Example: "C1"

Tuned control system, specified as a generalized state-space model (genss).

Typically, m is the output of a tuning function like systune, looptune, or hinfstruct. The model m must have some tunable parameters in common with st. For example, m can be a generalized model that you obtained by linearizing your Simulink model, and then tuned to meet some design requirements.

Introduced in R2014a