Зависимости данных возникают, когда сигнал исходит от одного блока в одном разделе и соединяется с блоком в другом разделе. Для создания возможностей параллелизма Simulink ® предоставляет несколько возможностей для обработки передачи данных между одновременно выполняемыми разделами. Эти опции помогают отличить вычислительную задержку от числовой задержки сигнала.
Используйте панель Параметры передачи данных (Data Transfer Options), чтобы определить связь между задачами. Установка значений для Use global setting на вкладке «Передача данных» в диалоговом окне «Свойства сигнала». В таблице представлены опции уровня модели, которые можно применить к каждому сигналу, требующему передачи данных в системе.
Параметры переноса данных
| Цель | Тип переноса данных | Моделирование | Развертывание |
|---|---|---|---|
| Обеспечьте только целостность данных. | Передача данных моделируется с использованием одношаговой задержки. | Simulink Coder™ обеспечивает целостность данных во время их передачи. Simulink генерирует код для работы с максимальной оперативностью и целостностью данных. Однако реализация прерывается, что может привести к потере данных при передаче данных. Используйте детерминированное расписание выполнения для достижения детерминизма в среде развертывания. |
| Обеспечение детерминированной передачи (максимальная задержка). | Перенос данных моделируется с использованием одношаговой задержки, которая может повлиять на числовые результаты. Для компенсации может потребоваться указать начальное условие для этих элементов задержки. | Simulink Coder обеспечивает целостность данных во время их передачи. Кроме того, Simulink Coder обеспечивает идентичность передачи данных с моделированием. |
| Обеспечение детерминированной передачи (минимальная задержка). | Передача данных выполняется в пределах одного шага. |
Эти параметры можно также переопределить для каждого сигнала на панели «Передача данных» диалогового окна «Свойства сигнала». Дополнительные сведения см. в разделе Параметры передачи данных для параллельного выполнения.
Например, рассмотрим приложение управления, в котором контроллер, который считывает сенсорные данные в момент Т, должен выдавать управляющие сигналы на исполнительный механизм в момент Т + Δ.
Если последовательный алгоритм соответствует срокам синхронизации, рассмотрите возможность использования варианта 3.
Если встроенная система обеспечивает детерминированное планирование, рассмотрите возможность использования опции 2.
В противном случае используйте опцию 1 для создания возможностей параллелизма путем введения задержек сигнала.
Для непрерывных сигналов Simulink использует методы экстраполяции для компенсации числовых ошибок, которые были введены из-за задержек и разрывов в передаче данных.
Во избежание числовых ошибок в сигналах, сконфигурированных для Ensure Data Integrity Only и Ensure deterministic transfer (maximum delay) перенос данных, возможно, потребуется указать начальное условие. Это начальное условие можно задать на вкладке «Передача данных» диалогового окна «Свойства сигнала». Чтобы открыть это диалоговое окно, щелкните правой кнопкой мыши сигнальную линию и выберите в контекстном меню пункт «Свойства». Появится диалоговое окно, подобное приведенному ниже.

В таблице Опции передачи данных (Data Transfer Options) определите способ взаимодействия задач.
В диалоговом окне «Одновременное выполнение» выберите «Перенос данных по умолчанию» и примените параметры шага 1.

Примените изменения.