Индикатор сложения и вычитания

Захват, обработка и генерирование сигнала
Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Индикатор сложения и вычитания

Сообщение Select »

Задача:
Нажатие кнопки 1 = (+1) и 2(= -1) представляет собой счетчик количества нажатий.
Необходимо визуально посредством одного из набора графического индикаторов Numerik отображать результат.
Константы до Select, я не могу менять.
В моем случае индикатор не суммирует значения.
Вложения
screenshot 2018-08-03 001.png
screenshot 2018-08-03 001.png (5.44 КБ) 3952 просмотра
LabView 14

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Индикатор сложения и вычитания

Сообщение Select »

Если проще, то это графический калькулятор с отображением текущего результата
LabView 14

Blackman

Activity
leader
leader
Сообщения: 917
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Репутация: 0
Версия LabVIEW: 6.1,8.5,20
Контактная информация:

Re: Индикатор сложения и вычитания

Сообщение Blackman »

:think:
Вложения
Simple calc.png
Simple calc.png (25.54 КБ) 3936 просмотров

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Индикатор сложения и вычитания

Сообщение Select »

Благодарю, к сожалению для меня это громоздкий код, у меня кнопка +1 и -1, которые управляют запуском генератора определенной формы сигналов воздействия на специфический, НЕ DAQ, драйвером логического управления напряжением и мне нужно каким то образом решить прогресс индикацию отображения настроек напряжения.
Думал применить процедуру подсчета нажатий с передачей суммы к прогресс индикатору, но это не работает, индикатор отображает мгновенный импульс +1 и возвращается в 0, задействовать удержание не приемлемо, т.к. требуется фиксация на каждое нажатие.
Возможно существует метод присвоения свойства control к регулятору, где может применяться тот же принцип что и при нажатии кнопки, т.е селективный переключатель? Я здесь нечто похожее нарыл, но он меняет значения с плавающей запятой, в свойствах при отображении кол-ва цифр не рулит, т.е. фактически переход от перврого нажатия к второму это 1,022466 ...99, 2, а не 1 - 2 индикация работает, но сигнал идет непрерывный, а требуется 1 импульс.
Не знаю насколько в.с. доходчиво к пониманию.
Вложения
screenshot 2018-08-05 001.png
screenshot 2018-08-05 001.png (10.82 КБ) 3864 просмотра
LabView 14

Artem.spb

Activity Автор
expert
expert
Сообщения: 1874
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Репутация: 0
Версия LabVIEW: 12-18
Контактная информация:

Re: Индикатор сложения и вычитания

Сообщение Artem.spb »

Select писал(а):Не знаю насколько в.с. доходчиво к пониманию.
я вот толком ничего не понял.
Особенно, почему вы ваш код считаете менее громоздким, чем код Blackman-а. Если нужно помнить прошлое значение переменной, то без сдвиговых не обойтись. Ну можно их локальными переменными заменить.
Опять же не понятно, кого вы называете регулятором.
Если вам надо увеличивать на 1 что-то стрелочное (судя по индикатору Meter в первом посте), то и увеличвайте прямо а индикаторе:
meter.PNG
meter.PNG (10.1 КБ) 3831 просмотр

Blackman

Activity
leader
leader
Сообщения: 917
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Репутация: 0
Версия LabVIEW: 6.1,8.5,20
Контактная информация:

Re: Индикатор сложения и вычитания

Сообщение Blackman »

Попробую с другого боку)
Вложения
Voltage Level Control.png

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Индикатор сложения и вычитания

Сообщение Select »

Artem.spb,
Нужно построить индикатор, который во время запуска программы, отображает в реальном времени разницу количества нажатия 2 кнопок, при останове сброс на 0.
Пример:
Кнопка "А" была нажата 10 раз, кнопка "В" 3 раза, прогресс бар (или numric indicator) соответствует значению 7.
В качестве альтернативы, возможно есть метод назначения свойства control к элементу типа knob, который при вращении, будет дублировать функцию нажатия определенных кнопок (OK button).
LabView 14

Artem.spb

Activity Автор
expert
expert
Сообщения: 1874
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Репутация: 0
Версия LabVIEW: 12-18
Контактная информация:

Re: Индикатор сложения и вычитания

Сообщение Artem.spb »

вот вам чудо кастомизации, которое в реальномм времени, причём даже когда программа не запущена, показывает разницу в количестве нажатий между левой и правой кнопками :)
при остановке программы в локальную переменную можно запистаь 0, будет "сброс".
ctrl.PNG
ctrl.PNG (7.82 КБ) 3763 просмотра

Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1099
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Репутация: 0
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Индикатор сложения и вычитания

Сообщение Vitekkz88 »

