Сконфигурируйте параметры передачи данных между параллельными задачами

Зависимости данных возникают, когда сигнал генерируется из одного блока в одном разделе и соединяется с блоком в другом разделе. Чтобы создать возможности для параллелизма, Simulink® предоставляет несколько опций для обработки передачи данных между одновременно выполняемыми разделами. Эти опции помогают вам согласовать вычислительную задержку для численных задержек сигнала.

Используйте панель Data Transfer Options, чтобы задать связь между задачами. Установите значения для Use global setting опция вкладки Данных Transfer в диалоговом окне Signal Свойств. Таблица содержит опции уровня модели, которые можно применить к каждому сигналу, который требует передачи данных в системе.

Опции переноса данных

ЦельТип передачи данныхСимуляцияРазвертывание
  • Создайте возможность для параллелизма.

  • Уменьшите задержку сигнала.

Убедитесь только в целостности данных.

Передача данных моделируется с помощью одноэтапной задержки.

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

Используйте детерминированный график выполнения, чтобы достичь детерминизма в среде развертывания.

  • Создайте возможность для параллелизма.

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

Обеспечьте детерминированную передачу (максимальную задержку).

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

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

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

Обеспечьте детерминированную передачу (минимальную задержку).

Передача данных происходит на том же шаге.

Можно также переопределить эти опции для каждого сигнала из панели Data Transfer диалогового окна Свойства. Для получения дополнительной информации см. раздел «Опции переноса данных для параллельного выполнения».

Например, рассмотрим приложение управления, в котором контроллер, который считывает сенсорные данные в момент времени, T должен выдавать управляющие сигналы приводу в момент T+Δ.

  • Если последовательный алгоритм соответствует временным срокам, рассмотрите использование опции 3.

  • Если встраиваемая система обеспечивает детерминированное планирование, рассмотрите использование опции 2.

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

Для непрерывных сигналов Simulink использует методы экстраполяции, чтобы компенсировать числовые ошибки, которые были введены из-за задержек и разрывов в передаче данных.

Чтобы избежать числовых ошибок в сигналах, настроенных для Ensure Data Integrity Only и Ensure deterministic transfer (maximum delay) передача данных, вам может потребоваться предоставить начальное условие. Это начальное условие можно задать на вкладке Data Transfer диалогового окна Свойства. Для доступа к этому диалоговому окну щелкните правой кнопкой мыши сигнальную линию и выберите Properties из контекстного меню. Отобразится диалоговое окно, например:

  1. В таблице Опции переноса данных (Data Transfer Options) определите, как вы хотите связаться с вашими задачами.

  2. В диалоговом окне Параллельное выполнение выберите Параметры передачи данных по умолчанию и примените настройки с шага 1.

  3. Применить свои изменения.

Похожие темы