LGraph2 - многоканальный регистратор-самописец

Бесплатно распространяемая программа LGraph2 предназначена для регистрации, визуализации и обработки аналоговых сигналов, записанных с помощью измерительных плат или модулей АЦП производства ООО "Л Кард".
Программа LGraph2 в сочетании с модулем или платой АЦП "Л Кард" превратит Ваш компьютер в измерительную лабораторию, заменив такие приборы, как вольтметры, самописцы, осциллографы и т.п. Ниже представлено краткое описание возможностей программы.
Все замечания и предложения по добавлению и изменению функций горячо приветствуются на support@lcard.ru

1. Регистрация данных
2. Визуализация зарегистрированных данных
3. Файловые операции и работа с блоками
4. Обработка данных
5. Дополнительные возможности
6. Плагины

Скачать версию 2.34.49 (17 Мб, 12.11.2015)
Скачать описание (lgraph2_help.pdf, 6.5 Мб)
Скачать описание плагинов (lgraph2_plugins.pdf, 399 кБ)
Скачать описание изменений (lgraph2_readme.rtf, 108 кБ)

1. Регистрация данных

Основные возможности регистрации сигналов

многоканальный регистратор, самописец, визуализатор аналоговых сигналов

  • Неограниченный размер записи (ограничено только свободным местом на диске)
  • Многомодульный режим работы (возможность одновременной регистрации с разных модулей)
  • Любая скорость записи
  • Возможность записи в ОЗУ
  • Запись указанного количества каналов АЦП (до 32)
  • Синхронизация регистрации по уровню, по синхро-старту, по часам компьютера, GPS синхронизация
  • Визуализация во время регистрации
  • Изменение параметров визуализации во время регистрации
  • Возможность записи многих реализаций в один файл
  • Поддержка плат L-502, L-780M, L-791, L-783M, L-264, L-305, L-1250, USB модулей E-502, E-154, E14-140, E14-140M, E14-440, E20-10, LTR модулей LTR11, LTR114, LTR24, LTR27, LTR212, LTR22, LTR51, LTR210, LTR41, LTR42, LTR43
  • Удобный экспорт в Matlab при помощи генератора *.m скриптов

 

Многомодульный режим регистрации

визуализация аналоговых сигналов во время регистрации

Программа LGraph2 предоставляет возможность одновременной работы с несколькими измерительными модулями.
  • Поддержка одновременной работы до 100 изделий производства "Л Кард"
  • Визуализация данных, собранных на разных частотах с разных модулей
  • Одновременный ввод данных с различных LTR модулей и USB модулей
  • Синхронный старт модулей в рамках одного крейта LTR-EU
  • Простой формат файлов данных позволяет легко импортировать многомодульные записи во внешние программы (Matlab, Origin и т.п.).

 

Визуализация во время регистрации

визуализация аналоговых сигналов во время регистрации

Программа LGraph2 предоставляет возможность отображать вводимые данные с АЦП, не прерывая регистрации.
  • Возможность изменения масштаба по оси X во время регистрации
  • Возможность изменения масштаба Y во время регистрации
  • Выбор любого масштаба по X
  • Возможность паузы регистрации с продолжением визуализации аналоговых каналов

 

Серийная регистрация и регистрация по расписанию

запуск АЦП по расписанию

Помимо обычного режима ввода данных в один файл, LGraph2 поддерживает специальные режимы записи:
  • Ввод данных по расписанию. Программа может по заданному расписанию запускать ввод данных с АЦП в файл, причем можно задать несколько временных отметок, и, по достижении каждой LGraph2 будет запускать ввод данных в новый файл.
  • Серийный запуск. Пользователь устанавливает, сколько раз надо будет запустить ввод, и определяет паузу между сеансами ввода, после чего программа сама осуществляет требуемую последовательность ввода (по выбору пользователя каждая реализация либо записывается в отдельный файл, либо вся последовательность реализаций записывается в один файл).
  • Периодическое сохранение. В этом режиме после запуска ввода программа осуществляет непрерывный ввод, однако по достижении заданного пользователем интервала программа закрывает файл, в который осуществлялся ввод, и продолжает ввод в новый файл. Данный режим удобен при необходимости длительного ввода, когда требуется максимальная надежность: при выключении или зависании компьютера основная часть введенных данных не пропадает.
  • Поскольку в дополнительных режимах ввода в результате создается много файлов с данными, в программе предусмотрено множество настроек, определяющих автоматическое формирование имен файлов и папок. В частности, каждая серия файлов может размещаться в создаваемой новой папке, а имя файла может формироваться как на базе увеличивающегося индекса, так и добавлением текущей даты и времени к имени файла.

 

Предварительный просмотр

режим предварительного просмотра

