Вычислительная стоимость является мерой номера и сложностью задач, которые процессор выполняет на временной шаг во время симуляции. Понижение вычислительной стоимости вашей модели увеличивает скорость выполнения симуляции и помогает вам избежать переполнений, когда вы моделируете в режиме реального времени на целевом компьютере.
Регистрация данных и контроль являются интерактивными процедурами, которые используют эффективность ЗУ и вычислительную мощность. Один способ уменьшать вычислительную стоимость состоит в том, чтобы уменьшать объем интерактивной обработки, которая происходит во время симуляции. Лучшые практики для ограничения вычислительных затрат при журналировании и данных мониторинга:
Используйте блок выходного порта, только если вам нужно к данным логов для вашего анализа с помощью модели Simulink® на вашем компьютере разработчика.
Используйте блок scope, только если вам нужно к данным контроля во время симуляции в реальном времени с помощью модели Simulink на вашем компьютере разработчика.
Если вы нуждаетесь к данным логов или контролируете переменную, ограничиваете номер или десятикратное уменьшение точек данных, которые вы собираете каждый раз, когда ваши аналитические требования разрешают вам делать так.
Данные логов только однажды.
Если вы используете регистрацию данных Simscape™, используйте локальные настройки, чтобы регистрировать только блоки, которые содержат переменные, в которых вы нуждаетесь для своего анализа.
Журналирование данных моделирования Simscape не поддержано для сгенерированного кода.
Исследуйте настройку модели и результатов симуляции, чтобы определить, регистрирует ли модель и данные мониторинга эффективно.
Открыть модель, в командной строке MATLAB®, введите:
model = 'ssc_pneumatic_rts_zc_redux';
open_system(model)
Модель содержит три блока осциллографа и один блок выходного порта. Степень (kW) осциллограф, осциллограф об/мин и блок выходного порта получает данные из подсистемы Измерений.
Моделируйте модель:
sim(model)
Модель регистрирует пять переменных к рабочей области, включая узел журналирования данных моделирования Simscape.
Чтобы определить источник для Pneu_rts_RPM_DATA
, в рабочем пространстве MATLAB, открывают структуру. Поочередно, в командной строке, введите:
Pneu_rts_RPM_DATA.blockName
ans = 'ssc_pneumatic_rts_zc_redux/RPM'
Переменная blockName
показывает, что осциллограф об/мин регистрирует данные. В модели, выходной порт, который данные логов к yout
соединяют с сигналом между подсистемой Измерений и блоком scope об/мин.
Чтобы сравнить данные что Pneu_rts_RPM_DATA
и журнал yout
, постройте оба набора данных к одной фигуре.
h1 = figure; plot(tout,yout) h1; hold on plot(Pneu_rts_RPM_DATA.time,Pneu_rts_RPM_DATA.signals.values,'r--') title('Speed') xlabel('Time (s)') ylabel('Speed (rpm)') h1Leg = legend({'yout','Pneu-rts-RPM-DATA'});
Данные являются тем же самым, что означает, что вы регистрируете те же данные дважды.
Уменьшать вычислительную стоимость для журналирования или контроля данных о скорости с помощью модели Simulink на вашем компьютере разработчика во время симуляции в реальном времени:
Если только необходимо регистрировать данные о скорости, удалите блок scope об/мин.
Если необходимо регистрировать и контролировать данные о скорости, удалить блок выходного порта.
Если только необходимо контролировать данные о скорости, удалить блок выходного порта и отключить регистрацию данных для осциллографа об/мин.
Если вы не должны регистрировать или контролировать данные о скорости с помощью модели Simulink на вашем компьютере разработчика во время симуляции в реальном времени с целевым компьютером, удалить и блок scope об/мин и блок выходного порта.
Если вы хотите уменьшать затраты путем удаления осциллографа и блоков выходного порта, но вы хотите к данным логов, в то время как вы готовите свою модель к симуляции в реальном времени, конфигурируете модель, чтобы регистрировать только данные, в которых вы нуждаетесь. Для этого используйте узел simlog
в рабочем пространстве MATLAB. Для получения информации см. Данные логов для Выбранных Блоков Только.
В дополнение к сокращению количества регистрируемых и проверенных сигналов можно использовать эти методы для того, чтобы сократить число и сложность задач, которые процессор выполняет на временной шаг во время симуляции:
Избегайте использования больших изображений и объедините графику.
Отключите ненужную ошибку и предупреждение диагностики.
Реконфигурируйте допуски.
Упростите комплексные подсистемы или замените их на интерполяционные таблицы.
Линеаризуйте нелинейные эффекты.
Устраните избыточные вычисления, например, умножение одним.
Сократите количество дифференциальных алгебраических уравнений (ДАУ).