Установите нулевое представление типа данных
int_T ssSetDataTypeZero(SimStruct *S, DTypeId id, void* zero)
S
SimStruct, представляющий Блок s-function.
id
ID типа данных.
zero
Нулевое представление типа данных задано id
.
1
(true
) в случае успеха. В противном случае, возвращает 0
(false
) и сообщает об ошибке.
Устанавливает нулевое представление типа данных, заданного id
к zero
, если id
допустим, размер типа данных был установлен, и нулевое представление не было уже установлено. Нулевое представление пользовательского типа данных является значением, которое представляет нуль для того типа данных. В противном случае этот макрос приводит к сбою и сообщает об ошибке. Поскольку этот макрос сообщает о любой ошибке, которая происходит, вы не должны использовать ssSetErrorStatus
, чтобы сообщить об ошибке. Смотрите Конфигурируют Пользовательские типы данных для получения дополнительной информации о регистрации пользовательских типов данных.
Этот макрос делает копию нулевого представления типа данных для механизма Simulink®, чтобы использовать. Таким образом ваша S-функция не должна поддерживать оригинал в памяти.
Для получения дополнительной информации об использовании пользовательских типов данных в S-функциях смотрите, Конфигурируют Пользовательские типы данных.
C, C++
Следующий пример указывает и устанавливает размер и нулевое представление пользовательского типа данных под названием 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;