Импорт класса в Labview

Простейшие вопросы в области инженерной разработки
Ответить
Denis1984
junior
junior
Сообщения: 56
Зарегистрирован: 22 ноя 2012, 09:47
Версия LabVIEW: 8.2
Откуда: Санкт-Петербург
Контактная информация:

Импорт класса в Labview

Сообщение Denis1984 »

Здравствуйте,
в ходе работы по разработке стенда столкнулся со следующей проблемой. Возможно кто-то сможет подсказать.
Управление одним из приборов осуществляется с помощью соответствующего класса в библиотеке. Библиотека написана на VS.
Вопрос, можно ли как то импортировать этот класс из библиотеки VS в LabView для непосредственной работы. Пробовал это сделать через импорт dll, но насколько понял LabView позволяет импортировать только отдельные функции.
Подскажите, пожалуйста, как можно действовать в этой ситуации.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Импорт класса в Labview

Сообщение Blackman »

Укажите Тип прибора . Это может решить Вашу проблему значительно быстрее:)
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Импорт класса в Labview

Сообщение dadreamer »

Denis1984 писал(а):Подскажите, пожалуйста, как можно действовать в этой ситуации.
Если очень кратко, то :labview: не воспринимает классы C++, бесполезно их импортировать. Нужно либо писать враппер (обёртку) на нужные функции, либо искать библиотеку, экспортирующую функции на чистом C (или ином языке, но без нативных типов данных).
В самом деле, огласите имя прибора и ссыль на документацию. Сомневаюсь, что разработчик ПО не предоставил библиотеки для работы в средах, отличных от C++.
Denis1984
junior
junior
Сообщения: 56
Зарегистрирован: 22 ноя 2012, 09:47
Версия LabVIEW: 8.2
Откуда: Санкт-Петербург
Контактная информация:

Re: Импорт класса в Labview

Сообщение Denis1984 »

Прибор узкоспециализированный "БЛОК ИЗМЕРЕНИЯ МАГНИТНОГО ПОТОКА ПОВЫШЕННОЙ_ТОЧНОСТИ БИМП-15/1", их всего было сделано штук 10.
С разработчиком я ежедневно переписываюсь по почте, библиотека на С++
Denis1984
junior
junior
Сообщения: 56
Зарегистрирован: 22 ноя 2012, 09:47
Версия LabVIEW: 8.2
Откуда: Санкт-Петербург
Контактная информация:

Re: Импорт класса в Labview

Сообщение Denis1984 »

Подскажите, пожалуйста, ведь в LabView есть возможность работы с классами. Что если создать класс в Labview, импортировать из VS отдельные функции через dll, возможно преобразовав их в чистый C. А потом просто импортировать dll в методы созданного класса LabView.
Скажите, пожалуйста, как Вы считаете это рабочая схема?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Импорт класса в Labview

Сообщение dadreamer »

Denis1984 писал(а):Прибор узкоспециализированный "БЛОК ИЗМЕРЕНИЯ МАГНИТНОГО ПОТОКА ПОВЫШЕННОЙ_ТОЧНОСТИ БИМП-15/1", их всего было сделано штук 10.
С разработчиком я ежедневно переписываюсь по почте, библиотека на С++
Если есть опыт работы с C/C++, то можете попробовать написать обёртку, как я выше предлагал. Вам придётся выполнить преобразование между классами C++ и стандартными типами C, например std::string <-> char *. Если опыта такого нет, то трясите разработчика, может напишет новую библиотеку или обёртку. А вообще, покажите мануал на эту DLL, с описанием функций. И скажите ещё разрядность библиотеки. Есть вариант подключить DLL напрямую, если она на 64 бита и среда (то есть, :labview: ) также на 64 бита. Это не так удобно, как при работе с "нормальной" библиотекой, но возможно. Для 32-разрядной DLL такое невозможно, к сожалению.
Подскажите, пожалуйста, ведь в LabView есть возможность работы с классами. Что если создать класс в Labview, импортировать из VS отдельные функции через dll, возможно преобразовав их в чистый C. А потом просто импортировать dll в методы созданного класса LabView.
Скажите, пожалуйста, как Вы считаете это рабочая схема?
Классы C++ и классы :labview: кардинально различаются. :labview: имеет множество типов данных, которым не соответствует ни один тип из традиционных языков программирования. Кроме того, :labview: хранит данные в памяти тоже по-своему. Из-за этих факторов часто сложно сопоставить обычные типы, наподобие структур, массивов, не говоря уже о классах.
Denis1984
junior
junior
Сообщения: 56
Зарегистрирован: 22 ноя 2012, 09:47
Версия LabVIEW: 8.2
Откуда: Санкт-Петербург
Контактная информация:

Re: Импорт класса в Labview

Сообщение Denis1984 »

Спасибо. Буду делать обертку на С
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»