В программе можно запустить ввод данных в режиме предварительного просмотра. При этом данные не будут записываться в файл, а будут только отображаться на экране в виде графиков. Пользователь в любой момент может нажать на кнопку "Запись", после чего данные начнут записываться в файл. В новой версии программы данные в режиме предварительного просмотра сохраняются в кольцевом буфере в ОЗУ (размер которого определяет пользователь), и в том случае, если пользователь, так и не запустив "Запись", нажмет на "Стоп", данные, хранящиеся в буфере предварительного просмотра, будут доступны для отображения и сохранения в файле. Эта особенность дает возможность пользователю отслеживать событие и сохранять данные не только следующие за событием, но и предшествующие ему.

 

Запись нескольких реализаций в один файл

запись нескольких реализаций АЦП в один файл

После запуска записи данных процесс можно в любой момент приостановить кнопкой ПАУЗА (отображение данных при этом на экране продолжается). Повторное нажатие кнопки ПАУЗА возобновляет запись данных. Впоследствии группу сегментов можно объединять в один сегмент. Также возможно удалить из файла любое количество отдельных сегментов.



2. Визуализация зарегистрированных данных

Удобный выбор масштаба по оси X

произвольный масштаб X

  • Удобный выбор масштаба времени. Теперь независимо от частоты дискретизации АЦП пользователь может устанавливать любой масштаб по X, так что одному графическому экрану может соответствовать развертка от 6 мкс до практически любого времени (хоть несколько суток).
  • Реализована история изменения масштабов по оси X, в которой сохраняются последние 16 масштабов, так что пользователь может одним кликом мыши выбрать любой из последних 16 установленных масштабов.
  • Теперь изменять масштаб можно, просто кликнув мышью на значения временной разметки под осью X на экране.
  • Выбор из семи возможных размерностей масштаба X: от микросекунд до абсолютного времени, когда временные метки под осью X выводятся в формате hh:mm:ss:ms, day-month-year.

 

Многооконность

многооконный регистратор АЦП (USB, PCI)

 
  • Программа позволяет отображать данные с АЦП в виде графиков в нескольких окнах, число которых определяет сам пользователь (от 1 до 8). В любое из окон можно вывести несколько графиков по своему выбору.
  • Размеры окон можно легко менять, передвигая мышью границу между окнами по вертикали.
  • Для настройки параметров каждого окна достаточно нажать правую клавишу мыши над требуемым окном; сразу будет выведено краткое меню настройки окна, при этом любое изменение параметров в меню настройки окна будет сразу же видно на экране.

 

Удобные настройки отображения каждого канала

удобные настройки визуализации каналов АЦП

 
  • Значения с АЦП могут отображаться как в вольтах, так и преобразованными в физические величины при помощи задаваемых индивидуально для каждого канала калибровочных коэффициентов.
  • Множество вариантов индивидуальной настройки графика для каждого канала (цвет, ширина линии, тип линии, тип маркера отсчетов АЦП). В программе реализована легенда, располагаемая рядом с окном, в котором выводятся графики. Нажав правой клавишей мыши над нужным графиков в легенде, пользователь получает возможность быстро и удобно изменить графические настройки отображения указанного канала.
  • Для просмотра конкретных значений сигналов можно включить курсор, графические параметры которого также задаются пользователем.

 

Лупа

анализ данных

 
  • В программе можно выбрать специальное окно, в котором реализована функция лупы для удобного просмотра и анализа данных.
  • В окне лупы помимо увеличенного изображения имеются два курсора, при помощи которых можно проводить временные и амплитудные относительные измерения.



3. Файловые операции и работа с блоками

Экспорт в текстовый и двоичный форматы

экспорт данных АЦП для Excel, MatLab и т.п.

Программа сохраняет файлы данных в двоичном формате. Для преобразования их в текстовый формат для просмотра в текстовых редакторах или обработки в Excel, Matlab и т.п. предназначено окно экспорта данных. Дополнительным удобством обработки является возможность экспорта данных (с учетом всех масштабирующих коэффициентов) в двоичные файлы, которые могут быть использованы в пользовательских программах или непосредственно импортированы в пакеты Matlab, Origin и им подобные.
  • При экспорте данные могут быть представлены в кодах АЦП, в вольтах или преобразованными с учетом пользовательских коэффициентов
  • При экспорте пользователь сам определяет, будет ли экспортироваться весь файл целиком или только указанная его часть
  • При необходимости можно включить добавление в экспортируемый файл столбца времени. Тогда каждая строка с данными будет начинаться с временной отметки данного кадра
  • При экспорте можно контролировать точность (число знаков после запятой), с которой будут выводиться числа.

 

Работа с блоком

