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

Нажмите для полного просмотра!
Архитектура приложений реального времени, слайд №1Архитектура приложений реального времени, слайд №2Архитектура приложений реального времени, слайд №3Архитектура приложений реального времени, слайд №4Архитектура приложений реального времени, слайд №5Архитектура приложений реального времени, слайд №6Архитектура приложений реального времени, слайд №7Архитектура приложений реального времени, слайд №8Архитектура приложений реального времени, слайд №9Архитектура приложений реального времени, слайд №10Архитектура приложений реального времени, слайд №11Архитектура приложений реального времени, слайд №12Архитектура приложений реального времени, слайд №13Архитектура приложений реального времени, слайд №14Архитектура приложений реального времени, слайд №15Архитектура приложений реального времени, слайд №16Архитектура приложений реального времени, слайд №17Архитектура приложений реального времени, слайд №18Архитектура приложений реального времени, слайд №19Архитектура приложений реального времени, слайд №20Архитектура приложений реального времени, слайд №21Архитектура приложений реального времени, слайд №22Архитектура приложений реального времени, слайд №23Архитектура приложений реального времени, слайд №24Архитектура приложений реального времени, слайд №25Архитектура приложений реального времени, слайд №26Архитектура приложений реального времени, слайд №27Архитектура приложений реального времени, слайд №28Архитектура приложений реального времени, слайд №29Архитектура приложений реального времени, слайд №30Архитектура приложений реального времени, слайд №31Архитектура приложений реального времени, слайд №32Архитектура приложений реального времени, слайд №33Архитектура приложений реального времени, слайд №34Архитектура приложений реального времени, слайд №35Архитектура приложений реального времени, слайд №36Архитектура приложений реального времени, слайд №37Архитектура приложений реального времени, слайд №38Архитектура приложений реального времени, слайд №39Архитектура приложений реального времени, слайд №40Архитектура приложений реального времени, слайд №41Архитектура приложений реального времени, слайд №42Архитектура приложений реального времени, слайд №43Архитектура приложений реального времени, слайд №44Архитектура приложений реального времени, слайд №45Архитектура приложений реального времени, слайд №46Архитектура приложений реального времени, слайд №47Архитектура приложений реального времени, слайд №48Архитектура приложений реального времени, слайд №49Архитектура приложений реального времени, слайд №50Архитектура приложений реального времени, слайд №51Архитектура приложений реального времени, слайд №52Архитектура приложений реального времени, слайд №53

Содержание

Вы можете ознакомиться и скачать презентацию на тему Архитектура приложений реального времени. Доклад-сообщение содержит 53 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Занятие 3
Архитектура приложений реального времени
Разделы:
Архитектура приложений на ведущем и целевом устройствах
Многопоточность
Режим ожидания (перерыв)
Детерминизм
Обмен данными между потоками (Threads)
Описание слайда:
Занятие 3 Архитектура приложений реального времени Разделы: Архитектура приложений на ведущем и целевом устройствах Многопоточность Режим ожидания (перерыв) Детерминизм Обмен данными между потоками (Threads)

Слайд 2





Архитектура приложений реального времени
Описание слайда:
Архитектура приложений реального времени

Слайд 3





Ведущее приложение
Выполняется на компьютере
Отвечает за задачи, не требующие детерминизма: 
Обмен данными с контроллером
параметры поступающие в приложение или отображающиеся на интерфейсе пользователя 
запрос и получение результатов
Запись данных на жесткий диск
Анализ данных
Сетевой обмен и пересылка данных
Описание слайда:
Ведущее приложение Выполняется на компьютере Отвечает за задачи, не требующие детерминизма: Обмен данными с контроллером параметры поступающие в приложение или отображающиеся на интерфейсе пользователя запрос и получение результатов Запись данных на жесткий диск Анализ данных Сетевой обмен и пересылка данных

Слайд 4





Приложение реального времени
Процессы выполняются с высоким и низким приоритетами. Процесс, который должен быть детерминирован по времени, имеет критический приоритет – все остальные процессы имеют более низкий приоритет
Многопоточность (multithreading) позволяет задать приоритет каждого процесса.
Описание слайда:
Приложение реального времени Процессы выполняются с высоким и низким приоритетами. Процесс, который должен быть детерминирован по времени, имеет критический приоритет – все остальные процессы имеют более низкий приоритет Многопоточность (multithreading) позволяет задать приоритет каждого процесса.

