OPC клиент для LabView 2021 под Linux

Простейшие вопросы в области инженерной разработки
Ответить
UnnamedPlayer
interested
interested
Сообщения: 5
Зарегистрирован: 07 ноя 2023, 17:53
Версия LabVIEW: 2021
Благодарил (а): 1 раз
Контактная информация:

OPC клиент для LabView 2021 под Linux

Сообщение UnnamedPlayer »

Здравствуйте! Подскажите пожалуйста!

Есть Astra Linux SE 1.7.4, на ней установлен LabView 2021 Community и VIPM 2022.1. Они нормально друг друга видят, пакеты устанавливаются, но за исключением одного - OPC DA Client API for LabVIEW. Пакет, который был нужен для него, NI License Manager, я установил. Но он всё равно не устанавливается, говоря об ошибке 5000. Может кто-нибудь знает что можно сделать, чтобы он установился, или может есть другой какой-нибудь аналогичный пакет?
ujin1
adviser
adviser
Сообщения: 239
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 19 раз
Поблагодарили: 38 раз
Контактная информация:

Re: OPC клиент для LabView 2021 под Linux

Сообщение ujin1 »

UnnamedPlayer писал(а): 07 ноя 2023, 18:00 Здравствуйте! Подскажите пожалуйста!

Есть Astra Linux SE 1.7.4
OPC DA Client API for LabVIEW.
OPC DA работает только под windows.
Под Linux (и Windows) OPC UA.
Это в общем OPC.
Пакет от NI под community edition не работает. Нужна другая лицензия.
Также под Linux не работает. Только под Windows и NI Linux RT.
Можно попробовать установить на Linux библиотеки от NI Linux RT под x64.
Изображение
UnnamedPlayer
interested
interested
Сообщения: 5
Зарегистрирован: 07 ноя 2023, 17:53
Версия LabVIEW: 2021
Благодарил (а): 1 раз
Контактная информация:

Re: OPC клиент для LabView 2021 под Linux

Сообщение UnnamedPlayer »

ujin1 писал(а): 07 ноя 2023, 19:25 Можно попробовать установить на Linux библиотеки от NI Linux RT под x64.
Спасибо большое за ответ!
А есть ссылка на iso? А то я скачал с официального сайта, потом пригляделся - а они все почему-то под Windows, хотя "NI Linux RT"
ujin1
adviser
adviser
Сообщения: 239
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 19 раз
Поблагодарили: 38 раз
Контактная информация:

Re: OPC клиент для LabView 2021 под Linux

Сообщение ujin1 »

UnnamedPlayer писал(а): 10 ноя 2023, 14:28
ujin1 писал(а): 07 ноя 2023, 19:25 Можно попробовать установить на Linux библиотеки от NI Linux RT под x64.
Спасибо большое за ответ!
А есть ссылка на iso? А то я скачал с официального сайта, потом пригляделся - а они все почему-то под Windows, хотя "NI Linux RT"
А его нет. Нужно вручную попробовать собрать. Не раньше понедельника смогу добраться до Линукс машины.
Изображение
UnnamedPlayer
interested
interested
Сообщения: 5
Зарегистрирован: 07 ноя 2023, 17:53
Версия LabVIEW: 2021
Благодарил (а): 1 раз
Контактная информация:

Re: OPC клиент для LabView 2021 под Linux

Сообщение UnnamedPlayer »

ujin1 писал(а): 10 ноя 2023, 19:09 А его нет. Нужно вручную попробовать собрать. Не раньше понедельника смогу добраться до Линукс машины.
Если есть/будет возможность - был бы очень благодарен :)
ujin1
adviser
adviser
Сообщения: 239
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 19 раз
Поблагодарили: 38 раз
Контактная информация:

Re: OPC клиент для LabView 2021 под Linux

Сообщение ujin1 »

UnnamedPlayer писал(а): 10 ноя 2023, 14:28
ujin1 писал(а): 07 ноя 2023, 19:25 Можно попробовать установить на Linux библиотеки от NI Linux RT под x64.
Спасибо большое за ответ!
А есть ссылка на iso? А то я скачал с официального сайта, потом пригляделся - а они все почему-то под Windows, хотя "NI Linux RT"
Практически каждый VI в библиотеке OPC UA использует бинарную dll ni_opcua.*, в линуксе из одного файла.
В desktop версии под windows ni_opcua.dll, в NILinuxRT ni_opcua.so ссылка на libni_opcua.so.19.0.0
Я попробовал 19 и 21 версию LabVIEW, библиотеки libni_opcua.so.19.0.0, libni_opcua.so.20.6.0 соответственно для процессоров х64. ОС centos7 (пока такая только).
libni_opcua.so.20.6.0 не загружается, версия libstdc++.so.6 не нравится.

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

