Альтернатива VISA для работы с последовательным портом

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы

Re: Альтернатива VISA для работы с последовательным портом

Postby dadreamer on 06 Nov 2016, 21:35

IvanLis, в моём случае прописывать ничего не нужно было, т.к. у меня порт сидел на ttyS0. В вашем случае стоит попытаться, т.к. порт имеет другое имя. Параметр serialDevices как раз отвечает за порядок перечисления портов для serpdrv:
http://digital.ni.com/public.nsf/3efedd ... enDocument
http://digital.ni.com/public.nsf/allkb/ ... 7400554939
Из второй ссылки:
The file .labviewrc contains the LabVIEW configuration options. To set the devices the serial port VIs use, set the configuration option labview.serialDevices to the list of devices you intend to use. For example, the default is:
labview.serialDevices: /dev/ttya:/dev/ttyb:/dev/ttyc:...:/dev/ttyz

Note: This requires that any third party serial board installation include a method of creating a standard /dev file (node) and that the user knows the name of that file.

Linux: Port 0 refers to /dev/ttyS0, Port 1 refers to /dev/ttyS1, Port 2 refers to /dev/ttyS2, and so on.
Да, там такого параметра нет по умолчанию, но никто не мешает его туда внести.
User avatar
dadreamer
professor
professor
 
Posts: 3418
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: Альтернатива VISA для работы с последовательным портом

Postby IvanLis on 06 Nov 2016, 21:44

Знание нескольких принципов освобождает от знания многих фактов!




User avatar
IvanLis
professor
professor
 
Posts: 4863
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2015, 2016
Karma: 787
hardware VIP bloggers teachers

Re: Альтернатива VISA для работы с последовательным портом

Postby dadreamer on 06 Nov 2016, 21:47

IvanLis, круто, рад что получилось. А то я боялся, что эти имена реально за-хард-кодены внутри serpdrv. :crazy:
User avatar
dadreamer
professor
professor
 
Posts: 3418
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: Альтернатива VISA для работы с последовательным портом

Postby IvanLis on 06 Nov 2016, 22:01

Знание нескольких принципов освобождает от знания многих фактов!




User avatar
IvanLis
professor
professor
 
Posts: 4863
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2015, 2016
Karma: 787
hardware VIP bloggers teachers

Re: Альтернатива VISA для работы с последовательным портом

Postby dadreamer on 06 Nov 2016, 22:05

IvanLis, ну вот, VI'айки бы допилить ещё (у меня всё времени нет на это), и была бы более менее нормальная альтернатива Визе. Там также можно и с LPT работать. Жаль только, что x64 не поддерживается. Тут надо только сам serpdrv переписывать. Без исходников это тяжкое дело. Тем более на Линуксе.
User avatar
dadreamer
professor
professor
 
Posts: 3418
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: Альтернатива VISA для работы с последовательным портом

Postby IvanLis on 06 Nov 2016, 22:09

IvanLis, ну вот, VI'айки бы допилить ещё (у меня всё времени нет на это), и была бы более менее нормальная альтернатива Визе. Там также можно и с LPT работать.

У меня физического LPT нет, но я начал как раз к нему копать, сейчас жду такую платку:
1 Port PCI Express Low Profile Parallel Adapter Card - SPP/EPP/ECP
s-l1600.jpg

Обертку буду делать по мере возможности и необходимости.

Что касается
Жаль только, что x64 не поддерживается. Тут надо только сам serpdrv переписывать. Без исходников это тяжкое дело. Тем более на Линуксе.
У нас есть офф. представители NI, нужно Паше удочку забрасывать.
Пусть ищет в загашниках исходники библиотеки. Наверняка они и сами ее под 64bit компилить не будут. Ну а открыв исходники широкой общественности, возможно энтузиасты и найдутся.
Знание нескольких принципов освобождает от знания многих фактов!




User avatar
IvanLis
professor
professor
 
Posts: 4863
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2015, 2016
Karma: 787
hardware VIP bloggers teachers

Re: Альтернатива VISA для работы с последовательным портом

Postby dadreamer on 06 Nov 2016, 22:21