Наверно так хочется, не? Сброс после нажатия кнопки "стоп" прикрутите сами(если оно надо). По старту и так всё обнуляется...
Вложения
Индикатор.png
Untitled 1.vi
(6.67 КБ) 60 скачиваний
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Индикатор сложения и вычитания

Сообщение Select »

Vitekkz88,
Гран мерси, за vi :drink: очень красиво
Попытка вывести сигналы boolean за пределы лупа в основной цикл к тем модулям, с которыми они должны взаимодействовать, пораждает крах, какими бы сплиттерами и пр. я не пытался. Проблема в том, что я не представляю как этот луп внедрить в существующий с привязкой к этим кнопкам. Эти 2 мои кнопки в куче с остальными выполняют через селект и add обращение к массивам, те в свою очередь индексируются на выборку параметров к управлению генератором. Я не могу их выдрать из контекста в отдельный луп.
Вот фрагмент моего кода.
В целом проблема индикации напряжения решаема на аппаратном уровне посредством команд от этих кнопок, пришлось менять дизайн железа, чтоб осуществлялся контроль, но я все же уже из спортивного интереса хочу все же додумать такой код с привязкой к своей ситуации.
Вложения
screenshot 2018-08-10 001.png
screenshot 2018-08-10 001.png (3.2 КБ) 3657 просмотров
LabView 14

Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 337
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Репутация: 0
Версия LabVIEW: 2019
Контактная информация:

Re: Индикатор сложения и вычитания

Сообщение taras_33 »

Оно конечно ежели, хотя однако всетаки, но если что коснется вдруг, то вот вам и пожалуйста.

Вот примерно так Вы объясняете, чего добиваетесь. Экстасенсов здесь нет, гадание в програмировании дело неблагодарное, например выложенный законченый 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!

Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1099
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Репутация: 0
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Индикатор сложения и вычитания

Сообщение Vitekkz88 »

Select писал(а):Проблема в том, что я не представляю как этот луп внедрить в существующий с привязкой к этим кнопкам.
Эммм...тут скорее архитектурная проблема самого приложения. Я не совсем понял, что и куда Вы пытаетесь выводить. Вам же просто индикация нужна, верно? Не обязательно аппаратные вещи смешивать с визуальными.
Вот у вас есть 2 кнопки: "А" и "В", они помещены в некий основной цикл. Вот у Вас есть задача: посчитать разницу между нажатиями кнопки "А" и кнопки "В". Задача носит чисто визуальный и информативный характер(по крайней мере это так понял я из постановки). Пути решения:
1. Вносим логику решения в основной цикл. Вам не нужно целиком цикл в цикл копировать. Вам от туда логику дёрнуть нужно и добавить к себе. Всё, задача решена.
2. Если хотим в отдельный цикл, то всё немного усложняется:
создаём две очереди(по одной для каждой кнопки), в очередь будем закидывать "true" когда нажали кнопку, иначе ничего не делаем. Во втором цикле будем будем следить: если в какой-либо очереди появился элемент, то начинаем вычитывать и подавать на вход селектора. Да и всё, пожалуй. Будет работать.
3. Использовать event-структуру, как предлагали выше.
Вот я Вам второй вариант покажу, а в остальном сами выбирайте подходящий. Что-то мне подсказывает, что Вам подойдет первый вариант :crazy:
Вложения
Индикатор.png
Untitled 1.vi
(13.69 КБ) 63 скачивания
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Индикатор сложения и вычитания

Сообщение Select »

taras_33 писал(а):...Вот здесь я занимаюсь именно этим. Выложите полностью VI, даже если он не рабочий, что бы люди понимали логику работы программы.
Продублировал рабочий кусок кода в отдельном лупе, который предложил Vitekkz88 он в том же vi, нуждающийся в в.у. индикации по кнопкам "A+" и "B -"
Полный выставить проблематично, могут за конфликтовать драйвера, отсутсвие тулсов и т.п. Надеюсь это облегчит решение. :drink:
Вложения
Untitled 1.vi
(78.73 КБ) 58 скачиваний
Sample.png
Sample.png (10.23 КБ) 3588 просмотров
LabView 14

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Индикатор сложения и вычитания

Сообщение Select »

Vitekkz88
Наверно так хочется, не? Сброс после нажатия кнопки "стоп" прикрутите сами(если оно надо). По старту и так всё обнуляется..
.

Краткость - сестра таланта, этот вариант самый удачный , в процессе создания лед бар графа, меня в какой то момент осенило как поступить с твоим кодом, все заработало 1-го пинка, огромное тебе спасибо, оставил китайцев без работы :drink:
LabView 14

Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1099
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Репутация: 0
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Индикатор сложения и вычитания

Сообщение Vitekkz88 »

Select, ну и хорошо, что всё хорошо :super:
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын

Ответить

Вернуться в «Обработка сигнала»