Программное обеспечение для осциллографа Velleman HPS40
Posted: 01 Feb 2009 00:43
Ранее я описывал, как подключить осциллограф Velleman HPS40 к компьютеру через USB. Теперь хочу немного написать про софт, который мне пришлось написать взамен тому, что предлагает Velleman.
Всё началось с поиска протокола обмена HPS40 и компьютера. Оказалось это не так уж и сложно. С помощью гугла и 15 минут времени был найден вот такой документ: hps40serialprotocols.txt. Это то что было нужно! На всякий случай я его продублирую у себя: hps40serialprotocols.rar качайте во вложениях. Правда до получения этого документя я уже порядком подразобрался в получаемых данных, но с ним стало всё значительно прозрачнее.
Далее, немного покодив, получаем вот такую программу. Пока это версия 1.2 и умеет она только:
- получать данные в бинарном виде (графики - "снимков" экрана и реального времени).
- Скриншоты (картинка в BMP формате размером 192*112.
не умеет:
- получать данные в текстовом виде.
- сохранять данные в текстовом виде.
Элементы управления: Port - Выбор COM порта, к которому подключен осциллограф.
Run - запускает процесс анализа получаемых из порта данных.
Stop after one pass - останавливает процесс получения данных, после получения "снимка" экрана.
Demo - режим демонстрации получения данных. Можно использовать для ознакомления с возможностями программы. Null Line - отображает линию "0" напряжения на графике.
Snapshot - Отображать или нет полученные "снимки" экрана.
Realtime - Отображать или нет полученные данные в реальном времени.
Цветные кнопки, расположенные справа служат для изменения цвета отображения соответствующих линий на графике. Cursor - отображение курсора для более точного позиционирования на графике.
Without binding - не привязывать курсор.
Bind to Snapshot - привязывать курсор и маркеры к графику "снимка".
Bind to Realtime - привязывать курсор и маркеры к графику реального времени.
Работа с маркерами. На графике можно ставить маркеры для более детального анализа. Левой кнопкой мышки устанавливаем маркер 1, правой - маркер 2. Если выбран график "Snapshot" и нажата левая кнопка мышки, то в графы U1 и t1 будут занесены соответствующие данные с графика "снимка". Если кликнуть правой кнопкой мыши, то в графы U2 и t2 будут занесены соответствующие данные. Если уже выбраны данные U1 и U2, то ниже отобразиться параметр dU = |U2 - U1|. Также и с t1, t2. dt = t2 - t1. Параметр F (частота) вычисляется исходя из формулы F = 1 / dt. Точно так же для графика "Realtime". Кнопки Reset служат для сброса параметров соответствующего графика.
Кликая мышью на цветные кнопки рядом с параметрами можно задать цвет отображения соответствующего маркера.
Кнопка "ScreenShot" открывает форму, где можно посмотреть сохранённые скриншоты, которые передал осциллограф в виде картинки.
Кнопка "Reset Settings" служит для сброса всех настроек по умолчанию (цвета линий и т.д.).
Просмотр скриншотов.
Осциллограф передаёт снимок экрана в виде картинки размером 192*112 пикселей. Передачу он начинает, если нажать и удерживать кнопку "Memory" на приборе. Получив скриншот программа сохраняет её на диске в папке, где расположена программа, подпапка "screenshot" и открывает окно просмотра полученной картинки: Сверху можно видеть полученную картинку. Ниже расположен список полученных и сохранённых файлов. Можно просмотреть нужную картинку выбрав её из списка.
В самом низу расположен переключатель увеличения картинки:
192*112 - картинка будет отображена в том разрешении, в котором получена.
384*224 - картинка будет увеличена вдвое, для того, чтобы её можно было лучше рассмотреть.
Это окно появляется автоматически, при получении картинки из прибора, либо его можно открыть нажав кнопку "Screenshot" в главном окне.
Оказалось, что осциллограф передаёт не только "снимки" графика (по окончании измерения одного экрана), а и в реальном времени. Правда не на всех пределах, а только от 20 mS/div и выше - до 1h/div. Но это тоже удобно, когда нужно анализировать медленно изменяющийся процесс. Например на пределе 10с/дел полный экран это 255 секунд (более 4 минут), и ждать, пока осциллограф "домеряет" до конца экрана грустно. А если включить опцию "Realtime", то на графике будут отображаться данные получаемые в реальном времени. Правда буфер у осциллографа всего 256 байт, поэтому на всю развёртку (255 секунд) мы получим всего 256 точек. Но и это замечательно! На пределах 20 и 50 миллисекунд в этом режиме нет надобности, да и на слабых машинах может не пойти.
Режим "Demo".
Этот режим можно использовать, для ознакомления с возможностями программы, не подключая осциллограф к компьютеру. В этом режиме рисуется случайный график, который потом можно проанализировать с помощью маркеров. Естественно в этом режиме данные не получаются с прибора, а генерируются программно.
Послесловие.
Программа будет развиваться, но не очень интенсивно, т.к. нет особенных идей по улучшению. Если есть идеи или предложения - пишите!.
Работает только с приборами Velleman HPS40. Испытание было произведено на приборе подключенном к порту COM1 на стационарном компьютере, также успешно работает на ноутбуке через USB порт после доработки осциллографа.
Чуть не забыл! Вот сама программа: HPS40.rar (v1.2.0 build #2). Распаковать (WinRAR v >= 3.8), положить в любую директорию. В процессе работы программа ничего не пишет в реестр, но создаёт файл настроек (hps40.ini) и папку со скриншотами в той же директории, что лежит сама.
Исходники большого секрета не представляют, но получить их можно только по e-mail немного рассказав зачем они Вам понадобились.
Всё началось с поиска протокола обмена HPS40 и компьютера. Оказалось это не так уж и сложно. С помощью гугла и 15 минут времени был найден вот такой документ: hps40serialprotocols.txt. Это то что было нужно! На всякий случай я его продублирую у себя: hps40serialprotocols.rar качайте во вложениях. Правда до получения этого документя я уже порядком подразобрался в получаемых данных, но с ним стало всё значительно прозрачнее.
Далее, немного покодив, получаем вот такую программу. Пока это версия 1.2 и умеет она только:
- получать данные в бинарном виде (графики - "снимков" экрана и реального времени).
- Скриншоты (картинка в BMP формате размером 192*112.
не умеет:
- получать данные в текстовом виде.
- сохранять данные в текстовом виде.
Элементы управления: Port - Выбор COM порта, к которому подключен осциллограф.
Run - запускает процесс анализа получаемых из порта данных.
Stop after one pass - останавливает процесс получения данных, после получения "снимка" экрана.
Demo - режим демонстрации получения данных. Можно использовать для ознакомления с возможностями программы. Null Line - отображает линию "0" напряжения на графике.
Snapshot - Отображать или нет полученные "снимки" экрана.
Realtime - Отображать или нет полученные данные в реальном времени.
Цветные кнопки, расположенные справа служат для изменения цвета отображения соответствующих линий на графике. Cursor - отображение курсора для более точного позиционирования на графике.
Without binding - не привязывать курсор.
Bind to Snapshot - привязывать курсор и маркеры к графику "снимка".
Bind to Realtime - привязывать курсор и маркеры к графику реального времени.
Работа с маркерами. На графике можно ставить маркеры для более детального анализа. Левой кнопкой мышки устанавливаем маркер 1, правой - маркер 2. Если выбран график "Snapshot" и нажата левая кнопка мышки, то в графы U1 и t1 будут занесены соответствующие данные с графика "снимка". Если кликнуть правой кнопкой мыши, то в графы U2 и t2 будут занесены соответствующие данные. Если уже выбраны данные U1 и U2, то ниже отобразиться параметр dU = |U2 - U1|. Также и с t1, t2. dt = t2 - t1. Параметр F (частота) вычисляется исходя из формулы F = 1 / dt. Точно так же для графика "Realtime". Кнопки Reset служат для сброса параметров соответствующего графика.
Кликая мышью на цветные кнопки рядом с параметрами можно задать цвет отображения соответствующего маркера.
Кнопка "ScreenShot" открывает форму, где можно посмотреть сохранённые скриншоты, которые передал осциллограф в виде картинки.
Кнопка "Reset Settings" служит для сброса всех настроек по умолчанию (цвета линий и т.д.).
Просмотр скриншотов.
Осциллограф передаёт снимок экрана в виде картинки размером 192*112 пикселей. Передачу он начинает, если нажать и удерживать кнопку "Memory" на приборе. Получив скриншот программа сохраняет её на диске в папке, где расположена программа, подпапка "screenshot" и открывает окно просмотра полученной картинки: Сверху можно видеть полученную картинку. Ниже расположен список полученных и сохранённых файлов. Можно просмотреть нужную картинку выбрав её из списка.
В самом низу расположен переключатель увеличения картинки:
192*112 - картинка будет отображена в том разрешении, в котором получена.
384*224 - картинка будет увеличена вдвое, для того, чтобы её можно было лучше рассмотреть.
Это окно появляется автоматически, при получении картинки из прибора, либо его можно открыть нажав кнопку "Screenshot" в главном окне.
Оказалось, что осциллограф передаёт не только "снимки" графика (по окончании измерения одного экрана), а и в реальном времени. Правда не на всех пределах, а только от 20 mS/div и выше - до 1h/div. Но это тоже удобно, когда нужно анализировать медленно изменяющийся процесс. Например на пределе 10с/дел полный экран это 255 секунд (более 4 минут), и ждать, пока осциллограф "домеряет" до конца экрана грустно. А если включить опцию "Realtime", то на графике будут отображаться данные получаемые в реальном времени. Правда буфер у осциллографа всего 256 байт, поэтому на всю развёртку (255 секунд) мы получим всего 256 точек. Но и это замечательно! На пределах 20 и 50 миллисекунд в этом режиме нет надобности, да и на слабых машинах может не пойти.
Режим "Demo".
Этот режим можно использовать, для ознакомления с возможностями программы, не подключая осциллограф к компьютеру. В этом режиме рисуется случайный график, который потом можно проанализировать с помощью маркеров. Естественно в этом режиме данные не получаются с прибора, а генерируются программно.
Послесловие.
Программа будет развиваться, но не очень интенсивно, т.к. нет особенных идей по улучшению. Если есть идеи или предложения - пишите!.
Работает только с приборами Velleman HPS40. Испытание было произведено на приборе подключенном к порту COM1 на стационарном компьютере, также успешно работает на ноутбуке через USB порт после доработки осциллографа.
Чуть не забыл! Вот сама программа: HPS40.rar (v1.2.0 build #2). Распаковать (WinRAR v >= 3.8), положить в любую директорию. В процессе работы программа ничего не пишет в реестр, но создаёт файл настроек (hps40.ini) и папку со скриншотами в той же директории, что лежит сама.
Исходники большого секрета не представляют, но получить их можно только по e-mail немного рассказав зачем они Вам понадобились.