Что касается
Жаль только, что x64 не поддерживается. Тут надо только сам serpdrv переписывать. Без исходников это тяжкое дело. Тем более на Линуксе.
У нас есть офф. представители NI, нужно Паше удочку забрасывать.
Пусть ищет в загашниках исходники библиотеки. Наверняка они и сами ее под 64bit компилить не будут. Ну а открыв исходники широкой общественности, возможно энтузиасты и найдутся.
Сомневаюсь, что они вообще сохранились. Как писал Брайан в своей статье, во времена 5 и 6 :labview: (98-2000 годы) serpdrv уже считался устаревшим инструментом и только один человек (полагаю, его автор) был в состоянии разобраться в коде. Хотя я реверсил эту штуку на Винде, и там нет ничего сложного, на Линуксе может быть совсем иначе. В этом плане Мак был в выигрыше в те времена, т.к. там тогда serpdrv являлся встроенным драйвером, задокументированным и вполне доступным (хоть и низкоуровневым).
У меня физического LPT нет, но я начал как раз к нему копать, сейчас жду такую платку:
1 Port PCI Express Low Profile Parallel Adapter Card - SPP/EPP/ECP
Сейчас и COM-порт в современных ПК не встретишь. Мне вот когда-то приходилось похожую плату покупать: , только для RS-232. Видел и гибридные платы, где есть и COM-порт, и LPT.
User avatar
dadreamer
professor
professor
 
Posts: 3418
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: Альтернатива VISA для работы с последовательным портом

Postby dadreamer on 25 Jan 2020, 22:29

