Ввести параметры в необходимом диапазоне или диалоговое окно

Простейшие вопросы в области инженерной разработки
Ответить
Hellscream
interested
interested
Сообщения: 3
Зарегистрирован: 10 май 2017, 20:46
Версия LabVIEW: 12
Контактная информация:

Ввести параметры в необходимом диапазоне или диалоговое окно

Сообщение Hellscream »

Нерешенная часть.vi
(16.84 КБ) 133 скачивания
Прошу помочь очередному чайнику !
Возможно проблема уже решалась, но я правда не знаю, как её сформулировать коротко, чтобы найти по ключевым словам.
Создаю алгоритм действий для работы с магнитроном и очень нужно, чтобы в ниже приведенные строки пользователь вводил значения входящие в диапазон и после нажатия кнопки, допустим, "ввод данных" он мог продолжить работу с прибором, либо, если данные не входят в диапазон, прочел сообщение в диалоговом окне: в той то строке то-то введено неверно.
Ход моего решения. Сделал для каждой своеобразные фильтры как смог при правильно введенном значении в итоге получаю true, при неправильном - диалоговое окно.
К сожалению не могу придумать способ, при котором пользователя не забрасовало бы диалоговыми окноми без возможности исправить введенные значения. Таймер вводить тоже не вариант
Прошу помочь :wink:
Вложения
Screenshot_1.png
Screenshot_2.png
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Ввести параметры в необходимом диапазоне или диалоговое

Сообщение Borjomy_1 »

У каждого числового контрола, в его свойствах, есть вкладка "Data Entry". Там настраиваются допустимые диапазоны и реакция на выход за их пределы. Используя эти свойства ничего лишнего городить не нужно.
Аватара пользователя
Shamrel
beginner
beginner
Сообщения: 38
Зарегистрирован: 02 мар 2017, 12:15
Версия LabVIEW: 2015

Re: Ввести параметры в необходимом диапазоне или диалоговое

Сообщение Shamrel »

1. Отойдите от магнетрона!
2. Выполняйте проверку введенных значений только по нажатию кнопки.
Hellscream
interested
interested
Сообщения: 3
Зарегистрирован: 10 май 2017, 20:46
Версия LabVIEW: 12
Контактная информация:

Re: Ввести параметры в необходимом диапазоне или диалоговое

Сообщение Hellscream »

Borjomy_1 писал(а):У каждого числового контрола, в его свойствах, есть вкладка "Data Entry". Там настраиваются допустимые диапазоны и реакция на выход за их пределы. Используя эти свойства ничего лишнего городить не нужно.
Что на счёт тех пунктов, где нужно включить, например, блок питания?
Хотелось бы конечно с диалоговыми окнами решить проблему, с data entry несерьезно получается. В официальной программе для устройства нет уже введенных параметров, а с data entry будет уже введено минимальное значение.

Помогите пожалуйста, знающие люди :)
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Ввести параметры в необходимом диапазоне или диалоговое

Сообщение Kosist »

Чтобы пользователя не забрасывало диалоговыми окнами, самое простое решение - это проверять значения не паралельно, как сейчас Вы сделали, а последовательно. Можно во вложенных кейс структурах, где на вкладках True будет следующая проверка, а на False будет выскакивать диалоговое окно. Таким образом, диалог будет лишь один раз, даже если было введено неправильно несколько параметров.
Или же проверяйте значения тоже последовательно, во вложенных структурах; но если какое-то значение неправильное, то не показывайте диалоговое окно, а гененируйте просто строку для диалогового окна. По окончанию проверки, после Case Structure, показывайте всю полученную строку, со всеми сообщениями, если таковые имеются.
Мы делили апельсин - много наших полегло...
Hellscream
interested
interested
Сообщения: 3
Зарегистрирован: 10 май 2017, 20:46
Версия LabVIEW: 12
Контактная информация:

Re: Ввести параметры в необходимом диапазоне или диалоговое

Сообщение Hellscream »

Kosist писал(а):Чтобы пользователя не забрасывало диалоговыми окнами, самое простое решение - это проверять значения не паралельно, как сейчас Вы сделали, а последовательно. Можно во вложенных кейс структурах, где на вкладках True будет следующая проверка, а на False будет выскакивать диалоговое окно. Таким образом, диалог будет лишь один раз, даже если было введено неправильно несколько параметров.
Или же проверяйте значения тоже последовательно, во вложенных структурах; но если какое-то значение неправильное, то не показывайте диалоговое окно, а гененируйте просто строку для диалогового окна. По окончанию проверки, после Case Structure, показывайте всю полученную строку, со всеми сообщениями, если таковые имеются.
Звучит прямо так, как мне нужно. Но в таком случае пользователя возможно будет забрасывать только одним диалоговым окном - первым, ведь изначально в строке будет 0. Если я вас неправильно понял, немогли бы вы показать один маленький пример, а я бы подхватил как-нибудь.
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Ввести параметры в необходимом диапазоне или диалоговое

Сообщение Kosist »

Hellscream писал(а):Звучит прямо так, как мне нужно. Но в таком случае пользователя возможно будет забрасывать только одним диалоговым окном - первым, ведь изначально в строке будет 0. Если я вас неправильно понял, немогли бы вы показать один маленький пример, а я бы подхватил как-нибудь.
Ага, я не обратил внимание на структуру виайки...
Вам нужно использовать Event Structure, посмотрите пример:
verify data.png
Вложения
Enter data.vi
(10.94 КБ) 92 скачивания
Мы делили апельсин - много наших полегло...
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Ввести параметры в необходимом диапазоне или диалоговое

Сообщение Borjomy_1 »

Что на счёт тех пунктов, где нужно включить, например, блок питания?
Хотелось бы конечно с диалоговыми окнами решить проблему, с data entry несерьезно получается. В официальной программе для устройства нет уже введенных параметров, а с data entry будет уже введено минимальное значение.
К чему эти заигрывания с пользователем? Выберите рабочую комбинацию значений и установите их значениями по умолчанию. При вызове VI сбрасывайте FP в состояние по умолчанию. Также обратите внимание на мастер Programming->Dialog & User Interface->Prompt User. Вы можете в общих чертах сформулировать список данных, а потом выбрать на VI на диаграмме Front Panel и получить "стандартный" диалог, который потом можно подредактировать. Либо использовать его как образец. Проверку комбинации значений лучше делать через Event Structure (по событию Value Change). В вашем случае обратите внимание именно на комбинацию значений, а не на диапазоны контролов по отдельности. Наверняка есть недопустимые комбинации
Ответить

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