LabVIEW "водитель" - начало работы - PullRequest
8 голосов
/ 23 октября 2008

Я написал отдельное приложение, которое управляет устройством через порт RS-232, и некоторые клиенты хотят иметь возможность использовать устройство с LabVIEW. Я видел некоторые темы, описывающие, с чего начать при обучении использованию LabVIEW, но мне было интересно, есть ли у кого-нибудь опыт написания плагина / драйвера (это правильное слово?) Для LabVIEW и, возможно, указывает мне правильное направление. *

Существующее приложение представляет собой графический интерфейс, который позволяет людям управлять устройством с концепциями более высокого уровня, а не знать синтаксис и протокол связи последовательного порта. Я также хочу абстрагироваться от этого, чтобы пользователи могли просто подключить что-то к LabVIEW, и я предполагаю, что он предоставляет некоторые глаголы и методы, которые позволяют манипулировать устройством, а также предоставлять данные клиентам.

Я думаю, что есть интерфейс последовательного порта от LabVIEW, но я уверен, что люди, использующие это устройство, не хотят писать код (парсеры и т. Д.) Для связи с устройством.

Ответы [ 5 ]

8 голосов
/ 27 октября 2008

Если вы готовы потратить немного времени на изучение программирования в LabVIEW, соответствующую информацию о том, как разработать драйвер инструмента, можно найти здесь и здесь ,

По сути, вы должны предоставить набор VI (единица кода LabVIEW), которые реализуют различные операции, поддерживаемые вашим устройством. Программисты LabVIEW объединят их в последовательность, используя ресурс VISA (то есть последовательный порт) и терминалы ввода / вывода с ошибками, которые должен предоставить ваш ВП. См. Вторую ссылку для примера.

Если вы не хотите учиться тому, как делать это правильно - что ваш второй пост предлагает вам не делать - тогда либо создайте DLL, предоставляющую необходимые функции, либо поручите программисту LabVIEW написать драйвер для вас. Если вы можете предоставить адекватную документацию по вашему протоколу, и она не является ужасно сложной, то это займет у них день. Если у вас есть пользователи, которые заинтересованы в LabVIEW, то один из них, возможно, с радостью выполнит за вас работу с соответствующей скидкой или стимулом - это действительно несложно для любого, кто компетентен в LabVIEW, и это те, у кого уже есть руки на вашем устройстве и понять, что он делает. Возможно, вы захотите сначала протестировать результаты с другими пользователями LabVIEW, поскольку вы не сможете оценить качество того, что они делают самостоятельно.

Если вы идете по пути DLL, вам нужно проверить, что требуемые параметры совместимы с типами данных LabVIEW. Я не программист на C / C ++, поэтому не могу подробно рассказать, что это значит, но этот может оказаться полезным (Рольф Калберматтер - гуру по взаимодействию LabVIEW с внешним кодом).

Если вы хотите найти программиста LabVIEW, то National Instruments может отослать вас к одному через их схему альянса.

(отредактировано для добавления ссылки на сообщение форума LAVA о написании DLL для LabVIEW)

3 голосов
/ 23 октября 2008

LabVIEW может справиться с коммуникацией RS232 с небольшими проблемами - вам просто нужно предоставить клиенту список команд и синтаксиса, которые использует устройство, и, возможно, небольшую платформу или пример VI с основными функциями.

Я приветствую вас за то, что вы хотите предоставить более надежный драйвер, который не требует, чтобы пользователь анализировал свои собственные команды; то, что большинство поставщиков называют «драйвером» LabVIEW, представляет собой всего лишь несколько команд ('init', 'read'), которые объединены в простой графический интерфейс пользователя.

Вам не нужно перестраивать свое полное приложение, просто дайте им достаточно, чтобы начать самостоятельно =)

Для начала, вы, вероятно, захотите использовать VISA в LabVIEW .

3 голосов
/ 23 октября 2008

Есть два варианта того, что вы пытаетесь сделать.

  • Создайте DLL, которую пользователи вашего устройства смогут вызывать из LabVIEW .

  • Перепишите ваше приложение в LabVIEW.

Чтобы охватить как можно большее количество потенциальных клиентов, вариант № 1 будет лучшим решением для вас. Если ваши клиенты специально запрашивают драйвер LabVIEW, то вариант № 2, вероятно, будет наименее хлопот для этого конкретного клиента. Причина этого заключается в том, что LabVIEW является очень нишевым языком (для автоматизации и сбора данных), и для многих разработчиков LabVIEW это единственный язык, который они знают (или единственный, который они хорошо знают).

2 голосов
/ 23 октября 2008

Лучший ресурс для программистов LabVIEW - База знаний National Instruments . Поскольку LabVIEW популярен только в таком небольшом сегменте, других веб-ресурсов не так много.

Одна книга, которую я прочитал, когда программировал в LabVIEW, была LabVIEW Power Programming . В нем много хороших примеров кода, и, если я правильно помню, он показывает, как использовать сторонние библиотеки DLL, написанные на C ++. Что он определенно не показывает, как писать эти библиотеки DLL.

0 голосов
/ 02 декабря 2015

Ваш клиент хочет использовать ваш код с LabVIEW. Это не значит, что вы должны писать код LabVIEW.

LabVIEW может взаимодействовать с DLL. Хитрость заключается в том, чтобы избежать более сложных структур данных. Если вы продолжите передавать значения базовых типов данных, у вас не возникнет проблем. LabVIEW также может работать с массивами в и из DLL. Избегайте указателей на указатели или указателей на структуры.

LabVIEW также может взаимодействовать со сборками .NET.

Также ничто не мешает вам использовать модель клиент / сервер по TCP / IP.

...