Serial Port API / LVSerial ( http://www.mhst.de/downloads.htm ) под :labview: 64-bit

Готовый инсталлер: https://yadi.sk/d/Kt1GZzK2ckqJjw (3,1 МБ)
Исходники: https://yadi.sk/d/SbDIToP25gsWyw (11,8 МБ)
На форум не вошло, к сожалению.
Версия последняя на данный момент - 1.2.13 (08.02.2015).
Рассчитано на запуск/работу в LV 2009 x64 и выше.
PCRE 8.43: ftp://ftp.pcre.org/pub/pcre/
Microsoft Visual Studio Community 2019 Версия 16.4.2.

Как устанавливать: Разархивируйте lvserial_installer_1-2-13-x64.rar и запустите setup.exe. После установки и перезапуска :labview: в палитре Instrument I/O -> Instr Drivers появится подпалитра инструментов lvserial. Библиотека lvserial.dll будет подтягиваться из system32.

При желании можно сгенерировать инсталлер из исходников. Для этого разархивируйте lvserial_source_1-2-13-x64.rar и откройте в :labview: lvserial.lvproj, разверните Build Spec's, нажмите ПКМ на LVSERIAL Installer -> Build. В текущей директории будет создана подпапка lvserial с инсталлятором, который нужно будет установить обычным способом (setup.exe).
Last edited by dadreamer on 30 Jan 2020, 12:02, edited 2 times in total.
User avatar
dadreamer
professor
professor
 
Posts: 3418
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: Альтернатива VISA для работы с последовательным портом

Postby jane_wild on 27 Jan 2020, 17:58

dadreamer, У меня вопросы с разрядностью. Установлена :labview: 32 bit на компьютер с windows 10 64 bit. Какую версию библиотеки устанавливать, что бы оно работало в скомпилированом *exe на компьютере, где установлена win 10 64. С сайта, где 32x битный инсталлер или делать с вашего проекта 64 ? Поясните пожалуйста. Спасибо
User avatar
jane_wild
advanced
advanced
 
Posts: 173
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 8

Re: Альтернатива VISA для работы с последовательным портом

Postby dadreamer on 27 Jan 2020, 21:01

jane_wild, конечно 32-битную версию надо ставить. Если :labview: 32 бита, то и все загружаемые в него DLL'ки должны быть 32 бита. Других вариантов не дано, так работает Windows, да и в других системах, насколько я знаю, это справедливо.
User avatar
dadreamer
professor
professor
 
Posts: 3418
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: Альтернатива VISA для работы с последовательным портом

Postby Юрий on 27 Jan 2020, 21:14

dadreamer, спасибо. У меня папка с инсталлером появилась в c:\Users\App\. Лабвьюшный браузер искал lvserial.dll по пути "c:\Program Files\National Instruments\LabVIEW 2018\instr.lib\lvserial\x64\Release\". Пришлось досоздать две папки "\x64\Release\". Палитра инструментов lvserial открывается сплошным их набором, без простейшей систематизации. Правильно ли я понимаю, что для создания более структурной палитры достаточно перед процессом создания приложения систематизировать инструменты по папкам. И на закуску. Первое, за что уцепился мой глаз, оказался "comm serial port list.vi". Попробовал и сразу вырубилось LV.
Юрий
professional
professional
 
Posts: 329
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Альтернатива VISA для работы с последовательным портом

Postby dadreamer on 28 Jan 2020, 22:07

>> У меня папка с инсталлером появилась в c:\Users\App\.
Ещё вчера это поправил, просто не стал афишировать.

>> Лабвьюшный браузер искал lvserial.dll по пути "c:\Program Files\National Instruments\LabVIEW 2018\instr.lib\lvserial\x64\Release\".
Да, при первом открытии :vi: ищет там, потом находит в system32 и берёт оттуда. Остаётся только сохранить :vi: , при следующем открытии всё будет в порядке.

>> Пришлось досоздать две папки "\x64\Release\".
Был косяк с тем, что lvserial.dll не копировался в system32 при установке.

>> Палитра инструментов lvserial открывается сплошным их набором, без простейшей систематизации. Правильно ли я понимаю, что для создания более структурной палитры достаточно перед процессом создания приложения систематизировать инструменты по папкам.
Сегодня исправил. При установке раскидывается по папкам, как автор задумал.

>> Первое, за что уцепился мой глаз, оказался "comm serial port list.vi". Попробовал и сразу вырубилось LV.
Был "хитрый" косяк, попавшийся в очередной раз при портировании функций Memory Manager'а из 32 в 64 бит. Поправил это, протестировал, вроде норм. Ссылку выше обновил.

Думаю, что дальше украшательством заниматься не буду, банально жалко времени на это. Оставляю модификации настроек проекта (структура, пути, иконки и прочие рюшечки) на усмотрение пользователей. Если у кого-то получится лучше, чем есть, выкладывайте, обновлю ссылку.
User avatar
dadreamer
professor
professor
 
Posts: 3418
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: Альтернатива VISA для работы с последовательным портом

Postby Юрий on 29 Jan 2020, 11:21

>>Думаю, что дальше украшательством заниматься не буду.
dadreamer, И на том громадное спасибо и уважение :thank: .
Юрий
professional
professional
 
Posts: 329
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Альтернатива VISA для работы с последовательным портом

Postby dadreamer on 05 Feb 2020, 15:30

Ещё альтернативы, если кому интересно.

libserialport
https://sigrok.org/wiki/Libserialport
https://github.com/martinling/libserialport
Разработчик: sigrok project (https://sigrok.org/)
ОС: Windows (XP - 10), Linux, Mac OS X, FreeBSD, Android
Вид библиотеки: стандартная (.dll, .so, .dylib)
Разрядность библиотеки, бит: 32, 64
Среда/язык для использования: C/C++, C#, Delphi, VB и другие
Лицензия: Open-Source (LGPL3+)
Особенности: поддержка событий (event driven), библиотеку надо компилировать в MSYS2 (MinGW 32/64 bit) или в Visual Studio 2019

Windows Serial Communication Component Library (WSC)
https://www.marshallsoft.com/serial-com ... ibrary.htm
Разработчик: MarshallSoft
ОС: Windows (XP - 10)
Вид библиотеки: стандартная (.dll)
Разрядность библиотеки, бит: 32, 64, 16 (по запросу)
Среда/язык для использования: C/C++, C#, Delphi, VB и другие
Лицензия: Shareware (триал на 1 месяц, свободное скачивание)
Особенности: функции управления модемами (включая передачу файлов), поддержка модемных протоколов (Xmodem, Ymodem), поддержка событий (event driven)

ActiveXperts Serial Port Component
https://www.activexperts.com/serial-port-component/
Разработчик: ActiveXperts Software B.V.
ОС: Windows (XP - 10/Server)
Вид библиотеки: ActiveX DLL
Разрядность библиотеки, бит: 32, 64
Среда/язык для использования: Любая, где возможно подключение ActiveX: C/C++, C#, Delphi, VB, VB .NET и другие
Лицензия: Shareware (триал на 1 месяц, свободное скачивание)
Особенности:

SuperCom - Serial Communication Library
https://adontec.com/super_e.htm
Разработчик: ADONTEC
ОС: Windows (ME/98/95 - 10/Server), Linux, DOS (16/32), OS/2
Вид библиотеки: стандартная (.dll, .so), ActiveX/.NET
Разрядность библиотеки, бит: 32, 64, 16
Среда/язык для использования: C/C++, C#, Delphi, Pascal, VB, Java и другие
Лицензия: Demoware (демка, скачивание по запросу), полная версия за $$
Особенности: функции управления модемами (включая передачу файлов), поддержка модемных (Xmodem, Ymodem и др.) и промышленных протоколов (ModBus и др.), интеграция в MS Office, есть примеры на LV (DLL, ActiveX), поддержка событий (event driven)
User avatar
dadreamer
professor
professor
 
Posts: 3418
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Previous

Return to Коммуникация с приборами

Who is online

Users browsing this forum: No registered users and 3 guests

cron