Шина может быть связана с Simulink.Bus
объект, который задает свойства Simulink® используется для проверки шины. Bus
объекты являются необязательными для виртуальных шин, но требуются для невиртуальных шин.
A Bus
объект задает только архитектурные свойства шины, отличные от значений содержащихся в ней сигналов. Для примера, a Bus
объект может задавать количество элементов в шине, порядок этих элементов, то, вложены ли элементы и как, и типы данных составляющих сигналов; но не значения сигналов.
A Bus
объект аналогичен определению структуры на C: он задает представителей шины, но не создает шину Bus
объект также аналогичен кабельному соединителю. Соединитель определяет все контакты и их строение и управляет типами проводов, которые могут быть подключены к нему. Точно так же, Bus
объект определяет строение и свойства сигналов, которые должна иметь связанная шина.
Использование Bus
объекты в модели включают в себя выполнение этих задач, во многих случаях итеративно.
Необходимо использовать Bus
объекты для этих строений моделирования:
Невиртуальные автобусы
Stateflow® графики с входом или выходом шины
Интерфейс S-функции или Legacy Code Tool с внешним кодом
Можно связать Bus
объект с несколькими блоками. Некоторые блоки требуют, чтобы вы задали Bus
объект, если блок имеет вход или выход шины. Для получения дополнительной информации см. Раздел «Блоки с поддержкой шины».
Когда Bus
объект управляет входным или выходным сигналом для блока, сигнал должен быть шиной, которая имеет свойства, заданные объектом. Любое отклонение вызывает ошибку.
Если вы используете Bus Creator или In Bus Element параметров блоков для задания свойств шины, все блоки, расположенные ниже по течению от шины, наследуют одинаковые свойства.
Можно использовать параметры Bus Creator блоков, чтобы задать виртуальные шины и выполнить ограниченную проверку ошибок. Чтобы выполнить тщательную проверку ошибок на шине, связайте Bus
объект с этой шиной. Использование Bus
объекты для проверки шин на ошибки важны, когда вы хотите создать переиспользуемые и общедоступные компоненты модели.
Чтобы упростить трассировку соответствия между моделью и сгенерированным кодом для шины, используйте невиртуальную шину. Сгенерированный код для невиртуальной шины создает структуру. Невиртуальные автобусы могут привести к нескольким копиям некоторых автобусов.
Можно сохранить Bus
объекты в следующие местоположения:
Словарь данных
Функция
MAT-файл
База данных или другие внешние файлы
Если вы не сохраняете Bus
объекты, затем, когда вы открываете модель, которая использует Bus
объекты, вам нужно воссоздать Bus
объекты.
Различные Bus
места хранения объектов обеспечивают различные преимущества.
Местоположение | Факторы об использовании |
---|---|
Словарь данных | Используется для компонентации больших моделей. Когда вы сохраняете в словарь данных из базового рабочего пространства, вы получаете все переменные, используемые моделью, а не только Прежде чем сохранять в словарь данных, прочитайте факторы перед миграцией на словарь данных. |
Функция | Используйте для, когда вы хотите использовать MATLAB® для трассируемости и дифференцирования модели. |
MAT-файл | Используйте для более быстрого |
База данных или другие внешние файлы | Используется для сравнения информации интерфейса шины с проектом документами, хранящимися во внешнем источнике данных. |
Создание или редактирование Bus
Объекты интерактивном режиме используйте Bus Editor или Model Explorer. Bus
объекты, созданные с помощью этих инструментов, первоначально хранятся в базовом рабочем пространстве или словаре данных. Чтобы визуализировать иерархию шины и возможности доступа, такие как импорт и экспорт, используйте Bus Editor. Когда у тебя много Bus
объекты или Bus
объекты хранятся в нескольких местоположениях, используйте Model Explorer. Этот Model Explorer обеспечивает быстрый запуск независимо от количества Bus
Объекты и позволяют легко переключаться между Bus
редактирования объекты в базовом рабочем пространстве и словари данных.
Создание и редактирование Bus
объекты программно см. раздел «Создание шинных объектов программно». Bus
объекты первоначально хранятся в базовом рабочем пространстве, словаре данных или функции.
После создания Bus
объект и задать его атрибуты, можно связать его с любым блоком, который должен использовать определение шины, которое предоставляет объект. Чтобы связать блок с шиной, в диалоговом окне «Параметры блоков» задайте Data type Bus: <object name>
и замените <object name>
с Bus
имя объекта.
Можно задать Bus
объект как тип данных блока до или после определения Bus
объект. Однако перед моделированием модели Bus
объект и соответствующая шина должны иметь одинаковое количество элементов шины в том же порядке. Кроме того, каждый элемент в Bus
объект и в соответствующей шине должны иметь совпадающие типы данных и размеры.
Во время разработки модели можно редактировать автобусы так, чтобы они совпадали Bus
объекты или изменение Bus
объекты, соответствующие шинам.
Если вы не хотите изменять Bus
объект, можно:
Создайте Bus
объект, который соответствует изменениям в шине и использует новую Bus
объект для блоков, с которыми соединяется измененная шина.
Верните изменения шины так, чтобы шина продолжала совпадать с соответствующими Bus
объект.
Как сохранить Bus
объекты, хранящиеся в базовом рабочем пространстве, можно использовать любой метод MATLAB, который сохраняет содержимое базового рабочего пространства. Однако получившийся файл содержит все в базовом рабочем пространстве, а не только Bus
объекты.
Местоположение | Метод создания файлов | Содержимое файла |
---|---|---|
Словарь данных | См. «Миграция моделей для использования словаря данных Simulink». | Bus объекты и другие переменные базовые рабочие пространства, используемые моделью |
Функция | Используйте Редактор шин или Simulink.Bus.save функция. | Bus объекты |
MAT-файл | Используйте Редактор шин. | Bus объекты |
База данных или другие внешние файлы | Используйте | Bus объекты |
Можно настроить Bus
экспорт объекта путем предоставления пользовательской функции, которая записывает в местоположение вне MATLAB. Например, экспортированные Bus
объекты могут быть сохранены как записи в базе данных. Для получения дополнительной информации см. раздел «Настройка импорта и экспорта объектов шины».
При изменении сохраненных Bus
объекты, они должны быть сохранены, чтобы сохранить изменения.
Прежде чем вы симулируете модель, все Bus
объекты, которые он использует, должны быть загружены в базовое рабочее пространство или словарь данных, используемый моделью. Для автоматизации и согласованности между моделями, отображения Bus
объекты к моделям важны.
Путем идентификации всех Bus
объекты, которые требуются модели, можно гарантировать, что эти объекты загружены перед выполнением модели.
Путем идентификации всех моделей, которые используют Bus
объект, можно гарантировать, что изменения в Bus
объект не вызывает неожиданных изменений ни в одной из моделей, использующих Bus
объект.
Обеспечить необходимую Bus
объекты загружаются перед выполнением модели, учитывайте:
Проекты - Автоматически загружайте или запускайте файлы, которые определяют Bus
объекты путем конфигурирования файлов для запуска при открытии проекта. Для получения дополнительной информации смотрите Управление проектами.
Словари данных - Хранилище Bus
объекты с переменными и другие объекты для одной или нескольких моделей.
Как поделиться Bus
среди моделей можно связать каждую модель со словарем и создать общий словарь-ссылку для хранения объекта. Для получения примера смотрите Данные словаря разделов с использованием ссылочных словарей.
Базы данных - Сбор информации о отображении во внешнем источнике данных, таком как база данных.
Можно настроить Bus
импорт объекта путем предоставления пользовательской функции, считываемой из расположения вне MATLAB. Для получения дополнительной информации см. раздел «Настройка импорта и экспорта объектов шины».
Моделируйте коллбэки - автоматически загружайте или запускайте файлы, которые определяют Bus
объектов при помощи load
функция в обратном коллбэке модели.
Если модель использует только несколько Bus
объекты, рассмотрите копирование Bus
Объектный код непосредственно в коллбэк, вместо загрузки файла. Для получения примера откройте ex_bus_tutorial_nonvirtual модели
и осмотрите коллбэк.
Чтобы найти, где Bus
объект используется в открытой модели, см. Нахождение блоков, которые используют определенную переменную.
Совет
Использование строгого и стандартного соглашения об именовании очень полезно для отображения Bus
использование объекта. Для примера рассмотрим модель и данные, необходимые для функции управления приводом. Наименование модели Actuator
и порты входа и выхода Actuator_bus_in
и Actuator_bus_out
, соответственно, делает соединение между Bus
объекты и модель очистить.
Обратите внимание, что этот подход может вызвать проблемы, если выход от одной модели подается непосредственно на другую модель. В этом случае несоответствие имен приводит к ошибке.