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

Захват, обработка и генерирование сигнала

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

Postby Select on 03 Aug 2018, 15:51

Задача:
Нажатие кнопки 1 = (+1) и 2(= -1) представляет собой счетчик количества нажатий.
Необходимо визуально посредством одного из набора графического индикаторов Numerik отображать результат.
Константы до Select, я не могу менять.
В моем случае индикатор не суммирует значения.
Attachments
screenshot 2018-08-03 001.png
screenshot 2018-08-03 001.png (5.44 KiB) Viewed 1523 times
LabView 14
User avatar
Select
assistant
assistant
 
Posts: 110
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 14
Karma: 0

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

Postby Select on 03 Aug 2018, 15:54

Если проще, то это графический калькулятор с отображением текущего результата
LabView 14
User avatar
Select
assistant
assistant
 
Posts: 110
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 14
Karma: 0

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

Postby Blackman on 03 Aug 2018, 21:30

:think:
Attachments
Simple calc.png
Simple calc.png (25.54 KiB) Viewed 1507 times
Blackman
leader
leader
 
Posts: 802
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

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

Postby Select on 05 Aug 2018, 22:25

Благодарю, к сожалению для меня это громоздкий код, у меня кнопка +1 и -1, которые управляют запуском генератора определенной формы сигналов воздействия на специфический, НЕ DAQ, драйвером логического управления напряжением и мне нужно каким то образом решить прогресс индикацию отображения настроек напряжения.
Думал применить процедуру подсчета нажатий с передачей суммы к прогресс индикатору, но это не работает, индикатор отображает мгновенный импульс +1 и возвращается в 0, задействовать удержание не приемлемо, т.к. требуется фиксация на каждое нажатие.
Возможно существует метод присвоения свойства control к регулятору, где может применяться тот же принцип что и при нажатии кнопки, т.е селективный переключатель? Я здесь нечто похожее нарыл, но он меняет значения с плавающей запятой, в свойствах при отображении кол-ва цифр не рулит, т.е. фактически переход от перврого нажатия к второму это 1,022466 ...99, 2, а не 1 - 2 индикация работает, но сигнал идет непрерывный, а требуется 1 импульс.
Не знаю насколько в.с. доходчиво к пониманию.
Attachments
screenshot 2018-08-05 001.png
screenshot 2018-08-05 001.png (10.82 KiB) Viewed 1435 times
LabView 14
User avatar
Select
assistant
assistant
 
Posts: 110
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 14
Karma: 0

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

Postby Artem.spb on 06 Aug 2018, 09:40

Select wrote:Не знаю насколько в.с. доходчиво к пониманию.

я вот толком ничего не понял.
Особенно, почему вы ваш код считаете менее громоздким, чем код Blackman-а. Если нужно помнить прошлое значение переменной, то без сдвиговых не обойтись. Ну можно их локальными переменными заменить.
Опять же не понятно, кого вы называете регулятором.
Если вам надо увеличивать на 1 что-то стрелочное (судя по индикатору Meter в первом посте), то и увеличвайте прямо а индикаторе:
meter.PNG
meter.PNG (10.1 KiB) Viewed 1402 times
Artem.spb
expert
expert
 
Posts: 1443
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 248
CLD hardware I/O VIP freelance

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

Postby Blackman on 06 Aug 2018, 16:08

Попробую с другого боку)
Attachments
Voltage Level Control.png
Blackman
leader
leader
 
Posts: 802
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

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

Postby Select on 07 Aug 2018, 00:52

Artem.spb,
Нужно построить индикатор, который во время запуска программы, отображает в реальном времени разницу количества нажатия 2 кнопок, при останове сброс на 0.
Пример:
Кнопка "А" была нажата 10 раз, кнопка "В" 3 раза, прогресс бар (или numric indicator) соответствует значению 7.
В качестве альтернативы, возможно есть метод назначения свойства control к элементу типа knob, который при вращении, будет дублировать функцию нажатия определенных кнопок (OK button).
LabView 14
User avatar
Select
assistant
assistant
 
Posts: 110
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 14
Karma: 0

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

Postby Artem.spb on 07 Aug 2018, 10:17

вот вам чудо кастомизации, которое в реальномм времени, причём даже когда программа не запущена, показывает разницу в количестве нажатий между левой и правой кнопками :)
при остановке программы в локальную переменную можно запистаь 0, будет "сброс".
ctrl.PNG
ctrl.PNG (7.82 KiB) Viewed 1334 times
Artem.spb
expert
expert
 
Posts: 1443
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 248
CLD hardware I/O VIP freelance

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

Postby Vitekkz88 on 08 Aug 2018, 04:48

Наверно так хочется, не? Сброс после нажатия кнопки "стоп" прикрутите сами(если оно надо). По старту и так всё обнуляется...
Attachments
Индикатор.png
Untitled 1.vi
(6.67 KiB) Downloaded 19 times
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
expert
expert
 
