Сообщите об ошибке ориентированным на многопотоковое исполнение способом
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 останавливать и отображать заданное сообщение об ошибке. Функция не генерирует исключение. Таким образом можно использовать его в S-функции, чтобы не создавать исключения при создании отчетов об ошибках.
Используйте эту функцию для приложений, чтобы работать на R2019a или позже для потокобезопасности. Для более ранних релизов используйте ssSetErrorStatus
вместо этого.
C, C++
Смотрите S-функцию slexCoSimMassSpringSFcn.c
, используемый в slexCoSimTripleMassSpringExample
.