Сообщите об ошибке ориентированным на многопотоковое исполнение способом
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
.