Всё о программировании на Labview
Модераторы: Техподдержка NI, Robert, Модератор
Yurets » Пн июн 09, 2014 11:58 am
Здравствуйте уважаемые форумчане нынче столкнулся со следующей проблемой: купил плату цифрового ввода вывода, а она не поддерживается лабвью 7.1. Соответстенно надо написать для нее драйвер (драйвер для винды есть)для работы с ней в лабвью 7.1. Подскажите, сложно ли это, возможно вообще и что можно почитать по теме создания длл библиотеки для платы. Почему задаю вопрос тут----нужно мнение и совет профессионалов в этой сфере Спасибо П.С. какие языки программирования нужно знать?
-
Yurets
- Специалист LabVIEW
-
- Сообщений: 113
- Зарегистрирован: Вт сен 10, 2013 3:22 pm
Техподдержка NI » Вт июн 10, 2014 4:13 pm
Здравствуйте!
Напишите, пожалуйста, что у Вас за плата. Почему есть такая необходимость работать именно в этой версии LabView (7.1)?
Иван.
-
Техподдержка NI
- Специалист LabVIEW
-
- Сообщений: 158
- Зарегистрирован: Ср мар 20, 2013 9:47 am
-
Yurets » Ср июн 11, 2014 12:58 pm
Здравствуйте в том то и проблема что плата не от NI .А необходимость 7.1 заключается в том, что необходимо состыковать две платы. Для одной все написано в лв 7.1 , а другая плата эту версию не поддерживает. Вот и интересуюсь сложно ли написать лв драйвер для данной платы
-
Yurets
- Специалист LabVIEW
-
- Сообщений: 113
- Зарегистрирован: Вт сен 10, 2013 3:22 pm
dzlv » Ср янв 25, 2017 12:52 pm
Здравствуйте. Помогите разобраться. Есть PCI-плата не от National Instruments, библиотеки для работы в labview не идут в комплекте. Предназначена для преобразований ЦАП-АЦП. Что нужно для того, чтобы написать драйвер платы для работы с ней labview? Драйвер для windows есть, компьютер плату определяет, но в MAX не видно платы.
-
dzlv
-
- Сообщений: 6
- Зарегистрирован: Ср янв 25, 2017 12:38 pm
IvanLis » Чт янв 26, 2017 7:14 pm
dzlv писал(а):Здравствуйте. Помогите разобраться. Есть PCI-плата не от National Instruments, библиотеки для работы в labview не идут в комплекте. Предназначена для преобразований ЦАП-АЦП. Что нужно для того, чтобы написать драйвер платы для работы с ней labview? Драйвер для windows есть, компьютер плату определяет, но в MAX не видно платы.
Напишите производителя и наименование устройства. Вполне возможно, что доступ к устройству возможен из "родной" библиотеки - DLL. Тогда можно реализовать необходимые функции используя Call Library Function https://forums.ni.com/t5/Developer-Cent ... -p/3522246
-
IvanLis
- Специалист LabVIEW
-
- Сообщений: 491
- Зарегистрирован: Пн апр 23, 2007 1:44 pm
- Откуда: СССР
-
dzlv » Пт янв 27, 2017 3:21 am
IvanLis писал(а):dzlv писал(а):Здравствуйте. Помогите разобраться. Есть PCI-плата не от National Instruments, библиотеки для работы в labview не идут в комплекте. Предназначена для преобразований ЦАП-АЦП. Что нужно для того, чтобы написать драйвер платы для работы с ней labview? Драйвер для windows есть, компьютер плату определяет, но в MAX не видно платы.
Напишите производителя и наименование устройства. Вполне возможно, что доступ к устройству возможен из "родной" библиотеки - DLL. Тогда можно реализовать необходимые функции используя Call Library Function https://forums.ni.com/t5/Developer-Cent ... -p/3522246
Спасибо, что откликнулись. Прикладываю название платы. К ней прилагается библиотека DLL с функциями, labview видит их. Про call library function немного знаю, но непонятно, как дать понять ей, что надо "работать" с этой платой, где соединить. Простите, если неправильно выражаюсь 
- Вложения
-

