Кейс · сбор данных с измерительного модуля
ПО для сбора данных с измерительного модуля ADLink MCM-204
Веб-приложение для вибродиагностики снимает сигнал сразу с четырёх каналов измерительного модуля ADLink MCM-204 (IEPE-датчики, 24-битный АЦП), принимает данные по сети и строит график по каждому каналу в реальном времени. Каждое испытание сохраняется — сырые сигналы в двоичные файлы, а параметры сбора и история — в базу данных, с доступом к записям и частотному анализу.
Главный результат
Инженер видит состояние оборудования в реальном времени и в любой момент возвращается к записанным измерениям — без ручного экспорта и разрозненных файлов.

- 3 месяца
- срок реализации
- 4 канала
- IEPE / вибрация
- до 128 кГц
- частота дискретизации
Как выглядела работа со стендом до приложения
Модуль есть, а программного обеспечения под него нет
24-битный модуль с четырьмя каналами и сетевым выходом закупили, а собирать и обрабатывать данные с него было нечем.
Не видно, что происходит сейчас
За сигналом с датчиков нельзя было следить в реальном времени — только выгрузить файл и просмотреть его после завершения испытания.
Данные разбросаны по файлам
Инженер вручную сохранял каждое измерение в отдельный файл, из-за чего нужную запись потом было трудно найти.
Анализ — в разных программах
Просмотр сигнала, спектр и отчёты приходилось собирать в нескольких сторонних инструментах.
Что нужно было сделать
Дать инженеру единый инструмент: настроить сбор, снять данные сразу с четырёх каналов модуля MCM-204, увидеть сигналы в реальном времени и сохранить каждое испытание так, чтобы к нему можно было вернуться. Все операции выполняются в браузере, дополнительное программное обеспечение на компьютеры устанавливать не требуется.
Что я сделал
Связал измерительный модуль с веб-приложением. Модуль оцифровывает сигнал IEPE-датчиков 24-битным АЦП и по сети отдаёт отсчёты пачками — бэкенд на Node.js принимает их по TCP-сокету сразу с четырёх каналов, а фронтенд опрашивает бэкенд по HTTP и строит график по каждому каналу в реальном времени. Инженер следит за состоянием оборудования, не покидая браузер.
Настройка сбора — вид данных (напряжение или ускорение), частота дискретизации (фиксированные значения от 1 до 128 кГц), длительность записи и активные каналы — задаётся тут же и сохраняется в конфигурацию, чтобы повторить испытание с теми же параметрами.

Путь одного испытания
Настраивает сбор
Задаёт вид данных (напряжение или ускорение), частоту дискретизации, длительность записи и активные каналы.
Снимает данные
Модуль оцифровывает сигнал 24-битным АЦП и по сети отдаёт пачки отсчётов, а бэкенд на Node.js принимает их по TCP-сокету сразу с четырёх каналов.
Показывает в реальном времени
Фронтенд опрашивает бэкенд по HTTP, строит график по каждому каналу и отображает текущее состояние.
Сохраняет и разбирает
Пишет сигналы в двоичные файлы, а параметры и историю — в базу данных; строит спектр в браузере и выгружает готовый отчёт в Excel.
Что умеет приложение
Сбор с четырёх каналов
Снимает данные с четырёх каналов (IEPE, 24-битный АЦП) одновременно.
Мониторинг в реальном времени
Отдельный график по каждому каналу обновляется в процессе записи.
История испытаний
Сырые сигналы пишутся в двоичные файлы, а параметры и история испытаний — в базу данных: к любой записи можно вернуться в любой момент.
Частотный анализ
Строит спектр и частотные характеристики сигналов в браузере для детального разбора.
Отчёты в Excel
Выгружает результаты готовым файлом — удобно передать коллегам или в протокол.
Настройка модуля и сети
Каналы, режимы записи, сетевые параметры и вход по учётной записи — в одном месте.
Данные не теряются
Сырые сигналы каждого испытания пишутся в двоичные файлы, а его параметры и история — в базу данных. К любой записи можно вернуться позже, открыть сигнал по каналу, приблизить нужный участок и построить частотную характеристику — прямо в браузере, без подключения к стенду.
Результаты выгружаются готовым отчётом в Excel — их удобно передать коллегам или приложить к протоколу испытаний.

Как это выглядит
Стек
PostgreSQL
Node.js
TypeScript
React
Redux
TypeScript
Что изменилось
Было
- —Данные снимали вручную и складывали в разрозненные файлы
- —За сигналом нельзя было следить в реальном времени
- —Анализ и построение спектра — в отдельных программах
Стало
- ✓Все четыре канала снимаются автоматически — сигналы в файлы, история в базу данных
- ✓Инженер видит состояние оборудования в реальном времени
- ✓Спектр, отчёты и история — в одном окне браузера
Измерительный стенд стал управляемым из браузера: собрать сигнал с четырёх каналов, увидеть его в реальном времени, сохранить и разобрать — в одном месте, без ручной работы с файлами. Решение применяется для вибродиагностики на производстве и в лабораториях.