/* specify the sim state compliance to be same as a built-in block */
ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE);
/* Take care when specifying exception free code - see sfuntmpl_doc.c */
ssSetOptions(S,
SS_OPTION_WORKS_WITH_CODE_REUSE |
SS_OPTION_EXCEPTION_FREE_CODE |
SS_OPTION_USE_TLC_WITH_ACCELERATOR);
}
/* Function: mdlInitializeSampleTimes =========================================
* Abstract:
* Specifiy that we inherit our sample time from the driving block.
*/
static void mdlInitializeSampleTimes(SimStruct *S) {
ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME);
ssSetOffsetTime(S, 0, 0.0);
ssSetModelReferenceSampleTimeDefaultInheritance(S);
}
for(i=0; i<width; i++){
/*
* This example does not implement complex signal handling.
* To find out see an example about how to handle complex signal in
* S-function, see sdotproduct.cfor details.
*/
*y++ = (*uPtrs[0]) + (*uPtrs[1]) + (*uPtrs[2]) + (*uPtrs[3]);
} }
/* Function: mdlTerminate =====================================================
* Abstract:
* No termination needed, but we are required to have this routine.
*/
static void mdlTerminate(SimStruct *S) { }
#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */
#include "simulink.c" /* MEX-file interface mechanism */
#else
#include "cg_sfun.h" /* Code generation registration function */
#endif
Wie ihr seht, hab ich die Anzahl der Inputs auf vier erhöht und diese einfach addiert.
Im Moment habe ich einfach vier "constant blocks" die in die S-Function hineingehen.
Dies würde ich mir aber gerne sparen.
Ich würde viel lieber direktim C-Code auf vier (bereits im Workspace vorhandene) Variablen zugreifen und mir somit die "const Blöcke" in Simulink sparen.
Kann mir evtl. jemand bei der modifizierung des C Codes helfen ?
Vielen Danke und Grüße aus Köln
ALDURO !
_________________
Hallo,
ich arbeite zur Zeit an einer verbesserten Kontaktabbildung im MKS Tool ADAMS.
Spannenden Sache, aber im Moment gibt es noch viel offene Fragen ... Aber das wird schon P-)
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.