Слайд 5





Что такое многопоточность?
Расширение подхода многозадачности 
Многозадачность – возможность операционной системы быстро переключаться между выполняемыми задачами
Задача это, как правило, целое приложение, например, такое как LabVIEW
Многопоточность расширяет возможности  многозадачности при работе с приложением:
Отделяет определенные операции, выполняемые приложением и помещает их в потоки 
Делит процессорное время между потоками
Позволяет назначать приоритеты
Описание слайда:
Что такое многопоточность? Расширение подхода многозадачности Многозадачность – возможность операционной системы быстро переключаться между выполняемыми задачами Задача это, как правило, целое приложение, например, такое как LabVIEW Многопоточность расширяет возможности многозадачности при работе с приложением: Отделяет определенные операции, выполняемые приложением и помещает их в потоки Делит процессорное время между потоками Позволяет назначать приоритеты

Слайд 6





Преимущества многопоточности
Разделение между задачами критичными и некритичными по времени.
Требования реального времени заставляют операционною систему распределять процессорное время по приоритетам и в соответствии с жестким расписанием.
Описание слайда:
Преимущества многопоточности Разделение между задачами критичными и некритичными по времени. Требования реального времени заставляют операционною систему распределять процессорное время по приоритетам и в соответствии с жестким расписанием.

Слайд 7





Простая модель многопоточной системы реального времени
Описание слайда:
Простая модель многопоточной системы реального времени

Слайд 8





Расписание Потоков
Циклическое расписание
Потоки одинакового приоритета получают одинаковые кванты времени при обработке на центральном процессоре. Может потребоваться несколько кругов (циклов) полного выполнения задачи за которую отвечает выделенный поток
Расписание по приоритетному прерыванию
Поток с высоким приоритетом мгновенно приостанавливает обработку всех потоков с более низкими приоритетами
Описание слайда:
Расписание Потоков Циклическое расписание Потоки одинакового приоритета получают одинаковые кванты времени при обработке на центральном процессоре. Может потребоваться несколько кругов (циклов) полного выполнения задачи за которую отвечает выделенный поток Расписание по приоритетному прерыванию Поток с высоким приоритетом мгновенно приостанавливает обработку всех потоков с более низкими приоритетами

Слайд 9





Циклическое расписание
Описание слайда:
Циклическое расписание

Слайд 10





Расписание по приоритетному прерыванию
Описание слайда:
Расписание по приоритетному прерыванию

Слайд 11





Расписание LabVIEW Real-Time
Описание слайда:
Расписание LabVIEW Real-Time

Слайд 12





Планировщик LabVIEW Real-Time
Комбинация циклического расписания и расписания по приоритетному прерыванию. 
Назначение одного критичного по времени ВП
Описание слайда:
Планировщик LabVIEW Real-Time Комбинация циклического расписания и расписания по приоритетному прерыванию. Назначение одного критичного по времени ВП

Слайд 13





Режим ожидания
Описание слайда:
Режим ожидания

Слайд 14





Зависание
Описание слайда:
Зависание

Слайд 15





Режим ожидания	
Приостановка выполнения VI или потока
Описание слайда:
Режим ожидания Приостановка выполнения VI или потока

Слайд 16





Режим ожидания и критический по времени приоритет
Следующие особенности уникальны для LabVIEW Real-Time:
Если любой критический по времени VI прерывает свое исполнение в режиме ожидания, то весь поток переводится в режим ожидания.
Не используйте параллельные циклы в критических по времени VI, многозадачность не будет работать. 
Если параллельные циклы имеют разную частоту, не используйте критические по времени VI — используйте специальный циклы с тактированием (timed loop)
Описание слайда:
Режим ожидания и критический по времени приоритет Следующие особенности уникальны для LabVIEW Real-Time: Если любой критический по времени VI прерывает свое исполнение в режиме ожидания, то весь поток переводится в режим ожидания. Не используйте параллельные циклы в критических по времени VI, многозадачность не будет работать. Если параллельные циклы имеют разную частоту, не используйте критические по времени VI — используйте специальный циклы с тактированием (timed loop)

Слайд 17





Упражнение 3-1
Работа с приоритетами
Время на выполнение: 10 минут.
Описание слайда:
Упражнение 3-1 Работа с приоритетами Время на выполнение: 10 минут.

Слайд 18





Упражнение в классе – выбор приоритета
Описание слайда:
Упражнение в классе – выбор приоритета

Слайд 19





Возможное Решение
Описание слайда:
Возможное Решение

Слайд 20





Детерминизм. Оптимизация приложения.
Выбирайте подходящие аппаратные средства
Избегайте использования ресурсов с общим доступом
Избегайте перевыделения памяти
Избегайте вызовов subVI в цикле
Отключайте ненужные опции
Используйте только один VI c критическим приоритетом
Описание слайда:
Детерминизм. Оптимизация приложения. Выбирайте подходящие аппаратные средства Избегайте использования ресурсов с общим доступом Избегайте перевыделения памяти Избегайте вызовов subVI в цикле Отключайте ненужные опции Используйте только один VI c критическим приоритетом

Слайд 21





Ресурсы с общим доступом
Ресурсы с общим доступом в LabVIEW Real-Time - это ресурсы, которые могут быть использованы только одним процессом в один и тот же момент времени 
Ресурсами с общим доступом являются:
Описание слайда:
Ресурсы с общим доступом Ресурсы с общим доступом в LabVIEW Real-Time - это ресурсы, которые могут быть использованы только одним процессом в один и тот же момент времени Ресурсами с общим доступом являются:

Слайд 22





Ресурсы с общим доступом
Описание слайда:
Ресурсы с общим доступом

Слайд 23





Ресурсы с общим доступом -приоритеты
Описание слайда:
Ресурсы с общим доступом -приоритеты

Слайд 24





Ресурсы с общим доступом – (subVI)
Настройте subVI для поддержки параллельных вызовов
Описание слайда:
Ресурсы с общим доступом – (subVI) Настройте subVI для поддержки параллельных вызовов

Слайд 25





Ресурсы с общим доступом – менеджер памяти
Менеджер памяти LabVIEW Real-Time выделяет память автоматически
Пользователь не должен явно резервировать или освобождать память
Это означает, что менеджер памяти просто использовать, но им трудно управлять
Менеджер памяти LabVIEW Real-Time это разделяемый ресурс
Вы должны управлять выделением памяти для того, чтобы избежать конфликтов (свойственных разделяемым ресурсам) с менеджером памяти.
Необходимо статическое выделение памяти перед запуском процесса критического по времени
Описание слайда:
Ресурсы с общим доступом – менеджер памяти Менеджер памяти LabVIEW Real-Time выделяет память автоматически Пользователь не должен явно резервировать или освобождать память Это означает, что менеджер памяти просто использовать, но им трудно управлять Менеджер памяти LabVIEW Real-Time это разделяемый ресурс Вы должны управлять выделением памяти для того, чтобы избежать конфликтов (свойственных разделяемым ресурсам) с менеджером памяти. Необходимо статическое выделение памяти перед запуском процесса критического по времени

Слайд 26





Инициализация массивов
Избегайте динамического выделения памяти для массивов в цикле с критическим приоритетом.
Описание слайда:
Инициализация массивов Избегайте динамического выделения памяти для массивов в цикле с критическим приоритетом.

Слайд 27





Ресурсы с общим доступом – управление памятью
  Ключевые моменты по управлению памятью в системах реального времени:
Менеджер памяти LabVIEW Real-Time является ресурсом с общим доступом
Все операции по выделению памяти должны проводиться вне цикла с критическим приоритетом.
Резервирование памяти под массивы должно выполняться вне цикла с критическим приоритетом
Данные должны быть приведены нужному типу  
По возможности используйте метод замещения (Replace) для повторного использования памяти буферов
Старайтесь как можно меньше использовать глобальные переменные
Описание слайда:
Ресурсы с общим доступом – управление памятью Ключевые моменты по управлению памятью в системах реального времени: Менеджер памяти LabVIEW Real-Time является ресурсом с общим доступом Все операции по выделению памяти должны проводиться вне цикла с критическим приоритетом. Резервирование памяти под массивы должно выполняться вне цикла с критическим приоритетом Данные должны быть приведены нужному типу По возможности используйте метод замещения (Replace) для повторного использования памяти буферов Старайтесь как можно меньше использовать глобальные переменные

Слайд 28





Разделяемые ресурсы, do not delete – used for notes
Описание слайда:
Разделяемые ресурсы, do not delete – used for notes

Слайд 29





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

Слайд 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.

Слайд 31





