Skip to main content

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

Отчёт «Отчёт по датчисаку бурения» (код 131)

Для чего работынужен отчёта «ReportDrillingEvents» (для бурового оборудования)

Общие сведения

Отчёт «ReportDrillingEvents» предноказнывачент, когдля анализа раби скотылько буровой установки (самоходной или стационарной). Он выделяет интервалы бурения (время, когда установка реально бурила, и сколько метров скважин было пройдено за выбранный период. Он ну), ижен для каждого учёта выработкогои, интервапла нирассчитыовает:

  • время начала и окончания бурения;
  • общую длительность;
  • достигнутую глубину скважизрывны;
  • средние показатели датчиков: скорость подачи бура, давление вращения, давление подачи, давление воздуха.

В отчёте предусмотрены два режима работы (старый и коновый, переключаемые параметром). Новый режим (V2) использует более сложную фильтрацию шумов и учитывает кратковременные провалы давления, характерные для загрузки теального процесса бурехния. Также можно включить определение бурения по датчику режима бурения (дискретный сигнал 1 – бурит, 0 – не бурит).

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


Что показывает отчёт

По каждой скважине:

  • Начало и окончание бурения — дата и время.
  • Длительность — сколько времени бурили.
  • Глубина — сколько метров пройдено.
  • Средние показатели датчиков за время бурения:
    • скорость подачи бура (м/мин);
    • давление вращения (бар);
    • давление подачи (бар);
    • давление воздуха (бар).

Итоги внизу:

  • Общее время бурения, за период;
  • Всего пробщаяурено глубина,метров;
  • а также с
  • Средние значения по всем датчикам;
  • (скорость подачи, давления вращения, подачи, воздуха). Дополнительно выводится
  • кКоличество скважин.


Как отчёт определяет, что идёт бурение

Установка оснащена несколькими датчиками, и отчёт умеет работать в нескольких режимах — от простого до расширенного.

Основной ориентир — датчик глубины. Если глубина растёт — значит, идёт бурение. Это самый надёжный сигнал.

Дополнительно могут используюоваться:

и
    что они измеряют (с источниками данных)

    В системе мониторинга буровой установки данные поступают от следующих типов датчиков (каждый д

  • Датчик определён в классе SensorType). Ниже приведены единицы измерения и источник данных (CAN-протокол, параметрическая группа, байты) – там, где это указано в технической документации. Поскольку буровое оборудование часто работает по протоколу CAN Open или J1939, мы указываем типовые идентификаторы.

    — тир
    Название датчика (код)Что измеряетЕдиницыИсточник (PGN / CAN-идентификатор)Примечание
    Глубина (Depth)Глубина бурения (от начальной отметки)метры (м)PGN 64878 (типовой), байты 0–3Надёжный, монотонно растёт
    Скорость подачи бура (DrillFeedSpeed)Скорость заглубления бурового инструментасантиметры/мин (см/мин) → в отчёте переводятся в м/минPGN 64879, байты 0–1Ненадёжный, много шумов, инерционен
    Давление вращения (DrillRotPressure)Давление в гидросистеме вращения бурабарPGN 64880, байты 0–1Надёжный, умеренный шум
    Давление подачи на бур (DrillPressure)Давление подачи (осевое усилие)барPGN 64881, байты 0–1Ненадёжный, сильные шумы
    Давление воздуха (DrillAirPressure)Давление сжатого воздуха на выходе компрессорабарPGN 64882, байты 0–1Надёжный, характерны плато и падения
    Режима бурения (DrillWork) Десли он установлен и включён, отчёт определяет иный сигнтервал: 1 –ы бурение,я 0строго –по нему. Это самый точный способ.
  • Датчик давления на бурен — ие
  • безразмерноеPGN 64883, байт 0 (бит 0)Используется как опоальтернативный, еслори установлен

    Примечание: Точные PGN зависят от конкретной реализации CAN-протокола у производителя буровой устом режиме.

В расширенновкм режи. В кодме отчёта исдопользуюнится только симвоельно проверяет показания давления вращения и давления воздуха. Это нужно, чтобы:

  • не разрывать скважину из-за коротких провалов давления (смена породы, продувка, смена штанги);
  • точнее определить границы бурения и отсечь «хвосты», когда бур уже не работает, а датчиков. В таглублице приведены типовыещё не знуспел отреаченгия для промышленного буровогоать.
  • оборудования (например, Sandvik, Epiroc, Atlas Copco).


ЛогРежикамы работы отчёта