удобная работа с блоком аналоговых данных

  • В программе либо при помощи меню, либо при помощи мыши (сочетание правой клавиши мыши и Shift на клавиатуре) можно выделить блок данных.
  • Выделенный блок может быть сохранен в виде отдельного файла или удален.
  • Границы выделенного блока могут быть использованы в окнах обработки при построении спектра или гистограммы.
  • Границы блока можно удобно перемещать при помощи правой клавиши мыши.



4. Обработка данных

Спектроанализатор

бесплатный спектроанализатор

  • В программе реализовано отдельное окно расчета энергетического спектра записанного сигнала.
  • Реализованы разные варианты накладываемого на сигнал окна перед расчетом спектра
  • Расчет до 64 гармоник с отображением пиков на графике. Автоопределение или ручной ввод основной частоты для гармонического анализа.
  • Рассчитанный спектр можно экспортировать в текстовый файл

 

Гистограмма

многоканальная гистограмма

  • В программе реализовано отдельное окно для расчета гистограмм.
  • Возможно построение двух гистограмм по разным каналам с отображением их в одном окне.
  • Гистограммы могут быть экспортированы в текстовый файл.



5. Дополнительные возможности.

GPS синхронизация

  • LGraph2 поддерживает возможность управления через командную строку. При загрузке в командной строке может быть указан файл с настройками *.grb или файл с данными, которые будут загружены после запуска программы. Также при помощи командной строки можно задать режим автоматического начала регистрации после запуска программы.
  • GPS синхронизация. Запуск может быть настроен на время, получаемое со спутников через систему GPS. Для этого необходимо, чтобы к компьютеру был подключен GPS приемник, параметры которого необходимо указать в специальном окне. Если при этом на один из каналов АЦП подключить выход секундной метки GPS, можно обеспечить синхронный ввод данных с устройств, расположенных далеко друг от друга.
  • Интерфейс программы поддерживает два языка - русский и английский, переключение между которыми осуществляется в меню.
  • Программа предоставляет возможность асинхронного управления ЦАПами и цифровыми выходами.
  • Программа имеет специальную панель поиска событий в аналоговых каналах, при помощи которой можно легко и быстро находить точки, в которых сигнал или его производная превышает заданный уровень.
  • Реализован экспорт графических окон в bmp формат.



Экспорт в Matlab

экспорт в Matlab

Для упрощения чтения файлов данных из популярного пакета Matlab в LGraph2 добавлен генератор скриптов Matlab
  • Генерируемый *.m скрипт позволяет пользователю получить считанные с АЦП данные в Matlab-е, представленные в виде двумерной матрицы, преобразованные в физические величины с учетом всех калибровочных коэффициентов.
  • В программе имеется возможность включить режим автоматической генерации *.m скриптов при каждом создании файла данных.
  • Пример Matlab скрипта:
    clc
    clear all
    close all
    format long
    DataFileName='c:\LW\LGRAPH2\test_E-14-140M_1R897344.dat'; % Имя файла данных (dat)
    ShowInfo = 1; %% Показывать информацию о файле данных

    %%
    module_name = 'E-14-140M'; % название платы
    time_string = ' 15-02-2010 09:50:16';% число и время начала ввода данных
    chan_max = 32; % общее число каналов для выбранной платы
    RealChannelsQuantity = 2; % число введенных (активных) каналов
    RealKadrsQuantity = 32768; % число собранных кадров в формате 'int' ( < 2.147.483.648)
    RealSamplesQuantity = 65536; % число собранных отсчетов в формате 'int' (<2.147.483.648)
    TotalTime = 3.276800; % время ввода в cекундах
    AdcRate = 10000.000000; % частота АЦП в Гц
    InterkadrDelay = 0.005000; % межкадровая задержка в мс
    ActiveAdcChannelArray = [0 1 ]; % массив с номерами введенных каналов (с нуля)
    AdcGainMax = [8192.000000 8192.000000 ]; % массив с верхним диапазоном каналов АЦП
    AdcGainMin = [-8192.000000 -8192.000000 ]; % массив с нижним диапазоном каналов АЦП
    CalibrScale = [1.012720 1.007321 1.003053 1.002149 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 ]; % массив с калибровочными коэффициентами масштаба
    CalibrOffset = [1.212723 0.726175 -0.000225 -1.126492 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ]; % массив с калибровочными коэффициентами смещения нуля
    UserCalibrScale = [1.000000 1.000000 ]; % массив с пользовательскими калибровочными коэффициентами масштаба
    UserCalibrOffset = [0.000000 0.000000 ]; % массив с пользовательскими калибровочными коэффициентами смещения нуля
    DataCalibrScale = [0.001236 0.001236 ]; % массив с преобразованием шкалы
    DataCalibrOffset = [0.000000 0.000000 ]; % массив с преобразованием смещения нуля
    DataCalibrZeroK = [1.212723 1.212723 ]; %% массив со смещением нуля
    if ShowInfo == 1 %% Показывать информацию о файле
    format short
    disp('-------------------------')
    disp('Параметры формата данных:')
    disp([' Название модуля : ' module_name]);
    disp([' Число и время ввода данных: ' time_string]);
    disp([' Число активных каналов : ' num2str(RealChannelsQuantity)]);
    disp([' Число собранных кадров : ' num2str(RealKadrsQuantity, 9)]);
    disp([' Число собранных отсчетов : ' num2str(RealSamplesQuantity, 9)]);
    disp([' Время ввода : ' num2str(TotalTime, 9) ' c']);
    disp([' Частота АЦП : ' num2str(AdcRate, 9) ' Гц']);
    disp([' Межкадровая задержка : ' num2str(InterkadrDelay, 9) ' мс']);
    disp('-------------------------')
    end
    fid = fopen(DataFileName, 'r');
    fseek(fid, 0, -1);
    [y NSamples] = fread(fid, 'int16');
    y = reshape(y, RealChannelsQuantity, RealKadrsQuantity);
    fclose(fid);
    for i = 1:RealChannelsQuantity;
    t = linspace(0,TotalTime,RealKadrsQuantity);
    y(i,:) = (y(i,:)+DataCalibrZeroK(i))*DataCalibrScale(i)+DataCalibrOffset(i);
    figure(i),plot(t,y(i,:),'y-'),grid on;
    xlabel('t,sec');
    ylabel('U, V');
    end;



