| Contents | Index |
int_T ssSetDataTypeZero(SimStruct *S, DTypeId id, void* zero)
SimStruct representing an S-Function block.
ID of the data type.
Zero representation of the data type specified by id.
1 (true) if successful. Otherwise, returns 0 (false) and reports an error.
Successfully sets the zero representation of the data type specified by id to zero if id is valid, the size of the data type has been set, and the zero representation has not already been set. Otherwise, this macro fails and reports an error. Because this macro reports any error that occurs, you do not need to use ssSetErrorStatus to report the error. See Custom Data Types for more information on registering custom data types.
Note This macro makes a copy of the zero representation of the data type for the Simulink engine to use. Thus, your S-function does not have to maintain the original in memory. |
The Simulink Coder product does not support S-functions that contain custom data types. Attempting to generate code for a model that contains this macro results in an error.
C, C++
The following example registers and sets the size and zero representation of a custom data type named myDataType.
typedef struct{
int8_T a;
uint16_T b;
}myStruct;
int_T status;
DTypeId id;
myStruct tmp;
id = ssRegisterDataType(S, "myDataType");
if(id == INVALID_DTYPE_ID) return;
status = ssSetDataTypeSize(S, id, sizeof(tmp));
if(status == 0) return;
tmp.a = 0;
tmp.b = 1;
status = ssSetDataTypeZero(S, id, &tmp);
if(status == 0) return;
ssRegisterDataType, ssSetDataTypeSize, ssGetDataTypeZero

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |