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