ssSetOutputPortOptimOpts

Specify reusability of the memory allocated to the output port of an S-function

Syntax

void ssSetOutputPortOptimOpts(SimStruct *S, int_T port, uint_T val)

Arguments

S

SimStruct representing an S-Function block.

port

Index of an output port of S.

val

Reusability of port. Permissible values are

  • SS_NOT_REUSABLE_AND_GLOBAL (default value)

  • SS_REUSABLE_AND_LOCAL

  • SS_REUSABLE_AND_GLOBAL

  • SS_NOT_REUSABLE_AND_LOCAL

Description

Use this macro to specify the reusability and scope of the memory allocated to an S-function output port. The reusability indicates whether or not the memory associated with the output port can be overwritten. You must specify that an output port is reusable if the output port connects to a Merge block. The scope indicates whether the model variables are stored locally or globally.

You cannot use ssGetOutputPortSignal or ssGetOutputPortRealSignal anywhere except in the mdlOutputs routine if you have specified that the output ports are reusable.

The Simulink® product only uses the reusability setting during simulation. It disregards the memory scope setting, i.e., local or global, instead treating all S-function ports as global during simulation.

    Note:   The Simulink Coder™ product uses the memory scope setting you specified when generating code from a model. If your S-function accesses the outputs only in mdlOutputs, the Simulink Coder product attempts to declare local variables for any outputs with a local scope. If your S-function uses the outputs in a way that precludes using a local scope, the generated code uses global variables for the outputs. See S-Functions for Multirate Multitasking Environments for more information.

Languages

C, C++

Was this topic helpful?