Main Content

Validate Operating Point Against Specifications

When you compute an operating point based on input, output, or state specifications, the Simulink® Control Design™ software indicates whether the specifications were successfully met during the trimming process. If the trimming was unsuccessful, to determine the specifications that could not be met, you must validate your trimmed operating point against the original specifications.

Validate Operating Point in Steady State Manager

When you compute an operating point using Steady State Manager, the software creates an operating point report object and highlights any operating point values that violate the constraints in the specification.

For example, consider the scdairframeTRIM model. Open the model and set the speed and incidence angle parameters.

openExample("scdairframeTRIM")

alpha_ini = -0.21;
v_ini = 933;

To open Steady State Manager, in the Simulink model window, in the Apps gallery, click Steady State Manager.

Create a trim specification for the model. On the Steady State tab, click Trim Specification.

In the spec1 document, specify which states are known and which are at steady state.

To trim the model, on the Specification tab, click Trim Play button. The software generates an operating point report and, in the corresponding report1 document, highlights any constraint violations in red.

The optimization search could not find an operating point that satisfies the specifications. As highlighted in Steady State Manager, the three states specified to be at steady state are not. The highlighted state values violate the specified constraints by more than the tolerance value specified on the Report tab, in the Validation Tolerance field. For steady-state conditions, the dx Minimum and dx Maximum constraints are both zero; that is, the rate of change for each state is zero. In the trimmed operating point, the Actual dx values violate these constraints.

For this model, specifying the second position state to be at steady state overconstrains the system, making a steady-state solution impossible.

To remove this steady-state constraint, update the specification. In the spec1 document, in the Steady State column, clear the corresponding row.

On the Specification tab, click Trim Play button. The software trims the model and opens a corresponding Report tab. The resulting report shows that there are no constraint violations.

You can also validate an existing operating point against a set of specifications. For example, to check if the model initial conditions satisfy the requirements in spec1, first create an operating point based on the model initial conditions. On the Steady State tab, click Operating Point. The software creates an operating point and opens a corresponding op1 document.

To validate this operating point against the specifications in spec1, on the Operating Point tab, under Validate Against, select spec1.

The software creates an operating point report and opens a corresponding report3 document.

The model initial conditions do not satisfy the operating point specifications, as shown by the highlighted constraint violations.

Validate Operating Point in Model Linearizer

When you compute an operating point using Model Linearizer, the software does not highlight constraint violations. Instead, you must inspect the operating point report information for any violations.

If you trim the model from the preceding Steady State Manager example using the same initial specifications in Model Linearizer, the software creates an operating point in the data browser, in the Linear Analysis Workspace.

To check whether the operating point satisfies the specified constraints, in the Linear Analysis Workspace, double-click the operating point.

In the Edit dialog box, the three constraint violations are highlighted in red.

Validate Operating Point at the Command Line

When you compute an operating point at the command line, the findop function outputs an operating point report to the Command Window by default. You can also return the operating point report as an output argument. For more information, see findop. To validate your operating point against the specifications, you must check whether the operating point values satisfy the constraints.

For example, open the scdairframeTRIM model and set the model parameters.

sys = 'scdairframeTRIM';
open_system(sys)

alpha_ini = -0.21;
v_ini = 933;

Create an operating point specification object, and specify which states are known and which are at steady state.

opspec = operspec(sys);
opspec.States(1).Known = [1;1];
opspec.States(1).SteadyState = [0;1];
opspec.States(3).Known = [1;1];
opspec.States(3).SteadyState = [0;1];
opspec.States(2).Known = 1;
opspec.States(2).SteadyState = 0;
opspec.States(4).Known = 0;
opspec.States(4).SteadyState = 1;

Trim the model.

op = findop(sys,opspec);
 Operating point search report:
---------------------------------
opreport = 
 Operating point search report for the Model scdairframeTRIM.
 (Time-Varying Components Evaluated at time t=0)

Could not find a solution that satisfies all constraints.  Relax the constraints to find a feasible solution.
States: 
----------
   Min         x         Max       dxMin        dx       dxMax   
__________ __________ __________ __________ __________ __________
                                                                 
(1.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/Position
    0          0          0         -Inf     912.5028     Inf    
-3047.9999 -3047.9999 -3047.9999     0      -194.4931      0     
(2.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/Theta
    0          0          0         -Inf        0         Inf    
(3.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/U,w
 912.5028   912.5028   912.5028     -Inf     25.3477      Inf    
-194.4931  -194.4931  -194.4931      0       273.1028      0     
(4.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/q
   -Inf        0         Inf         0       31.1548       0     

Inputs: 
----------
Min   u   Max 
____ ____ ____
              
(1.) scdairframeTRIM/delta
-Inf  0   Inf 

Outputs: 
----------
  Min       y       Max   
________ ________ ________
                          
(1.) scdairframeTRIM/alpha
  -Inf    -0.21     Inf   
(2.) scdairframeTRIM/V
  -Inf     933      Inf   
(3.) scdairframeTRIM/q
  -Inf      0       Inf   
(4.) scdairframeTRIM/az
  -Inf   263.2928   Inf   
(5.) scdairframeTRIM/gamma
  -Inf     0.21     Inf   

In the operating point search report, the dx values for the specified steady states have zero constraints, as indicated by the 0 value in parentheses. The optimization search did not find a steady-state operating point, since all three of these states violate the constraints.

See Also

Functions

Apps

Related Topics