Концепция разработки приложений, выполняющихся в режиме «жесткого реального времени». Операционные системы реального времени (РВ) в сравнении с обычными ОС. Понятие о детерминизме, джиттере и встраиваемых системах. Программная и аппаратная архитектура NI LabVIEW Real-Time. Обзор оборудования. Ведущая и целевая системы. Средства ввода-вывода в системах РВ.
Установка и настройка оборудования. Конфигурирование целевых систем в обозревателе Measurement and Automation Explorer. Использование проекта LabVIEW. Конфигурирование целевой системы в проекте LabVIEW. Запуск виртуальных приборов (ВП) на целевой системе.
Стандартная архитектура: ведущее приложение и приложение РВ. Многозадачность и многопоточность. Особенности планировщика LabVIEW Real-Time. Уровни приоритетов. Распределение процессорного времени между потоками, режим ожидания. Оптимизация приложения. Ресурсы с общим доступом. Оптимальная работа с памятью. Методы передачи данных между потоками: глобальные переменные, переменные с общим доступом, буферы.
Тактирование циклов. Программное и аппаратное тактирование: особенности различного оборудования. Отклик на событие.
Режим интерактивной лицевой панели. Обзор методов передачи данных по сети Ethernet: TCP/IP, UDP, переменные с общим доступом, VI Server. Организаций обмена данными при помощи переменных с общим доступом. Использование мастеров LabVIEW для автоматической генерации кода, отвечающего за обмен данными.
Инструменты отладки LabVIEW. Замер времени выполнения кода и профилирование. Проверка загрузки процессора и памяти в менеджере Real-Time System Manager. Использование утилиты VI Analyzer. Трассировка кода при помощи среды Execution Trace Toolkit.
Подготовка приложения к переносу. Создание спецификаций и сборка исполняемых модулей. Загрузка модулей на целевую систему, настройка автозапуска. Реализация web-интерфейсов: удаленные лицевые панели и встроенный web-сервер.