Для импорта можно использовать Редактор шин Bus
объекты в базовое рабочее пространство и для экспорта Bus
объекты из базового рабочего пространства, как описано в Сохраните Simulink объекты .Bus. По умолчанию Редактор шин может сохранять объекты шины в и импортировать Bus
объекты от, функция или MAT-файл. Файлы должны быть в расположении, которое доступно с помощью обычного диалогового окна Open или Save.
Вы можете написать настроенный MATLAB® функций, которые обеспечивают альтернативные функции импорта или экспорта (или обоих). Например, можно записать пользовательскую функцию, которая хранит объекты как записи в базе данных в формате, используемом организацией.
После разработки и реализации пользовательского Bus
импорт или экспорт функций объекта, используйте Simulink® Customization Manager, чтобы зарегистрировать функцию. Процесс регистрации устанавливает пользовательские функции импорта и экспорта как коллбэки для команд Bus Editor Import to Базовое Рабочее Пространство и Export to File. Коллбэки заменяют возможности редактора шин по умолчанию. Настройка возможностей импорта и экспорта редактора шин не влияет на другие функции MATLAB или Simulink. Отмена импорта или экспорта индивидуальной настройки восстанавливает возможности редактора шины по умолчанию для этой операции, не затрагивая другую.
Создание Bus
объекты из внешнего кода С, вам не нужно делать индивидуальные настройки. См. раздел «Создание объектов шины из внешнего кода С».
Настройка 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