Индикатор сложения и вычитания
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Индикатор сложения и вычитания
Задача:
Нажатие кнопки 1 = (+1) и 2(= -1) представляет собой счетчик количества нажатий.
Необходимо визуально посредством одного из набора графического индикаторов Numerik отображать результат.
Константы до Select, я не могу менять.
В моем случае индикатор не суммирует значения.
Нажатие кнопки 1 = (+1) и 2(= -1) представляет собой счетчик количества нажатий.
Необходимо визуально посредством одного из набора графического индикаторов Numerik отображать результат.
Константы до Select, я не могу менять.
В моем случае индикатор не суммирует значения.
- Вложения
-
- screenshot 2018-08-03 001.png (5.44 КБ) 6741 просмотр
LabView 14,18
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Индикатор сложения и вычитания
Если проще, то это графический калькулятор с отображением текущего результата
LabView 14,18
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Индикатор сложения и вычитания
Благодарю, к сожалению для меня это громоздкий код, у меня кнопка +1 и -1, которые управляют запуском генератора определенной формы сигналов воздействия на специфический, НЕ DAQ, драйвером логического управления напряжением и мне нужно каким то образом решить прогресс индикацию отображения настроек напряжения.
Думал применить процедуру подсчета нажатий с передачей суммы к прогресс индикатору, но это не работает, индикатор отображает мгновенный импульс +1 и возвращается в 0, задействовать удержание не приемлемо, т.к. требуется фиксация на каждое нажатие.
Возможно существует метод присвоения свойства control к регулятору, где может применяться тот же принцип что и при нажатии кнопки, т.е селективный переключатель? Я здесь нечто похожее нарыл, но он меняет значения с плавающей запятой, в свойствах при отображении кол-ва цифр не рулит, т.е. фактически переход от перврого нажатия к второму это 1,022466 ...99, 2, а не 1 - 2 индикация работает, но сигнал идет непрерывный, а требуется 1 импульс.
Не знаю насколько в.с. доходчиво к пониманию.
Думал применить процедуру подсчета нажатий с передачей суммы к прогресс индикатору, но это не работает, индикатор отображает мгновенный импульс +1 и возвращается в 0, задействовать удержание не приемлемо, т.к. требуется фиксация на каждое нажатие.
Возможно существует метод присвоения свойства control к регулятору, где может применяться тот же принцип что и при нажатии кнопки, т.е селективный переключатель? Я здесь нечто похожее нарыл, но он меняет значения с плавающей запятой, в свойствах при отображении кол-ва цифр не рулит, т.е. фактически переход от перврого нажатия к второму это 1,022466 ...99, 2, а не 1 - 2 индикация работает, но сигнал идет непрерывный, а требуется 1 импульс.
Не знаю насколько в.с. доходчиво к пониманию.
- Вложения
-
- screenshot 2018-08-05 001.png (10.82 КБ) 6653 просмотра
LabView 14,18
-
- professor
- Сообщения: 3409
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Индикатор сложения и вычитания
я вот толком ничего не понял.Select писал(а):Не знаю насколько в.с. доходчиво к пониманию.
Особенно, почему вы ваш код считаете менее громоздким, чем код Blackman-а. Если нужно помнить прошлое значение переменной, то без сдвиговых не обойтись. Ну можно их локальными переменными заменить.
Опять же не понятно, кого вы называете регулятором.
Если вам надо увеличивать на 1 что-то стрелочное (судя по индикатору Meter в первом посте), то и увеличвайте прямо а индикаторе:
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Индикатор сложения и вычитания
Artem.spb,
Нужно построить индикатор, который во время запуска программы, отображает в реальном времени разницу количества нажатия 2 кнопок, при останове сброс на 0.
Пример:
Кнопка "А" была нажата 10 раз, кнопка "В" 3 раза, прогресс бар (или numric indicator) соответствует значению 7.
В качестве альтернативы, возможно есть метод назначения свойства control к элементу типа knob, который при вращении, будет дублировать функцию нажатия определенных кнопок (OK button).
Нужно построить индикатор, который во время запуска программы, отображает в реальном времени разницу количества нажатия 2 кнопок, при останове сброс на 0.
Пример:
Кнопка "А" была нажата 10 раз, кнопка "В" 3 раза, прогресс бар (или numric indicator) соответствует значению 7.
В качестве альтернативы, возможно есть метод назначения свойства control к элементу типа knob, который при вращении, будет дублировать функцию нажатия определенных кнопок (OK button).
LabView 14,18
-
- professor
- Сообщения: 3409
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Индикатор сложения и вычитания
вот вам чудо кастомизации, которое в реальномм времени, причём даже когда программа не запущена, показывает разницу в количестве нажатий между левой и правой кнопками :)
при остановке программы в локальную переменную можно запистаь 0, будет "сброс".
при остановке программы в локальную переменную можно запистаь 0, будет "сброс".
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Индикатор сложения и вычитания
Наверно так хочется, не? Сброс после нажатия кнопки "стоп" прикрутите сами(если оно надо). По старту и так всё обнуляется...
- Вложения
-
- Untitled 1.vi
- (6.67 КБ) 178 скачиваний
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Индикатор сложения и вычитания
Vitekkz88,
Гран мерси, за vi очень красиво
Попытка вывести сигналы boolean за пределы лупа в основной цикл к тем модулям, с которыми они должны взаимодействовать, пораждает крах, какими бы сплиттерами и пр. я не пытался. Проблема в том, что я не представляю как этот луп внедрить в существующий с привязкой к этим кнопкам. Эти 2 мои кнопки в куче с остальными выполняют через селект и add обращение к массивам, те в свою очередь индексируются на выборку параметров к управлению генератором. Я не могу их выдрать из контекста в отдельный луп.
Вот фрагмент моего кода.
В целом проблема индикации напряжения решаема на аппаратном уровне посредством команд от этих кнопок, пришлось менять дизайн железа, чтоб осуществлялся контроль, но я все же уже из спортивного интереса хочу все же додумать такой код с привязкой к своей ситуации.
Гран мерси, за vi очень красиво
Попытка вывести сигналы boolean за пределы лупа в основной цикл к тем модулям, с которыми они должны взаимодействовать, пораждает крах, какими бы сплиттерами и пр. я не пытался. Проблема в том, что я не представляю как этот луп внедрить в существующий с привязкой к этим кнопкам. Эти 2 мои кнопки в куче с остальными выполняют через селект и add обращение к массивам, те в свою очередь индексируются на выборку параметров к управлению генератором. Я не могу их выдрать из контекста в отдельный луп.
Вот фрагмент моего кода.
В целом проблема индикации напряжения решаема на аппаратном уровне посредством команд от этих кнопок, пришлось менять дизайн железа, чтоб осуществлялся контроль, но я все же уже из спортивного интереса хочу все же додумать такой код с привязкой к своей ситуации.
- Вложения
-
- screenshot 2018-08-10 001.png (3.2 КБ) 6446 просмотров
LabView 14,18
-
taras_33
- professional
- Сообщения: 392
- Зарегистрирован: 31 окт 2009, 18:25
- Награды: 1
- Версия LabVIEW: 2019
- Поблагодарили: 13 раз
- Контактная информация:
Re: Индикатор сложения и вычитания
Оно конечно ежели, хотя однако всетаки, но если что коснется вдруг, то вот вам и пожалуйста.
Вот примерно так Вы объясняете, чего добиваетесь. Экстасенсов здесь нет, гадание в програмировании дело неблагодарное, например выложенный законченый vi от Vitekkz88 вы пытаетесь воткнуть в свой законченый vi в итоге имеем два while loop один внутри другого. Конечно ничего работать не будет. Вот здесь я занимаюсь именно этим. Выложите полностью VI, даже если он не рабочий, что бы люди понимали логику работы программы.
Вот примерно так Вы объясняете, чего добиваетесь. Экстасенсов здесь нет, гадание в програмировании дело неблагодарное, например выложенный законченый vi от Vitekkz88 вы пытаетесь воткнуть в свой законченый vi в итоге имеем два while loop один внутри другого. Конечно ничего работать не будет. Вот здесь я занимаюсь именно этим. Выложите полностью VI, даже если он не рабочий, что бы люди понимали логику работы программы.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
So far, the Universe is winning!
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Индикатор сложения и вычитания
Эммм...тут скорее архитектурная проблема самого приложения. Я не совсем понял, что и куда Вы пытаетесь выводить. Вам же просто индикация нужна, верно? Не обязательно аппаратные вещи смешивать с визуальными.Select писал(а):Проблема в том, что я не представляю как этот луп внедрить в существующий с привязкой к этим кнопкам.
Вот у вас есть 2 кнопки: "А" и "В", они помещены в некий основной цикл. Вот у Вас есть задача: посчитать разницу между нажатиями кнопки "А" и кнопки "В". Задача носит чисто визуальный и информативный характер(по крайней мере это так понял я из постановки). Пути решения:
1. Вносим логику решения в основной цикл. Вам не нужно целиком цикл в цикл копировать. Вам от туда логику дёрнуть нужно и добавить к себе. Всё, задача решена.
2. Если хотим в отдельный цикл, то всё немного усложняется:
создаём две очереди(по одной для каждой кнопки), в очередь будем закидывать "true" когда нажали кнопку, иначе ничего не делаем. Во втором цикле будем будем следить: если в какой-либо очереди появился элемент, то начинаем вычитывать и подавать на вход селектора. Да и всё, пожалуй. Будет работать.
3. Использовать event-структуру, как предлагали выше.
Вот я Вам второй вариант покажу, а в остальном сами выбирайте подходящий. Что-то мне подсказывает, что Вам подойдет первый вариант
- Вложения
-
- Untitled 1.vi
- (13.69 КБ) 156 скачиваний
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Индикатор сложения и вычитания
Продублировал рабочий кусок кода в отдельном лупе, который предложил Vitekkz88 он в том же vi, нуждающийся в в.у. индикации по кнопкам "A+" и "B -"taras_33 писал(а):...Вот здесь я занимаюсь именно этим. Выложите полностью VI, даже если он не рабочий, что бы люди понимали логику работы программы.
Полный выставить проблематично, могут за конфликтовать драйвера, отсутсвие тулсов и т.п. Надеюсь это облегчит решение.
- Вложения
-
- Untitled 1.vi
- (78.73 КБ) 175 скачиваний
-
- Sample.png (10.23 КБ) 6377 просмотров
LabView 14,18
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Индикатор сложения и вычитания
Vitekkz88
Краткость - сестра таланта, этот вариант самый удачный , в процессе создания лед бар графа, меня в какой то момент осенило как поступить с твоим кодом, все заработало 1-го пинка, огромное тебе спасибо, оставил китайцев без работы
.Наверно так хочется, не? Сброс после нажатия кнопки "стоп" прикрутите сами(если оно надо). По старту и так всё обнуляется..
Краткость - сестра таланта, этот вариант самый удачный , в процессе создания лед бар графа, меня в какой то момент осенило как поступить с твоим кодом, все заработало 1-го пинка, огромное тебе спасибо, оставил китайцев без работы
LabView 14,18
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Индикатор сложения и вычитания
Select, ну и хорошо, что всё хорошо
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 330 Просмотры
-
Последнее сообщение Maverick_Tomcat