Избегайте вызовов subVI в цикле
Каждый вызов subVI  приводит к определенным затратам на выполнение служебных операций
затраты могут быть значительными при вызове subVI из тела цикла
Вместо этого, если возможно, поместите тело цикла внутрь подпрограммы subVI
Описание слайда:
Избегайте вызовов subVI в цикле Каждый вызов subVI приводит к определенным затратам на выполнение служебных операций затраты могут быть значительными при вызове subVI из тела цикла Вместо этого, если возможно, поместите тело цикла внутрь подпрограммы subVI

Слайд 32





Отключите ненужные опции
Разрешить отладку (Allow debugging)
Авто обработка меню при запуске (Auto handle menus at launch)
Описание слайда:
Отключите ненужные опции Разрешить отладку (Allow debugging) Авто обработка меню при запуске (Auto handle menus at launch)

Слайд 33





Избегайте использования Express VI
Express VI в LabVIEW просты в использовании и ускоряют разработку
Требуют дополнительных ресурсов для вспомогательных операций во время выполнения
Описание слайда:
Избегайте использования Express VI Express VI в LabVIEW просты в использовании и ускоряют разработку Требуют дополнительных ресурсов для вспомогательных операций во время выполнения

Слайд 34





Обмен данных между потоками
Методы обмена данными между потоками
Удовлетворительный: Глобальные переменные
Хороший: Функциональные глобальные переменные
Отличный: буферы Real-Time (RT FIFO), буферы в переменных с общим доступом (Shared-Variable FIFOs)
Описание слайда:
Обмен данных между потоками Методы обмена данными между потоками Удовлетворительный: Глобальные переменные Хороший: Функциональные глобальные переменные Отличный: буферы Real-Time (RT FIFO), буферы в переменных с общим доступом (Shared-Variable FIFOs)

Слайд 35





Глобальные переменные (Global Variables) – Удовлетворительный метод
Может приводить к возникновению джиттера, так как представляет собой разделяемый ресурс
Может приводить к потере данных – запись в глобальную переменную может производиться несколько раз до того момента, когда произойдет чтение.
Удовлетворительный метод для скалярных данных (<32 bits)
Описание слайда:
Глобальные переменные (Global Variables) – Удовлетворительный метод Может приводить к возникновению джиттера, так как представляет собой разделяемый ресурс Может приводить к потере данных – запись в глобальную переменную может производиться несколько раз до того момента, когда произойдет чтение. Удовлетворительный метод для скалярных данных (<32 bits)

Слайд 36





Функциональные глобальные переменные (ФГП) – Хороший метод 
Может иметь несколько входов и выходов
Может быть пропущена, если занята (skip if busy)
Может приводить к потере данных при передаче
Описание слайда:
Функциональные глобальные переменные (ФГП) – Хороший метод Может иметь несколько входов и выходов Может быть пропущена, если занята (skip if busy) Может приводить к потере данных при передаче

Слайд 37





ФГП
Описание слайда:
ФГП

Слайд 38





Буферы (Real-Time FIFO) — самый лучший метод 
Фиксированный размер буфера
Предупреждения о потере данных
Детерминированная передача данных
Описание слайда:
Буферы (Real-Time FIFO) — самый лучший метод Фиксированный размер буфера Предупреждения о потере данных Детерминированная передача данных

Слайд 39





Буферы Real-Time FIFO
Пример: NI Example Finder
Toolkits and Modules»Real-Time»Communication»RT FIFO Communication
Описание слайда:
Буферы Real-Time FIFO Пример: NI Example Finder Toolkits and Modules»Real-Time»Communication»RT FIFO Communication

Слайд 40





Переменные с общим доступом (shared variables)
Переменные с общим доступом являются универсальным средством передачи данных:
Недетерминированная передача данных межу VI (глобальная переменная)
Недетерминированная передача данных межу ведущим и целевым устройствами
Недетерминированная передача данных между ведущими устройствами
Детерминированная передача данных между циклами реального времени (Real-Time FIFO)
Детерминированная передача данных между целевыми устройствами
Описание слайда:
Переменные с общим доступом (shared variables) Переменные с общим доступом являются универсальным средством передачи данных: Недетерминированная передача данных межу VI (глобальная переменная) Недетерминированная передача данных межу ведущим и целевым устройствами Недетерминированная передача данных между ведущими устройствами Детерминированная передача данных между циклами реального времени (Real-Time FIFO) Детерминированная передача данных между целевыми устройствами

