Зависание программы при быстром нажатии на кнопки

Простейшие вопросы в области инженерной разработки
Ответить
Atom
advanced
advanced
Сообщения: 196
Зарегистрирован: 01 ноя 2009, 23:18
Версия LabVIEW: 2010
Откуда: Москва
Контактная информация:

Зависание программы при быстром нажатии на кнопки

Сообщение Atom »

Всем привет!
Существует программа для сбора данных с виртуальных приборов, в ней напихано очень много кнопок, индикаторов, SubVI.
Вот принципиальная схема:
Clipboard01.jpg
В ней существует много Event кейсов. Все свойства обьектов я запихал внутрь Event структуры, снаружи цикла остались тока свойства "visible" и индикаторы.
Возникает проблема: при быстром нажатии на кнопки программа просто зависает(как будто не успевает пробежать весь цикл).
При нажатии на кнопку нужно подождать 1..2 секунды и нажимать другую иначе зависает программа.
Проблема возникает только на рабочем слабом компьютере (уровень пень 3, 512мб оперативы). Дома же такой проблемы не возникает, сколько не пытайся :crazy: ( core 2 duo, 2Гб оперативы).
Не подскажете, в чем может быть проблема?

И сразу другой вопросик: что нужно прописать в программе при создании EXE файла, чтобы она запускалась потом как "Run continuously", а не просто "Run" ?

Заранее огромное спасибо! :wink:
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Зависание программы при быстром нажатии на кнопки

Сообщение Pavel Krivozubov »

1) Может попробовать запихать евенты с обработчиком кнопок в параллельный цикл?
2) Прописывать ничего не надо, надо обрамить тело программы еще одним циклом while.
Atom
advanced
advanced
Сообщения: 196
Зарегистрирован: 01 ноя 2009, 23:18
Версия LabVIEW: 2010
Откуда: Москва
Контактная информация:

Re: Зависание программы при быстром нажатии на кнопки

Сообщение Atom »

Что то в этом роде?
Clipboard01.jpg
1. Теперь пока не нажмешь обе кнопки, индикаторы не загораются, а нужно, чтобы они работали независимо.
2. Второй цикл не помогает, все равно после создания EXE приложения программа запускается на 1 цикл.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Зависание программы при быстром нажатии на кнопки

Сообщение Pavel Krivozubov »

1. Нет, я имею ввиду сделать обработку кнопок вне основного цикла. Это по должно привести к тому, что операции по обработке кнопок не будут зависеть от процессов в основном цикле и позволит избежать зависаний и запаздываний при срабатывании.
2. Конечно она будет запускаться на один цикл :D На вход завершения цикла ведь TRUE подаётся :brows: А что бы не стопорилось надо False.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Зависание программы при быстром нажатии на кнопки

Сообщение FireFly »

Потому что у тебя на Loop Condition стоит True, поэтому цикл останавливается.
Вообще структура программы жуткая...
Все эвенты я бы собрал в одну Event Structure, один раз запускаемые циклы бы убрал...
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Atom
advanced
advanced
Сообщения: 196
Зарегистрирован: 01 ноя 2009, 23:18
Версия LabVIEW: 2010
Откуда: Москва
Контактная информация:

Re: Зависание программы при быстром нажатии на кнопки

Сообщение Atom »

Спасибо огромное за подсказки!!! На работе сегодня разобрался, все получилось!!! :crazy:
Уже ничего не зависает и не запаздывает. Нарадоваться не могу :crazy:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»