Сообщите об ошибке ориентированным на многопотоковое исполнение способом
void ssSetLocalErrorStatus(SimStruct *S, const char_T *msg)
S
SimStruct, представляющий Блок s-function или Simulink® модель.
msg
Сообщение об ошибке.
Используйте эту функцию для ориентированного на многопотоковое исполнение создания отчетов ошибок, которые происходят в вашей S-функции. Например:
ssSetLocalErrorStatus(S, "error message"); return;
Примечание
Вектор символов сообщения об ошибке должен быть в постоянной памяти; это не может быть локальная переменная. Если вы используете sprintf
чтобы отформатировать сообщение об ошибке, необходимо выделить память для сообщения. Например:
static char msg[35]; sprintf(msg,"Expected number of parameters: %d",ssGetNumSFcnParams(S)); ssSetLocalErrorStatus(S,msg);
Эта функция заставляет механизм Simulink останавливать и отображать заданное сообщение об ошибке, поэтому это сопровождается return
оператор. Функция не генерирует исключение. Таким образом можно использовать его в S-функции, чтобы не создавать исключения при создании отчетов об ошибках.
Используйте эту функцию для приложений, чтобы работать на R2019a или позже для потокобезопасности. Для более ранних релизов используйте ssSetErrorStatus
вместо этого.
C, C++
Смотрите S-функцию slexCoSimMassSpringSFcn.c
используемый в slexCoSimTripleMassSpringExample
.