Задайте пользовательские данные
void ssSetUserData(SimStruct *S, void *data)
SSimStruct, представляющий Блок s-function.
dataUserData .
Хранит указатель на ячейку памяти, содержащую пользовательские данные S-функции. Чтобы избежать утечек памяти, S-функция должна освободить эту ячейку памяти во время вызова mdlTerminate.
S-функция, содержащая пользовательские данные, должна выполнить следующие шаги.
Выделите память для пользовательских данных, с помощью индивидуально настраиваемой структуры, чтобы хранить более сложные данные.
Установите SS_OPTION_CALL_TERMINATE_ON_EXIT опция в mdlInitializeSizes, гарантировать механизм Simulink® всегда вызывает mdlTerminate функция.
Сохраните указатель на ячейку памяти в пользовательских данных, с помощью вызова ssSetUserData.
В mdlTerminate, используйте ssGetUserData получить указатель на ячейку памяти и освободить память.
Смотрите Параметры периода выполнения Создания от Нескольких S-параметров-функции для примера, который использует пользовательские данные в сочетании с параметрами периода выполнения.
Вы не можете данные пользователя доступа из файла Компилятора выходного языка (TLC). Используйте векторы DWork вместо пользовательских данных, если необходимо записать TLC-файл, чтобы встроить S-функцию во время генерации кода с Simulink Coder™. Для примера с помощью векторов DWork смотрите sfcndemo_sfun_rtwdwork.
C, C++
Смотрите S-функцию sfun_runtime4.c используемый в sfcndemo_runtime.