Лабораторно-практическое задание № 3
Тема: Обработка структурированных пакетов данных и анализ статистики.
Цель работы: Разработать алгоритм считывания и статистического анализа данных,
поступающих по последовательному протоколу J1939 (CAN)
Задачи:
Подготовить приложение считывания данных из файла дампа;
Разработать функцию динамического обновления данных в заданной структуре
пакетов и накопления статистики;
Разработать функцию визуализации связей (графа передачи пакетов) между узлами
сети;
Разработать функцию фильтрации данных по идентификаторам источника и
приемника;
Разработать функцию детектирования изменения значений и указания степени
изменений;
Разработать метод отслеживания взаимодействия между несколькими потоками
обмена сообщения;
Разработать инструмент формирования и серийной отправки запроса (выводить в
заданное устройство обмена) подготовленного пакета CAN с введенными
пользователем параметрами. Обеспечить копирование приходящих запросов в
шаблон для отправки. Обеспечить подтверждение отправки пакетов в текстовом
окне.
Порядок выполнения работы
Задача 1
Подготовить приложение для считывания данных из файла, хранящего поток данных с
шины обмена данными.
Представить возможность просмотра данных в текстовом виде в непрерывном потоке.
Задача 2
Реализовать алгоритм разбора потока данных и отображения данных в виде пакетов от
узлов.
Задача 3
Реализовать алгоритм анализа и визуализации связей между узлами сети с условием,
что список узлов известен (фильтрация по набору узлов – первый вариант) или заранее
неизвестен (построение динамической карты – второй вариант). Оптимальным вариантом
реализации графа между узлами является лучевая векторная диаграмма, дополненная
2
таблицей с параметрами связи.
Задача 4
Функция фильтрации данных позволяет установить правило отбора пакетов для
выполнения каких-либо операций. В простейшем случае создания гейта
(маршрутизатора), блок фильтрации может работать в режиме ретрансляции, пересылая
пакеты с заданными параметрами между сетями. В данной работе предлагается создать
глобальный фильтр, который будучи включенным, пропускал бы для дальнейшей
обработки пакеты трех типов:
От конкретного узла-отправителя
К конкретному узлу-приемнику
Между конкретными отправителем и приемником
Задача 5
Функция отслеживания изменений параметров пакетов позволяет задать набор правил
для отслеживания событий выхода значений за указанные диапазоны либо ситуации
резкого изменения параметров. Данный набор правил должен добавляться в список
правил (может быть визуализирован через DataGridView) и применяться к каждому
пришедшему пакету. Правило может быть задано для всех сообщений от одного
источника, либо для конкретной пары источника и приемника.
Факт наступления события визуализируется с помощью цветового индикатора
(имитацией «лампы» на форме) и вывода сообщения в текстовый список в формате
«отсечка времени: событие».
Задача 6
Функция отслеживания взаимодействия между несколькими потоками реализуется в
виде отрисовки на форме нескольких параллельных графиков с параметрами,
передаваемыми от заданных узлов или (и) в заданных каналах (источник-приемник).
Рекомендуется использование четырех параллельных компонент для отображения
графиков, с тем чтобы избежать проблем с разными диапазонами передаваемых
параметров. Отображение на каждой компоненте активируется переключателем и
указанием отслеживаемого потока.
По горизонтальной оси графиков откладывается время. Период времени цикла
отслеживания должен задаваться на форме. Визуально эффект напоминает работу
осциллографа.
Задача 7
Возможность серийной отправки пакета CAN с заданными параметрами предполагает
возможность формирования пакета на основе данных из полей, размещенных на форме.
Должны задаваться источник, приемник, содержание, период отправки и количество
сообщений. Необходимо обеспечить возможность скопировать в поля данные одного из
потоков из окна просмотра сообщений.
В рамках лабораторного практикума предполагается подключение устройства
взаимодействия с CAN через UDP путем отправки на заданный узел сети (IP:port)
3
стандартного сообщения (как в Задаче 1) в виде Hex-кодированной строки. Окончание
пакета – два байта со значениями 0xFF.
В момент отправки пакета в текстовом списке должно появляться сообщение
«временная отсечка: содержание пакета».
f33rni / dodcaps_lr3 Goto Github PK
View Code? Open in Web Editor NEWРазработка систем сбора и обработки данных. Лабораторно-практическое задание № 3
License: The Unlicense