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