Слайд 41





Создание и использование переменных с общим доступом
Щелкните правой кнопкой мыши на проекте или библиотеке для создание переменной. Переменная должна принадлежать какой-либо библиотеке 
Диалог Shared Variable Properties позволяет задать конфигурацию переменной
Выберите Однопроцессорный (Single-process), Публикуемый в сети (Network-published), Синхронизируемый (Time Triggered) 
Задайте дополнительные опции
Переменная с общим доступом на блок диаграмме используется схожим образом с глобальной перемененной за следующими исключениями:
Переменная с общим доступом имеет терминалы состояния ошибки
Переменная с общим доступом может возвращать временную метку (timestamp)
Описание слайда:
Создание и использование переменных с общим доступом Щелкните правой кнопкой мыши на проекте или библиотеке для создание переменной. Переменная должна принадлежать какой-либо библиотеке Диалог Shared Variable Properties позволяет задать конфигурацию переменной Выберите Однопроцессорный (Single-process), Публикуемый в сети (Network-published), Синхронизируемый (Time Triggered) Задайте дополнительные опции Переменная с общим доступом на блок диаграмме используется схожим образом с глобальной перемененной за следующими исключениями: Переменная с общим доступом имеет терминалы состояния ошибки Переменная с общим доступом может возвращать временную метку (timestamp)

Слайд 42





Переменные и Real-Time FIFOs
Вы можете создать переменную, которая использует буфер Real-Time FIFOs для передачи данных. Для этого надо выбрать опцию Enable Real-Time FIFO.
Описание слайда:
Переменные и Real-Time FIFOs Вы можете создать переменную, которая использует буфер Real-Time FIFOs для передачи данных. Для этого надо выбрать опцию Enable Real-Time FIFO.

Слайд 43





Техника программирования
Инициализация
Буфер создается в момент первого чтения или записи в переменную 
Создайте и инициализируйте буфер, записав значение в переменную перед основным циклом  
Попытка читать из буфера перед тем, как туда будет записана какая- либо величина, приведет к ошибке  –2222 и возврату значения по умолчанию
Проверяйте состояние ошибки для неинициализированных переменных.
Описание слайда:
Техника программирования Инициализация Буфер создается в момент первого чтения или записи в переменную Создайте и инициализируйте буфер, записав значение в переменную перед основным циклом Попытка читать из буфера перед тем, как туда будет записана какая- либо величина, приведет к ошибке –2222 и возврату значения по умолчанию Проверяйте состояние ошибки для неинициализированных переменных.

Слайд 44





Техника программирования
Идентификация переполнения (Overflow) и опустошения (Underflow)
Переполнение возникает, когда производится попытка записи в буфер, который уже полон. Непрочитанные данные сбрасываются для того чтобы освободить место для новых данных
Ошибка –2221 возникает при переполнении очереди
Опустошение возникает, когда производится попытка чтения из пустой очереди.
Возвращается значение по умолчанию
Ошибка –2220 возникает при опустошении очереди
Описание слайда:
Техника программирования Идентификация переполнения (Overflow) и опустошения (Underflow) Переполнение возникает, когда производится попытка записи в буфер, который уже полон. Непрочитанные данные сбрасываются для того чтобы освободить место для новых данных Ошибка –2221 возникает при переполнении очереди Опустошение возникает, когда производится попытка чтения из пустой очереди. Возвращается значение по умолчанию Ошибка –2220 возникает при опустошении очереди

Слайд 45





Техника программирования
Несколько операций считывания и записи
Попытка проведения нескольких считываний или записей одновременно приводит к блокированию однотипных операций 
Попытка проведения нескольких считываний из буфера  одновременно приводит к тому, что каждая операция будет считывать и удалять элементы попеременно, предотвращая возможность считывания всех данных в ходе одной операции.
Описание слайда:
Техника программирования Несколько операций считывания и записи Попытка проведения нескольких считываний или записей одновременно приводит к блокированию однотипных операций Попытка проведения нескольких считываний из буфера одновременно приводит к тому, что каждая операция будет считывать и удалять элементы попеременно, предотвращая возможность считывания всех данных в ходе одной операции.

Слайд 46





VI для работы с буферами и переменные с общим доступом
Описание слайда:
VI для работы с буферами и переменные с общим доступом

Слайд 47





