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-протокола упроизводителя буровой устом режиме. - Датчик давления на бур
В системе мониторинга буровой установки данные поступают от следующих типов датчиков (каждый д
В расширенновкм режи. В кодме отчёта исдопользуюнится только симвоельно проверяет показания давления вращения и давления воздуха. Это нужно, чтобы:
- не разрывать скважину из-за коротких провалов давления (смена породы, продувка, смена штанги);
- точнее определить границы бурения и отсечь «хвосты», когда бур уже не работает, а датчик
ов.В таглублице приведенытиповыещё незнуспел отреаченгиядля промышленного буровогоать.
ЛогРежикамы работы отчёта
Отчёт имПеет два основных режима (выбирключаются в параметрами при формированиих отчёта):
-
Режим V1Когда использовать Простой (V1) Когда доста рый)– определение интервалов бурениятолькчно данных по глубине(или по датчику давления на бур,.еслиондискретный). Используются простые пороги и усреднение через размах значений.Р ежим V2 (новый, расширенный)(V2)–Рекомендуется для большинства установок: устойчивее к шумам, точнее определяет грани ецы скважинтервал.По в бурения поглубинесуточнением по надёжнымдатчикам(давление вращения и давление воздуха). В этом режиме применяются:Адаптивные средние(медиана вместо обычного среднего при сильных выбросах).Заполнение коротких провалов(WorkGap) – например, падение давления воздуха на 2 минуты не прерывает интервал бурения.Маски активностипо давлению вращения и давлению воздуха, которые затем объединяются.
Кроме того, можно включитьрежим с датчикомрежима бурения(DrillWork).Если такой датчик еустьановлен ипоткалиброван. Даёт саметр вклуючён,точную картинтерву. Давление вращения считаетсярабочим, если его значение находится в диапазоне60–250 бар.Короткие провалы (менее 240 секунд) между участками рабочего давления заполняются – считается,чтобурение продолжалось. При этом провал не должен опускаться ниже40 бар(иначе не заполняется).Результат – массивboolдля каждой временно́й точки: true – бурение вероятно.Давление воздуха считаетсярабочим, если оно находится в диапазоне2,9–3,1 бар(нормальное плато).Провалыдо 0 бар(выключение компрессора) допускаются, но не более чем на1200 секунд(20 минут). Если провал короче – он заполняется как рабочий.Результат – ещё одна маска.обычное среднее;медиана;стандартное отклонение. Если среднее сильно отличается от медианы (более чем на одно стандартное отклонение), считается, что распределение зашумлено, и в отчёт идётмедиана. Иначе – обычное среднее.
Налы бурения определяются строго по его дискретному сигналу (1 – бурит). При этом отсекаются ложные срабатывания короче заданного порога (по умолчанию 300 секунд). В этом режиме никакие другие датчийки не участвуют в определении начала и конца бурения, но их значения всё равно собираются для каждой скважины.
Детали обработки датчиков (режим V2)
1. Построение временно́й шкалы
Берутся все временные метки с датчика глубины (они служат опорными точками для всех остальных датчиков).
2. Маска активности по давлению вращения
3. Маска активности по давлению воздуха
4. Объединённая маска
Бурение считается возможным, если оба условия (и давление вращения, и давление воздуха) истинны. Эта объединённая маска используется для уточнения интервалов, найденных по глубине.
5. Уточнение интервалов по глубине
Сначала находятся первичные интервалы бурения по изменению глубины (глубина растёт от minDepth до zeroDepth). Затем каждый интервал «обрезается» по времени на основе объединённой маски (то есть отбрасываются хвосты, где датчики не подтверждают активность). При этом интервал не сжимается слишком сильно – если уточнённая длительность менее 240 секунд, возвращается исходный интервал.
6. Расчёт средних значений датчиков (адаптивный метод)
Для каждого интервала бурения собираются все показания датчиков скорости подачи, давлений. Вместо простого среднего арифметического вычисляется:
Скорость подачи переводится из см/мин в м/мин (деление на 100).
Параметры отчёта (настраиваются пользователем)
| Параметр | ||
|---|---|---|
Глубина начала бурения |
1 м | |
Глубина окончания бурения |
1 м | |
Мин |
60 секунд | |
Использовать датчик давления |
||
| Расширенная версия |
Включ |
|
|
|
|
Макс. период ложного срабатывания |
Короткие «всплески |
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я обычно оставляют по умолчанию (1 мzero_depthетр),— чтобы отсечь начальные колебанияглубины. - Если датчики
давлениявращения и воздуха работают стабильно, порог заполнения провалов можно уменьшитьworkGapSeconds(например, до 120 секунд) для более точного определения— границы скважин станут точнее.
Что даёт отчёт
Отчёт ReportDrillingEvents позволяет получать достоверные данные о времени и объёме бурения даже при зашумлённых первичных сигналах, датчиков. Это важно для:
- учёта выработки буровой установки;
- планирования буровзрывных работ;
- ко
рной птромышля эффенности.
й;Что такое «маска активности»(понятное объяснмен и экипаже) - анализ
ируем неа просто«было даевлениеили нет», а строим для каждого датчикадвоичную карту времени, где для каждого момента (с привязкой к меткам времени датчика глубины) записано«ДА» (true) — датчикпоказываетрабочий режим, или«НЕТ» (false) — нерабочий режим. Эта карта и называетсямаской активности.Простыми словами: берём ось времени, разбитую на последовательные моменты (по времени поступления данных с датчика глубины). Для каждого момента смотрим на показание другого датчика (например, давления вращения). Если давление лежит в рабочем диапазоне (60–250 бар), ставим1(активно). Если нет —0(неактивно). Получаем последовательность из нулей и единиц — это и есть маска.Зачем это нужно?Одиночное мгновенное значение может быть ошибочным из-за шумов или кратковременных сбоев. Маска позволяет:Сглаживать кратковременные провалы— если давление упало на 10 секунд, а затем снова поднялось, мы можем «заполнить» этот провал единицами, потому что по физическому смыслу бурение не прерывалось.Объединять данные от разных датчиков— например, бурение считается идущим только тогда, когдаобадатчика (давление вращения И давление воздуха) показывают активность. Для этого мы поэлементно умножаем две маски (логическое И).
Как строится маска на примере давления вращенияБерём все моменты времениtimelineиз датчика глубины.Для каждого момента находим ближайшее показание датчика вращения (или берём последнее известное).Если значение от 60 до 250 бар — записываемtrue, иначеfalse.Теперь «заполняем короткие провалы»: ищем участки, где маска равнаfalse, но их длительность меньше заданного порога (например, 240 секунд). Такие участки переключаем наtrue. Почему? Потому что на реальном бурении давление может кратковременно падать (смена породы, регулировка), но процесс не останавливается.
Объединение масок (логическое И)После того как мы построили маски для давления вращения и для давления воздуха, мы создаёмитоговую маску:Для каждого момента времени:активность = маска_вращения И маска_воздуха.Если оба датчика показывают рабочий режим — ставимtrue(бурение вероятно), иначе —false.
Затем мы «накладываем» эту итоговую маску на интервалы, найденные по глубине. Если в каком-то интервале маска показываетfalse, но при этом глубина растёт — мы всё равно оставляем интервал (маска только уточняет границы, но не отменяет бурение). Однако если на краях интервала маска долгое времяfalse— мы «обрезаем» эти края, чтобы интервал точнее соответствовал реальному времени бурения.Аналогия для пониманияПредставьте, что вы наблюдаете за работой станка:Один индикатор загорается, когда включено вращение шпинделя.Второй индикатор загорается, когда подаётся сжатый воздух для удаления стружки.
Вы хотите узнать, когда станок реально обрабатывает деталь. Для этого вы включаетелогическую схему: еслиобаиндикатора горят одновременно — считаем, что идёт обработка. Если один погас на секунду (помеха) — вы не выключаете обработку. Это и есть «маска активности» и её заполнение коротких провалов.В коде отчётаBuildActiveMaskWithGapстроит маску для давления вращения с заполнением провалов.BuildAirActiveMaskWithGapстроит маску для давления воздуха.combinedActive[i] = rotActiveMask[i] && airActiveMask[i]— объединение.RefineEventsBySensorsиспользует объединённую маску, чтобы уточнить границы интервалов, найденных по глубине.
Таким образом,маска активности— это инструмент цифровой обработки сигналов, позволяющий устойчиво выделять периоды работы оборудования даже при наличии шумов и кратковременных сбоев датчиков.
В расширенном режиме отчёта (V2) мы