Не срабатывает остановка приложения

Темы связанные с инженерными разработками, но не подходящие в другие ветки форума
Ответить
AlexanderKonoval
developer
developer
Сообщения: 257
Зарегистрирован: 03 янв 2014, 19:37
Версия LabVIEW: 2016
Откуда: Украина, Киев
Контактная информация:

Не срабатывает остановка приложения

Сообщение AlexanderKonoval »

Здравствуйте, коллеги!

Ситуация следующая:
Есть 2 :vi: :
1. sub.vi: Приём данных с железяки, передача данных на main.vi , в случае, если железяка сообщает об ошибке - передача notifier на main.vi о том, что работу надо остановить. Работает, пока не получит notifier о main.vi о том, что надо заканчивать работу с железякой.
2. main.vi 2 цикла: 1 цикл. Eventы для обработки действий пользователя с интерфейсом. Останавливается в 2 случаях: пользователем нажата кнопка "Стоп", получен User Event о том, что надо закрываться.
2 цикл. Принимает данные с sub.vi, обрабатывает их, выводит результаты юзверю. Останавливается в 2 случаях: sub.vi прислало notifier завершения работы в связи с ошибкой железяки; получены нужные данные; получен notifier от 1 цикла о том, что юзверь закончил работу. При первых двух вариантах шлёт user event 1 циклу о том, что пора заканчивать работу.

Итак, проблема: в режиме отладки ("лампочка") - всё работает как надо. В стационарном же режиме main.vi не останавливает свою работу, а конкретно не останавливается второй цикл.
В чём может быть проблема? задержки в циклах везде проставлены, всё подключено, так далее. Где копать?

Спасибо!
колдооооовствооооо! (С)
Аватара пользователя
Super Star
adviser
adviser
Сообщения: 228
Зарегистрирован: 07 фев 2013, 08:37
Версия LabVIEW: 2011

Re: Не срабатывает остановка приложения

Сообщение Super Star »

выкладывай
я люблю свою работу.... Я приду сюда в субботу ...
AlexanderKonoval
developer
developer
Сообщения: 257
Зарегистрирован: 03 янв 2014, 19:37
Версия LabVIEW: 2016
Откуда: Украина, Киев
Контактная информация:

Re: Не срабатывает остановка приложения

Сообщение AlexanderKonoval »

Свои :vi: выложить не могу по причине расписки о неразглашении. Но вот смоделировал ситуацию - она аналогичная. Ивенты закрывать после цикла пробовал - разницы нет.
Вложения
test1.vi
sub
(11.57 КБ) 144 скачивания
test2.vi
main
(19.12 КБ) 131 скачивание
колдооооовствооооо! (С)
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 683
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 59 раз
Поблагодарили: 9 раз
Контактная информация:

Re: Не срабатывает остановка приложения

Сообщение alerm »

не слишком ли нагорожено?
не слишком ли нагорожено?
AlexanderKonoval
developer
developer
Сообщения: 257
Зарегистрирован: 03 янв 2014, 19:37
Версия LabVIEW: 2016
Откуда: Украина, Киев
Контактная информация:

Re: Не срабатывает остановка приложения

Сообщение AlexanderKonoval »

alerm, а есть другие варианты, как остановить цикл с ивентами без юзер ивента? он же будет ждать, пока юзер что-либо сделает, а в случае ошибки железа необходимо остановить программу сразу же.
колдооооовствооооо! (С)
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 683
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 59 раз
Поблагодарили: 9 раз
Контактная информация:

Re: Не срабатывает остановка приложения

Сообщение alerm »

AlexanderKonoval писал(а):необходимо остановить программу сразу же.
как вариант.png
как вариант.png (7.25 КБ) 5715 просмотров
AlexanderKonoval писал(а):Но вот смоделировал ситуацию - она аналогичная
так мое предложение в настоящей программе помогло?
Аватара пользователя
Super Star
adviser
adviser
Сообщения: 228
Зарегистрирован: 07 фев 2013, 08:37
Версия LabVIEW: 2011

Re: Не срабатывает остановка приложения

Сообщение Super Star »

жалко у меня 2011
я люблю свою работу.... Я приду сюда в субботу ...
AlexanderKonoval
developer
developer
Сообщения: 257
Зарегистрирован: 03 янв 2014, 19:37
Версия LabVIEW: 2016
Откуда: Украина, Киев
Контактная информация:

Re: Не срабатывает остановка приложения

Сообщение AlexanderKonoval »

alerm писал(а):так мое предложение в настоящей программе помогло?
К сожалению, попробовать смогу уже завтра. Думаю, что сработает. Но тут такая штука - меня на этом же форуме упрекали когда-то в использовании такого метода остановки приложения и говорили, что использовать его стоит только в том случае, если других вариантов нет.

Кроме того мне интересна сама причина - почему в режиме отладки всё работает как надо, а в обычном - нет.

:vi: в более ранних версиях также смогу выложить лишь позже, извините, не доглядел этот нюанс.
колдооооовствооооо! (С)
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 683
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 59 раз
Поблагодарили: 9 раз
Контактная информация:

Re: Не срабатывает остановка приложения

Сообщение alerm »

AlexanderKonoval, не, я не про STOP, посмотрите внимательно на рисунок, там Get Notifier Status выполняется после Dequeue Element благодаря кластеру ошибки
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Не срабатывает остановка приложения

Сообщение Vitekkz88 »

В чём может быть проблема? задержки в циклах везде проставлены, всё подключено, так далее. Где копать?
Проблема в несоблюдении принципа dataflow. Картинка,которую привел alerm показывает Вам,что поток данных пойдет по порядку начиная от Dequeue Element к Get Notifier Status, я бы продолжил тянуть кластер ошибки дальше к Generate User Event Function.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
AlexanderKonoval
developer
developer
Сообщения: 257
Зарегистрирован: 03 янв 2014, 19:37
Версия LabVIEW: 2016
Откуда: Украина, Киев
Контактная информация:

Re: Не срабатывает остановка приложения

Сообщение AlexanderKonoval »

alerm, да, спасибо, помогло. Но этого оказалось недостаточно для того, чтобы при команде от sub.vi останавливалась main.vi. Проблему решил включением отправки notifier внутрь цикла sub.vi

Спасибо за помощь!
колдооооовствооооо! (С)
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Общие»