Модуль распределенного сенсора
Модуль распределенного мониторинга деформации и температуры трубопроводов. Для работы модуля используется анализатор бриллюэновской частоты сдвига в оптоволокне из-за рассеяния Мандельштама-Бриллюэна. Частота сдвига изменяется от параметров кристаллической решетки оптоволокна, зависящих от деформационного напряжения и температуры волокна. Применение специального метода позволяет вычислять смещение в трех координатах измеряемого трубопровода по продольным относительным растяжениям оптоволокна, наклеенного на поверхность трубы. И позволяет измерять температуру при креплении оптоволокна в свободном проскальзывании.
Технические требования
Операционная система 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.
Блок-схема работы модуля:
Скрипт 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.
Блок-схема работы программы:
При работе программы считается, что к анализатору подключена одна линия оптоволокна, три части которого надежно приклеены к поверхности трубы и выполняют роль детектора относительного удлинения, и четвертая часть, прикрепленная, но свободно движущаяся, для измерения температуры. Три части, надежно прикрепленные к трубе под углами 90 градусов, при деформации трубы деформируются вместе с поверхностями, к которым прикреплены. Четвертая, свободно движущая часть оптоволокна не испытывает деформационные натяжения, так как эта часть подвижная, при этом изменения в бриллюэновской частоте сдвига обусловлены температурой оптоволокна.
Схема размещения линий деформации и измерения температуры:
Настройка модуля
Настройка модуля происходит в файле 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) и выбрать для данной шины тип устройства «спектроанализатор».