Здравствуйте, уважаемые форумчане!
Прошу помощи по пониманию вызова функций из DLL.
Есть DLL с функциями управления АЦП.
Согласно руководству по программированию АЦП необходимо:
1. получить указатель на интерфейс АЦП, вызвав функцию RtCreateInstance();
2. используя полученный указатель на интерфейс АЦП, проинициализировать доступ к виртуальному слоту, к которому подключён модуль, применяя для этого интерфейсную функцию OpenDevice().
Есть пример на языке C, в котором вторая функция вызывается через указатель, причем, во второй функции только один параметр - это номер виртуального слота:
pModule = static_cast<IRTUSB3000 *>(RtCreateInstance("usb3000"));
if(!pModule) TerminateApplication(" Module Interface --> Bad\n");
else printf(" Module Interface --> OK\n");
for(i = 0x0; i < MaxVirtualSoltsQuantity; i++) if(pModule->OpenDevice(i)) break;
Как это сделать в LabView?
Работа с DLL
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Работа с DLL
В сет много примеров по этой теме, даже на русском языке, например: http://www.nf-team.org/drmad/stuff/lvdll.htmpion писал(а):Как это сделать в LabView?
Пользуйтесь поиском: https://www.google.ru/search?q=Calling+DLL+in+LabVIEW
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Работа с DLL
pion, в предлагаемом разработчиком пакете SDK уже есть и примеры для : http://www.r-technology.ru/products/qmsoft.php (раздел "ПО для самостоятельного программирования (SDK)"). Каталоги в архиве - SDK_12_11_12\SDK\RT_USB3000\Examples\LabVIEW71 и SDK\RT_USB3000\DLL\Lib\LabVIEW.
-
- beginner
- Сообщения: 12
- Зарегистрирован: 20 авг 2013, 18:41
- Версия LabVIEW: 12
- Контактная информация:
Re: Работа с DLL
В SDK для LabVIEW 7, и я не смог примеры запустить, чтобы они работали.
Кроме того, я не сразу обратил внимание на то, какие функции предоставляет DLL для доступа к АЦП, а именно, они не совсем соответствуют описанию руководства по программированию.
Например, в DLL функция OpenDevice_Usb3000 которая принимает параметры IDevPtr и VirtualSlot (описание в заголовочном \SDK\RT_USB3000\DLL\Include\wrRtusbapi.h) в отличии от функции OpenDevice, которая, согласно руководству, принимает только параметр VirtualSlot.
В итоге АЦП зашевелился.
Спасибо за помощь.
Кроме того, я не сразу обратил внимание на то, какие функции предоставляет DLL для доступа к АЦП, а именно, они не совсем соответствуют описанию руководства по программированию.
Например, в DLL функция OpenDevice_Usb3000 которая принимает параметры IDevPtr и VirtualSlot (описание в заголовочном \SDK\RT_USB3000\DLL\Include\wrRtusbapi.h) в отличии от функции OpenDevice, которая, согласно руководству, принимает только параметр VirtualSlot.
В итоге АЦП зашевелился.
Спасибо за помощь.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Работа с DLL
А вы попробуйте закинуть файлы Rtusbapi.dll и wrRtusbapi.dll в папку C:\Windows\System32 (на 64-битной ОС - SysWOW64) и запустить. Используйте только 32-битный .pion писал(а):я не смог примеры запустить, чтобы они работали.
7.1 прекрасно открывается даже в 2015.pion писал(а):В SDK для LabVIEW 7
-
- beginner
- Сообщения: 12
- Зарегистрирован: 20 авг 2013, 18:41
- Версия LabVIEW: 12
- Контактная информация:
Re: Работа с DLL
Действительно работает, попробую это использовать.попробуйте закинуть файлы Rtusbapi.dll и wrRtusbapi.dll в папку C:\Windows\System32 (на 64-битной ОС - SysWOW64) и запустить
Спасибо
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 9 Ответы
- 904 Просмотры
-
Последнее сообщение dadreamer
-
- 7 Ответы
- 297 Просмотры
-
Последнее сообщение dadreamer
-
- 16 Ответы
- 3263 Просмотры
-
Последнее сообщение Artem.spb
-
- 4 Ответы
- 220 Просмотры
-
Последнее сообщение Andrew Lunev