MATLAB SIMULINK 7 - DEVELOPING S-FUNCTIONS Guida Utente Pagina 177

  • Scaricare
  • Aggiungi ai miei manuali
  • Stampa
  • Pagina
    / 210
  • Indice
  • SEGNALIBRI
  • Valutato. / 5. Basato su recensioni clienti
Vedere la pagina 176
Writing Wrapper S-Functions
4-11
Using an S-function wrapper to import algorithms in your Simulink model
means that the S-function serves as an interface that calls your C code
algorithmsfrom
mdlOutputs.S-functionwrappershavetheadvantagethatyou
can quickly integrate large stand-alone C code into your model without having
to make changes to the code.
This is an example of a model that includes an S-function wrapper.
Figure 4-1: An Example Model That Includes an S-Function Wrapper
There are two files asso ciatedwithwrapsfcn blo c k, the S-function wrapperan d
the C code that contains the algorithm. This is the S -function wrapper code for
this example, called
wrapsfcn.c:
#define S_FUNCTION_NAME wrapsfcn
#define S_FUNCTION_LEVEL 2
#include “simstruc.h
extern real_T my_alg(real_T u);
/*
* mdlInitializeSizes - initialize the sizes array
*/
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumSFcnParams( S, 0); /*number of input arguments*/
if (!ssSetNumInputPorts(S, 1)) return;
ssSetInputPortWidth(S, 0, 1);
ssSetInputPortDirectFeedThrough(S, 0, 1);
if (!ssSetNumOutputPorts(S,1)) return;
ssSetOutputPortWidth(S, 0, 1);
ssSetNumSampleTimes( S, 1);
}
Declare my_alg as
extern.
Vedere la pagina 176
1 2 ... 172 173 174 175 176 177 178 179 180 181 182 ... 209 210

Commenti su questo manuale

Nessun commento