[admin@ujin-wrk lib]$ objdump -p libni_opcua.so.20.6.0 | grep NEEDED
  NEEDED               libeay32.so.1
  NEEDED               libdl.so.2
  NEEDED               librt.so.1
  NEEDED               libstdc++.so.6
  NEEDED               libgcc_s.so.1
  NEEDED               libpthread.so.0
  NEEDED               libc.so.6
[admin@ujin-wrk lib]$ ldd /usr/local/natinst/lib/libni_opcua.so.20.6.0
/usr/local/natinst/lib/libni_opcua.so.20.6.0: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/local/natinst/lib/libni_opcua.so.20.6.0)
	linux-vdso.so.1 =>  (0x00007ffd63193000)
	libeay32.so.1 => /usr/lib64/natinst/nissl/libeay32.so.1 (0x00007f833df6e000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f833dd6a000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f833db62000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f833d85a000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f833d644000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f833d428000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f833d05a000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f833ee0f000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f833cd58000)
[admin@ujin-wrk lib]$ objdump -p libni_opcua.so.19.0.0 | grep NEEDED
  NEEDED               libeay32.so.1
  NEEDED               libstdc++.so.6
  NEEDED               libdl.so.2
  NEEDED               librt.so.1
  NEEDED               libgcc_s.so.1
  NEEDED               libpthread.so.0
  NEEDED               libc.so.6
[admin@ujin-wrk lib]$ ldd /usr/local/natinst/lib/libni_opcua.so.19.0.0
	linux-vdso.so.1 =>  (0x00007ffd39ceb000)
	libeay32.so.1 => /usr/lib64/natinst/nissl/libeay32.so.1 (0x00007fb0bb1f0000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fb0baee8000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fb0bace4000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fb0baadc000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb0ba8c6000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb0ba6aa000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fb0ba2dc000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fb0b9fda000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb0bc070000)
Библиотека содержит тип OPC UA client refnum (server refnum)
Тип неизвестный, преобразование типов невозможно.
Если заменить OPC UA client refnum на тип U64, то клиент соединяется с сервером без ошибок, при попытке считать тэг ошибка −356517 The client refnum input is not valid.
Client refnum много где используется, например PostgreSQL библиотека libpq так же при соединении создает client refnum тип U64 или U32 соответственно разрядности LabVIEW.
В данном случае это возможно не прямая ссылка. Например указатель в таблице классов, указатель на структуру и т.д.
read variant.png
Call library.png
Соответственно под desktop Linux использовать OPC UA от NI у меня не получилось.
OPC DA тоже не работает. Под Линукс есть DataSocket, но он про OPC не знает.
data socket.png
Еще один достаточно сложный способ скомпилировать самому из исходников.
https://github.com/open62541/open62541.git
https://layers.openembedded.org/layerin ... pe/336756/
https://opcfoundation.org/products/?search=open62541
Изображение
UnnamedPlayer
interested
interested
Сообщения: 5
Зарегистрирован: 07 ноя 2023, 17:53
Версия LabVIEW: 2021
Благодарил (а): 1 раз
Контактная информация:

Re: OPC клиент для LabView 2021 под Linux

Сообщение UnnamedPlayer »

ujin1 писал(а): 14 ноя 2023, 10:53 Еще один достаточно сложный способ скомпилировать самому из исходников.
https://github.com/open62541/open62541.git
https://layers.openembedded.org/layerin ... pe/336756/
https://opcfoundation.org/products/?search=open62541
Огромное спасибо за такой развёрнутый ответ! Но мне что-то придумать всё же нужно... А почему собрать из исходников - сложный способ?
ujin1
adviser
adviser
Сообщения: 239
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 19 раз
Поблагодарили: 38 раз
Контактная информация:

Re: OPC клиент для LabView 2021 под Linux

Сообщение ujin1 »

UnnamedPlayer писал(а): 14 ноя 2023, 14:58
ujin1 писал(а): 14 ноя 2023, 10:53 Еще один достаточно сложный способ скомпилировать самому из исходников.
https://github.com/open62541/open62541.git
https://layers.openembedded.org/layerin ... pe/336756/
https://opcfoundation.org/products/?search=open62541
Огромное спасибо за такой развёрнутый ответ! Но мне что-то придумать всё же нужно... А почему собрать из исходников - сложный способ?
Много влияющих факторов.
Знания, опыт, доступность репозиториев, зависимости, целые ссылки, инструкция по сборке, частота использования репозитория, производительность компьютера, память, версия ОС.
Раньше я рассматривал собрать из исходников, но обошелся native библиотекой. Так же непонятна была надежность open source решений.
Вроде бы фирменное должно быть лучше. На сегодняшний день увидел, что open62541 используется в OpenEmbedded.
проект OpenEmbedded предназначен для сборки встраиваемых систем. Надежность какая-никакая уже есть.
Изображение
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»