Добрый день. Собираюсь использовать простейший способ обмена данными между сRio и ПК - через sv. Не могу уловить тонкостей, в каких случаях,какие виды SV лучше использовать. С буфером или без? Что такое single writer? (Меню properties, вкладка network). В каких случаях применим буфер rt fifo?
В моем случае, программа крутящая на сRio (не на fpga), служит для отпрвки и приема can посылок, точность не нужна, достаточно отправлять и принимать на хост последние данные.
И классически кнопка стоп, которая с компа через SV останавливает прогу на компакт Рио.
Так вот когда кнопка SV кнопки стоп с включенным буфером, тогда, даже инициализируя ее фолсом в начале программы на cRio, сидит где-то Тру с момента последнего запуска и программа останавливается. Если же настраиваю без включенного буфера, то все ок. Если я инициализирую фолсом,то фолс и все ок. Почему?
П.С. имею ввиду просто буфер, буфер rt fifo не использую, не совсем понимаю его назначение.
Спасибо за советы!
Network-published shared variables
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Network-published shared variables
А зачем на кнопку Стоп давать буфер? В целом, прочитайте эту статью - http://www.ni.com/product-documentation/4679/en/, может часть вопросов прояснится...
Мы делили апельсин - много наших полегло...
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Network-published shared variables
Для заявленной задачи Network Stream API будет лучшим решением. Чтобы не изобретать велосипед, установите при помощи VIPM библиотеку NI Variant Reconnecting Stream. Что это такое можно посмотреть здесь:
https://forums.ni.com/t5/Example-Progra ... -p/3512693
https://forums.ni.com/t5/Example-Progra ... -p/3512693
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: Network-published shared variables
SV - самый плохой способ коммуникации из всех возможных, используйте UDP.
SV - очень простой и удобный способ коммуникации, но он имеет множество недостатков, что хоть статью пиши на эту тему. Главный недостаток собранное приложение на ПК не будет работать на другом ПК, приложение каждый раз надо "пересобирать". А еще при недостаточном опыте и понимание устройства (закрытого механизма) SV можно сильно загрузить контроллер.
Stream - оптимальный вариант для передачи большого количества данных, для пост обработки или накопления.
TCP/IP у NI - тоже имеет недостатки - постоянно что-то опрашивает и "сорит" в сеть.
У вас простая задача, используйте UDP.
Как правильно работать с SV описано в Руководство разработчика CompactRIO.
SV - очень простой и удобный способ коммуникации, но он имеет множество недостатков, что хоть статью пиши на эту тему. Главный недостаток собранное приложение на ПК не будет работать на другом ПК, приложение каждый раз надо "пересобирать". А еще при недостаточном опыте и понимание устройства (закрытого механизма) SV можно сильно загрузить контроллер.
Stream - оптимальный вариант для передачи большого количества данных, для пост обработки или накопления.
TCP/IP у NI - тоже имеет недостатки - постоянно что-то опрашивает и "сорит" в сеть.
У вас простая задача, используйте UDP.
Как правильно работать с SV описано в Руководство разработчика CompactRIO.
Re: Network-published shared variables
Слишком уж категорично.Vasiliy Baev писал(а):SV - самый плохой способ коммуникации из всех возможных, используйте UDP.
SV - очень простой и удобный способ коммуникации, но он имеет множество недостатков, что хоть статью пиши на эту тему.
А что на счёт того, что UDP не гарантирует доставку пакета?
"Главный недостаток" у SV вовсе и не недостаток: пересобирать (Build) приложение не нужно, нужно лишь развернуть (Deploy) переменную. Для этого есть специальная вкладка в свойствах приложения (Shared Variable Deployment).Vasiliy Baev писал(а): Главный недостаток собранное приложение на ПК не будет работать на другом ПК, приложение каждый раз надо "пересобирать". А еще при недостаточном опыте и понимание устройства (закрытого механизма) SV можно сильно загрузить контроллер.
В общем, инструмент, как инструмент со своими преимуществами и недостатками
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Network-published shared variables
Мы реально столкнулись с дропом пакетов UDP. И если при разработке таких проблем в принципе не было, то в сети предприятия настал тихий ужас. Пришлось срочно перелицовываться на TCPStkn писал(а):А что на счёт того, что UDP не гарантирует доставку пакета?
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Network-published shared variables
Ага, особенно интересно, когда не теряется пакет, а их очередность изменяется ))Borjomy_1 писал(а):Мы реально столкнулись с дропом пакетов UDP. И если при разработке таких проблем в принципе не было, то в сети предприятия настал тихий ужас. Пришлось срочно перелицовываться на TCPStkn писал(а):А что на счёт того, что UDP не гарантирует доставку пакета?
Приходилось нумеровать пакеты.
Но нужно было именно UDP, т.к. была широковещательная рассылка (TCP - "точка-точка" нельзя было использовать).
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...