Сравнение статического и динамического конфигурирования. 
Переменные конфигурируются статически, при помощи окон диалога
Простое программирование и подсоединение на блок диаграмме  
Экономия места на блок диаграмме
VI для работы с буферами позволяют задавать конфигурацию динамически при помощи кода на блок диаграмме
Упрощает чтение кода на блок диаграмме 
Упрощает конфигурирование во время исполнения программы
Улучшает управляемость процессом создания и уничтожения буфера
Описание слайда:
Сравнение статического и динамического конфигурирования. Переменные конфигурируются статически, при помощи окон диалога Простое программирование и подсоединение на блок диаграмме Экономия места на блок диаграмме VI для работы с буферами позволяют задавать конфигурацию динамически при помощи кода на блок диаграмме Упрощает чтение кода на блок диаграмме Упрощает конфигурирование во время исполнения программы Улучшает управляемость процессом создания и уничтожения буфера

Слайд 48





Упражнение 3-2
Обмен данными между потоками
Время на выполнение: 1 час
Описание слайда:
Упражнение 3-2 Обмен данными между потоками Время на выполнение: 1 час

Слайд 49





Упражнение в классе 3-3
Схема проекта
Время на выполнение: 40 мин.
Описание слайда:
Упражнение в классе 3-3 Схема проекта Время на выполнение: 40 мин.

Слайд 50





Резюме
Какие существуют методы для улучшения детерминизма?
Какой метод обмена данными между потоками является лучшим с точки зрения детерминизма?
Какой метод обмена данными межу потоками самый простой при программировании?
Многозадачность запрещена в критическом по времени потоке; как это влияет на  выбор методов программирования?
Описание слайда:
Резюме Какие существуют методы для улучшения детерминизма? Какой метод обмена данными между потоками является лучшим с точки зрения детерминизма? Какой метод обмена данными межу потоками самый простой при программировании? Многозадачность запрещена в критическом по времени потоке; как это влияет на выбор методов программирования?

Слайд 51





Резюме — архитектура приложения
Описание слайда:
Резюме — архитектура приложения

Слайд 52





Резюме — многопоточность 
Многопоточность позволяет отделить критические по времени задачи от некритических
LabVIEW RT использует комбинированное расписание: циклическое и по приоритетному прерыванию. Потоки с одинаковым приоритетом подчиняются циклическому расписанию 
Уровни допустимых приоритетов (по возрастанию): фоновый (background), нормальный (normal), выше нормального (above normal), высокий (high), критический (time-critical)
Перерыв в режиме ожидания приводит к приостановке выполнения VI или потока
Если любой VI в критическом по времени потоке останавливается на перерыв в режиме ожидания, весь поток останавливается на перерыв. Поэтому, рекомендуется использовать только один VI или цикл критический по времени
Описание слайда:
Резюме — многопоточность Многопоточность позволяет отделить критические по времени задачи от некритических LabVIEW RT использует комбинированное расписание: циклическое и по приоритетному прерыванию. Потоки с одинаковым приоритетом подчиняются циклическому расписанию Уровни допустимых приоритетов (по возрастанию): фоновый (background), нормальный (normal), выше нормального (above normal), высокий (high), критический (time-critical) Перерыв в режиме ожидания приводит к приостановке выполнения VI или потока Если любой VI в критическом по времени потоке останавливается на перерыв в режиме ожидания, весь поток останавливается на перерыв. Поэтому, рекомендуется использовать только один VI или цикл критический по времени

Слайд 53





Резюме 
Методы обмена данными межу потоками:
Удовлетворительный: Глобальные Переменные
Хороший: Функциональные Глобальные Переменные
Отличный: буферы Real-Time FIFO или переменные с общим доступом (с буферами Real-Time FIFO)
Для улучшения детерминизма:
Избегайте использование разделяемых ресурсов
Избегайте перевыделения памяти Избегайте вызовов subVI в цикле
Отключите ненужные опции
Описание слайда:
Резюме Методы обмена данными межу потоками: Удовлетворительный: Глобальные Переменные Хороший: Функциональные Глобальные Переменные Отличный: буферы Real-Time FIFO или переменные с общим доступом (с буферами Real-Time FIFO) Для улучшения детерминизма: Избегайте использование разделяемых ресурсов Избегайте перевыделения памяти Избегайте вызовов subVI в цикле Отключите ненужные опции



Похожие презентации
Mypresentation.ru
Загрузить презентацию