Страница 4 из 6

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

Добавлено: 06 ноя 2016, 21:35
dadreamer
IvanLis, в моём случае прописывать ничего не нужно было, т.к. у меня порт сидел на ttyS0. В вашем случае стоит попытаться, т.к. порт имеет другое имя. Параметр serialDevices как раз отвечает за порядок перечисления портов для serpdrv:
http://digital.ni.com/public.nsf/3efedd ... enDocument
http://digital.ni.com/public.nsf/allkb/ ... 7400554939
Из второй ссылки:
NI писал(а):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.
Да, там такого параметра нет по умолчанию, но никто не мешает его туда внести.

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

Добавлено: 06 ноя 2016, 21:44
IvanLis
dadreamer писал(а):Полагаю, на Линуксе должно быть как-то так:

Код: Выделить всё

labview.serialDevices:/dev/ttyACM0:/dev/ttyACM1:/dev/ttyACM2
:drink:
не совсем, за сервами сейчас уже не полезу, но диод заморгал когда добавил строчку в конфиге:

Код: Выделить всё

serialDevices=/dev/ttyACM0:/dev/ttyACM1:/dev/ttyACM2
т.е. связь есть

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

Добавлено: 06 ноя 2016, 21:47
dadreamer
IvanLis, круто, рад что получилось. А то я боялся, что эти имена реально за-хард-кодены внутри serpdrv. :crazy:

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

Добавлено: 06 ноя 2016, 22:01
IvanLis
dadreamer писал(а):IvanLis, круто, рад что получилось. А то я боялся, что эти имена реально за-хард-кодены внутри serpdrv. :crazy:
Нет, реально можно изменить очередность.
Попробовал изменить строку на:

Код: Выделить всё

serialDevices=/dev/tty0:/dev/ttyACM0
Диод заморгал при записи в порт №1.

Может потихоньку сделаю обертку, для удобства использования.

И кстати, сегодня в очередной раз перепахал Internet, подобной информации на иностранных языках я не нашел.

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

Добавлено: 06 ноя 2016, 22:05
dadreamer
IvanLis, ну вот, VI'айки бы допилить ещё (у меня всё времени нет на это), и была бы более менее нормальная альтернатива Визе. Там также можно и с LPT работать. Жаль только, что x64 не поддерживается. Тут надо только сам serpdrv переписывать. Без исходников это тяжкое дело. Тем более на Линуксе.

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

Добавлено: 06 ноя 2016, 22:09
IvanLis
dadreamer писал(а):IvanLis, ну вот, VI'айки бы допилить ещё (у меня всё времени нет на это), и была бы более менее нормальная альтернатива Визе. Там также можно и с LPT работать.
У меня физического LPT нет, но я начал как раз к нему копать, сейчас жду такую платку:
1 Port PCI Express Low Profile Parallel Adapter Card - SPP/EPP/ECP
s-l1600.jpg
Обертку буду делать по мере возможности и необходимости.

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

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

Добавлено: 06 ноя 2016, 22:21
dadreamer
IvanLis писал(а):Что касается
dadreamer писал(а):Жаль только, что x64 не поддерживается. Тут надо только сам serpdrv переписывать. Без исходников это тяжкое дело. Тем более на Линуксе.
У нас есть офф. представители NI, нужно Паше удочку забрасывать.
Пусть ищет в загашниках исходники библиотеки. Наверняка они и сами ее под 64bit компилить не будут. Ну а открыв исходники широкой общественности, возможно энтузиасты и найдутся.
Сомневаюсь, что они вообще сохранились. Как писал Брайан в своей статье, во времена 5 и 6 :labview: (98-2000 годы) serpdrv уже считался устаревшим инструментом и только один человек (полагаю, его автор) был в состоянии разобраться в коде. Хотя я реверсил эту штуку на Винде, и там нет ничего сложного, на Линуксе может быть совсем иначе. В этом плане Мак был в выигрыше в те времена, т.к. там тогда serpdrv являлся встроенным драйвером, задокументированным и вполне доступным (хоть и низкоуровневым).
IvanLis писал(а):У меня физического LPT нет, но я начал как раз к нему копать, сейчас жду такую платку:
1 Port PCI Express Low Profile Parallel Adapter Card - SPP/EPP/ECP
Сейчас и COM-порт в современных ПК не встретишь. Мне вот когда-то приходилось похожую плату покупать: ORIENT XWT-PS050, только для RS-232. Видел и гибридные платы, где есть и COM-порт, и LPT.

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

Добавлено: 25 янв 2020, 22:29
dadreamer
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).

upd: Мартин выложил тулкит также на mhst.de, можно скачать оттуда, если с яндексом какие-то траблы.

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

Добавлено: 27 янв 2020, 17:58
jane_wild
dadreamer, У меня вопросы с разрядностью. Установлена :labview: 32 bit на компьютер с windows 10 64 bit. Какую версию библиотеки устанавливать, что бы оно работало в скомпилированом *exe на компьютере, где установлена win 10 64. С сайта, где 32x битный инсталлер или делать с вашего проекта 64 ? Поясните пожалуйста. Спасибо

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

Добавлено: 27 янв 2020, 21:01
dadreamer
jane_wild, конечно 32-битную версию надо ставить. Если :labview: 32 бита, то и все загружаемые в него DLL'ки должны быть 32 бита. Других вариантов не дано, так работает Windows, да и в других системах, насколько я знаю, это справедливо.

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

Добавлено: 27 янв 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.

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

Добавлено: 28 янв 2020, 22:07
dadreamer
>> У меня папка с инсталлером появилась в 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 бит. Поправил это, протестировал, вроде норм. Ссылку выше обновил.

Думаю, что дальше украшательством заниматься не буду, банально жалко времени на это. Оставляю модификации настроек проекта (структура, пути, иконки и прочие рюшечки) на усмотрение пользователей. Если у кого-то получится лучше, чем есть, выкладывайте, обновлю ссылку.

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

Добавлено: 29 янв 2020, 11:21
Юрий
>>Думаю, что дальше украшательством заниматься не буду.
dadreamer, И на том громадное спасибо и уважение :thank: .

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

Добавлено: 05 фев 2020, 15:30
dadreamer
Ещё альтернативы, если кому интересно.

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)

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

Добавлено: 23 фев 2020, 23:22
Юрий
dadreamer, в Вашей инсталляции комментарии к ошибкам на русском языке, что очень здорово. Предполагаю, что это ваших рук дело. А как можно просмотреть весь список ошибок с комментариями на русском?