#vi #labview
#vi #labview
Вопрос:
Извините, не могу опубликовать всю свою программу, и я не уверен, как прикрепить мой пример vi к этой публикации…
Мне нужен одноразовый тип задержки в операторе case, который функционирует таким образом, что при вызове этого конкретного случая он выводит значение true в течение 1 секунды, затем изменяется на false, и регистр отключается. В настоящее время я переключаю обращения, используя файл сценария, декодированный в моей программе, поэтому я не могу переключать обращения любым другим способом. Я пытался вложить цикл while внутрь, но это только приостанавливает и задерживает мой основной цикл while, а я не могу этого допустить, и я обеспокоен тем, что цикл FOR будет делать то же самое.
Это изображение представляет собой код, который я использовал в другом месте своей программы для создания задержки аналогичным образом. Этот vi получает сигнал «true» в качестве входного сигнала, который изменяет внешний регистр на тот, который приостанавливается до завершения работы счетчика ms, при выводе «true», затем изменяется на false при вводе последнего регистра, прежде чем вернуться к первому. Проблема в том, что он не может сбросить регистр, пока входные данные не станут false, иначе он будет повторно запущен. Есть предложения?
Комментарии:
1. Что не так с функцией ожидания LabVIEWs? Вам нужно, чтобы ваш цикл выполнялся в течение этого периода в 1 секунду?
2. Я хотел бы помочь вам с вашим вопросом, но на самом деле я не совсем понимаю, чего вы пытаетесь достичь. Не могли бы вы, пожалуйста, попытаться объяснить это более четко? 🙂
3. @sweber да, цикл должен выполняться в течение этого времени ожидания.
Ответ №1:
Если вам нужно поддерживать цикл в рабочем состоянии, ожидание в 1000 мс не является вариантом. Взгляните на блок-схему ниже. Он отправляет сообщение True
в течение одной секунды после переключения Button
(даже если вы переключаете Button
снова в течение этого 1-секундного окна). Ожидание в 50 мс в этом цикле предназначено только для того, чтобы вы не пытались запустить его с бесконечной скоростью … это может раздражать, если вы ждете взаимодействия с передней панели (но это требует от вас запоминания действия на передней панели, поэтому я использую действие защелки на кнопке stop и мне нужно инициализировать, если всегда должно быть false … в любом случае).
Комментарии:
1. отлично! =) Убедитесь, что вы принимаете ответ, если он соответствует вашему вопросу, чтобы другие пользователи с такой же проблемой быстро нашли его