model
.rtw
ФайлНекоторые записи в
файлу, такому как те, которые соответствуют параметрам и постоянному блоку I/O, можно было встроить чрезвычайно большие векторы значения данных в них. Такой вектор может вызвать значительную память наверху во время генерации кода, потому что значения должны быть обеспечены как текст в памяти во время этого процесса. model
.rtw
Чтобы избежать таких издержек, по умолчанию программное обеспечение Simulink® не выписывает целый вектор значения данных в
. Вместо этого это пишет, что ключ вызвал data reference, который может использоваться во время генерации кода, чтобы получить доступ к данным непосредственно из Simulink. Если данные не видоизменены во время генерации кода, они эффективно передаются потоком к диску, когда фактический код, содержащий значения данных, выписан.model
.rtw
Ссылка на данные имеет формат SLData (
, где index
)
числовое значение, которое говорит Simulink, на какие данные ссылаются. Директивы TLC, такие как index
GENERATE_FORMATTED_VALUE
сохраните ссылки на данные в нерасширенном формате в памяти. Когда сгенерированный код выписан к диску, значения данных расширяются до фактических значений.
По умолчанию Simulink пишет ссылку на данные в
вместо вектора данных, длина которого равняется 10 или больше. Чтобы изменить максимальную длину вектора, который может появиться буквально в файле, используйте:model
.rtw
set_param(0, 'RTWDataReferencesMinSize', maxlen)
Simulink заменяет вектор в качестве длинного или более длинного, чем maxlen
со ссылкой на данные, когда это создает
. Задайте model
.rtwmaxlen
как целое число или как inf
. Определение inf
отключает ссылки на данные. Полный набор значений каждого вектора, однако долго, затем появляется буквально в
и занимает текстовую память во время генерации кода.model
.rtw
Установка явного
влияет только на текущий сеанс MATLAB®. Чтобы установить значение через сеансы, включайте maxlen
set_param
команда в вашем startup.m
файл, или автоматизируют выполнение команды, когда MATLAB запускается.
Можно явным образом расширить ссылку на данные при помощи GENERATE_FORMATTED_VALUE
встроенная функция с дополнительной третью expand
аргумент. Команды, такие как FEVAL
может заставить ссылку на данные быть расширенной до полной формы.
Или выключение ссылок на данные полностью или расширение избранных параметров в TLC могут вызвать значительную текстовую память наверху во время процесса генерации кода. Во время наиболее распространенных задач генерации кода является ненужным иметь расширенный вектор данных в памяти и заплатить цену дополнительных издержек. Избегайте расширенных векторов данных, если никакая альтернатива не существует.
файл, который содержит ссылки на данные, не может использоваться в изоляции, чтобы перезапустить процесс генерации пользовательского кода. Ссылки на данные в нем становятся устаревшими, если процесс генерации кода завершается. Попытка запустить процесс генерации кода с помощью только этот файл может привести к непредсказуемому поведению и отказам сегментации памяти.model
.rtw