Презентация «Архитектура приложений реального времени»

Смотреть слайды в полном размере
Презентация «Архитектура приложений реального времени»

Вы можете ознакомиться с презентацией онлайн, просмотреть текст и слайды к ней, а также, в случае, если она вам подходит - скачать файл для редактирования или печати. Документ содержит 53 слайда и доступен в формате ppt. Размер файла: 916.50 KB

Просмотреть и скачать

Pic.1
Занятие 3 Архитектура приложений реального времени Разделы: Архитектура приложений на ведущем и целе
Занятие 3 Архитектура приложений реального времени Разделы: Архитектура приложений на ведущем и целевом устройствах Многопоточность Режим ожидания (перерыв) Детерминизм Обмен данными между потоками …
Pic.2
Архитектура приложений реального времени
Архитектура приложений реального времени
Pic.3
Ведущее приложение Выполняется на компьютере Отвечает за задачи, не требующие детерминизма: Обмен да
Ведущее приложение Выполняется на компьютере Отвечает за задачи, не требующие детерминизма: Обмен данными с контроллером параметры поступающие в приложение или отображающиеся на интерфейсе …
Pic.4
Приложение реального времени Процессы выполняются с высоким и низким приоритетами. Процесс, который
Приложение реального времени Процессы выполняются с высоким и низким приоритетами. Процесс, который должен быть детерминирован по времени, имеет критический приоритет – все остальные процессы имеют …
Pic.5
Что такое многопоточность? Расширение подхода многозадачности Многозадачность – возможность операцио
Что такое многопоточность? Расширение подхода многозадачности Многозадачность – возможность операционной системы быстро переключаться между выполняемыми задачами Задача это, как правило, целое …
Pic.6
Преимущества многопоточности Разделение между задачами критичными и некритичными по времени. Требова
Преимущества многопоточности Разделение между задачами критичными и некритичными по времени. Требования реального времени заставляют операционною систему распределять процессорное время по …
Pic.7
Простая модель многопоточной системы реального времени
Простая модель многопоточной системы реального времени
Pic.8
Расписание Потоков Циклическое расписание Потоки одинакового приоритета получают одинаковые кванты в
Расписание Потоков Циклическое расписание Потоки одинакового приоритета получают одинаковые кванты времени при обработке на центральном процессоре. Может потребоваться несколько кругов (циклов) …
Pic.9
Циклическое расписание
Циклическое расписание
Pic.10
Расписание по приоритетному прерыванию
Расписание по приоритетному прерыванию
Pic.11
Расписание LabVIEW Real-Time
Расписание LabVIEW Real-Time
Pic.12
Планировщик LabVIEW Real-Time Комбинация циклического расписания и расписания по приоритетному преры
Планировщик LabVIEW Real-Time Комбинация циклического расписания и расписания по приоритетному прерыванию. Назначение одного критичного по времени ВП
Pic.13
Режим ожидания
Режим ожидания
Pic.14
Зависание
Зависание
Pic.15
Режим ожидания Приостановка выполнения VI или потока
Режим ожидания Приостановка выполнения VI или потока
Pic.16
Режим ожидания и критический по времени приоритет Следующие особенности уникальны для LabVIEW Real-T
Режим ожидания и критический по времени приоритет Следующие особенности уникальны для LabVIEW Real-Time: Если любой критический по времени VI прерывает свое исполнение в режиме ожидания, то весь …
Pic.17
Упражнение 3-1 Работа с приоритетами Время на выполнение: 10 минут.
Упражнение 3-1 Работа с приоритетами Время на выполнение: 10 минут.
Pic.18
Упражнение в классе – выбор приоритета
Упражнение в классе – выбор приоритета
Pic.19
Возможное Решение
Возможное Решение
Pic.20
Детерминизм. Оптимизация приложения. Выбирайте подходящие аппаратные средства Избегайте использовани
Детерминизм. Оптимизация приложения. Выбирайте подходящие аппаратные средства Избегайте использования ресурсов с общим доступом Избегайте перевыделения памяти Избегайте вызовов subVI в цикле …
Pic.21
Ресурсы с общим доступом Ресурсы с общим доступом в LabVIEW Real-Time - это ресурсы, которые могут б
Ресурсы с общим доступом Ресурсы с общим доступом в LabVIEW Real-Time - это ресурсы, которые могут быть использованы только одним процессом в один и тот же момент времени Ресурсами с общим доступом …
Pic.22
Ресурсы с общим доступом
Ресурсы с общим доступом
Pic.23
Ресурсы с общим доступом -приоритеты
Ресурсы с общим доступом -приоритеты
Pic.24
Ресурсы с общим доступом – (subVI) Настройте subVI для поддержки параллельных вызовов
Ресурсы с общим доступом – (subVI) Настройте subVI для поддержки параллельных вызовов
Pic.25
Ресурсы с общим доступом – менеджер памяти Менеджер памяти LabVIEW Real-Time выделяет память автомат
Ресурсы с общим доступом – менеджер памяти Менеджер памяти LabVIEW Real-Time выделяет память автоматически Пользователь не должен явно резервировать или освобождать память Это означает, что менеджер …
Pic.26
Инициализация массивов Избегайте динамического выделения памяти для массивов в цикле с критическим п
Инициализация массивов Избегайте динамического выделения памяти для массивов в цикле с критическим приоритетом.
Pic.27
Ресурсы с общим доступом – управление памятью Ключевые моменты по управлению памятью в системах реал
Ресурсы с общим доступом – управление памятью Ключевые моменты по управлению памятью в системах реального времени: Менеджер памяти LabVIEW Real-Time является ресурсом с общим доступом Все операции по …
Pic.28
Разделяемые ресурсы, do not delete – used for notes
Разделяемые ресурсы, do not delete – used for notes
Pic.29
Избегайте конфликтов памяти Резервируемый под массивы участок памяти должен быть по размеру не меньш
Избегайте конфликтов памяти Резервируемый под массивы участок памяти должен быть по размеру не меньше размера самого большого ожидаемого массива.
Pic.30
Избегайте конфликтов памяти, cont. Do not delete this slide; it is used for the manual notes.
Избегайте конфликтов памяти, cont. Do not delete this slide; it is used for the manual notes.
Pic.31
Избегайте вызовов subVI в цикле Каждый вызов subVI приводит к определенным затратам на выполнение сл
Избегайте вызовов subVI в цикле Каждый вызов subVI приводит к определенным затратам на выполнение служебных операций затраты могут быть значительными при вызове subVI из тела цикла Вместо этого, если …
Pic.32
Отключите ненужные опции Разрешить отладку (Allow debugging) Авто обработка меню при запуске (Auto h
Отключите ненужные опции Разрешить отладку (Allow debugging) Авто обработка меню при запуске (Auto handle menus at launch)
Pic.33
Избегайте использования Express VI Express VI в LabVIEW просты в использовании и ускоряют разработку
Избегайте использования Express VI Express VI в LabVIEW просты в использовании и ускоряют разработку Требуют дополнительных ресурсов для вспомогательных операций во время выполнения
Pic.34
Обмен данных между потоками Методы обмена данными между потоками Удовлетворительный: Глобальные пере
Обмен данных между потоками Методы обмена данными между потоками Удовлетворительный: Глобальные переменные Хороший: Функциональные глобальные переменные Отличный: буферы Real-Time (RT FIFO), буферы в …
Pic.35
Глобальные переменные (Global Variables) – Удовлетворительный метод Может приводить к возникновению
Глобальные переменные (Global Variables) – Удовлетворительный метод Может приводить к возникновению джиттера, так как представляет собой разделяемый ресурс Может приводить к потере данных – запись в …
Pic.36
Функциональные глобальные переменные (ФГП) – Хороший метод Может иметь несколько входов и выходов Мо
Функциональные глобальные переменные (ФГП) – Хороший метод Может иметь несколько входов и выходов Может быть пропущена, если занята (skip if busy) Может приводить к потере данных при передаче
Pic.37
ФГП
ФГП
Pic.38
Буферы (Real-Time FIFO) — самый лучший метод Фиксированный размер буфера Предупреждения о потере дан
Буферы (Real-Time FIFO) — самый лучший метод Фиксированный размер буфера Предупреждения о потере данных Детерминированная передача данных
Pic.39
Буферы Real-Time FIFO Пример: NI Example Finder Toolkits and Modules»Real-Time»Communication»RT FIFO
Буферы Real-Time FIFO Пример: NI Example Finder Toolkits and Modules»Real-Time»Communication»RT FIFO Communication
Pic.40
Переменные с общим доступом (shared variables) Переменные с общим доступом являются универсальным ср
Переменные с общим доступом (shared variables) Переменные с общим доступом являются универсальным средством передачи данных: Недетерминированная передача данных межу VI (глобальная переменная) …
Pic.41
Создание и использование переменных с общим доступом Щелкните правой кнопкой мыши на проекте или биб
Создание и использование переменных с общим доступом Щелкните правой кнопкой мыши на проекте или библиотеке для создание переменной. Переменная должна принадлежать какой-либо библиотеке Диалог Shared …
Pic.42
Переменные и Real-Time FIFOs Вы можете создать переменную, которая использует буфер Real-Time FIFOs
Переменные и Real-Time FIFOs Вы можете создать переменную, которая использует буфер Real-Time FIFOs для передачи данных. Для этого надо выбрать опцию Enable Real-Time FIFO.
Pic.43
Техника программирования Инициализация Буфер создается в момент первого чтения или записи в переменн
Техника программирования Инициализация Буфер создается в момент первого чтения или записи в переменную Создайте и инициализируйте буфер, записав значение в переменную перед основным циклом Попытка …
Pic.44
Техника программирования Идентификация переполнения (Overflow) и опустошения (Underflow) Переполнени
Техника программирования Идентификация переполнения (Overflow) и опустошения (Underflow) Переполнение возникает, когда производится попытка записи в буфер, который уже полон. Непрочитанные данные …
Pic.45
Техника программирования Несколько операций считывания и записи Попытка проведения нескольких считыв
Техника программирования Несколько операций считывания и записи Попытка проведения нескольких считываний или записей одновременно приводит к блокированию однотипных операций Попытка проведения …
Pic.46
VI для работы с буферами и переменные с общим доступом
VI для работы с буферами и переменные с общим доступом
Pic.47
Сравнение статического и динамического конфигурирования. Переменные конфигурируются статически, при
Сравнение статического и динамического конфигурирования. Переменные конфигурируются статически, при помощи окон диалога Простое программирование и подсоединение на блок диаграмме Экономия места на …
Pic.48
Упражнение 3-2 Обмен данными между потоками Время на выполнение: 1 час
Упражнение 3-2 Обмен данными между потоками Время на выполнение: 1 час
Pic.49
Упражнение в классе 3-3 Схема проекта Время на выполнение: 40 мин.
Упражнение в классе 3-3 Схема проекта Время на выполнение: 40 мин.
Pic.50
Резюме Какие существуют методы для улучшения детерминизма? Какой метод обмена данными между потоками
Резюме Какие существуют методы для улучшения детерминизма? Какой метод обмена данными между потоками является лучшим с точки зрения детерминизма? Какой метод обмена данными межу потоками самый …
Pic.51
Резюме — архитектура приложения
Резюме — архитектура приложения
Pic.52
Резюме — многопоточность Многопоточность позволяет отделить критические по времени задачи от некрити
Резюме — многопоточность Многопоточность позволяет отделить критические по времени задачи от некритических LabVIEW RT использует комбинированное расписание: циклическое и по приоритетному прерыванию. …
Pic.53
Резюме Методы обмена данными межу потоками: Удовлетворительный: Глобальные Переменные Хороший: Функц
Резюме Методы обмена данными межу потоками: Удовлетворительный: Глобальные Переменные Хороший: Функциональные Глобальные Переменные Отличный: буферы Real-Time FIFO или переменные с общим доступом (с …


Скачать презентацию

Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!