Simulink передает обзор

Основанная на сообщении коммуникация необходима в различных приложениях, такова как архитектуры системы управления, в которых централизованные архитектуры заменяются распределенными архитектурами из-за сложности систем. В распределенной архитектуре несколько компонентов системы связываются через общую сеть.

Распределенная архитектура имеет эти три элемента:

  • Компонент — Представляет разделы проекта, который выполняет набор функциональностей или алгоритмов с заданными интерфейсами ввода-вывода. Обычно компоненты генерируют события и данные асинхронно.

  • Интерфейс — Обеспечивает разделяемый контур, через который связываются компоненты системы. Чтобы обеспечить асинхронную коммуникацию, сообщения являются полезными артефактами моделирования, которые комбинируют события со связанными данными.

  • Промежуточное программное обеспечение — Предоставляет услуги, необходимые компонентам, чтобы поддержать асинхронную коммуникацию через общую сеть.

Ниже рисунок, который показывает состав распределенной архитектуры и ее элементов.

Message based modeling framework

При моделировании такой архитектуры, вы обычно компоненты модели, которые явно идентифицируются, являются допускающими повторное использование, и развертываемыми. Чтобы достигнуть асинхронной основанной на событии связи между компонентами, используйте сообщение, отправляют и получают интерфейсы. Смоделируйте промежуточное программное обеспечение, чтобы упростить сетевую топологию, которая представляет возможность соединения компонентов, таких как one-many, many-one, или many-many на основе количества сообщения передающие и получающие компоненты. Для примера смотрите Сборку Разделяемый Канал связи с Несколькими Отправителями и Приемниками.

Чтобы изучить, как смоделировать распределенную архитектуру, с помощью Simulink®, SimEvents® и Stateflow®, видят рисунок ниже. Рисунок включает две отправки сообщения и два сообщения, получающие компоненты, которые создаются как модели, на которые ссылаются. Компоненты модели с отправляют и получают интерфейсы с помощью Simulink, Отправляют и Получают блоки. Если ваш отправлять и получают интерфейсы, включают состояния или требуют логики решения, используют диаграмму Stateflow.

Message based modeling using Simulink, Stateflow, and SimEvents

После того, как вы моделируете свои компоненты и интерфейсы:

  • Симулируйте поведение своей распределенной архитектуры путем моделирования промежуточного программного обеспечения с помощью SimEvents. Используя блоки из библиотеки SimEvents, можно смоделировать пользовательские шаблоны маршрутизации и коммуникации, такие как слияние, задержка, распределение и широковещательная передача сообщений, и исследовать эффекты промежуточного программного обеспечения на коммуникационной сети.

  • Сгенерируйте код для своих компонентов, включая интерфейс, и соединитесь со своим промежуточным программным обеспечением или коммуникационным API операционной системы.

Сообщение модели отправляет и получает интерфейсы и генерирует код

Давайте запустимся путем понимания, как работают блоки сообщения. Чтобы создать модель, которая использует сообщения, используйте блоки Send, чтобы преобразовать данные и отправить сообщения и блоки Receive, чтобы получить и преобразовать сообщения в данные. Для простого примера, который показывает, как Send и блоки Receive работают, смотрите Анимационный и Изучите Отправку и Получение сообщений.

Используйте Send, и блоки Receive к сообщению модели отправляют и получают интерфейсы для ваших компонентов. Для простого примера, который показывает, основы создания отправляют и получают интерфейсы, видят, Устанавливают сообщение, Отправляют и Получают Интерфейсы Между Компонентами программного обеспечения. Чтобы изучить, как сгенерировать код для той же модели, смотрите, Генерируют сообщения C++, чтобы Связаться Между Компонентами Simulink (Embedded Coder).

Можно далее изменить, отправляют и получают интерфейсы для пользовательского поведения. Например, можно синхронизироваться, когда получить интерфейс выполняется к тому, когда данные доступны. Для получения дополнительной информации см. Модель, сообщение Получает Интерфейс, который Работает на Доступности сообщения.

После моделирования сгенерируйте код для вашего отправлять и получить интерфейсы и соединить их с промежуточным программным обеспечением или коммуникационным API операционной системы. Для примера, который генерирует код для топ-модели и позволяет вашему приложению связываться в распределенной системе, которая использует внешний сервис протокола сообщения (например, DDS, ROS, SOMEIP или сообщения POSIX), видят, Генерируют сообщения C++, чтобы Связаться Между Simulink и Операционной системой или Промежуточным программным обеспечением (Embedded Coder).

Симулируйте эффекты промежуточного программного обеспечения на распределенной архитектуре

Используйте блоки Queue, чтобы сохранить, отсортировать и поставить сообщения в очередь. Блок Queue позволяет вам задавать способность хранения сообщений и перезапись и сортировку политик для переходов сообщения. Для простого примера, который показывает, как Queue кладка блоков, смотрите Использование Блок Очереди, чтобы Управлять сообщениями.

Можно также использовать SimEvents, чтобы смоделировать и симулировать эффекты промежуточного программного обеспечения на коммуникационной сети. Используйте блоки, предоставленные библиотекой SimEvents маршрутизации сообщения модели, одноранговой коммуникации, радиосвязи, пакетной потере и задержкам канала. Для получения дополнительной информации о SimEvents, смотрите Дискретно-событийную симуляцию в Моделях Simulink (SimEvents).

Для основных коммуникационных шаблонов, которые могут быть смоделированы SimEvents, смотрите, что Моделирование передает Коммуникационные Шаблоны с SimEvents. Можно использовать комбинации этих шаблонов, чтобы создать более комплексное коммуникационное поведение. Поскольку пример системы с несколькими передает отправку и получение компонентов и идеала совместно использованный канал с задержкой, смотрите Сборку Разделяемый Канал связи с Несколькими Отправителями и Приемниками. Чтобы видеть модель с разделяемым беспроводным каналом со сбоем в канале и пакетной потерей, смотрите, что Беспроводная связь Модели передает Связь с Пакетной Потерей и Сбой в канале.

Чтобы видеть пример, который показывает, как смоделировать более комплексное сетевое поведение, такое как коммуникационная сеть Ethernet с протоколом CSMA/CD, см. Модель Коммуникационная сеть Ethernet с Протоколом CSMA/CD.

Примечание

Блоки SimEvents не поддерживают генерацию кода.

Смотрите также

| | | |

Похожие темы