Posts: 1047
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 301
hardware I/O VIP

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

Postby Select on 10 Aug 2018, 00:42

Vitekkz88,
Гран мерси, за vi :drink: очень красиво
Попытка вывести сигналы boolean за пределы лупа в основной цикл к тем модулям, с которыми они должны взаимодействовать, пораждает крах, какими бы сплиттерами и пр. я не пытался. Проблема в том, что я не представляю как этот луп внедрить в существующий с привязкой к этим кнопкам. Эти 2 мои кнопки в куче с остальными выполняют через селект и add обращение к массивам, те в свою очередь индексируются на выборку параметров к управлению генератором. Я не могу их выдрать из контекста в отдельный луп.
Вот фрагмент моего кода.
В целом проблема индикации напряжения решаема на аппаратном уровне посредством команд от этих кнопок, пришлось менять дизайн железа, чтоб осуществлялся контроль, но я все же уже из спортивного интереса хочу все же додумать такой код с привязкой к своей ситуации.
Attachments
screenshot 2018-08-10 001.png
screenshot 2018-08-10 001.png (3.2 KiB) Viewed 1228 times
LabView 14
User avatar
Select
assistant
assistant
 
Posts: 110
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 14
Karma: 0

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

Postby taras_33 on 10 Aug 2018, 14:06

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

Вот примерно так Вы объясняете, чего добиваетесь. Экстасенсов здесь нет, гадание в програмировании дело неблагодарное, например выложенный законченый 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!
User avatar
taras_33
developer
developer
 
Posts: 256
Joined: 31 Oct 2009, 18:25
Location: Minsk -> Miami
Medals: 1
Activity (1)
LabVIEW Version: 2016
Karma: 121
CLD VIP

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

Postby Vitekkz88 on 10 Aug 2018, 14:39

Select писал(а):Проблема в том, что я не представляю как этот луп внедрить в существующий с привязкой к этим кнопкам.

Эммм...тут скорее архитектурная проблема самого приложения. Я не совсем понял, что и куда Вы пытаетесь выводить. Вам же просто индикация нужна, верно? Не обязательно аппаратные вещи смешивать с визуальными.
Вот у вас есть 2 кнопки: "А" и "В", они помещены в некий основной цикл. Вот у Вас есть задача: посчитать разницу между нажатиями кнопки "А" и кнопки "В". Задача носит чисто визуальный и информативный характер(по крайней мере это так понял я из постановки). Пути решения:
1. Вносим логику решения в основной цикл. Вам не нужно целиком цикл в цикл копировать. Вам от туда логику дёрнуть нужно и добавить к себе. Всё, задача решена.
2. Если хотим в отдельный цикл, то всё немного усложняется:
создаём две очереди(по одной для каждой кнопки), в очередь будем закидывать "true" когда нажали кнопку, иначе ничего не делаем. Во втором цикле будем будем следить: если в какой-либо очереди появился элемент, то начинаем вычитывать и подавать на вход селектора. Да и всё, пожалуй. Будет работать.
3. Использовать event-структуру, как предлагали выше.
Вот я Вам второй вариант покажу, а в остальном сами выбирайте подходящий. Что-то мне подсказывает, что Вам подойдет первый вариант :crazy:
Attachments
Индикатор.png
Untitled 1.vi
(13.69 KiB) Downloaded 18 times
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
expert
expert
 
Posts: 1047
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 301
hardware I/O VIP

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

Postby Select on 11 Aug 2018, 12:05

taras_33 wrote:...Вот здесь я занимаюсь именно этим. Выложите полностью VI, даже если он не рабочий, что бы люди понимали логику работы программы.


Продублировал рабочий кусок кода в отдельном лупе, который предложил Vitekkz88 он в том же vi, нуждающийся в в.у. индикации по кнопкам "A+" и "B -"
Полный выставить проблематично, могут за конфликтовать драйвера, отсутсвие тулсов и т.п. Надеюсь это облегчит решение. :drink:
Attachments
Untitled 1.vi
(78.73 KiB) Downloaded 16 times
Sample.png
Sample.png (10.23 KiB) Viewed 1158 times
LabView 14
User avatar
Select
assistant
assistant
 
Posts: 110
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 14
Karma: 0

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

Postby Select on 12 Aug 2018, 21:09

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

Краткость - сестра таланта, этот вариант самый удачный , в процессе создания лед бар графа, меня в какой то момент осенило как поступить с твоим кодом, все заработало 1-го пинка, огромное тебе спасибо, оставил китайцев без работы :drink:
LabView 14
User avatar
Select
assistant
assistant
 
Posts: 110
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 14
Karma: 0

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

Postby Vitekkz88 on 13 Aug 2018, 04:55

Select, ну и хорошо, что всё хорошо :super:
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
expert
expert
 
Posts: 1047
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 301
hardware I/O VIP

Next

Return to Обработка сигнала

Who is online

Users browsing this forum: alerm and 4 guests

cron