Страница 1 из 2
ещё раз о FeedBack node
Добавлено: 18 окт 2017, 10:17
Kayfolom
Хорошего дня.
Подскажите, пожалуйста, как работает Feedback node в режиме global initialize? С локальным использованием feedback node в циклах всё вроде понятно.
А как работает глобальный feedback node?
Вопрос вот к чему: два разных модуля используют clone одной и той же функции, внутри которой есть глобальный feedback node,
начальное значение feedback node при каждом вызове клона будет глобальным ? или у каждого клона будет своё значение feedback node?
и какое будет поведение feedback node в случае, есть есть общий класс, с методом внутри которого есть feedback node в режиме global initialize. И есть два класса, наследника, которые
со своими значениями вызывают общий метод класса, у каждого будет собственное значение на входе feedback node или глобально на оба модуля?
Спасибо.
Re: ещё раз о FeedBack node
Добавлено: 18 окт 2017, 21:53
Kosist
Вначале, нужно понимать что виайка с FGV - functional global variable (неинициализированный шифт регистр) или Feedback Node не должна быть реетрантной.
Используя одну и ту же функцию с FGV (или же Feedback Node), значение FGV будет сохраняться.
В случае классов - каждая инстанция классов, если выполняет "родительский" метод, будет разделять значение тоже. Как пример - высылаю скрин простого эксперимента.
Кстати, иногда возможен "пропуск" выполнения такой виайки с FGV - это видно по значениям.
Re: ещё раз о FeedBack node
Добавлено: 23 окт 2017, 13:35
Kayfolom
Спасибо.
А, что такое реетрантной? и как дело у FGV обстоит с clone vi?
Re: ещё раз о FeedBack node
Добавлено: 23 окт 2017, 19:43
IvanLis
Kayfolom писал(а):Спасибо.
А, что такое реетрантной? и как дело у FGV обстоит с clone vi?
Реентерабельность
Re: ещё раз о FeedBack node
Добавлено: 07 мар 2018, 21:40
Sevas
- subVI.png (6.21 КБ) 7250 просмотров
- subVI.png (6.21 КБ) 7250 просмотров
Столкнулся с известной на оф форуме ni проблемой с feedback node, но до конца не понимаю как правильно его настроить.
Имеется subVI который крутится внутри while loopa main.vi
Проблема в том что после второго+ запуска фидбэк не обнуляется, а возвращает предыдущее значение.
Методом тыка настроить не удалось, подскажите как выставить все настройки так, чтобы происходило обнуление фидбэка при перезапуске main.vi, ибо на инглиш форумах не все настройки показывают и текст по теме на ингилише довольно трудно понимаю...
Re: ещё раз о FeedBack node
Добавлено: 07 мар 2018, 22:42
Blackman
Поставьте "галку" на пункт меню Initialize On First Call. Должен измениться значок инициализации * на значок функции First Call.
Re: ещё раз о FeedBack node
Добавлено: 07 мар 2018, 22:46
dadreamer
Sevas писал(а):Проблема в том что после второго+ запуска фидбэк не обнуляется, а возвращает предыдущее значение.
Ну, по идее, достаточно выставить Globally Initialize = Initialize On First Call и завести на инициализатор дефолтное значение (ноль, например). Сейчас проверил, вроде всё норм обнуляется.
В саб-ВИ вот так:
- 2018-03-08_0-44-11.jpg (10.64 КБ) 7242 просмотра
В мэйне вот так:
- 2018-03-08_0-45-11.jpg (38.18 КБ) 7242 просмотра
Re: ещё раз о FeedBack node
Добавлено: 08 мар 2018, 11:04
Sevas
Выставил Initialize On First Call (это первое с чем начал экспериментировать до того как спрашивать)
По прежнему после первого запуска значение не реинициализируется
Мне кажется я перебрад уже все комбинации настроек, которые на скриншотах, но ничего не помогает.
Возможно глюк LV? Версия 2013
Re: ещё раз о FeedBack node
Добавлено: 08 мар 2018, 11:08
dadreamer
Sevas, сделайте из вашей программы пример, на котором проблема воспроизводится. Выложите сюда. Поглядим.
Re: ещё раз о FeedBack node
Добавлено: 08 мар 2018, 11:54
Sevas
Попытался сделать отдельный проект, но в нем не воспроизводится (!), я сверил все настройки со своим проблемным subVI, всё один в один.
Ничего не понимаю теперь.
Я записал короткое видео проблемы - вряд ли поможет конечно, но может какую-то упущенную деталь заметите.
Суть в том, что когда самолет подкатывается к точке, то проблемный subVI добавляет к текущему номеру точки +1 (это всё работает), и самолет должен рулить к следующей.
Но как видно, после перезапуска номер точки не обнуляется.
_WDwmUOd-Zc
Re: ещё раз о FeedBack node
Добавлено: 08 мар 2018, 17:31
dadreamer
Sevas писал(а):Я записал короткое видео проблемы - вряд ли поможет конечно, но может какую-то упущенную деталь заметите.
А вы всегда программу через Abort останавливаете? Эта кнопка только для отладки и критических ситуаций (когда прога зависла, например). Рекомендуется останавливать программу отдельной кнопкой. Попробуйте, может, из-за этого и Feedback не обнуляется. Также попробуйте запустить в более новом
, 16 или 17 (на тот случай, если это какой-то баг). Также попробуйте заменить FN на сдвиговый регистр. В саб-ВИ это делается так - заключаете весь код в While Loop, создаёте регистр на рамке цикла, подключаете, на терминал остановки цикла заводите True. Таким образом цикл всегда будет выполняться 1 раз, но регистр будет хранить информацию подобно FN (это, кстати, широко использовалось в ранних версиях
, когда FN ещё не изобрели).
Re: ещё раз о FeedBack node
Добавлено: 08 мар 2018, 18:11
Sevas
Остановка программы не Abortom не помогла.
Попробовал с shift register, но теперь получается что индекс вообще не увеличивается при совпадении условия. всё время 0.
Re: ещё раз о FeedBack node
Добавлено: 08 мар 2018, 18:16
Sevas
Хотя нет, я поспешил. забыл подключить результат к терминалу.
Но всё тоже самое, после рестарта (не abortom, а правильно по кнопке) индекс по прежнему сохраняется от предыдущего состояния, даже с шифт регистром.
Re: ещё раз о FeedBack node
Добавлено: 08 мар 2018, 18:21
dadreamer
Sevas, чудеса в решете!
Есть такая функция в
- First Call. Находится в палитре синхронизации. Попробуйте использовать её - если первый запуск (First Call = True), то используется начальное значение, иначе значение из регистра. Конечно, должно всё работать и без таких "велосипедов". Но у меня не так много идей. Да и потестить нечего.
Также можно попробовать сохранить проект под новым именем в новую локацию и по кусочку удалять элементы кода, упрощая, пока не останется минимум, воспроизводящий этот глюк. Потом залить сюда "на посмотреть".
Re: ещё раз о FeedBack node
Добавлено: 08 мар 2018, 18:38
Sevas
Сам удивляюсь этим чудесам.
Попробовал и такой велосипед. Прилагаю скриншоты.
Результат по прежнему неверный, не уверен, правда, что правильно подключил.