Skip to main content

131 Отчет по датчику бурения

Отчёт показывает, когда и сколько буровая установка бурила, и сколько метров скважин пройдено за выбранный период. Каждая строка — одна скважина. Внизу — итоги: общее время бурения, общий метраж, средние показатели датчиков и количество скважин.

Как отчёт понимает, что идёт бурение В установке несколько датчиков. Отчёт использует их по очереди — от самого надёжного к вспомогательным:

  1. Датчик глубины — главный ориентир. Если глубина растёт, значит, бурение идёт.
  2. Датчик режима бурения — если он есть и включён в настройках, отчёт определяет бурение строго по нему. Самый точный способ.
  3. Датчик давления на бур — используется как запасной вариант, если первых двух нет.

Если датчика глубины нет или он неисправен, отчёт не останавливается, а автоматически переключается на датчик режима бурения, а если и его нет — на датчик давления. В этом случае графа «Глубина» будет заполнена нулём, и общий метраж тоже будет нулевым — это ожидаемо.

Как отчёт уточняет границы скважин Помимо основных датчиков, отчёт смотрит на давление вращения и давление воздуха. Если короткий провал одного из них — это ещё не остановка бурения (смена породы, продувка скважины). Отчёт заполняет такие короткие провалы и не разрывает скважину.

Дополнительный анализ — поиск пропущенных скважин Иногда основная логика пропускает скважину: например, датчик глубины кратко «дёрнулся», и алгоритм посчитал бурение законченным, хотя фактически оно продолжалось. Такие случаи видны на графике — участок с активными датчиками, но без отметки о бурении.

Чтобы их поймать, в отчёт добавлен дополнительный анализ. Он работает так:

  1. Берёт две соседние уже найденные скважины.
  2. По ним определяет образцовые значения датчиков — типичное давление воздуха и типичный режим бурения в этих скважинах.
  3. Просматривает промежуток между ними и ищет участки, где оба датчика держатся в пределах образцовых значений.
  4. Если находит такой участок достаточно длинный — добавляет его в отчёт как новую скважину.

Этот анализ не заменяет основную логику, а дополняет её: сначала работают основные правила, потом — дополнительная проверка. Скважины, найденные основной логикой, остаются на месте.

Почему события иногда «дёргаются» При бурении датчики могут дать короткий сбой — на одну-две секунды. Раньше этого хватало, чтобы отчёт разбил одну скважину на две короткие и обе отбросил как «слишком маленькие». Теперь дополнительный анализ терпит короткие сбои — до одной минуты — и не разрывает скважину из-за них.

Что можно настроить Минимальная продолжительность — Слишком короткие включения игнорируются — 60 секунд Глубина начала и окончания бурения — С какой глубины считать бурение — 1 метр Использовать датчик режима бурения — Определять бурение строго по нему — выключено Длина штанги бура — Нужна для корректного подсчёта глубины — 9 метров Допуск по давлению воздуха — Насколько давление может отклоняться от образцового — 1 единица Допуск по режиму бурения — Насколько режим может отклоняться от образцового — 0,1 Терпимость к коротким сбоям — Какой длины сбой ещё не считается остановкой — 60 секунд

Эти настройки задаются в коде и могут быть вынесены в интерфейс, если потребуется менять их без участия программиста.

Что получилось в итоге • Отчёт не падает, если датчик глубины сломан или отсутствует — переключается на запасные датчики. • Дополнительный анализ находит пропущенные скважины, которые основная логика не увидела. • Короткие сбои датчиков не разрывают длинные скважины. • Графы «Глубина», «Скорость подачи», давления и время бурения заполняются по единым правилам.

Формулировка для клиента: "Для повышения полноты обнаружения скважин применён двухпроходный метод. На первом проходе выделяются скважины с высокой степенью достоверности. Они используются как эталоны для второго прохода, в котором выполняется поиск пропущенных скважин по ослабленным критериям относительно эталонных значений датчиков. Такой подход известен как гистерезисная пороговая обработка с поиском по эталонам и широко применяется в задачах обнаружения сигналов на фоне шумов."

Мы применили классический двухпроходный подход, который в разных областях называется по-разному. Его суть: первый (строгий) проход находит только абсолютно надёжные события, а второй (мягкий) — ищет пропущенные, опираясь на параметры уже найденных как на эталон.

🎯 Как называется наш приём

В обработке сигналов и изображений это гистерезисная пороговая обработка (Hysteresis Thresholding). Классический пример — детектор границ Кэнни, где используются высокий и низкий пороги: по высокому находятся «сильные» границы, а «слабые» добавляются только если они связаны с сильными.

В анализе изображений и биоинформатике — поиск с расширением от начальных точек (Seed-and-Extend / Region Growing). Сначала выбираются «семена» (заведомо верные объекты), а затем от них «растут» регионы по более мягким критериям.

В машинном обучении — самообучение с псевдоразметкой (Self-Training / Pseudo-Labeling). Модель сначала размечает данные, в которых уверена, а затем использует эту разметку как эталон для доразметки остального.

В нашем отчёте это точнее всего назвать «поиск по эталонам с гистерезисом» — мы берём образцовые значения датчиков из двух подтверждённых скважин (эталоны) и по ним ищем третью с ослабленными допусками.

📚 Классические работы по теме

Гистерезисная пороговая обработка (детектор Кэнни)

  • Canny, J. (1986). A Computational Approach to Edge Detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 8(6), 679–698. Основополагающая работа, где впервые формализован метод с двумя порогами для подавления разрывов.

Поиск с расширением от начальных точек (Seed-and-Extend / Region Growing)

  • Adams, R., & Bischof, L. (1994). Seeded Region Growing. IEEE Transactions on Pattern Analysis and Machine Intelligence, 16(6), 641–647. Классическая работа, где вводится понятие «семян» и итеративного расширения областей.

Самообучение с псевдоразметкой (Self-Training / Pseudo-Labeling)

  • Yarowsky, D. (1995). Unsupervised Word Sense Disambiguation Rivaling Supervised Methods. Proceedings of the 33rd Annual Meeting on Association for Computational Linguistics, pp. 189–196. Одна из первых работ по самообучению: алгоритм начинал с небольшого набора вручную размеченных примеров и постепенно расширял обучающую выборку.
  • Lee, D.-H. (2013). Pseudo-Label: The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks. ICML Workshop on Challenges in Representation Learning. Современная формализация псевдоразметки для нейронных сетей.

Если потребуется, могу подготовить более развёрнутую справку с формулами и блок-схемами — для внутренней документации или обучения сотрудников.