Розетки в LabVIEW - PullRequest
       42

Розетки в LabVIEW

2 голосов
/ 14 апреля 2011

Я общаюсь по USB, используя собственный протокол, с некоторыми встроенными аппаратными средствами, которые я собрал.У меня есть графический интерфейс, который обрабатывает все коммуникации / взаимодействия с этим оборудованием и (C #) DLL, которая предоставляет все соответствующие функции USB.Мне нужно написать драйвер LabVIEW (VI) для связи с оборудованием.Я думаю, что я просто использую LabVIEW, чтобы открыть свой графический интерфейс и получить сокет, с помощью которого я предоставляю все соответствующие элементы управления для LabVIEW.Можно ли открыть сокет в LabVIEW и связаться с моим графическим интерфейсом?Это плохой подход, или я должен просто попытаться заставить LabVIEW вызывать DLL и обрабатывать аппаратное управление вместо моего GUI (опрашиваемые коммуникации, запрошенные / незапрошенные команды и т. Д.)?

Ответы [ 3 ]

4 голосов
/ 15 апреля 2011

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

2 голосов
/ 15 апреля 2011

Да, LabVIEW поддерживает сокеты, использующие как TCP / IP, так и UDP.

Вы должны быть в состоянии создать программу / службу, которая постоянно работает, выступая в качестве сервера TCP / IP. Вы можете отправлять команды и получать ответы в виде строк. Если вам нужно упаковать данные, вы можете использовать команду flatten to string.

По сути, ваше приложение должно быть структурировано как цикл, выполняющий сервер TCP / IP, и еще один цикл, который фактически связывается с прибором. Это может измениться, если вам нужно вернуть данные с устройств на ваш TCP-клиент. Производитель потребительской модели, если хотите:)

Для начала откройте NI Example Finder (Справка -> Найти примеры) и перейдите в Сеть -> TCP и UDP -> Простой сервер данных.vi

1 голос
/ 15 апреля 2011

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

...