Можно использовать Редактор Шины, чтобы импортировать объекты шины к базовому рабочему пространству и экспортировать объекты шины от базового рабочего пространства, как описано в Объектах Шины Сохранения. По умолчанию Редактор Шины может сохранить объекты шины в и импортировать объекты шины из, файл MATLAB® или MAT-файл. Файлы должны быть в месте, которое является доступным использованием обычного диалогового окна Open или Save.
Можно записать настроенные функции MATLAB, которые обеспечивают альтернативный импорт или экспорт (или оба) функциональность. Например, можно записать индивидуально настраиваемую функцию, которая хранит объекты как записи в базе данных в формате, который использует организация.
После вас разработка и реализация пользовательский импорт объекта шины или экспорт функций, используйте Simulink® Customization Manager, чтобы зарегистрировать функцию. Процесс регистрации устанавливает пользовательские функции импорта и экспорта как коллбэки для Редактора Шины Импорт в Базовое рабочее пространство и Экспорт в команды Файла. Коллбэки заменяют поддержку по умолчанию Редактора Шины. Настройка Редактора Шины возможности импорта и экспорта не оказывает влияния на другой MATLAB или функции Simulink. Отмена импорта или индивидуальной настройки экспорта восстанавливает Редактор Шины по умолчанию возможности той операции, не влияя на другой.
Чтобы создать объекты шины из внешнего кода С, вы не должны делать индивидуальные настройки. Смотрите Создают Объекты Шины из Внешнего кода С.
Настройка импорта объекта шины или экспорта требует, чтобы вы поняли:
Язык MATLAB и методы программирования
Шина Simulink возражает синтаксису
Собственный формат, в который вы переводите объекты шины и методы, необходимые, чтобы получить доступ к средству, которое хранит объекты.
Любые специфичные для платформы методы для получения данных от пользователя, такие как имя местоположения, в котором можно сохранить или получить доступ к объектам шины.
Пользовательский экспорт функций объекта шины требует по крайней мере одного аргумента. Можно использовать дополнительные аргументы, чтобы обработать специальные действия функцией. Значение первого аргумента является массивом ячеек, содержащим имена всех объектов шины, что Редактор Шины выбрал. Можно использовать функции, глобальные переменные, или любой другой метод MATLAB, чтобы ввести значения для любых дополнительных аргументов. Общий алгоритм индивидуально настраиваемого экспорта функций:
Выполните итерации по списку имен объектов в первом аргументе.
Получите объект шины, соответствующий каждому имени.
Переведите объект шины в собственный синтаксис.
Сохраните переведенный объект шины в локальном репозитории.
Этот пример показывает, что синтаксический интерпретатор такой функции обратного вызова экспорта:
function myExportCallBack(selectedBusObjects) disp('Custom export was called!'); for idx = 1:length(selectedBusObjects) disp([selectedBusObjects{idx} ' was selected for export.']); end
Несмотря на то, что эта функция не экспортирует объектов шины, это синтаксически допустимо и может быть указано. Это принимает массив ячеек имен объектов шины, выполняет итерации по ним и распечатывает каждое имя. Операционный экспорт функций:
Использование каждое имя, чтобы получить соответствующую шину возражает от базового рабочего пространства
Преобразует объект в собственный формат
Хранит преобразованный объект
Дополнительная логика специфична для предприятия.
Пользовательская функция импорта объекта шины может взять нуль или больше аргументов, чтобы выполнить его задачу. Можно использовать функции, глобальные переменные или любой другой метод MATLAB, чтобы обеспечить значения аргументов. Кроме того, функция может опросить пользователя относительно информации, такой как обозначение того, где получить информацию об объекте шины. Общий алгоритм пользовательской функции импорта объекта шины:
Получите информацию об объекте шины из локального репозитория.
Переведите каждое определение объекта шины в Simulink.Bus
объект.
Сохраните каждый объект шины в базовое рабочее пространство MATLAB.
Этот пример показывает, что синтаксический интерпретатор функции обратного вызова импорта:
function myImportCallBack disp('Custom import was called!');
Несмотря на то, что эта функция не импортирует объектов шины, это синтаксически допустимо и может быть указано с менеджером по Индивидуальной настройке Simulink. Операционная функция импорта:
Получает обозначение того, где получить объекты шины импортировать
Преобразует каждый объект шины в Simulink.Bus
объект
Хранит объект в базовом рабочем пространстве
Дополнительная логика специфична для предприятия.
Чтобы настроить импорт объекта шины или экспортировать, обеспечьте регистрационную функцию индивидуальной настройки, которая вводит и конфигурирует менеджера по Индивидуальной настройке каждый раз, когда вы запускаете программное обеспечение Simulink или обновляете индивидуальные настройки Simulink. Шаги для использования регистрационной функции индивидуальной настройки:
Создайте файл с именем sl_customization.m
содержать регистрационную функцию индивидуальной настройки. В качестве альтернативы можно использовать существующий файл настройки.
Наверху файла создайте функцию с именем sl_customization
это берет отдельный аргумент (или используйте специальную функцию в существующем файле). Когда функция вызывается, значение этого аргумента является менеджером по Индивидуальной настройке.
Сконфигурируйте sl_customization
функционируйте, чтобы установить importCallbackFcn
и exportCallbackFcn
быть указателями на функцию, которые задают ваши индивидуально настраиваемые функции импорта и экспорта объекта шины.
Если 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()
импортировать объекты шины и функцию с именем myExportCallBack(x)
экспортировать объекты шины.
Функция, соответствующая указателю, который появляется в регистрации коллбэка, может быть не определена, когда регистрация происходит. Однако это должно быть задано, когда Редактор Шины вызывает функцию. Та же широта и требование применяются к любым функциям, или глобальные переменные раньше вводили значения дополнительных аргументов.
Другие функции могут также существовать в sl_customization.m
файл. Однако программное обеспечение Simulink игнорирует файлы с именем sl_customization.m
, кроме тех случаев, когда это запускает или обновляет индивидуальные настройки. Любые изменения в функциях в файле настройки проигнорированы, пока одно из тех событий не имеет место. В отличие от этого, изменения в других файлах MATLAB на пути 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