6. Плагины

измерительные плагины

Для того чтобы предоставить пользователю возможность реализовывать специализированные алгоритмы обработки и отображения данных, которые отсутствуют в LGraph2, в программе реализован механизм подключения внешних плагинов. По сути плагин - это DLL библиотека, в которой должны находиться функции, при помощи которых LGraph2 во время сбора данных, а также во время просмотра файлов передает плагину данные с АЦП и принимает новые, рассчитанные в плагине данные для визуализации на экране и сохранения в файл. В дистрибутив LGraph2 включены разработанные в "Л Кард" наиболее типовые плагины, которые могут использоваться и как законченные приборы, и как образцы для внесения в них той или иной специфики.
Механизм подключения плагинов обеспечивает:
  • Одновременное подключение нескольких плагинов.
  • Возможность отображения данных в виде мультиметрных элементов (термометра, бака и т.п.).
  • Выполнение расчетов в реальном масштабе времени во время сбора данных
  • Реализация алгоритмов с обратной связью (управление ЦАПами и ТТЛ линиями во время сбора данных).
  • Постоянно пополняемая библиотека плагинов.
  • Простота реализации плагина.
  • Возможность создавать расчетные каналы, которые можно сохранять и просматривать в виде стандартных файлов данных LGraph2
  • Сохранение значений всех визуальных элементов в текстовый файл в режиме журнала (автоматическое добавление к концу файла).
Список поставляемых плагинов:
Наименование
Назначение
Мультиметр Многоканальный мультиметр, рассчитывающий среднее значение, дисперсию и частоту по аналоговым каналам.
Фильтрация и децимация Многоканальные БИХ фильтры, осуществляющие фильтрацию в реальном времени с возможностью последующей децимации. Имеется возможность задавать тип фильтра, порядок и коэффициент децимации.
Расширенная фильтрация и децимация Многоканальные БИХ фильтры, осуществляющие фильтрацию в реальном времени с возможностью последующей децимации. Имеется возможность задавать параметры трех групп фильтров, каждая группа состоит из двух последовательно соединенных фильтров. Для каждого канала указывается группа фильтров, что позволяет устанавливать разные фильтры для каналов.
Двухканальный спектроанализатор Выполняемый в реальном времени двухканальный спектроанализатор
Оконнный дискриминатор Плагин исходно предназначался для автоматического определения R-R интервалов в электрокардиограмме. Однако он также позволяет выделять в потоке любых данных пики с определенными параметрами и рассчитывать расстояние между ними.
XY осциллограф Осциллограф, отображающий данные одного входного канала относительно другого. Имеет дополнительные параметры для отображения фигур Лиссажу.
XY самописец XY самописец, предназначенный для снятия вольт-амперной характеристики.
SCADA (АСУТП) подобные визуальные элементы Плагин, демонстрирующий реализованные визуальные элементы (такие как термометр, бак и т.п.).
Сумматор и дифференциатор Плагин, создающий из двух каналов новые расчетные каналы: сумму двух каналов и производные по двум каналам.
Пример простого плагина на Delphi6 Плагин, демонстрирующий работу в Delphi. Плагин осуществляет уменьшение частоты в два раза.
Пример простого плагина на Borland C 5.02 Плагин, демонстрирующий работу в Borland C 5.02. Плагин реализует функцию простейшего XY осциллографа.