Network-published shared variables

Ответить
Аватара пользователя
Din
beginner
beginner
Сообщения: 19
Зарегистрирован: 13 мар 2019, 14:37
Версия LabVIEW: 2017
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Network-published shared variables

Сообщение Din »

Добрый день. Собираюсь использовать простейший способ обмена данными между сRio и ПК - через sv. Не могу уловить тонкостей, в каких случаях,какие виды SV лучше использовать. С буфером или без? Что такое single writer? (Меню properties, вкладка network). В каких случаях применим буфер rt fifo?
В моем случае, программа крутящая на сRio (не на fpga), служит для отпрвки и приема can посылок, точность не нужна, достаточно отправлять и принимать на хост последние данные.
И классически кнопка стоп, которая с компа через SV останавливает прогу на компакт Рио.
Так вот когда кнопка SV кнопки стоп с включенным буфером, тогда, даже инициализируя ее фолсом в начале программы на cRio, сидит где-то Тру с момента последнего запуска и программа останавливается. Если же настраиваю без включенного буфера, то все ок. Если я инициализирую фолсом,то фолс и все ок. Почему?
П.С. имею ввиду просто буфер, буфер rt fifo не использую, не совсем понимаю его назначение.
Спасибо за советы!
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Network-published shared variables

Сообщение Kosist »

А зачем на кнопку Стоп давать буфер? В целом, прочитайте эту статью - http://www.ni.com/product-documentation/4679/en/, может часть вопросов прояснится...
Мы делили апельсин - много наших полегло...
Stkn
assistant
assistant
Сообщения: 128
Зарегистрирован: 25 янв 2009, 11:08
Версия LabVIEW: 2014

Re: Network-published shared variables

Сообщение Stkn »

Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Network-published shared variables

Сообщение Blackman »

Для заявленной задачи Network Stream API будет лучшим решением. Чтобы не изобретать велосипед, установите при помощи VIPM библиотеку NI Variant Reconnecting Stream. Что это такое можно посмотреть здесь:
https://forums.ni.com/t5/Example-Progra ... -p/3512693
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Network-published shared variables

Сообщение Vasiliy Baev »

SV - самый плохой способ коммуникации из всех возможных, используйте UDP.
SV - очень простой и удобный способ коммуникации, но он имеет множество недостатков, что хоть статью пиши на эту тему. Главный недостаток собранное приложение на ПК не будет работать на другом ПК, приложение каждый раз надо "пересобирать". А еще при недостаточном опыте и понимание устройства (закрытого механизма) SV можно сильно загрузить контроллер.
Stream - оптимальный вариант для передачи большого количества данных, для пост обработки или накопления.
TCP/IP у NI - тоже имеет недостатки - постоянно что-то опрашивает и "сорит" в сеть.

У вас простая задача, используйте UDP.

Как правильно работать с SV описано в Руководство разработчика CompactRIO.
Stkn
assistant
assistant
Сообщения: 128
Зарегистрирован: 25 янв 2009, 11:08
Версия LabVIEW: 2014

Re: Network-published shared variables

Сообщение Stkn »

Vasiliy Baev писал(а):SV - самый плохой способ коммуникации из всех возможных, используйте UDP.
SV - очень простой и удобный способ коммуникации, но он имеет множество недостатков, что хоть статью пиши на эту тему.
Слишком уж категорично.
А что на счёт того, что UDP не гарантирует доставку пакета?
Vasiliy Baev писал(а): Главный недостаток собранное приложение на ПК не будет работать на другом ПК, приложение каждый раз надо "пересобирать". А еще при недостаточном опыте и понимание устройства (закрытого механизма) SV можно сильно загрузить контроллер.
"Главный недостаток" у SV вовсе и не недостаток: пересобирать (Build) приложение не нужно, нужно лишь развернуть (Deploy) переменную. Для этого есть специальная вкладка в свойствах приложения (Shared Variable Deployment).
В общем, инструмент, как инструмент со своими преимуществами и недостатками
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Network-published shared variables

Сообщение Borjomy_1 »

Stkn писал(а):А что на счёт того, что UDP не гарантирует доставку пакета?
Мы реально столкнулись с дропом пакетов UDP. И если при разработке таких проблем в принципе не было, то в сети предприятия настал тихий ужас. Пришлось срочно перелицовываться на TCP
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Network-published shared variables

Сообщение IvanLis »

Borjomy_1 писал(а):
Stkn писал(а):А что на счёт того, что UDP не гарантирует доставку пакета?
Мы реально столкнулись с дропом пакетов UDP. И если при разработке таких проблем в принципе не было, то в сети предприятия настал тихий ужас. Пришлось срочно перелицовываться на TCP
Ага, особенно интересно, когда не теряется пакет, а их очередность изменяется ))
Приходилось нумеровать пакеты.
Но нужно было именно UDP, т.к. была широковещательная рассылка (TCP - "точка-точка" нельзя было использовать).
Ответить

Вернуться в «CompactRIO»