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