exponenta event banner

Выполнение приложения в реальном времени с S-функциями во внешнем режиме

S-функции можно использовать во внешнем режиме Simulink ® Desktop Real-Time™, если S-функции являются автономными. Например, S-функции вызывают только ограниченное подмножество стандартной библиотеки C, например математические и строковые функции, и не вызывают файловые функции ввода-вывода, консольного ввода-вывода или Windows API. Примером несамоуправляющейся S-функции может быть функция, которая должна #include <windows.h>.

Обратите внимание, что возможность моделирования S-функции с другими целями генерации кода, такими какgrt.tlc, ert.tlc, или slrealtime.tlc- не доказывает, что его можно смоделировать с помощьюsldrt.tlc. Например, S-функции, связанные с динамически связанными библиотеками (DLL) в Windows, обычно не моделируются с Simulink Desktop Real-Time, поскольку библиотеки DLL недоступны для ядра реального времени.

В частности, в исходном коде C не поддерживаются следующие функции:

  • Ввод-вывод файла (fopen и другие)

  • Управление процессами (spawn, exit, и другие)

  • Сигналы и исключения (signal, longjmp, __try и другие)

  • Временные функции (clock и другие)

  • Любые функции из Windows API

Следующие функции библиотеки C поддерживаются для использования с Simulink Desktop Real-Time:

  • Функции преобразования данных: abs, atof, atoi, atol, itoa, labs, ltoa, strtod, strtol, strtoul, ultoa,

  • Функции распределения памяти: calloc, free, malloc,

  • Функции управления памятью: _memccpy, memcpy, memchr, memcmp, _memicmp, memmove, memset,

  • Функции управления строками: strcat, strchr, strcmp, strcpy, strcspn, _strdup, _stricmp, strlen, _strlwr, strncat, strncmp, strncpy, _strnset, strpbrk, strrchr, _strrev, _strset, strspn, strstr, strtok, _strupr,

  • Математические функции: acos, asin, atan, atan2, ceil, cos, cosh, div, exp, fabs, floor, fmod, frexp, ldexp, ldiv, log, log10, max, min, modf, pow, rand, sin, sinh, sqrt, srand, tan, tanh, uldiv,

  • Тесты и преобразование класса символов: isalnum, isalpha, _isascii, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, isxupper, isxlower, _toascii, tolower, toupper,

  • Поиск и сортировка: bsearch, qsort,

  • Фиктивные функции - (могут быть там, но ничего не делать) exit,

  • Консольный ввод-вывод: fprintf, printf,

Связанные темы