В этом примере показано, как использовать блок Message Merge для маршрутизации сообщений. В этом примере коммуникация на основе сообщений строится между двумя компонентами: компонент Send создает сообщения и отправляет их в компонент Receive. Блок Queue используется как буфер сообщений между компонентами и сконфигурирован как очередь FIFO с пропускной способностью 100
. Дополнительные сведения о создании обмена сообщениями между компонентами см. в разделе Установка интерфейсов отправки и получения сообщений между программными компонентами.
В этом примере компонент Send имеет два алгоритма, которые генерируют данные, которые преобразуются в сообщения с использованием двух блоков Send. Блок Message Merge объединяет две линии сообщений в одну линию сообщений.
Можно подготовить эту модель, чтобы сгенерировать код С++ для каждого компонента. Сгенерированный код содержит необходимые программные интерфейсы, которые позволяют подключаться к операционной системе или промежуточному программному обеспечению сообщений. Для получения дополнительной информации смотрите Сгенерировать сообщения C++ для связи между Simulink и операционной системой или промежуточным программным обеспечением (Embedded Coder).
Симулируйте модель. Наблюдайте за блоком Scope, который отображает выходы. Значение изменяется между 1
и 8
на основе двух блоков Constant в компонентах Send.
Queue | Receive | Send | Входной переключатель сущности (SimEvents) | выключатель выхода сущности (SimEvents)