Инструменты пользователя

Инструменты сайта


документация:модуль_распределенного_сенсора

Модуль распределенного сенсора

Модуль распределенного мониторинга деформации и температуры трубопроводов. Для работы модуля используется анализатор бриллюэновской частоты сдвига в оптоволокне из-за рассеяния Мандельштама-Бриллюэна. Частота сдвига изменяется от параметров кристаллической решетки оптоволокна, зависящих от деформационного напряжения и температуры волокна. Применение специального метода позволяет вычислять смещение в трех координатах измеряемого трубопровода по продольным относительным растяжениям оптоволокна, наклеенного на поверхность трубы. И позволяет измерять температуру при креплении оптоволокна в свободном проскальзывании.

Технические требования

Операционная система Ubuntu 20/22, Linux OS 64 битная. PHP версии 7.3, модуль работы с PostgreSQL и ClickHouse. Е.2.3

Требования к вычислительным ресурсам: 1 ядро, поддерживающее 64-битные вычисления, 500 Мбайт на жестком диске для временных данных.

Описание работы

Для работы модуля необходимо настроенное и работающее ПО от производителя анализатора бриллюэновской частоты сдвига – Ftbviewer. Ftbviewer производит сбор данных с анализатора и формирует данные по частоте сдвига в оптоволокне, из которых вычисляется деформация и температура трубопровода.

Модуль находится в директории «Spectrogram», которая содержит директорию модуля Analyzer, в которой находятся скрипты для обработки данных анализатора, и директорию Share, которая содержит файлы с данными, генерируемыми программой Ftbviewer.

Данные для работы модуля находятся в директории «Share/monitoring», маска имен файлов данных для регулярных выражений выглядит так: $mask=«/monitoring#ch00#s00#(.+)Z#a#bsf.txt$/uUm». Т.е. файл начинается на «monitoring#ch00#s00#» и заканчивается на «Z#a#bsf.txt». Если меняется канал подключения оптоволокна, то соответственно, маска имен файлов должна быть изменена, так как изменится номер канала ch00 в названии файла.

Анализатор и программное обеспечение Ftbviewer настраивается отдельно (важно правильно его настроить для получения качественных и стабильных результатов измерении).

Для запуска модуля из консоли настроен скрипт data_processing.sh. Модуль может быть вызван или из системы, или из консоли в контейнере docker «php» и начинает выполняться с PHP-скрипта index.php.

Блок-схема работы модуля:

блок-схема_работы_модуля_analyzer.jpg

Скрипт index.php обеспечивает выбор файла данных, который необходимо обработать, вызывает работу программы DistributedSensorAnalyser, которая вычисляет деформацию и температуру, опираясь на данные до деформации из файла данных для начального положения трубопровода «reference_data_ref.dat». Далее скрипт берет результаты работы программы из файла data_json.txt, подготавливает их для отправки в базу данных и отправляет.

В конце работы скрипта удаляются файлы в директории «Share» по маске «monitoring#*Z.msr», где «*» - любые символы, оставляя 10 последних файлов, и файлы данных по маске для регулярных выражений «/monitoring#ch00#s00#(.+)Z#a#bsf.txt$/uUm», оставляя 50 последних.

Файлы в директории модуля:

  • DistributedSensorAnalyser – программа для расчета продольных и поперечных смещений, температуры;
  • index.php – PHP-скрипт для запуска обработки данных с анализатора и отправки результатов измерения;
  • index_check.php – PHP-скрипт для тестирования шины, устройств и каналов;
  • data_processing.sh – bash-скрипт для запуска модуля через cron в контейнере;
  • config.php – файл настроек модуля, должен быть в gitignore;
  • config_example.php – пример файла настроек модуля.

DistributedSensorAnalyser

DistributedSensorAnalyser – программа для расчета продольных и поперечных смещений, температуры ОМ. В качестве входных данных принимает файл измерений Ftbviewer.

Блок-схема работы программы:

схема_работы_модуля_распределенного_сенсора.jpg

При работе программы считается, что к анализатору подключена одна линия оптоволокна, три части которого надежно приклеены к поверхности трубы и выполняют роль детектора относительного удлинения, и четвертая часть, прикрепленная, но свободно движущаяся, для измерения температуры. Три части, надежно прикрепленные к трубе под углами 90 градусов, при деформации трубы деформируются вместе с поверхностями, к которым прикреплены. Четвертая, свободно движущая часть оптоволокна не испытывает деформационные натяжения, так как эта часть подвижная, при этом изменения в бриллюэновской частоте сдвига обусловлены температурой оптоволокна.

Схема размещения линий деформации и измерения температуры:

схема_analyzer.jpg

Настройка модуля

Настройка модуля происходит в файле config.php, пример содержит файл config_example.php.

Содержание файла config_example.php:

<?php

$api_token = 'A8WQ0N4zYPQvxbBMvPVz2ZnpAsCddgr'; //// // Токен

//$directory = '../Share/monitoring'; //  // Каталог, где берутся данные

$mask="/monitoring#ch00#s00#(.+)Z#a#bsf.txt$/uUm"; // // // Шина

//$bus='tube001'; //  // Код устройства без цифрового идентификатора

$segment_code='segm';

?>

Где $api_token — токен для доступа, $directory — путь к данным относительно директории скрипта, $mask — маска регулярного выражения для файлов данных, $bus — код шины, на данный момент не используется, $segment_code — код сегмента без цифр.

Настройка запуска по расписанию

Для запуска модуля из консоли нужно использовать скрипт data_processing.sh, который запускает модуль в контейнере docker «php».

Для запуска модуля по расписанию, настраивается запуск скрипта data_processing.sh через cron от имени root в требуемый интервал.

При новой установке необходимо проверить права на запуск как исполняемой программы data_processing.sh RealTimeSpectrum.

Содержание скрипта data_processing.sh:

«/opt/monitoring/dc exec -T php php /var/www/html/Spectrogram/Analyzer/index.php»

Данные означают:

  • /opt/monitoring/dc – запуск docker;
  • exec – команда выполнить;
  • -T – не создавать виртуальное tty-устройство для виртуальной консоли;
  • php – запуск контейнера php;
  • php /var/www/html/Spectrogram/Analyzer/index.php – запуск PHP-скрипта index.php, путь указан в среде контейнера.

Тестирование и юнит тесты

Файл index_check.php – примеры запросов для тестирования и проверок.

Подключения модуля в системе мониторинга

Модуль обеспечивает сбор данных с распределенного сенсора, для чего необходимо создать в системе мониторинга шину REST API(JSON) и выбрать для данной шины тип устройства «спектроанализатор».

документация/модуль_распределенного_сенсора.txt · Последнее изменение: 2024/01/20 05:27 — adm0001

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki