Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


E14-140-M построение графика

Вы не вошли.

 Поиск | Регистрация | Вход 

Смольный
05.05.2011 12:12:06
#1

Гость

E14-140-M построение графика

Здравствуйте! Внимательно изучаем примеры Ваших программ для указанного в теме модуля. Паяем, подключаем, пробуем... В частности, работаем с примером под Builder C++ 6.0. Как получены данные из модуля и т.д. - вопросов вроде бы нет. А вот никак не можем понять - как и где происходит построение графиков для четырёх каналов в Вашем примере. В каком месте происходит сопоставление 8192 замеров (ось абсцисс) с величиной полученного значения АЦП для каждого канала (ось ординат)? В нашем случае необходимо по оси абсцисс откладывать величину АЦП канала №1, а по оси ординат величину значения АЦП канала №2.

05.05.2011 12:23:27
#2

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: E14-140-M построение графика

"необходимо по оси абсцисс откладывать величину АЦП канала №1, а по оси ординат величину значения АЦП канала №2" -- эта задача сходна с построением фигур Лиссажу. Эта тема обсуждалась, например, здесь:
http://www.lcard.ru/forumthreads/10032
В любом случае, в E14-140-M в многоканальном режиме нужно учитывать коммутационную задержку, если важна разность фаз между каналами.

Смольный
05.05.2011 12:43:54
#3

Гость

Re: E14-140-M построение графика

Гарманов Александр, у нас данные принимаются асинхронно с двух каналов, в дифференциальном режиме. Особых требований к скорости приёма/обработки этих данных не предъявляется. Пишем на Builder C++ простенькую программульку, а потому хотелось бы "по косточкам" разобрать момент формирования и рисования графиков в Вашем примере. Задачи определять разность фаз или что-то подобное перед нами не стоит. Есть два параметра, которые взаимно меняются. Изменение этих параметров почти линейное. Надо нарисовать это взаимное изменение в виде линии. Хотелось бы "надёргать" нужных фрагментов из Вашего примера, а не изобретать изобретённое. LGrapg2 с написанием к нему плагина нас не очень устраивает.

05.05.2011 15:57:42
#4

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: E14-140-M построение графика

Ну тогда задача сводится к построению точек или линий на чем-нибудь типа TBitmap->Canvas.
Пишется в три этапа:
1) Убеждаетесь, что Вы успешно собираете данные с АЦП - выводите куда-нибудь пары значений (x_adc, y_adc) и видите там правильные числа.
2) Осваиваете рисование линий и точек на Builder
http://www.compdoc.ru/prog/builder/builder/7.shtml
http://subscribe.ru/archive/comp.soft.p … 05746.html
и т.п.
3) Линейной функцией преобразуете координаты каждой точки в экранные, зная размер области рисунка и диапазон измеряемых величин. Не забудьте перевернуть ординату, если Y возрастает вверх smile

Смольный
06.05.2011 05:54:16
#5

Гость

Re: E14-140-M построение графика

Александр Е, уж куда направлена ось У мы знаем! smile)) А так спасибо за ссылки, будем изучать. На самом деле, Ваш пример с PaintBox и масштабированием/зуммированием для начинающих сложноват. Ещё раз спасибо!

06.05.2011 10:50:17
#6

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: E14-140-M построение графика

Да там должно хватить Canvas->MoveTo(), Canvas->LineTo() и Canvas->Pixels[x][y]