В нашей компании мы сотрудничаем с производителем машин, мы разрабатываем кросс-платформенные приложения C ++ / Qt для устройств, которые они производят. Раньше мы общались со своими устройствами через USB (виртуальный COM-порт). Теперь нам сообщили, что этот производитель планирует перейти на LabVIEW (сбор данных через USB). Конечно, мы будем получать соответствующую информацию в будущем, тем не менее, я хотел бы получить некоторую информацию об этом и задать вам вопрос, который я не мог легко найти в Интернете.
Я прошу прощения за нуб вопросы.
1) Что такое LabVIEW? Прав ли я, что это не единое устройство, а набор аппаратных компонентов, драйверов и стандартов?
2) Кто является разработчиком LabVIEW? я прочитал Сколько времени мне нужно, чтобы изучить LabVIEW, но я не уверен. Это человек, который собирает компоненты LabVIEW и делает для них прошивку. Или человек, который разрабатывает пользовательские приложения верхнего уровня, которые взаимодействуют с LabVIEW?
3) Я предполагаю, что первая часть из Вопроса 2 будет сделана нашей компанией-партнером. Вторая часть будет на нас. Но кто создает протокол связи? Существует ли какой-либо стандартный способ взаимодействия DAQ с драйверами ПК или программист должен разработать протокол связи?
4) Я нашел там есть Водитель для Linux в National Instruments. Содержит ли этот драйвер некоторые API / библиотеки, которые могут быть включены в код C ++ стандартным способом и использованы для связи с DAQ?
LabVIEW — это среда разработки для создания пользовательских приложений, которые взаимодействуют с реальными данными или сигналами в таких областях, как наука и инженерия. LabVIEW сама по себе является средой разработки программного обеспечения, которая содержит множество компонентов:
G Программирование: модель программирования потоковых данных
Аппаратная поддержка: Поддержка тысяч аппаратных устройств, таких как научные приборы, устройства сбора данных, датчики, камеры, …
Библиотеки анализа и технического кода: Библиотеки для обработки сигналов, связи, файлового ввода-вывода, алгоритмов управления, …
Компоненты пользовательского интерфейса и инструменты отчетности: элементы управления, такие как графики, датчики и таблицы для просмотра полученных данных и инструменты для сохранения данных в файл или базы данных или для автоматического создания отчетов
Технологическая абстракция: Использование таких технологий, как ПЛИС, многоядерные процессоры, …
Модели вычислений: Когда G не соответствует синтаксису симуляции, доступны текстовая математика, диаграммы состояний, узлы IP уровня компонента (CLIP), вызовы DLL, …
LabVIEW разработан и поддерживается Национальные инструменты. Он поддерживает LabVIEW с всесторонней поддержкой, обучением и сертификацией.
LabVIEW значительно упрощает процесс интеграции аппаратного обеспечения благодаря последовательному подходу к программированию, независимо от того, какое оборудование вы используете. LabVIEW имеет свободно доступные драйверы для тысяч устройств NI и сторонних производителей. В редком случае, когда драйвер LabVIEW еще не существует, у вас есть инструменты для создания своего собственного, повторного использования DLL или другого драйвера, не связанного с LabVIEW, или использования низкоуровневых механизмов связи для работы с оборудованием без драйвера.
LabVIEW также является кроссплатформенным и позволяет вам развертывать свой код на многих различных вычислительных платформах, таких как популярные настольные ОС (Windows, Mac и Linux), встроенные контроллеры реального времени, микропроцессоры ARM и программируемые пользователем вентильные массивы (FPGA).
Судя по всему, вам не нужно изучать LabVIEW (что очень жаль), но вы должны изучить daq-mx набор аппаратных драйверов от National Instruments. У меня нет опыта работы с версией Linux (которая является урезанной или базовой версией Windows), но в основном это набор DLL или около того, которые позволяют вам общаться с их оборудованием. Попробуйте выяснить, какое оборудование они собираются использовать, и посмотрите, поддерживает ли база daq-mx моделируемые устройства.