Network-published shared variables

Network-published shared variables

Postby Din on 13 Mar 2019, 14:56

Добрый день. Собираюсь использовать простейший способ обмена данными между сRio и ПК - через sv. Не могу уловить тонкостей, в каких случаях,какие виды SV лучше использовать. С буфером или без? Что такое single writer? (Меню properties, вкладка network). В каких случаях применим буфер rt fifo?
В моем случае, программа крутящая на сRio (не на fpga), служит для отпрвки и приема can посылок, точность не нужна, достаточно отправлять и принимать на хост последние данные.
И классически кнопка стоп, которая с компа через SV останавливает прогу на компакт Рио.
Так вот когда кнопка SV кнопки стоп с включенным буфером, тогда, даже инициализируя ее фолсом в начале программы на cRio, сидит где-то Тру с момента последнего запуска и программа останавливается. Если же настраиваю без включенного буфера, то все ок. Если я инициализирую фолсом,то фолс и все ок. Почему?
П.С. имею ввиду просто буфер, буфер rt fifo не использую, не совсем понимаю его назначение.
Спасибо за советы!
Din
interested
interested
 
Posts: 2
Joined: 13 Mar 2019, 14:37
LabVIEW Version: 2017
Karma: 0

Re: Network-published shared variables

Postby Kosist on 13 Mar 2019, 17:28

А зачем на кнопку Стоп давать буфер? В целом, прочитайте эту статью - http://www.ni.com/product-documentation/4679/en/, может часть вопросов прояснится...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 912
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 253
CLAD I/O VIP students

Re: Network-published shared variables

Postby Stkn on 14 Mar 2019, 10:08

Stkn
assistant
assistant
 
Posts: 127
Joined: 25 Jan 2009, 11:08
LabVIEW Version: 2014
Karma: 10
CLAD

Re: Network-published shared variables

Postby Blackman on 14 Mar 2019, 15:08

Для заявленной задачи Network Stream API будет лучшим решением. Чтобы не изобретать велосипед, установите при помощи VIPM библиотеку NI Variant Reconnecting Stream. Что это такое можно посмотреть здесь:
https://forums.ni.com/t5/Example-Progra ... -p/3512693
Blackman
leader
leader
 
Posts: 831
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 243
VIP

Re: Network-published shared variables

Postby Vasiliy Baev on 15 Mar 2019, 11:28

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

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

Как правильно работать с SV описано в Руководство разработчика CompactRIO.
User avatar
Vasiliy Baev
leader
leader
 
Posts: 501
Joined: 31 Oct 2011, 09:02
Location: Санкт-Петербург
Medals: 4
Activity (1) Gold (1) Bronze (2)
LabVIEW Version: 2013
Karma: 145
I/O VIP

Re: Network-published shared variables

Postby Stkn on 15 Mar 2019, 12:21

Vasiliy Baev wrote:SV - самый плохой способ коммуникации из всех возможных, используйте UDP.
SV - очень простой и удобный способ коммуникации, но он имеет множество недостатков, что хоть статью пиши на эту тему.

Слишком уж категорично.
А что на счёт того, что UDP не гарантирует доставку пакета?
Vasiliy Baev wrote: Главный недостаток собранное приложение на ПК не будет работать на другом ПК, приложение каждый раз надо "пересобирать". А еще при недостаточном опыте и понимание устройства (закрытого механизма) SV можно сильно загрузить контроллер.

"Главный недостаток" у SV вовсе и не недостаток: пересобирать (Build) приложение не нужно, нужно лишь развернуть (Deploy) переменную. Для этого есть специальная вкладка в свойствах приложения (Shared Variable Deployment).
В общем, инструмент, как инструмент со своими преимуществами и недостатками
Stkn
assistant
assistant
 
Posts: 127
Joined: 25 Jan 2009, 11:08
LabVIEW Version: 2014
Karma: 10
CLAD

Re: Network-published shared variables

Postby Borjomy_1 on 15 Mar 2019, 12:45

Stkn wrote:А что на счёт того, что UDP не гарантирует доставку пакета?

Мы реально столкнулись с дропом пакетов UDP. И если при разработке таких проблем в принципе не было, то в сети предприятия настал тихий ужас. Пришлось срочно перелицовываться на TCP
Borjomy_1
expert
expert
 
Posts: 1848
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

Re: Network-published shared variables

Postby IvanLis on 15 Mar 2019, 19:32

Borjomy_1 wrote:
Stkn wrote:А что на счёт того, что UDP не гарантирует доставку пакета?

Мы реально столкнулись с дропом пакетов UDP. И если при разработке таких проблем в принципе не было, то в сети предприятия настал тихий ужас. Пришлось срочно перелицовываться на TCP


Ага, особенно интересно, когда не теряется пакет, а их очередность изменяется ))
Приходилось нумеровать пакеты.
Но нужно было именно UDP, т.к. была широковещательная рассылка (TCP - "точка-точка" нельзя было использовать).
User avatar
IvanLis
professor
professor
 
Posts: 4718
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: 2010
Karma: 741
hardware VIP bloggers teachers


Return to CompactRIO

Who is online

Users browsing this forum: No registered users and 2 guests

cron