Отчёт имПеет два основных режима (выбирключаются в параметрами при формированиих отчёта):

  • V1 еслиондискретный). Используются простые пороги и усреднение через размах значений.
  • – (DrillWork).
    Режим Когда использовать
    Простой (V1)Когда достарый) – определение интервалов бурения толькчно данных по глубине (или по датчику давления на бур,.
    Режим V2 (новый, расширенный) (V2) Рекомендуется для большинства установок: устойчивее к шумам, точнее определяет граниецы скважинтервал.
    Пов бурения по глубине с уточнением по надёжным датчикам (давление вращения и давление воздуха). В этом режиме применяются:
    • Адаптивные средние (медиана вместо обычного среднего при сильных выбросах).
    • Заполнение коротких провалов (WorkGap) – например, падение давления воздуха на 2 минуты не прерывает интервал бурения.
    • Маски активности по давлению вращения и давлению воздуха, которые затем объединяются.

    Кроме того, можно включить режим с датчиком режима бурения

    Если такой датчик еустьановлен и поткалиброван. Даёт саметр вклуючён, точную картинтерву.

    Налы бурения определяются строго по его дискретному сигналу (1 – бурит). При этом отсекаются ложные срабатывания короче заданного порога (по умолчанию 300 секунд). В этом режиме никакие другие датчийки не участвуют в определении начала и конца бурения, но их значения всё равно собираются для каждой скважины.

    Детали обработки датчиков (режим V2)

    1. Построение временно́й шкалы

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

    2. Маска активности по давлению вращения

    • Давление вращения считается рабочим, если его значение находится в диапазоне 60–250 бар.
    • Короткие провалы (менее 240 секунд) между участками рабочего давления заполняются – считается, что бурение продолжалось. При этом провал не должен опускаться ниже 40 бар (иначе не заполняется).
    • Результат – массив bool для каждой временно́й точки: true – бурение вероятно.

    3. Маска активности по давлению воздуха

    • Давление воздуха считается рабочим, если оно находится в диапазоне 2,9–3,1 бар (нормальное плато).
    • Провалы до 0 бар (выключение компрессора) допускаются, но не более чем на 1200 секунд (20 минут). Если провал короче – он заполняется как рабочий.
    • Результат – ещё одна маска.

    4. Объединённая маска

    Бурение считается возможным, если оба условия (и давление вращения, и давление воздуха) истинны. Эта объединённая маска используется для уточнения интервалов, найденных по глубине.

    5. Уточнение интервалов по глубине

    Сначала находятся первичные интервалы бурения по изменению глубины (глубина растёт от minDepth до zeroDepth). Затем каждый интервал «обрезается» по времени на основе объединённой маски (то есть отбрасываются хвосты, где датчики не подтверждают активность). При этом интервал не сжимается слишком сильно – если уточнённая длительность менее 240 секунд, возвращается исходный интервал.

    6. Расчёт средних значений датчиков (адаптивный метод)

    Для каждого интервала бурения собираются все показания датчиков скорости подачи, давлений. Вместо простого среднего арифметического вычисляется:

    • обычное среднее;
    • медиана;
    • стандартное отклонение. Если среднее сильно отличается от медианы (более чем на одно стандартное отклонение), считается, что распределение зашумлено, и в отчёт идёт медиана. Иначе – обычное среднее.

    Скорость подачи переводится из см/мин в м/мин (деление на 100).


    Параметры отчёта (настраиваются пользователем)

    Параметр НаЧто означаениет Значение пПо умолчанию
    Глубина начала бурения (min_depth) ГС какой глубина (в метрах), после превышения которой начинаетсям отсчёитать буренияе 1 м
    Глубина окончания бурения (zero_depth) ГНиже какой глубины считаем, после падения ниже кочторой бурение сзакончитаетлося завершённымь 1 м
    Мин.имальная продолжительность (min_time) Минимальная дСлительншкостьм интервала бурения в секундах (короткие включения игнотбрасываируются) 60 секунд
    Использовать датчик давления (use_drill_pressure)на бур Если вПереключеить расчёт но,а это в V1 интервалы ищутся по дискретному датчику давления на бур (0/1)V1) falseвыкл.
    Расширенная версия отчёта (v2)V2) Включаить улучшет новную логику с масками и адаптивным средним falseвыкл.
    ДИспользовать датчик режима бурения (use_new_drill_work_sensor_as_basic) Если включено, интервалы оОпределяютсяь бурение строго по сигналему DrillWork (1 – бурит) falseвыкл.
    Макс. период ложного срабатывания (DrillWorkSkipGapSeconds) Короткие «всплескин» датчика рервжималы бурения (по DrillWork) короче этого порога игнорируются 300 секунд
    Длина штанги бураНужна для корректного подсчёта глубины при смене штанг9 м

    Блок-схема рабоЧты отчёта (упрощённая)

    Начало формирования отчёта
    │
    ├── Получить подвижныйо объект (буровая устазновка) и временной промежуток
    │
    ├── Прочитать параметры отчёта (глубины, длительность, режимы)
    │
    ├── Запросить значения датчиков за интервал:
    │   – Глубина
    │   – Скорость подачи
    │   – Давление вращения
    │   – Давление подачи на бур
    │   – Давление воздуха
    │   – Режим бурения (если есть)
    │
    ├── Если датчика глубины нет – вывести сообщение и завершить
    │
    ├── Выбор режима работы:
    │   │
    │   ├── Режим с датчиком режима бурения (DrillWork) включён?
    │   │   │
    │   │   └── Да:
    │   │       ├── Найти интервалы, где DrillWork = 1
    │   │       ├── Отбросить интервалы короче порога ложных срабатываний
    │   │       ├── Для каждого интервала:
    │   │       │   ├── Определить максимальную глубину
    │   │       │   ├── Рассчитать адаптивные средние для остальных датчиков
    │   │       │   └── Добавить строку в таблицу
    │   │       └── Перейти к выводу отчёта
    │   │
    │   └── Нет:
    │       │
    │       ├── Режим V2 (расширенный) включён?
    │       │   │
    │       │   ├── Да (V2):
    │       │   │   ├── Построить временную шкалу по глубине
    │       │   │   ├── Построить маску активности по давлению вращения (с заполнением провалов до 240 с)
    │       │   │   ├── Построить маску активности по давлению воздуха (с заполнением провалов до 1200 с)
    │       │   │   ├── Объединить маски: активность = вращение И воздух
    │       │   │   ├── Найти первичные интервалы по глубине (превышение minDepth)
    │       │   │   ├── Уточнить каждый интервал по объединённой маске (обрезать неактивные края)
    │       │   │   ├── Для каждого уточнённого интервала:
    │       │   │   │   ├── Вычислить максимальную глубину
    │       │   │   │   ├── Рассчитать адаптивные средние по датчикам (с выбором медианы при шумах)
    │       │   │   │   └── Добавить строку в таблицу
    │       │   │   └── Перейти к выводу отчёта
    │       │   │
    │       │   └── Нет (V1 – старый режим):
    │       │       ├── Есть ли датчик давления на бур и параметр «использовать датчик давления»?
    │       │       │   │
    │       │       │   ├── Да:
    │       │       │   │   ├── Взять дискретные значения датчика давления (0/1)
    │       │       │   │   ├── Найти интервалы, где давление = 1
    │       │       │   │   ├── Для каждого интервала:
    │       │       │   │   │   ├── Вычислить изменение глубины (максимум – минимум)
    │       │       │   │   │   ├── Если изменение < minDepth – пропустить
    │       │       │   │   │   ├── Рассчитать средние по размаху (max-min)/2 для датчиков
    │       │       │   │   │   └── Добавить строку
    │       │       │   │   └── Перейти к выводу
    │       │       │   │
    │       │       │   └── Нет:
    │       │       │       ├── Найти интервалы по глубине (через ReportGlobal.GetEventBySensorValues)
    │       │       │       ├── Отбросить слишком короткие (< minDuration)
    │       │       │       ├── Для каждого интервала:
    │       │       │       │   ├── Вычислить максимальную глубину
    │       │       │       │   ├── Рассчитать средние по размаху (max-min)/2 для датчиков
    │       │       │       │   └── Добавить строку
    │       │       │       └── Перейти к выводу
    │
    ├── Вычислить итоги по таблице:
    │   – Суммарная длительность бурения
    │   – Суммарная глубина (сумма глубин всех скважин)
    │   – Средние значения по датчикам (обычное среднее)
    │   – Количество скважин (число строк с данными)
    │
    └── Сформировать блок данных отчёта и вернуть пользователю
    

    Особенности для специалиста по измерительной технике

      • Датчик глубины –— нсаиболеемый надёжный., Однако в реальности глубина может «застывмирать» на плато (например, при смене штанги). В расширенном режиме V2отчёт это учитывает.
      • Датчик скорости подачи — очень шумный. Поэтому отчёт использует устойчивое усредусмотрено заполнение пл(медиану вместо добычного 240 срекунд – это него, ркогдазр данныве «скаечут интервал бурения»).
      • Датчик давления воздуха часто показывает— стабильный, ное плато (около 3 бар) и кратковременно падает почти до 0нуля при продувке скважины. ПарамеОтр sensorTypeDrillAirPressureWorkGapSeconds = 1200 (20 минут) позволяечёт не разрываеть бурение на такие продаувкизы.
      • Датчик давления вращения б— надёжный, нолее инерционеный. ПКратковалы до 240 секунд и падение не ниже 40 бар – типичное поведение при временном снижении нагрузки на бур (например, при проходке мягких пород).
      • Скорость подачи (см/мин) очень шумная. Поэтому в отчёте используется адаптивное среднее (медиана при выбросах), а не простоадки не средчитаются останее или размаховкой.
      • РДатчик режима бурения (DrillWork) –— самый надёжточный способ определения бурения, если он правильно откалиброван. ОднакНо на некоторых установках этот сигнал может быть задержан или давать ложные срабатывания. Парам— для этого естр DrillWorkSkipGapSecondsь позвроляетг их отсечь короткение «всплески»я.

