Шина может быть связана с Simulink.Bus , который задает свойства, используемые Simulink ® для проверки шины .Bus объекты являются необязательными для виртуальных шин, но обязательными для невиртуальных шин.
A Bus объект задает только архитектурные свойства шины в отличие от значений содержащихся в ней сигналов. Например, Bus объект может задавать количество элементов в шине, порядок этих элементов, то, вложены ли элементы и как, и типы данных составляющих сигналов; но не значения сигнала.
A Bus объект аналогичен определению структуры в языке C: он определяет элементы шины, но не создает шину. Bus объект также аналогичен кабельному разъему. Соединитель определяет все контакты и их конфигурацию и управляет типами проводов, которые могут быть к нему подключены. Аналогично, a 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 объекты или Bus объекты хранятся в нескольких расположениях, используйте Обозреватель моделей. Обозреватель моделей обеспечивает быстрый запуск независимо от количества Bus и позволяет легко переключаться между редактированием Bus объекты в базовой рабочей области и словарях данных.
Создание и редактирование Bus программные объекты см. в разделе Создание программных объектов шины. Bus первоначально объекты хранятся либо в базовой рабочей области, либо в словаре данных, либо в функции.
После создания Bus и указать его атрибуты, можно связать его с любым блоком, который должен использовать определение шины, предоставляемое объектом. Чтобы связать блок с шиной, в диалоговом окне «Параметры блока» задайте для параметра «Тип данных» значение 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 объекты и модель очищаются.
Следует отметить, что этот подход может вызвать проблемы, если выходные данные одной модели подаются непосредственно в другую модель. В этом случае несоответствие имен приводит к ошибке.