User`s guide
13 Incorporating Fortran Code into the xPC Ta rgetâ„¢ Environment
#endif
8 Add a typedef to specify the parameters for the block. For example,
typedef enum {T0_IDX=0, P0_IDX, R0_IDX, NUM_SPARAMS } pa ramIndices;
#define T0(S) (ssGetSFcnParam(S, T0_IDX))
#define P0(S) (ssGetSFcnParam(S, P0_IDX))
#define R0(S) (ssGetSFcnParam(S, R0_IDX))
9 Use the mdlInitializeS izes callback to specify the number of inputs,
outputs, states, parameters, and other characteristics of the S-function.
S-function callback methods use SimStruct functions to store and retrieve
information about an S-function. Be sure to specify the
temperature,
pressure,andd ensi ty parameters. For example,
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumSFcnParams(S,NUM_SPARAMS); /* expected number */
#if de fined(MATLAB_MEX_FILE)
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) goto EXIT_POINT;
#endif
{
int i Param = 0;
int n Param = ssGetNumSFcnParams(S);
for ( iParam = 0; iParam < nParam; iParam++ )
{
ssSetSFcnParamTunable( S, iParam, SS_PRM_SIM_ONLY_TUNABLE );
}
}
ssSetNumContStates( S, 0 );
ssSetNumDiscStates( S, 0 );
ssSetNumInputPorts(S, 1);
ssSetInputPortWidth(S, 0, 3);
ssSetInputPortDirectFeedThrough(S, 0, 1);
ssSetInputPortRequiredContiguous(S, 0, 1);
ssSetNumOutputPorts(S, 3);
ssSetOutputPortWidth(S, 0, 3); /* temperature */
13-10