Интерфейс осциллографа

Обсуждение, связанное с разработкой ПО верхнего уровня
Аватара пользователя
zxc_pavel
adviser
adviser
Сообщения: 242
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 23 раза
Контактная информация:

Интерфейс осциллографа

Сообщение zxc_pavel »

Купил на али недорогой usb-осциллограф hantek с полосой 250 МГц и встроенным синтезатором.
Написал программу, добавил туда анализатор спектра и измерение АЧХ.

Старался сделать красивый и удобный интерфейс (на мой вкус), что редко увидишь в оригинальных программах.
Записал видео, правда на английском, где рассказываю что сделал и как запрограммировал.




В программе есть демо-режим (если нет осциллографа), правда некоторые функции я урезал.
Папка больше 5Mb, поэтому оставлю ссылку на диск, также под роликом на ютубе есть ссылка на гитхаб.



В общем, если кто-то захочет купить себе такой осциллограф или просто интересно, что я сделал - смотрите/пишите :wink:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Интерфейс осциллографа

Сообщение IvanLis »

zxc_pavel писал(а): 16 апр 2021, 16:28 Купил на али недорогой usb-осциллограф hantek с полосой 250 МГц и встроенным синтезатором.
Смотрится достойно :super:
Если не секрет, что за модель с такими характеристиками, за небольшие деньги?
Аватара пользователя
zxc_pavel
adviser
adviser
Сообщения: 242
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 23 раза
Контактная информация:

Re: Интерфейс осциллографа

Сообщение zxc_pavel »

Если не секрет, что за модель с такими характеристиками, за небольшие деньги?
6254BD, характеристики действительно классные за такую цену, но есть недостатки - калибровать нужно и документация на sdk отвратительная, некоторые вещи я так и не догадался как сделать

https://aliexpress.ru/item/400018760611 ... 0699636829
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Интерфейс осциллографа

Сообщение jane_wild »

Посмотрела видео... Можно спросить 24:33 Вы сказали I also understand that the event structure is convenient in LabVIEW, but I decided not to use it because I don't want to можно узнать почему?
Аватара пользователя
zxc_pavel
adviser
adviser
Сообщения: 242
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 23 раза
Контактная информация:

Re: Интерфейс осциллографа

Сообщение zxc_pavel »

Посмотрела видео... Можно спросить 24:33 Вы сказали I also understand that the event structure is convenient in LabVIEW, but I decided not to use it because I don't want to можно узнать почему?
Я вначале хотел, но решил, что особых преимуществ это мне не даст. Хотел разделить UI и коммуникацию с устройством.
Каждый цикл я выполняю чтение контролов (не всех, их немного) + чтение буфера осциллографа. Остальные программы выполняются только по требованию "одноразово". Самое главное, что я проверял постоянно - чтобы на скорость не влияло. Если бы увидел проблемы - переделывал бы.

Ну и мне просто внешний вид не очень нравится. Код менее симпатичный становится (на мой вкус).

Вот я хотел где использовать эвенты. Наверное, это помогло бы
1604.png
Когда наводишь мышкой на контрол, я хотел, чтобы цвет контрола менялся. Есть возможность в event сделать событие mouse enter и все будет работать. Но я бы хотел сделать эвент в подпрограмме, и не загромождать главную. А это невозможно, что грустно - нельзя делать эвент на контрол, которого нет в данной vi. В итоге без него сделал.
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Интерфейс осциллографа

Сообщение jane_wild »

zxc_pavel писал(а): 16 апр 2021, 20:42 А это невозможно, что грустно - нельзя делать эвент на контрол, которого нет в данной vi. В итоге без него сделал.
Здесь видимо помогли бы юзер ивенты. Мышкой навели навели на CTL в главной программе -> сработало mouse enter -> сгенерировали UE -> которая обабатывается в subVI меняя цвет...

SDK продавался вместе с осцилографом на какой нибудь флешке, или его можно скачать в открытом доступе? Если да, поделитесь ссылкой пожалуйста
Аватара пользователя
zxc_pavel
adviser
adviser
Сообщения: 242
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 23 раза
Контактная информация:

Re: Интерфейс осциллографа

Сообщение zxc_pavel »

SDK продавался вместе с осцилографом на какой нибудь флешке, или его можно скачать в открытом доступе?

https://github.com/Yudin-Pavel/Scope
Original Software

А так на сайте производителя есть.
Artem.spb

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

Re: Интерфейс осциллографа

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

zxc_pavel писал(а): 16 апр 2021, 20:42 А это невозможно, что грустно - нельзя делать эвент на контрол, которого нет в данной vi. В итоге без него сделал.
Клевета и поклёп на события :)
Если отправить в саб (или любым другим способом добыть там) ссылку на контрол, то можно ловить все те же события, что и в оригинале
events.png
Аватара пользователя
zxc_pavel
adviser
adviser
Сообщения: 242
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 23 раза
Контактная информация:

Re: Интерфейс осциллографа

Сообщение zxc_pavel »

Artem.spb писал(а): 18 апр 2021, 02:50
zxc_pavel писал(а): 16 апр 2021, 20:42 А это невозможно, что грустно - нельзя делать эвент на контрол, которого нет в данной vi. В итоге без него сделал.
Клевета и поклёп на события :)
Если отправить в саб (или любым другим способом добыть там) ссылку на контрол, то можно ловить все те же события, что и в оригинале
events.png
Я не знал, спасибо :)
angel1024
interested
interested
Сообщения: 2
Зарегистрирован: 25 ноя 2021, 12:11
Версия LabVIEW: 2015
Контактная информация:

Re: Интерфейс осциллографа

Сообщение angel1024 »

Классная приложенька но нужно многое допиливать.
Ну оно (scope app) просит поставить labview runtime 2015, если просто запустить экзашник на компе без LV. Это не есть гуд, если приложение самостоятельное то ничего доустановить оно требовать не должно...
если разрешение экрана меньше 1920х1080 или включено масштабирование то в открытом окошке помещается только часть интерфейса. Он автоматически не масштабируется под размер окна. Это не очень хорошо.
Не сохраняет настройки, если приложение перезапустить то настройки щупов, развертки и тд будут сброшены по умолчанию и придется их выставлять заново.
При работе с генератором нельзя выставлять дробные значения частот. например нельзя выставить 1.1МГц можно либо 1 либо 2, при подстройке устройства бывает неудобно использовать только целые значения, а то что с клавиатуры стрелками курсора можно менять частоту - то это просто супер! в оригинальной приложеньке этого не хватало. Осталось довести до ума шаг чтобы можно было регулировать и с шагом до 1 Гц и кГц и МГц. Например можно было вбить с клавиатуры 1.1кГц а потом стрелками курсора менять 1.2,1.3 и тд или например вбить 1.01 и стрелками менять 1.02,1.03
Measurments - Vmax и Frequence не отображается в таблице.
Нет режима самописца. Иногда бывает удобно записать а потом смотреть сигнал, как на логических анализаторах реализовано, чтобы оно в компьютер записывало а потом можно было скроллить и смотреть изменения, без потери детализации сигнала.
Режимы курсора надо будет еще подкрутить чтобы по возможностям не уступали оригинальному софту.
Artem.spb

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

Re: Интерфейс осциллографа

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

angel1024 писал(а): 25 ноя 2021, 12:46 Ну оно (scope app) просит поставить labview runtime 2015, если просто запустить экзашник на компе без LV. Это не есть гуд, если приложение самостоятельное то ничего доустановить оно требовать не должно...
Вы, видимо, вообще не в теме происходящего в мире софта.
Попробуйте запустить .net приложение на совсем голой винде, и узнаете, что "внезапно" нужно поставить .net run-time. А не знаете вы это потому что винда обычно принудительно сама всё ставит.
Та же история с java. Тоде почему-то требует java-машну доустановить.
Да и вообще, мало какие программы можно просто перенести на другую машину, все установки требуют, а что они там и куда пишут - одному разработчику известно (а иногда и ему не ведомо).
angel1024
interested
interested
Сообщения: 2
Зарегистрирован: 25 ноя 2021, 12:11
Версия LabVIEW: 2015
Контактная информация:

