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

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

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

Сообщение Select »

Задача:
Нажатие кнопки 1 = (+1) и 2(= -1) представляет собой счетчик количества нажатий.
Необходимо визуально посредством одного из набора графического индикаторов Numerik отображать результат.
Константы до Select, я не могу менять.
В моем случае индикатор не суммирует значения.
Вложения
screenshot 2018-08-03 001.png
screenshot 2018-08-03 001.png (5.44 КБ) 6339 просмотров
LabView 14,18
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

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

Сообщение Select »

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

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

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

Сообщение Blackman »

:think:
Вложения
Simple calc.png
Simple calc.png (25.54 КБ) 6323 просмотра
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

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 КБ) 6251 просмотр
LabView 14,18
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

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

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

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

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

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

Сообщение Blackman »

Попробую с другого боку)
Вложения
Voltage Level Control.png
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

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

Сообщение Select »

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

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

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

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

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

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

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

Сообщение Vitekkz88 »

Наверно так хочется, не? Сброс после нажатия кнопки "стоп" прикрутите сами(если оно надо). По старту и так всё обнуляется...
Вложения
Индикатор.png
Untitled 1.vi
(6.67 КБ) 169 скачиваний
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

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

Сообщение Select »

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

Activity
professional
professional
Сообщения: 391
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

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
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

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

Сообщение Vitekkz88 »

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

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

Сообщение Select »

taras_33 писал(а):...Вот здесь я занимаюсь именно этим. Выложите полностью VI, даже если он не рабочий, что бы люди понимали логику работы программы.
Продублировал рабочий кусок кода в отдельном лупе, который предложил Vitekkz88 он в том же vi, нуждающийся в в.у. индикации по кнопкам "A+" и "B -"
Полный выставить проблематично, могут за конфликтовать драйвера, отсутсвие тулсов и т.п. Надеюсь это облегчит решение. :drink:
Вложения
Untitled 1.vi
(78.73 КБ) 165 скачиваний
Sample.png
Sample.png (10.23 КБ) 5975 просмотров
LabView 14,18
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

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

Сообщение Select »

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

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

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

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

Сообщение Vitekkz88 »

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

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