Установите нулевое представление типа данных
int_T ssSetDataTypeZero(SimStruct *S, DTypeId id, void* zero)
SSimStruct, представляющий блок S-Function.
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;