- дд64-pci
- dd64img.jpg (3.81 KiB) Просмотров: 1697
-
dzlv
-
- Сообщений: 6
- Зарегистрирован: Ср янв 25, 2017 12:38 pm
IvanLis » Пт янв 27, 2017 11:08 am
dzlv писал(а):Спасибо, что откликнулись. Прикладываю название платы. К ней прилагается библиотека DLL с функциями, labview видит их. Про call library function немного знаю, но непонятно, как дать понять ей, что надо "работать" с этой платой, где соединить. Простите, если неправильно выражаюсь 
Делать за Вас наверное никто не будет. На сайте ( http://www.elcus.ru/boards.php?ID=dd64-pci) есть вся информация с заголовочными файлами и описанием функций. В версии для Linux есть исходники. Вам необходимо разобраться с необходимыми функциями и сделать обертку на библиотеку (wrapper), и использовать его в своих проектах.
-
IvanLis
- Специалист LabVIEW
-
- Сообщений: 491
- Зарегистрирован: Пн апр 23, 2007 1:44 pm
- Откуда: СССР
-
dzlv » Пт янв 27, 2017 12:39 pm
Понял, тогда последний вопрос. Для создания wrapper требуется, чтобы платы была "видна" labview, и она должна отображаться в MAX? Или потом как-то обертка цепляется к плате? Пытаюсь разобраться в механизме. Через visa driver wizard пробовал зарегистрировать, так же не видна.
-
dzlv
-
- Сообщений: 6
- Зарегистрирован: Ср янв 25, 2017 12:38 pm
IvanLis » Сб янв 28, 2017 9:51 pm
dzlv писал(а):Понял, тогда последний вопрос. Для создания wrapper требуется, чтобы платы была "видна" labview, и она должна отображаться в MAX? Или потом как-то обертка цепляется к плате? Пытаюсь разобраться в механизме. Через visa driver wizard пробовал зарегистрировать, так же не видна.
Нет, в МАХ она не появится. Нужно, что бы плата была видна библиотеке, которая Вам даст ней доступ.
-
IvanLis
- Специалист LabVIEW
-
- Сообщений: 491
- Зарегистрирован: Пн апр 23, 2007 1:44 pm
- Откуда: СССР
-
dzlv » Сб янв 28, 2017 11:17 pm
А я пытался сделать, чтобы плата появилась в MAX. Значит, visa driver wizard тоже не понадобится. Как узнать, видна ли плата для библиотеки? Если в "VISA resource name" должна показываться, то там нету её.
-
dzlv
-
- Сообщений: 6
- Зарегистрирован: Ср янв 25, 2017 12:38 pm
IvanLis » Вс янв 29, 2017 1:20 pm
dzlv писал(а):Как узнать, видна ли плата для библиотеки?
На пример у Вас в библиотеке имеется функция: OpenDeviceBySN ( SerialNumber, &Error) - Открытие устройства по серийному номеру. Вызываете функцию, если функция выполняется, без ошибок, то значит устройство доступно и можно работать с ним дальше.
-
IvanLis
- Специалист LabVIEW
-
- Сообщений: 491
- Зарегистрирован: Пн апр 23, 2007 1:44 pm
- Откуда: СССР
-
dzlv » Вс янв 29, 2017 3:58 pm
IvanLis писал(а):dzlv писал(а):Как узнать, видна ли плата для библиотеки?
На пример у Вас в библиотеке имеется функция: OpenDeviceBySN ( SerialNumber, &Error) - Открытие устройства по серийному номеру. Вызываете функцию, если функция выполняется, без ошибок, то значит устройство доступно и можно работать с ним дальше.
Смысл теперь понятен. Но такой функции в библиотеке не имеется, как и функции закрытия. Это не функция, а файл OpenDeviceBySN.cpp, для которого еще требуется включения хедера, который так же есть в поставке.
-
dzlv
-
- Сообщений: 6
- Зарегистрирован: Ср янв 25, 2017 12:38 pm
IvanLis » Вс янв 29, 2017 5:26 pm
dzlv писал(а):Смысл теперь понятен. Но такой функции в библиотеке не имеется, как и функции закрытия. Это не функция, а файл OpenDeviceBySN.cpp, для которого еще требуется включения хедера, который так же есть в поставке.
handle - это дескриптор, ссылка, указатель, можете как угодно называть. Вам его значение вернет функция при создании подключения к устройству: hDD64PCI = OpenDeviceBySN ( SerialNumber, &Error);hDD64PCI - как раз и есть его значение, дальнейшее обращение к устройству осуществляться будет по ссылке, в том числе и закрытие: CloseHandle(hDD64PCI );Если Вы посмотрите функции, то все они принимают переменную: hDD64PCIТам же написано: В случае ошибки эти функции возвращают значение hDD64PCI , равное INVALID_HANDLE_VALUE (0xFFFFFFFF). При успешном завершении в hDD64PCI возвращается дескриптор драйвера.
Т.е. сразу понятно, доступно устройство или нет....

- Снимок экрана от 2017-01-29 16-16-54.png (87.57 KiB) Просмотров: 1673
-
IvanLis
- Специалист LabVIEW
-
- Сообщений: 491
- Зарегистрирован: Пн апр 23, 2007 1:44 pm
- Откуда: СССР
-
dzlv » Вс янв 29, 2017 6:25 pm
Я понял, что должен возвращаться этот самый дескриптор при успешном открытии устройства. Вопрос в том, как подобраться к этой функции из LV, ведь в при обращении к DLL-ке из call libraty function нету этой функции. Или не оттуда я копаю?
-
dzlv
-
- Сообщений: 6
- Зарегистрирован: Ср янв 25, 2017 12:38 pm
Вернуться в LabVIEW
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
|