Настройка импорта и экспорта объектов шины

Для импорта можно использовать Редактор шин 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, чтобы предоставить значения для любых дополнительных аргументов. Общий алгоритм настраиваемого экспорта функций:

  1. Итерация по списку имен объектов в первом аргументе.

  2. Получите Bus объект, соответствующий каждому имени.

  3. Переведите Bus объект к собственному синтаксису.

  4. Сохраните переведенный 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 функция импорта объектов:

  1. Получение Bus сведения об объекте из локального репозитория.

  2. Переведите каждую Bus определение объекта в Simulink.Bus объект.

  3. Сохраните каждую Bus объект в базовом рабочем пространстве MATLAB.

Этот пример показывает синтаксический интерпретатор функции обратного вызова импорта:

function myImportCallBack
disp('Custom import was called!');

Хотя эта функция не импортирует никакие Bus объекты, они синтаксически действительны и могут быть зарегистрированы в Simulink Customization Manager. Оперативная функция импорта:

  • Получает обозначение, где получить Bus объекты для импорта

  • Преобразует каждую Bus объект в Simulink.Bus объект

  • Сохраняет объект в базовом рабочем пространстве

Дополнительная логика относится к конкретному предприятию.

Регистрация индивидуальных настроек

Как настроить Bus импорт или экспорт объекта, обеспечьте функцию регистрации индивидуальной настройки, которая вводит и конфигурирует Диспетчер индивидуальной настройки каждый раз, когда вы запускаете программное обеспечение Simulink или обновляете индивидуальные настройки Simulink. Шаги для использования функции регистрации индивидуальной настройки:

  1. Создайте файл с именем sl_customization.m содержащая функцию регистрации индивидуальной настройки. Кроме того, можно использовать существующий файл индивидуальной настройки.

  2. В верхней части файла создайте функцию с именем sl_customization который принимает один аргумент (или использует функцию индивидуальной настройки в существующем файле). Когда функция вызывается, значение этого аргумента является Customization Manager.

  3. Сконфигурируйте sl_customization функция, чтобы задать importCallbackFcn и exportCallbackFcn быть указателями на функцию, которые задают пользовательские Bus функции импорта и экспорта объектов.

  4. Если 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 файл вступает в эффект при следующем обновлении индивидуальных настроек. Сохранение функций обратного вызова в отдельных файлах обычно обеспечивает более гибкие и модульные результаты.

См. также

Блоки

Функции

Классы

Похожие темы