Re: Интерфейс осциллографа

Сообщение angel1024 »

Artem.spb писал(а): 25 ноя 2021, 15:45 Да и вообще, мало какие программы можно просто перенести на другую машину, все установки требуют, а что они там и куда пишут - одному разработчику известно (а иногда и ему не ведомо).
Да в принципе пускай ставит, только этот рантайм весит пол гига. А эта приложенька из того полгига использует поди несколько библиотек общим весом с десяток мегабайт и всё. Планшет у меня просто с 128 гиговым ССДшником всего :)
Sergey Puzanov
assistant
assistant
Сообщения: 118
Зарегистрирован: 05 ноя 2020, 08:26
Версия LabVIEW: 18, 20.0f1
Благодарил (а): 23 раза
Поблагодарили: 4 раза
Контактная информация:

Re: Интерфейс осциллографа

Сообщение Sergey Puzanov »

angel1024 писал(а): 01 дек 2021, 05:33 этот рантайм весит пол гига
В почти 2022 году удивляться, что программы весят по полгига и больше - Вы давно в интернеты заглядывали? Тем более, когда речь идёт о различного рода IDE/RunTime, очевидно, что библиотек там гораздо больше, чем требует отдельно взятое приложение, но зато каждое из них может быть запущено.
Аватара пользователя
Kosist

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

Re: Интерфейс осциллографа

Сообщение Kosist »

angel1024 писал(а): 01 дек 2021, 05:33 Да в принципе пускай ставит, только этот рантайм весит пол гига. А эта приложенька из того полгига использует поди несколько библиотек общим весом с десяток мегабайт и всё. Планшет у меня просто с 128 гиговым ССДшником всего :)
Если Вас волнует эта тема, то тогда почитайте Как запустить приложение (*.exe) без установки Run-Time
Ну и для 128 ГБ все равно, :labview: рантайм установить можно - места хватит всем :haha:
Мы делили апельсин - много наших полегло...
Аватара пользователя
zxc_pavel
adviser
adviser
Сообщения: 242
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 23 раза
Контактная информация:

Re: Интерфейс осциллографа

Сообщение zxc_pavel »

angel1024 писал(а): 25 ноя 2021, 12:46 если разрешение экрана меньше 1920х1080 или включено масштабирование то в открытом окошке помещается только часть интерфейса. Он автоматически не масштабируется под размер окна. Это не очень хорошо.
Не сохраняет настройки, если приложение перезапустить то настройки щупов, развертки и тд будут сброшены по умолчанию и придется их выставлять заново.
angel1024 писал(а): 25 ноя 2021, 12:46 Нет режима самописца. Иногда бывает удобно записать а потом смотреть сигнал, как на логических анализаторах реализовано, чтобы оно в компьютер записывало а потом можно было скроллить и смотреть изменения, без потери детализации сигнала.
Согласен, это полезно.
angel1024 писал(а): 25 ноя 2021, 12:46 При работе с генератором нельзя выставлять дробные значения частот. например нельзя выставить 1.1МГц можно либо 1 либо 2. Measurments - Vmax и Frequence не отображается в таблице.
У меня и то и то работает, попробуйте не точку, а запятую. Может еще в настройках LV (localized decimal point) влияет.


Большое спасибо за отзыв)
Я не писал и не пишу программы для кого-то, поэтому нет опыта и естественно есть косяки. Из-за этого и выложил исходники и постарался сделать красивый читаемый код, чтобы можно было подправить.
Ответить

Вернуться в «Лицевая панель»