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

Простейшие вопросы в области инженерной разработки

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

Postby Denis1984 on 27 Oct 2018, 14:34

Здравствуйте,
в ходе работы по разработке стенда столкнулся со следующей проблемой. Возможно кто-то сможет подсказать.
Управление одним из приборов осуществляется с помощью соответствующего класса в библиотеке. Библиотека написана на VS.
Вопрос, можно ли как то импортировать этот класс из библиотеки VS в LabView для непосредственной работы. Пробовал это сделать через импорт dll, но насколько понял LabView позволяет импортировать только отдельные функции.
Подскажите, пожалуйста, как можно действовать в этой ситуации.
Denis1984
junior
junior
 
Posts: 54
Joined: 22 Nov 2012, 09:47
Location: Санкт-Петербург
LabVIEW Version: 8.2
Karma: 0

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

Postby Blackman on 27 Oct 2018, 14:39

Укажите Тип прибора . Это может решить Вашу проблему значительно быстрее:)
Blackman
leader
leader
 
Posts: 806
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 240
VIP

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

Postby dadreamer on 27 Oct 2018, 15:18

Denis1984 wrote:Подскажите, пожалуйста, как можно действовать в этой ситуации.

Если очень кратко, то :labview: не воспринимает классы C++, бесполезно их импортировать. Нужно либо писать враппер (обёртку) на нужные функции, либо искать библиотеку, экспортирующую функции на чистом C (или ином языке, но без нативных типов данных).
В самом деле, огласите имя прибора и ссыль на документацию. Сомневаюсь, что разработчик ПО не предоставил библиотеки для работы в средах, отличных от C++.
User avatar
dadreamer
professor
professor
 
Posts: 3157
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 803
I/O VIP vision internet

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

Postby Denis1984 on 27 Oct 2018, 15:32

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

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

Postby Denis1984 on 27 Oct 2018, 15:40

Подскажите, пожалуйста, ведь в LabView есть возможность работы с классами. Что если создать класс в Labview, импортировать из VS отдельные функции через dll, возможно преобразовав их в чистый C. А потом просто импортировать dll в методы созданного класса LabView.
Скажите, пожалуйста, как Вы считаете это рабочая схема?
Denis1984
junior
junior
 
Posts: 54
Joined: 22 Nov 2012, 09:47
Location: Санкт-Петербург
LabVIEW Version: 8.2
Karma: 0

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

Postby dadreamer on 27 Oct 2018, 15:45

Denis1984 wrote:Прибор узкоспециализированный "БЛОК ИЗМЕРЕНИЯ МАГНИТНОГО ПОТОКА ПОВЫШЕННОЙ_ТОЧНОСТИ БИМП-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: хранит данные в памяти тоже по-своему. Из-за этих факторов часто сложно сопоставить обычные типы, наподобие структур, массивов, не говоря уже о классах.
User avatar
dadreamer
professor
professor
 
Posts: 3157
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 803
I/O VIP vision internet

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

Postby Denis1984 on 27 Oct 2018, 18:56

Спасибо. Буду делать обертку на С
Denis1984
junior
junior
 
Posts: 54
Joined: 22 Nov 2012, 09:47
Location: Санкт-Петербург
LabVIEW Version: 8.2
Karma: 0


Return to Для чайников

Who is online

Users browsing this forum: Google, Yandex and 25 guests

cron