Запустить обратные вызовы модели Simulink из MATLAB? - PullRequest
0 голосов
/ 02 октября 2018

Есть ли способ запустить обратные вызовы модели Simulink из командного окна MATLAB?У меня есть модели, которые инициализируют параметры с обратными вызовами, такими как PreLoadFcn или InitFcn.Эти модели затем используются в других моделях Simulink.Давайте назовем их основными моделями .Когда я хочу смоделировать эти основные модели, происходит сбой, если я не открою подмодели (с ранее упомянутыми обратными вызовами) в новом окне Simulink.Я хотел бы иметь возможность запускать симуляции, не открывая подмодели.

Мой текущий подход в основном:

% 1. Check for if the sub models have been started already, using find_systems(...) (omitting details here)
...

% 2. If not loaded, open sub models (only one here)
open('subModel.slx');

% 3. Simulate main model
sim('mainModel.slx');

Я бы предпочел использовать что-то вроде

% 1. Check for if the parameter variables needed are , using exist(...) and some relevant variable name (omitting details here)
...

% 2. If not loaded, run sub model callbacks
...

% 3. Simulate main model
sim('mainModel.slx');

Мой процесс моделирования должен стать быстрее, и мой экран станет чище.Любые идеи о том, как сделать шаг 2. выше аккуратно?

1 Ответ

0 голосов
/ 02 октября 2018

Это «старомодный» подход к использованию Simulink.

Есть два модельных метода для решения этой проблемы.

  1. Словари данных (https://uk.mathworks.com/help/simulink/ug/what-is-a-data-dictionary.html) В них хранятся переменные, типы данных, шины и т. Д., Которые могут потребоваться моделям и могут использоваться многими моделями

  2. Simulink Projects (https://www.mathworks.com/discovery/simulink-projects.html) Это позволяет хранитьгруппы моделей вместе в одном проекте. Когда вы открываете / закрываете проект, для настройки среды можно вызывать группу функций «запуска» или «выключения». Файл запуска вашего проекта может содержать код для загрузки всех подмоделей(без необходимости их открывать), что позволит настроить ваше рабочее пространство. С подходом Simulink Project лучше оставить пустые обратные вызовы «PreLoad» и работать с любой конфигурацией модели с помощью других средств (таких как сценарии запуска или словари данных)

...