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

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


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

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
документация:модуль_распределенного_сенсора [2024/01/20 04:34] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1документация:модуль_распределенного_сенсора [2024/01/20 05:27] (текущий) – ↷ Операцией перемещения обновлены ссылки adm0001
Строка 1: Строка 1:
 +===== Модуль распределенного сенсора =====
 +
 +Модуль распределенного мониторинга деформации и температуры трубопроводов. Для работы модуля используется анализатор бриллюэновской частоты сдвига в оптоволокне из-за рассеяния Мандельштама-Бриллюэна. Частота сдвига изменяется от параметров кристаллической решетки оптоволокна, зависящих от деформационного напряжения и температуры волокна. Применение специального метода позволяет вычислять смещение в трех координатах измеряемого трубопровода по продольным относительным растяжениям оптоволокна, наклеенного на поверхность трубы. И позволяет измерять температуру при креплении оптоволокна в свободном проскальзывании.
 +
 +==== Технические требования ====
 +
 +Операционная система 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//.
 +
 +Блок-схема работы модуля:
 +
 +{{документация:модуль_распределенного_сенсора:блок-схема_модуля_расп_сенсора.jpg?nolink&415x469|блок-схема_работы_модуля_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?nolink&648x842|схема_работы_модуля_распределенного_сенсора.jpg}}
 +
 +При работе программы считается, что к анализатору подключена одна линия оптоволокна, три части которого надежно приклеены к поверхности трубы и выполняют роль детектора относительного удлинения, и четвертая часть, прикрепленная, но свободно движущаяся, для измерения температуры. Три части, надежно прикрепленные к трубе под углами 90 градусов, при деформации трубы деформируются вместе с поверхностями, к которым прикреплены. Четвертая, свободно движущая часть оптоволокна не испытывает деформационные натяжения, так как эта часть подвижная, при этом изменения в бриллюэновской частоте сдвига обусловлены температурой оптоволокна.
 +
 +Схема размещения линий деформации и измерения температуры:
 +
 +{{документация:модуль_распределенного_сенсора:схема_деформ_и_темп.jpg?nolink&462x348|схема_analyzer.jpg}}
 +
 +==== Настройка модуля ====
 +
 +Настройка модуля происходит в файле //config.php//, пример содержит файл //config_example.php//.
 +
 +Содержание файла //config_example.php//:
 +<code>
 +
 +<?php
 +
 +$api_token = 'A8WQ0N4zYPQvxbBMvPVz2ZnpAsCddgr'; //// // Токен
 +
 +//$directory = '../Share/monitoring'; //  // Каталог, где берутся данные
 +
 +$mask="/monitoring#ch00#s00#(.+)Z#a#bsf.txt$/uUm"; // // // Шина
 +
 +//$bus='tube001'; //  // Код устройства без цифрового идентификатора
 +
 +$segment_code='segm';
 +
 +?>
 +
 +</code>
 +
 +Где ''$api_token''  — токен для доступа, ''$directory''  — путь к данным относительно директории скрипта, ''$mask''  — маска регулярного выражения для файлов данных, ''$bus''  — код шины, на данный момент не используется, ''$segment_code''  — код сегмента без цифр.
 +
 +**Настройка запуска по расписанию**
 +
 +Для запуска модуля из консоли нужно использовать скрипт //data_processing.sh//, который запускает модуль в контейнере //docker «php»//.
 +
 +Для запуска модуля по расписанию, настраивается запуск скрипта //data_processing.sh//  через cron от имени root в требуемый интервал.
 +
 +При новой установке необходимо проверить права на запуск как исполняемой программы //data_processing.sh RealTimeSpectrum//.
 +
 +Содержание скрипта //data_processing.sh//:
 +
 +<code>
 +«/opt/monitoring/dc exec -T php php /var/www/html/Spectrogram/Analyzer/index.php»
 +
 +</code>
 +
 +Данные означают:
 +
 +  * ''/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) и выбрать для данной шины тип устройства «спектроанализатор».
 +
  

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