Для импорта можно использовать редактор шины Bus объекты в базовую рабочую область и для экспорта Bus объекты из базового рабочего пространства, как описано в разделе «Сохранить объекты Simulink.Bus». По умолчанию редактор шины может сохранять объекты шины и импортировать их в Bus объектов из, функции или MAT-файла. Файлы должны находиться в расположении, доступном с помощью обычного диалогового окна Открыть (Open) или Сохранить (Save).
Можно создать настраиваемые функции MATLAB ®, которые обеспечивают альтернативные функции импорта или экспорта (или и то, и другое). Например, можно записать настраиваемую функцию, которая хранит объекты в виде записей в базе данных в формате, используемом организацией.
После разработки и внедрения пользовательского Bus функция импорта или экспорта объектов, используйте Simulink ® Customization Manager для регистрации функции. Процесс регистрации устанавливает пользовательские функции импорта и экспорта в качестве обратных вызовов для команд «Импорт в базовое рабочее пространство» и «Экспорт в файл» редактора шины. Обратные вызовы заменяют возможности редактора шины по умолчанию. Настройка возможностей импорта и экспорта редактора шины не влияет на другие функции MATLAB или Simulink. Отмена настройки импорта или экспорта восстанавливает возможности редактора шины по умолчанию для этой операции, не влияя на другую.
Создать Bus объекты из внешнего кода C не нуждаются в настройке. См. раздел Создание объектов шины из внешнего кода C.
Настройка Bus импорт или экспорт объектов требует понимания:
Язык MATLAB и методы программирования
Simulink Bus синтаксис объекта
Фирменный формат, в который вы переводите Bus объекты и методы, необходимые для доступа к объекту, в котором хранятся объекты.
Любые специфичные для платформы методы получения данных от пользователя, такие как имя местоположения для хранения или доступа Bus объекты.
Обычай Bus для функции экспорта объекта требуется по крайней мере один аргумент. Для обработки специальных действий с помощью функции можно использовать дополнительные аргументы. Значение первого аргумента представляет собой массив ячеек, содержащий имена всех Bus объекты, выбранные в редакторе шины. Для предоставления значений для любых дополнительных аргументов можно использовать функции, глобальные переменные или любую другую технику MATLAB. Общий алгоритм настраиваемой функции экспорта:
Выполните итерацию над списком имен объектов в первом аргументе.
Получить Bus объект, соответствующий каждому имени.
Перевести Bus объект к проприетарному синтаксису.
Сохранить переведенное Bus в локальном репозитории.
В этом примере показана синтаксическая оболочка такой функции обратного вызова экспорта:
function myExportCallBack(selectedBusObjects)
disp('Custom export was called!');
for idx = 1:length(selectedBusObjects)
disp([selectedBusObjects{idx} ' was selected for export.']);
endХотя эта функция не экспортирует Bus объекты, он синтаксически действителен и может быть зарегистрирован. Он принимает массив ячеек Bus имена объектов, итерации над ними и печать каждого имени. Функция операционного экспорта:
Использует каждое имя для извлечения соответствующего Bus объект из базовой рабочей области
Преобразует объект в собственный формат
Сохранение преобразованного объекта
Дополнительная логика специфична для предприятия.
Обычай Bus функция импорта объекта может принимать ноль или более аргументов для выполнения своей задачи. Для предоставления значений аргументов можно использовать функции, глобальные переменные или любой другой метод MATLAB. Кроме того, функция может опрашивать пользователя на предмет получения информации, например, указания места получения Bus информация об объекте. Общий алгоритм пользователя Bus функция импорта объекта:
Получить Bus информация об объекте из локального репозитория.
Перевести каждый Bus определение объекта в Simulink.Bus объект.
Сохранить каждый Bus объект в базовое рабочее пространство MATLAB.
В этом примере показана синтаксическая оболочка функции обратного вызова импорта:
function myImportCallBack
disp('Custom import was called!');Хотя эта функция не импортирует Bus объекты являются синтаксически действительными и могут быть зарегистрированы в Simulink Customization Manager. Функция оперативного импорта:
Получает обозначение места получения Bus объекты для импорта
Преобразует каждый Bus объект в Simulink.Bus объект
Сохранение объекта в базовой рабочей области
Дополнительная логика специфична для предприятия.
Настроить Bus импорт или экспорт объектов, предоставление функции регистрации настройки, которая вводит и настраивает диспетчер настройки при каждом запуске программного обеспечения Simulink или обновлении настроек Simulink. Для использования функции регистрации настройки выполняются следующие шаги:
Создание файла с именем sl_customization.m , чтобы содержать функцию регистрации настройки. Кроме того, можно использовать существующий файл адаптации.
В верхней части файла создайте функцию с именем sl_customization который принимает один аргумент (или использует функцию адаптации в существующем файле). При вызове функции значением этого аргумента является Customization Manager.
Сконфигурируйте sl_customization для установки функции importCallbackFcn и exportCallbackFcn быть функциональными дескрипторами, задающими настраиваемые Bus функции импорта и экспорта объектов.
Если sl_customization.m является новым файлом настройки, помещенным в любом месте пути поиска MATLAB. Два часто используемых местоположения: matlabroot и текущей рабочей папке. Можно также расширить путь поиска.
Ниже приведен простой пример функции регистрации настройки:
function sl_customization(cm)
disp('My customization file was loaded.');
cm.BusEditorCustomizer.importCallbackFcn = @myImportCallBack;
cm.BusEditorCustomizer.exportCallbackFcn = @(x)myExportCallBack(x);
Когда Simulink запускается, он проходит путь поиска MATLAB в поисках файлов с именем sl_customization.m. Simulink загружает каждый файл, который он находит (не только первый файл) и выполняет sl_customization в верхней части функции, устанавливая настройки, определяемые функцией.
При выполнении примерной функции настройки отображается сообщение (которое, вероятно, не будет использоваться фактической функцией). Функция устанавливает, что редактор шины использует функцию с именем myImportCallBack() импортировать Bus объекты и функцию с именем myExportCallBack(x) экспортировать Bus объекты.
Функция, соответствующая дескриптору, который появляется в регистрации обратного вызова, может быть не определена, когда происходит регистрация. Однако он должен быть определен при вызове функции в редакторе шины. Та же широта и требование применяются к любым функциям или глобальным переменным, используемым для предоставления значений дополнительных аргументов.
Другие функции также могут существовать в sl_customization.m файл. Однако программа Simulink игнорирует файлы с именами sl_customization.m, за исключением случаев, когда он запускается или обновляет настройки. Любые изменения функций в файле настройки игнорируются до тех пор, пока не произойдет одно из этих событий. Напротив, изменения других функций на пути MATLAB вступают в силу немедленно.
Дополнительные сведения см. в разделе Регистрация настроек.
Можно изменить дескрипторы, установленные в sl_customization функция по:
Изменение функции для указания измененных дескрипторов
Сохранение функции
Обновление настроек путем выполнения sl_refresh_customizations
Simulink пересекает путь MATLAB и перезагружает все sl_customization.m файлы, которые он находит, выполняя первую функцию в каждой, так же, как это было при запуске Simulink.
Можно вернуться к поведению импорта или экспорта по умолчанию, установив в sl_customization функционировать соответствующим образом BusEditorCustomizer элемент в [] а затем обновление настроек. Кроме того, можно исключить обе настройки за одну операцию, выполнив следующие действия:
cm.BusEditorCustomizer.clear
где cm был ранее установлен в объект диспетчера настройки (см. раздел Регистрация настроек).
Изменения самих функций обратного вызова импорта и экспорта, в отличие от изменений дескрипторов, регистрирующих их как настройки, вступают в силу немедленно, если только они не находятся в sl_customization.m сам файл. Если функции обратного вызова находятся в sl_customization.m они вступают в силу при следующем обновлении настроек. Сохранение функций обратного вызова в отдельных файлах обычно обеспечивает более гибкие и модульные результаты.
Simulink.BlockDiagram.addBusToVector | Simulink.Bus.cellToObject | Simulink.Bus.createMATLABStruct | Simulink.Bus.createObject | Simulink.Bus.objectToCell | Simulink.Bus.save