Рекомендации по настройке

  • Для большинства буровых установок рвключайтекомендуется использовать режим V2 (расширенный) режи,м е(V2).
  • Если есть датчик DrillWorkрежима –бурения — дополнительно включитье его как опорный, установив порог ложных срабатываний 300–600 секунд.
  • Параметры min_depthглубины начала/окончани zero_depthя обычно оставляют по умолчанию (1 метр), — чтобы отсечь начальные колебания глубины.
  • Если датчики давления вращения и воздуха работают стабильно, порог заполнения провалов можно уменьшить workGapSeconds (например, до 120 секунд) для более точного определения— границы скважин станут точнее.

Что даёт отчёт

Отчёт ReportDrillingEvents позволяет получать достоверные данные о времени и объёме бурения даже при зашумлённых первичных сигналах, датчиков. Это важно для:

  • учёта выработки буровой установки;
  • планирования буровзрывных работ;
  • в г
  • корной птромышля эффенности.

    Что такое «маска активности» (понятное объяснмен и экипаже)

    й;
  • В расширенном режиме отчёта (V2) мы

  • анализируем неа просто «было даевление или нет», а строим для каждого датчика двоичную карту времени, где для каждого момента (с привязкой к меткам времени датчика глубины) записано «ДА» (true) — датчик показывает рабочий режим, или «НЕТ» (false) — нерабочий режим. Эта карта и называется маской активности.

    Простыми словами: берём ось времени, разбитую на последовательные моменты (по времени поступления данных с датчика глубины). Для каждого момента смотрим на показание другого датчика (например, давления вращения). Если давление лежит в рабочем диапазоне (60–250 бар), ставим 1 (активно). Если нет — 0 (неактивно). Получаем последовательность из нулей и единиц — это и есть маска.

    Зачем это нужно?

    Одиночное мгновенное значение может быть ошибочным из-за шумов или кратковременных сбоев. Маска позволяет:

    • Сглаживать кратковременные провалы — если давление упало на 10 секунд, а затем снова поднялось, мы можем «заполнить» этот провал единицами, потому что по физическому смыслу бурение не прерывалось.
    • Объединять данные от разных датчиков — например, бурение считается идущим только тогда, когда оба датчика (давление вращения И давление воздуха) показывают активность. Для этого мы поэлементно умножаем две маски (логическое И).

    Как строится маска на примере давления вращения

    1. Берём все моменты времени timeline из датчика глубины.
    2. Для каждого момента находим ближайшее показание датчика вращения (или берём последнее известное).
    3. Если значение от 60 до 250 бар — записываем true, иначе false.
    4. Теперь «заполняем короткие провалы»: ищем участки, где маска равна false, но их длительность меньше заданного порога (например, 240 секунд). Такие участки переключаем на true. Почему? Потому что на реальном бурении давление может кратковременно падать (смена породы, регулировка), но процесс не останавливается.

    Объединение масок (логическое И)

    После того как мы построили маски для давления вращения и для давления воздуха, мы создаём итоговую маску:

    • Для каждого момента времени: активность = маска_вращения И маска_воздуха.
    • Если оба датчика показывают рабочий режим — ставим true (бурение вероятно), иначе — false.

    Затем мы «накладываем» эту итоговую маску на интервалы, найденные по глубине. Если в каком-то интервале маска показывает false, но при этом глубина растёт — мы всё равно оставляем интервал (маска только уточняет границы, но не отменяет бурение). Однако если на краях интервала маска долгое время false — мы «обрезаем» эти края, чтобы интервал точнее соответствовал реальному времени бурения.

    Аналогия для понимания

    Представьте, что вы наблюдаете за работой станка:

    • Один индикатор загорается, когда включено вращение шпинделя.
    • Второй индикатор загорается, когда подаётся сжатый воздух для удаления стружки.

    Вы хотите узнать, когда станок реально обрабатывает деталь. Для этого вы включаете логическую схему: если оба индикатора горят одновременно — считаем, что идёт обработка. Если один погас на секунду (помеха) — вы не выключаете обработку. Это и есть «маска активности» и её заполнение коротких провалов.

    В коде отчёта

    • BuildActiveMaskWithGap строит маску для давления вращения с заполнением провалов.
    • BuildAirActiveMaskWithGap строит маску для давления воздуха.
    • combinedActive[i] = rotActiveMask[i] && airActiveMask[i] — объединение.
    • RefineEventsBySensors использует объединённую маску, чтобы уточнить границы интервалов, найденных по глубине.

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