Зависимости по данным возникают, когда сигнал происходит из одного блока в одном разделе и соединяется с блоком в другом разделе. Чтобы создать возможности для параллелизма, 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.
Примените свои изменения.