How to set the output port type in dependence on an parameter - S Function
Ältere Kommentare anzeigen
Hello,
i'm trying to write an S-Function which allows to set the output port type dependence on one of the parameter? What i already tried:
static void mdlOutputs(SimStruct *S, int_T tid)
{
DTypeId y0DataType = ssGetSFcnParam(S,2);
switch(y0DataType)
{
case SS_INT8:
{
int8_T *pY0 = (int8_T *)ssGetOutputPortSignal(S,0);
pY0[0] = 0;
break;
}
case SS_UINT8:
{
uint8_T *pY0 = (uint8_T *)ssGetOutputPortSignal(S,0);
pY0[0] = 13;
break;
}
default:
{
uint8_T *pY0 = (uint8_T *)ssGetOutputPortSignal(S,0);
pY0[0] = 7;
}
}
}
I can compile it and run the corresponding simulink model, but it doesn't work. Can me tell anyone why?
Regards V.Sadiku
3 Kommentare
Jordan Monthei
am 10 Mai 2013
Could you go into more detail as to how it does not work? Is there an error that occurs during simulation? Is it not outputting as you would expect, in which case, what are you expecting and what are you seeing?
Valmir Sadiku
am 10 Mai 2013
Valmir Sadiku
am 10 Mai 2013
Bearbeitet: Valmir Sadiku
am 10 Mai 2013
Antworten (1)
William James
am 3 Jun. 2013
hello,
i met the problem as you ! if you resolved it ,please tell me how to set the output type .
thank you with Hz
1 Kommentar
Kaustubha Govind
am 3 Jun. 2013
Do you validate the value entered for the parameter is a valid datatype ID before configuring it as the output datatype in mdlInitializeSizes?
Kategorien
Mehr zu Simulink Coder finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!