Зарегистрируйте пользовательский тип данных из Simulink.AliasType
, Simulink.NumericType
, или Simulink.Bus
объект.
void ssRegisterTypeFromNamedObject(SimStruct *S, char *name, int* id)
S
SimStruct, представляющий блок S-Function.
name
Имя Simulink® объект для назначения пользовательскому типу данных.
id
Целое число, значение которого является идентификатором типа числовых данных после вызова ssRegisterTypeFromNamedObject
.
Использование в mdlInitializeSizes
, для регистрации пользовательского типа данных из Simulink.AliasType
, Simulink.NumericType
, или Simulink.Bus
объект с именем name
.
Если регистрация прошла успешно, можно объявить параметры S-функции, векторы DWork или входные и выходные порты этого типа данных, используя соответствующий идентификатор типа числовых данных id
. Если регистрация не была успешной, id
установлено в INVALID_DTYPE_ID
.
Примечание
Нельзя регистрировать пользовательский тип данных из Simulink.NumericType
объект с неопределенным масштабированием.
C, C++
В следующем примере регистрируется пользовательский тип данных из Simulink.Numeric
тип с именем mydouble
. Затем он задает, что вектор DWork и первый выходной порт имеют этот тип данных.
int dtype; char *name = "mydouble"; ssRegisterTypeFromNamedObject(S, name, &dtype); ssSetDWorkDataType(S, 0, dtype); ssSetOutputPortDataType(S, 0, dtype);