Я создал блок simulink, в котором хранятся данные, выбранные из файла dbc с помощью файла uitree.Данные, выбранные из дерева, затем сохраняются в блоке.Моя проблема заключается в том, что при загрузке файла dbc требуется 10-15 секунд для полного заполнения uitree, что хорошо при первом создании дерева, но будет относительно неудобным, если имеется несколько таких блоков, особеннопотому что моя модель Simulink потенциально может потребовать более десятка таких блоков.Необходимость воссоздания uitree дюжину раз, по 15 секунд каждый раз, потратила бы приличный кусок времени.
Немного больше информации о том, как работает код:
Мой пользовательский блок отброшенв модель Simulink.Пользователь нажимает на блок.Блок вызывает скрипт Matlab.Затем этот сценарий предлагает пользователю с помощью файла uigetfile выбрать dbc.Сценарий matlab затем собирает данные из файла dbc и заполняет им.У uitree может быть сто узлов, каждый из которых может иметь 2-40 подузлов, поэтому генерация занимает так много времени.В настоящее время проблема заключается в том, что это должно происходить для каждого отдельного пользовательского блока в модели.
Есть ли способ кэширования uitree или каким-то образом, что simulink / matlab может запомнить uitree при первой загрузкеиз конкретного файла DBC?Таким образом, в следующий раз, когда блок попытается открыть его, потребуется всего несколько секунд, чтобы открыть дерево, которое было сгенерировано ранее, вместо того, чтобы полностью воссоздать uitree несколько раз?
Спасибо