Основные принципы построения ВП. Программирование последовательных операций. Параллельные циклы и тактирование. Понятие о состоянии, архитектура конечного автомата в LabVIEW. Событийно-ориентированное программирование.
Локальные и глобальные переменные. Переменные с общим доступом. Понятие о «состоянии гонки». Синхронная передача данных: функции Notifier (уведомление) и Queue (очередь).
Измерение длительности выполенеия кода и загрузки памяти. Профилирование. Многопоточность в LabVIEW: оптимизация под многоядерные системы. Настройка уровней приоритетов. Оптимизация ВП по скорости. Менеджер памяти LabVIEW: эффективная работа с массивами.
Обзор протоколов TCP/IP и UDP. Клиент-серверная архитектура и широковещание (“broadcasting” и “multicasting”). Высокоуровневые протоколы NI-PSP и DataSocket. Сетевые переменные с общим доступом. Связывание переменных из разных проектов. Привязывание переменных с общим доступом и источников DataSocket к элементам лицевой панели. Организация двусторонней связи. Запись и считывание данных из других источников.
Обзор встроенного web-сервера. Создание удаленных лицевых панелей.
Организация связи через ИК-порт. Использование интерфейса BlueTooth. Работа с USB-устройствами при помоши интерфейса VISA.
Использование ActiveX в LabVIEW. LabVIEW в качестве клиента ActiveX Automation. ActiveX контейнеры. LabVIEW ActiveX Automation сервер. LabVIEW и .NET.
Подключение внешних библиотек DLL. Отладка ошибок при подключении библиотек. Создание DLL в LabVIEW.
Настройка ВП перед созданием исполняемого модуля (exe-файла). Создание спецификаций и сборка исполняемых модулей. Создание дистрибутивов.