Взаимосвязанные циклы

Простейшие вопросы в области инженерной разработки
Ответить
homyak
interested
interested
Сообщения: 1
Зарегистрирован: 21 авг 2019, 11:19
Репутация: 0
Версия LabVIEW: 2013
Контактная информация:

Взаимосвязанные циклы

Сообщение homyak »

Уважаемое сообщество! Столкнулся с проблемой.
В главном цикле for происходят параллельно два цикла - первый for второй while.
Нужно чтобы после выполнения первого for останавливался второй while.
Подскажите как реализовать. :cry:
Вложения
Блок схема
Блок схема

Fancnc
assistant
assistant
Сообщения: 143
Зарегистрирован: 15 ноя 2011, 22:39
Репутация: 0
Версия LabVIEW: 2018, 2020
Откуда: СПб
Контактная информация:

Re: Взаимосвязанные циклы

Сообщение Fancnc »

Можно через локальную переменную

zxc_pavel
assistant
assistant
Сообщения: 141
Зарегистрирован: 02 июн 2016, 12:07
Репутация: 0
Версия LabVIEW: 15
Контактная информация:

Re: Взаимосвязанные циклы

Сообщение zxc_pavel »

Можно через локальную переменную
Вложения
2108-2.png
2108-2.png (20.23 КБ) 960 просмотров
2108.vi
(9.46 КБ) 39 скачиваний

Borjomy_1

Activity Professionalism Silver
expert
expert
Сообщения: 1921
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Репутация: 0
Версия LabVIEW: 4-8.6,9-14
Откуда: город семи холмов

Re: Взаимосвязанные циклы

Сообщение Borjomy_1 »

zxc_pavel, Есть неточность, которая способна исказить работу программы. На самом деле не гарантировано, что сброс переменной "Boolean" вне цикла For Loop произойдет раньше, чем ее опрос внутри цикла While Loop. Для простых программ, возможно и пройдет, но при малейшем усложнении вы можете на это наткнуться с неприятными плавающими эффектами.

zxc_pavel
assistant
assistant
Сообщения: 141
Зарегистрирован: 02 июн 2016, 12:07
Репутация: 0
Версия LabVIEW: 15
Контактная информация:

Re: Взаимосвязанные циклы

Сообщение zxc_pavel »

Есть неточность
так более верно, хотя все равно, не мгновенно передается
Вложения
2108-3.png
2108.vi
(11.55 КБ) 38 скачиваний

Borjomy_1

Activity Professionalism Silver
expert
expert
Сообщения: 1921
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Репутация: 0
Версия LabVIEW: 4-8.6,9-14
Откуда: город семи холмов

Re: Взаимосвязанные циклы

Сообщение Borjomy_1 »

zxc_pavel, достаточно было провести wire от присвоения кнопке значения False к границе цикла For Loop (нигде дальше не подключая ее). Это гарантирует необходимую последовательность действий.
Операции типа нотифаера или очереди выполняются в потоке, а это высокие накладные расходы (и времени - на несколько порядков и памяти), по сравнению с опросом одной переменной.

ujin
user
user
Сообщения: 77
Зарегистрирован: 28 июл 2019, 13:16
Репутация: 0
Версия LabVIEW: 19
Контактная информация:

Re: Взаимосвязанные циклы

Сообщение ujin »

Можно через локальную переменную
Можно через глобальную переменную. В тесте почему-то на 30% быстрее получилось
Вложения
Perfomance.jpg

Ответить

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