Уважаемое сообщество! Столкнулся с проблемой.
В главном цикле for происходят параллельно два цикла - первый for второй while.
Нужно чтобы после выполнения первого for останавливался второй while.
Подскажите как реализовать.
Взаимосвязанные циклы
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Взаимосвязанные циклы
zxc_pavel, Есть неточность, которая способна исказить работу программы. На самом деле не гарантировано, что сброс переменной "Boolean" вне цикла For Loop произойдет раньше, чем ее опрос внутри цикла While Loop. Для простых программ, возможно и пройдет, но при малейшем усложнении вы можете на это наткнуться с неприятными плавающими эффектами.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Взаимосвязанные циклы
zxc_pavel, достаточно было провести wire от присвоения кнопке значения False к границе цикла For Loop (нигде дальше не подключая ее). Это гарантирует необходимую последовательность действий.
Операции типа нотифаера или очереди выполняются в потоке, а это высокие накладные расходы (и времени - на несколько порядков и памяти), по сравнению с опросом одной переменной.
Операции типа нотифаера или очереди выполняются в потоке, а это высокие накладные расходы (и времени - на несколько порядков и памяти), по сравнению с опросом одной переменной.
-
- user
- Сообщения: 94
- Зарегистрирован: 28 июл 2019, 13:16
- Версия LabVIEW: 19
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Re: Взаимосвязанные циклы
Можно через глобальную переменную. В тесте почему-то на 30% быстрее получилосьМожно через локальную переменную