Выполнение блока по условию

Простейшие вопросы в области инженерной разработки
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

Re: Выполнение блока по условию

Сообщение banderlog »

Прошу прощения за тупые вопросы. Занимаюсь сабжем эпизодически, а на курсы начальство, в связи с кризисом, не посылает :cry:
А как бы сделать, чтобы цикл вайл выполнялся без прогонки всего цикла ивент (там много чего будет, что должно выполняться только эпизодически)?
В общем, где бы примеры посмотреть (можно экзамплесы и байшпили) про циклы и параллельные задачи на LabView?
Вложения
pix_xampl.vi
(34.01 КБ) 167 скачиваний
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Выполнение блока по условию

Сообщение Eugen Graf »

Угадал, параллельность в этом случае правилный подход, но...

для новичка пойдёт и использование таймаут ивента. Выстави таймаут = 0 для ивент сртруктуры, помести содержимое цикла туда. А сам цикл обведи вокруг ивент структуры.
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

Re: Выполнение блока по условию

Сообщение banderlog »

То есть, добавить кейс на таймаут? А что останется в кейсе на кноб?
З.Ы. Ну, блин, и сказанул )))
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Выполнение блока по условию

Сообщение Eugen Graf »

А, ну да, неподумал об этом. Можно кноб засунуть туда же.
А ты уверен что тебе нужно стартовать цикл именно по ивенту маус ап на кнобе и останавливать по нажатию на кнопку стоп? Уверен? Мне в жизни такое не пригождалось. Поясни зачем? Может быть найдём другое, более правильное решение.
Если же всё таки нужно именно это решение, то заведи сдвиг. регистр, в котором сохраняется условие выполнения этого кусочка кода. В одном ивенте (кноб маус ап) выставляешь ТРУ, а в другом (стоп вэлью ченж) выставляешь ФОЛС, а содержимое таймаут ивента соответственно в кейс структуру.
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

Re: Выполнение блока по условию

Сообщение banderlog »

eg писал(а):А ты уверен что тебе нужно стартовать цикл именно по ивенту маус ап на кнобе и останавливать по нажатию на кнопку стоп? Уверен? Мне в жизни такое не пригождалось. Поясни зачем? Может быть найдём другое, более правильное решение.
По изменению значений управляющих элементов я выставляю параметры управления прибором. Если делать без событий, то связь с прибором и изменение его настроек будут идти постоянно. А зачем мне куча трейсов? Я беру один снимок спектра и на нём уже ищу пики, настраиваюсь на них и т.д. Но должна быть возможность изменять одновременно по желанию и настройки. А этого как-раз нет ((( У меня же выполнение блокируется в цикле с пиками. Так что ищу пути.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Выполнение блока по условию

Сообщение Eugen Graf »

Вот, если интерессно, почитай про параллельные потоки:
/viewtopic.php?f=23&t=153&start=0
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

Re: Выполнение блока по условию

Сообщение banderlog »

Про параллельные потоки прочитал. Занимательно, но немного не то - слишком наворочено получается. Посидел, нарсовал квадратики со схемой выполнения на бумажке - и ... вуаля. В общем, я неверно понимал таймаут ивент без параметров. Надо бы матчасть подучить :)
Ответить

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