Application for collecting, visualizing, and saving data from microEpsilon ILD series laser distance sensors.
ILD TCP Grabber is designed for simultaneous operation with a group of up to 8 microEpsilon laser sensors connected via TCP/IP. The program allows real-time monitoring of all sensor readings on charts, recording measurement data, and exporting it for further processing.
- Multi-channel data acquisition — simultaneous operation with 1–8 sensors via RS422 protocol over TCP
- Real-time visualization — charts of each sensor's readings with the ability to enable/disable display of individual channels
- Recorded data playback — after stopping acquisition, an archive playback mode is available with X/Y axis zoom and scroll, plus a cursor for precise value reading
- Result export — save collected data in CSV and TXT formats
- Sensor calibration — built-in zero offset calibration mode for each channel
- Parameter configuration — IP address, ports, measurement frequency (250–2000 Hz), and offset mode settings
- Service menu — direct command sending to sensors for diagnostics and configuration
- Demo mode — simulation of sensor operation with sinusoidal signal for testing without hardware
The main window contains:
- Control panel (connect, acquire, stop)
- Status indicators for all 8 channels
- Chart area with zoom tools
- Format selection and result saving block
The application supports two chart rendering backends selectable on first launch (or via Settings):
| Mode | Technology | Notes |
|---|---|---|
| GDI+ | System.Drawing + shared memory InteropBitmap | Stable, CPU-based, works on all systems |
| Direct2D | Vortice.Windows (D3D11 + D2D1 + D3DImage) | Hardware-accelerated, GPU antialiasing — has known bugs, under development |
If Direct2D fails to initialize, the application automatically falls back to GDI+.
- Windows (WPF application)
- .NET 8 SDK
- GPU with Direct3D 11 support (required for Direct2D mode; GDI+ mode has no GPU requirement)
- Network connection to microEpsilon ILD sensors (or use demo mode)
dotnet restore
dotnet build
dotnet run --project src/ILDGrabber.csprojПриложение для сбора, визуализации и сохранения данных с лазерных датчиков расстояния microEpsilon серии ILD.
ILD TCP Grabber предназначен для одновременной работы с группой до 8 лазерных датчиков microEpsilon, подключённых через TCP/IP. Программа позволяет в реальном времени отслеживать показания всех датчиков на графиках, записывать данные измерений и экспортировать их для дальнейшей обработки.
- Многоканальный сбор данных — одновременная работа с 1–8 датчиками по протоколу RS422 через TCP
- Визуализация в реальном времени — графики показаний каждого датчика с возможностью включения/отключения отображения отдельных каналов
- Просмотр записанных данных — после остановки сбора доступен режим просмотра архива с масштабированием и прокруткой по осям X/Y, а также с курсором для точного считывания значений
- Экспорт результатов — сохранение собранных данных в форматах CSV и TXT
- Калибровка датчиков — встроенный режим калибровки смещения нуля для каждого канала
- Настройка параметров — конфигурация IP-адреса, портов, частоты измерений (250–2000 Гц) и режима смещения
- Сервисное меню — прямая отправка команд на датчики для диагностики и настройки
- Демо-режим — имитация работы датчиков синусоидальным сигналом для тестирования без оборудования
Главное окно содержит:
- Панель управления (подключение, сбор, остановка)
- Индикаторы состояния всех 8 каналов
- Область графиков с инструментами масштабирования
- Блок выбора формата и сохранения результатов
Приложение поддерживает два бэкенда отрисовки графиков — выбираются при первом запуске или в настройках:
| Режим | Технология | Примечание |
|---|---|---|
| GDI+ | System.Drawing + shared memory InteropBitmap | Стабильный, CPU-рендеринг, работает на любых системах |
| Direct2D | Vortice.Windows (D3D11 + D2D1 + D3DImage) | Аппаратное ускорение, GPU-антиалиасинг — содержит известные баги, в доработке |
Если Direct2D не удаётся инициализировать, приложение автоматически переключается на GDI+.
- Windows (WPF-приложение)
- .NET 8 SDK
- GPU с поддержкой Direct3D 11 (требуется для режима Direct2D; режим GDI+ работает без GPU)
- Сетевое подключение к датчикам microEpsilon ILD (или использование демо-режима)
dotnet restore
dotnet build
dotnet run --project src/ILDGrabber.csproj