Устройство нефтяной скважины, способ снятия показаний с приборов и система измерения и снятия показаний параметров нефтяной скважины
Иллюстрации
Показать всеПредложенная группа изобретений относится к нефтедобывающей отрасли, в частности к устройствам, системам и способам измерения параметров нефтяной скважины. Техническим результатом является повышение надежности работы системы измерения и снятия показаний параметров скважины за счет снижения риска повреждения системы при обновлении данных. Устройство нефтяной скважины содержит первое запоминающее устройство, содержащее первый программный блок и блок структуры данных, второе запоминающее устройство, являющееся внешним относительно скважины, связанное с адресом и содержащее второй программный блок, связанный с идентификатором файла, и процессор для загрузки второго программного блока из второго запоминающего устройства. Причем блок структуры данных включает в себя, по меньшей мере, один компонент, выбранный из группы, включающей адрес, идентификатор файла и флаг. При этом процессор замещает первый программный блок вторым программным блоком и изменяет статус флага после замещения первого программного блока. Система измерения и снятия показаний параметров нефтяной скважины включает нефтепромысловый измерительный прибор, который содержит логическую схему, первое запоминающее устройство и второе запоминающее устройство. Первое запоминающее устройство соединено с логической схемой и содержит первый программный блок и флаг, установленный в первое состояние, а второе запоминающее устройство является внешним относительно указанного прибора, связанного с логической схемой, и содержит второй программный блок. При этом логическая схема воспринимает второй программный блок со второго запоминающего устройства, замещает первый программный блок вторым программным блоком и устанавливает флаг во второе состояние после завершения указанного замещения. Способ снятия показаний приборов осуществляется при помощи вышеуказанных устройства и системы измерения и снятия показаний параметров скважины. 3 н. и 26 з.п. ф-лы, 7 ил.
Реферат
Область техники, к которой относится изобретение
Изобретение относится к нефтедобывающей отрасли, в частности к устройствам, системам и способам измерения и снятия показаний параметров нефтяной скважины.
Уровень техники
Во многих коммерческих системах и потребительских товарах для выполнения их функций используют встроенные компьютерные системы. Встроенные компьютерные системы часто представляют собой общепромышленные микропроцессоры или микроконтроллеры, выполняющие специализированные функции по записанным в ПЗУ программам, то есть программному обеспечению, сохраняемому в энергонезависимой памяти. Так как такая конструкция не базируется на специализированных аппаратных компонентах, она обладает способностью к перенастройке и быстро расходится на рынке. Во многих случаях зашитое в ПЗУ программное обеспечение может быть обновлено для устранения программных ошибок или для добавления новых функциональных возможностей. Однако такое обновление связано с риском, если по каким-нибудь причинам энергонезависимая память повреждается, встроенная система перестает работать должным образом. Обычно такое повреждение трудно исправить, так как встроенная система перестает откликаться. Последствия таких нарушений могут быть значительными во многих системах, в которых ограничен ручной доступ, например, в промышленном оборудовании, работающем в опасных условиях, космических аппаратах и скважинной каротажной аппаратуре. Именно они работают в таких условиях, при которых могут возникать сбои, связанные с ухудшением связи, флуктуациями напряжения питания или внешним излучением. Существующие методы обновления в полной мере не застрахованы от риска возникновения сбоя.
Раскрытие изобретения
Настоящее изобретение предлагает устройство нефтяной скважины, состоящее из первого запоминающего устройства, содержащего первый программный блок и блок структуры данных, включающей в себя, по меньшей мере, один компонент, выбранный из группы, включающей адрес, идентификатор файла и флаг, из второго запоминающего устройства, являющего внешним относительно скважины, связанного с адресом и содержащего второй программный блок, связанный с идентификатором файла, и из процессора для загрузки второго программного блока из второго запоминающего устройства, при этом процессор замещает первый программный блок вторым программным блоком и изменяет статус флага после замещения первого программного блока.
При перезагрузке процессора он может возобновлять замещение первого программного блока, если флаг установлен.
Процессор может устанавливать флаг до замещения вторым программным блоком первого программного блока и сбрасывать флаг только после того, как второй программный блок заместит первый программный блок.
Если указанное замещение прерывается, то флаг может оставаться установленным при перезагрузке процессора.
Устройством согласно настоящему изобретению может быть каротажное кабельное устройство или бурильная колонна.
Процессор может загружать второй программный блок по Интернет-связи.
Указанный адрес может быть IP-адресом или именем сервера.
Если процессор возобновляет указанное замещение заданное число раз, то он будет прерывать попытки возобновления указанного замещения путем сброса указанного флага.
Процессор может вырабатывать предупредительный сигнал, показывающий, что процессор не может успешно выполнить указанное замещение.
Процессор может определять, возобновлять ли указанное замещение путем определения, в функционирующем ли состоянии находится рабочая программа, находящаяся по адресу назначения, который связан с указанным флагом.
Согласно настоящему изобретению предлагается также способ снятия показания с приборов, включающий установку флага в первое состояние, загрузку обновленного программного блока из памяти в логическую схему скважинного каротажного прибора, которую предварительно отделяют от указанной памяти, замещение в указанной логической схеме предшествующего программного блока обновленным программным блоком и при завершении указанного замещения установку флага во второе состояние.
В вышеуказанном способе может осуществляться дополнительно, в случае прерывания указанного замещения, перезагрузка указанной логической схемы и возобновление указанного замещения.
Также в вышеуказанном способе может дополнительно осуществляться перезагрузка указанной логической схемы и возобновление указанного замещения при условии установки указанного флага в первое состояние.
Кроме вышеизложенного, в способе согласно настоящему изобретению дополнительно в случае прерывания указанного замещения может предусматриваться поддержание указанного флага установленным в первое состояние при перезагрузке указанной логической схемы.
При загрузке указанного обновленного программного блока может использоваться Интернет-связь.
В способе по настоящему изобретению предусматривается возможность, при загрузке указанного обновленного программного блока, передачи в указанную память IP-адреса, связанного с указанной памятью, и файлового имени, связанного с указанным обновленным программным блоком.
При загрузке указанного обновленного программного блока может использоваться расположенный на боковой стенке порт считывания, который связывают с указанной логической схемой.
В настоящем изобретении предлагается также система измерения и снятия показаний параметров нефтяной скважины, состоящая из нефтепромыслового измерительного прибора, включающего в себя логическую схему и первое запоминающее устройство, соединенное с логической схемой, и содержащее первый программный блок и флаг, установленный в первое состояние, и из второго запоминающего устройства, являющего внешним относительно указанного прибора, связанного с логической схемой, и содержащее второй программный блок. Логическая схема воспринимает второй программный блок со второго запоминающего устройства, замещает первый программный блок вторым программным блоком и устанавливает флаг во второе состояние после завершения указанного замещения.
В системе предусматривается возможность в случае прерывания указанного замещения перезагрузки логической схемы и автоматического возобновления ею указанного замещения.
Логическая схема может осуществлять автоматическое возобновление указанного замещения в процессе перезагрузки.
В случае прерывания указанного замещения флаг может поддерживаться установленным в первое состояние при перезагрузке логической схемы.
Флаг может являться индикатором завершения указанного замещения, и если после перезагрузки логической схемы флаг установлен в первом состоянии, то логическая схема может делать попытки завершить указанное замещение.
Вышеупомянутый прибор может быть кабельным каротажным устройством или бурильной колонной.
Логическая схема может замещать первый программный блок вторым программным блоком при своем нахождении на дневной поверхности скважины.
Также логическая схема может замещать первый программный блок вторым программным блоком при своем нахождении в скважине.
Указанное второе запоминающее устройство может передавать в логическую схему указанный второй программный блок по сетевой связи.
Указанная логическая схема может загружать указанный второй программный блок из второго запоминающего устройства по сетевой связи путем передачи сохраненной информации, в которой заключается IP-адрес указанного второго запоминающего устройства или файловое имя, связанное с указанным вторым программным блоком.
Указанная логическая схема может воспринимать второй программный блок через расположенный на боковой стенке порт считывания, выступающий на наружную поверхность прибора.
Краткое описание чертежей
Для подробного описания иллюстративных вариантов выполнения изобретения далее будет сделана ссылка на прилагаемые чертежи, на которых показано:
на фиг.1 - система каротажа в процессе бурения в соответствии с различными вариантами выполнения;
на фиг.2 - система кабельного каротажа в соответствии с различными вариантами выполнения;
на фиг.3 - модуль обработки в соответствии с различными вариантами выполнения;
на фиг.4 - блок-схема обработки в соответствии различными вариантами выполнения;
на фиг.5 - структура данных, используемая при обработке в соответствии с фиг.4 и соответствующая различным вариантам выполнения;
на фиг.6 - частично разобранный каротажный прибор, помещенный в модуль обработки с фиг.3, в соответствии с различными вариантами выполнения;
на фиг.7 - детальное изображение расположенного в боковой стенке порта частично разобранного прибора с фиг.6 в соответствии с различными вариантами выполнения.
Осуществление изобретения
В последующем описании и формуле изобретения для обозначения конкретных системных компонентов используются различные термины. Как понятно специалисту в данной области, различные фирмы могут использовать для обозначения компонентов различные названия. В данном документе не ставиться цель провести различие между компонентами, отличающимися по названию, а не по функциональному назначению. При дальнейшем обсуждении и в формуле изобретения термины "содержащий" и "включающий" используются расширенным образом и, следовательно, должны трактоваться в смысле "содержащий, но не ограниченный…". Также термин "элемент связи" или "устройство связи" должен обозначать как непосредственное электрическое подключение, так и опосредованное соединение. Следовательно, если первый прибор соединен с вторым прибором, то это соединение может быть как непосредственным электрическим соединением, так и соединением через другие приборы и средства связи. Кроме того, термин "обновление" должен охватывать любого вида модификации, включая "расширение ресурсов", "переработку" и т.д. Кроме того, термин "флаг" может быть использован для обозначения любого подходящего типа индикации, включая одиночный бит, последовательность битов или какой-либо другой тип индикации.
Дальнейшее рассмотрение относится к различным вариантам выполнения изобретения. Хотя один или более вариантов выполнения могут быть предпочтительными, описанные варианты не должны рассматриваться или, наоборот, использоваться как ограничивающие объем изобретения, определяемый формулой изобретения. Кроме того, специалисту в данной области понятно, что последующее описание имеет широкое применение, и рассмотрение любого варианта выполнения служит только иллюстрацией, относится только к этому варианту и не предназначено для определения объема изобретения, включая формулу изобретения.
В данном описании представлен способ, с помощью которого программный блок, установленный во встроенную вычислительную систему, обновляют с минимальным риском или без риска повреждения системы. Более конкретно, способ позволяет обновлять программные блоки таким образом, что даже в случае прерывания процесса обновления система все же остается работоспособной. Раскрытые системы и способы особенно пригодны для использования в нефтепромысловом оборудовании, включая каротажные приборы, составляющие часть более крупных узлов.
На фиг.1 в качестве примера показано оборудование для каротажа в процессе бурения, в которое входит бурильная колонна с одним или более приборами, имеющими программные блоки, которые можно обновлять, используя раскрытые в данном изобретении способы. На бурильной платформе 2 установлен деррик 4 с талевым блоком 6, предназначенным для подъема и спуска бурильной колонны 8. При спуске бурильной колонны 8 через роторный стол 12 ее закрепляют на ведущей трубе 10. Буровая головка 14 приводится в движение скважинным двигателем и/или за счет вращения бурильной колонны 8. При вращении буровая головка 14 образует промысловую скважину 16, проходящую через различные пласты 18 породы.
Насос 20 перекачивает буровой раствор через подающую трубу 22 в ведущую трубу 10, вниз по внутреннему пространству бурильной колонны 8, через отверстия в буровой головке 14 обратно на поверхность через кольцевое пространство, охватывающее буровую колонну 8, и, наконец, в резервуар 24 хранения. Буровой раствор переносит куски породы из скважины и способствует сохранению целостности скважины.
Прибор 26 каротажа в процессе бурения объединен с оборудованием низа бурильной колонны вблизи буровой головки 14. По мере прохождения буровой головки через пласты породы каротажный прибор 26 собирает данные измерений, относящихся к различным свойствам формации, а также к положению буровой головки и различным другим условиям бурения. Каротажный прибор 26 может иметь форму утяжеленной бурильной трубы, то есть толстостенной трубы, придающей дополнительный вес и устойчивость, способствующие процессу бурения. В оборудование может входить телеметрический переходник, обеспечивающий передачу данных измерений прибора к поверхностному приемнику 30 и получение команд от поверхностного приемника 30.
В процессе бурения в различные моменты времени бурильную колонну могут извлекать из скважины. Каротажные операции могут быть выполнены как только удалят бурильную колонну. Такие каротажные операции показаны на фиг.2. Каротаж проводят с использованием кабельного каротажного прибора 34, то есть чувствительного каротажного зонда, подвешенного на кабеле 42, содержащем проводящие жилы для передачи питания к прибору и телеметрической информации от прибора на поверхность. Каротажное оборудование 44 накапливает результаты измерений с каротажного прибора 34 и содержит компьютерные блоки для обработки и хранения этих результатов. Компьютерные блоки могут представлять собой персональный компьютер, сервер, плату обработки цифрового сигнала или другой вид компьютерного блока. Компьютерные блоки могут иметь доступ по проводной или беспроводной связи в Интернет и/или в другую сеть (отдельно не показаны).
В любой подходящей части бурильной колонны 8 (например, в приборе 26) и/или в любой подходящей части зонда 34 может помещаться логическая схема 300 обработки (то есть встроенная система), иллюстративный вариант выполнения которой дан на фиг.3. Логическая схема 300 обработки может выполнять различные функции, включая осуществление связи скважинного прибора с поверхностью и в обратном направлении, управление работой прибора и выполнением каротажных операций и т.д. Логическая схема 300 обработки содержит процессор 302 и запоминающее устройство 304, включающее один или более тип памяти (например, энергонезависимую память, флеш-память). Процессор 302 соединен с входным/выходным (I/O) портом 306, предназначенным для передачи и получения данных от другого электронного устройства (например, компьютера), соединенного с логической схемой 300 обработки через I/O порт 306. В запоминающем устройстве 304 установлен программный блок, включающий операционную систему (ОС) (например, UNIX, LINUX или WINDOWS) 308 и загрузчик 312 операционной системы, используемый при запуске ОС 308. ОС 308 может включать подблок 310 обновления программного блока, хотя в некоторых вариантах выполнения этот подблок может храниться отдельно от ОС 308. При выполнении процессором 302 подблок 310 обновления программного блока дает сигнал процессору 302 на загрузку обновления программного блока, необходимого для реализации способа обновления, описанного ниже. В запоминающем устройстве 304 могут храниться другие программные блоки, включая блоки данных, в записанном в ПЗУ виде и используемые при выполнении системного администрирования/служебных действий, каротажных изменениях и/или других подобных действиях. В записанных в ПЗУ программных блоках 314 могут содержаться любые подходящие виды программ, такие как операционная система, прикладные программы и т.д. Упомянутый выше способ обновления программного блока может быть использован для любых программных блоков (например, для программного блока 314, записанного в ПЗУ и сохраненного в запоминающем устройстве 304). Обновлены могут быть как один программный блок, так и более. Способ обновления программного блока может быть также использован для загрузки нового программного блока в запоминающее устройство 304. В оставшейся части данного описания как к обновленному программному блоку, так и к новому будут применяться термины "обновление программного блока", "обновленный программный блок" или аналогичные термины.
На фиг.4 представлена блок-схема способа 400 и представляющего один из вариантов реализации способа обновления программного блока. Метод 400 может быть запущен вручную оператором. Альтернативно способ 400 может выполняться регулярно через заданные промежутки времени, которые могут быть запрограммированы в логической схеме 300. Как следует из фиг.4, выполнение способа 400 начинается с того, что процессор 302 проверяет программный подблок 310 обновления программного блока, чтобы определить, доступен ли обновленный программный блок для загрузки (этап 402). Процессор 302 может использовать программный подблок 310 обновления программного блока для определения доступности обновленного программного блока, применяя по меньшей мере один из способов проводной или беспроводной связи, описанный выше. В некоторых вариантах выполнения изобретения обновленный программный блок сохраняется в поверхностном компьютере (например, в оборудовании 44). Альтернативно обновленный программный блок может храниться в отдельном компьютере (например, на сервере или в некоторых вариантах выполнения на нескольких серверах), с которым связан по сети поверхностный компьютер (например, по Интернет-протоколу связи, такому как протокол сетевой передачи файлов (FTP), протокол передачи гипертекста (HTTP), стандартный протокол сетевых файлов (NFS)). В частности, подблок 310 обновления программного блока дает сигнал процессору 302 о направлении сигнала запроса на заданный объект (например, вышеупомянутый поверхностный компьютер) для определения готовности объекта к передаче обновленного программного блока в логическую схему 300. В свою очередь заданный объект может посылать ответный сигнал в логическую схему 300, содержащую информацию о доступности обновленного программного блока для загрузки. Локализация заданного объекта (например, IP-адреса) предусматривается в программном блоке 310 обновления программного блока, но при необходимости может быть изменена.
Если при взаимодействии программного подблока 310 обновления программного блока процессор определяет (например, с использованием способа, описанного выше), что обновленный программный блок доступен для загрузки (этап 402), в способе 400 предусмотрена возможность подачи процессором 302 сигнала к программному подблоку 310, который выдает соответствующий сигнал загрузчику 312 о загрузке обновленного программного блока при следующей перезагрузке логической схемы 300 (этап 404). При взаимодействии с процессором 302 программный подблок 310 обновленного программного блока выдает сигнал процессору 302 отвести определенную область памяти 304 для информации, необходимой загрузчику для загрузки обновленного программного блока при следующей перезагрузке. В альтернативных вариантах выполнения обновленный программный блок может быть загружен, как только процессор 302 определит, что обновленный программный блок доступен для загрузки (то есть до перезагрузки). По меньшей мере в некоторых таких вариантах выполнения программный подблок 310 обновления программного блока дает сигнал процессору 302 о начале загрузки обновленного программного блока и отвести определенную область памяти 304 для информации, необходимой загрузчику 312 для возобновления загрузки обновленного программного блока, если текущая загрузка прервана и логическая схема 300 обработки перезагружена. В таких случаях может быть использован признак (например, флаг, описанный ниже) для обозначения для загрузчика 312 того, что загрузка обновленного программного блока должна быть возобновлена при перезагрузке.
Вне зависимости оттого, загружается обновленный программный блок до перезагрузки или после нее, заданная область памяти 304 отводится с учетом структуры данных, показанной на фиг.5. На фиг.5 в качестве иллюстрации представлена структура данных 500, которая может наполняться различной информацией, используемой для регулирования загрузки обновленного программного блока. Структура данных 500 хранится в памяти 304 и содержит, по меньшей мере, один элемент 501. Каждый элемент может включать поля 502, 504 и 506. Поле 502 содержит адрес, такой как имя сервера или IP-адрес (далее "IP-адрес 502") объекта, где хранится обновленный программный блок. В поле 504 находятся, по меньшей мере, один идентификатор файла (например, имя файла (файлов) или версия (версии), далее "FI 504"), связанные с обновленным программным блоком. Поле 506 содержит признак, такой как флаг (далее "флаг 506"). Программный подблок 310 обновления программного блока может давать сигнал процессору 302 установить или сбросить флаг 506 (например, один или более битов) в памяти 304. При загрузке установленный флаг 506 будет обозначать для загрузчика 312, что должна начаться загрузка программного блока или что начатая ранее, но не завершенная загрузка программного блока должна быть возобновлена. Например, если обновленный программный блок загружается до перезагрузки, но загрузка прошла неудачно, флаг может быть установлен, так чтобы при перезагрузке возобновить ввод программного блока.
Далее в способе 400 программный подблок 310 обновления программного блока дает сигнал процессору 302 на перезагрузку логической схемы 300 (этап 406). В некоторых вариантах выполнения программный подблок 310 обновления программного блока может давать процессору 302 сигнал на выдачу пользователю логической схемы 300 варианта отложенной перезагрузки логической схемы 300. Например, используя компьютер, соединенный с I/O портом 306, пользователь может иметь возможность определять момент в будущем, когда будет перезагружена логическая схема 300. В процессе перезагрузки статус флага 506 отражает состояние связанной с ним загрузки обновленного программного блока. Например, установленный флаг может обозначать, что логическая схема 300 перезагружена до того, как введенный обновленный программный блок должным образом сохранен в памяти. Альтернативно установленный флаг может обозначать, что никакого ввода программного блока вообще не было. Аналогично сброс флага может обозначать, что обновленный программный блок загружен и установлен должным образом.
При загрузке загрузчик 312 связан с процессором 302 (этап 408). Загрузчик 312 дает сигнал процессору 302 на определение статуса флага 506 в процессе выполнения загрузки (этап 410). Если процессор 302 определяет, что флаг 506 установлен, загрузчик 312 дает сигнал процессору 302 на загрузку (или возобновление загрузки) обновленного программного блока (этап 412), имея имя (имена) файла (файлов) и/или версии, которые соответствуют FI 504. Обновленный программный блок загружается от объекта, чей IP-адрес соответствует IP-адресу 502. Загрузчик 312 может дать сигнал процессору 302 занести загруженный программный блок или файлы в неиспользованную область памяти 304. Альтернативно загрузчик 312 дает сигнал процессору 302 заменить часть или весь программный блок, уже занесенный в память 304, обновленным программным блоком. В некоторых вариантах выполнения такая перезапись содержит замену одного программного блока на другой программный блок.
Например, если при выполнении программным подблоком 310 обновления программного блока процессор 302 определяет, что обновленный программный блок (имеющий файловое имя "SOFTWARE_UPDATE.EXE") доступен для загрузки с сервера, имеющего IP-адрес 65.70.55.89, то программный подблок 310 обновления программного блока дает сигнал процессору 302 занести в элемент 501 структуры данных 500 IP-адрес 65.70.55.89 и файловое имя SOFTWARE_UPDATE.EXE. Программный подблок 310 обновления программного блока также дает сигнал процессору 302 установить флаг у элемента 501. При перезагрузке загрузчик 312 совместно с процессором 302 обнаружит установленный флаг и воспримет установленный флаг, как сигнал на начало загрузки файла SOFTWARE_UPDATE.EXE от объекта с IP-адресом 65.70.55.89. Как было упомянуто ранее, хотя может быть загружен любой тип обновленного программного блока (такой как приведенный выше в качестве иллюстрации исполняемый файл), предпочтительно программные блоки загружаются целиком.
Загрузчик 312 дает сигнал процессору 302 мониторировать состояние загрузки и/или занесения в память обновленного программного блока (этап 414). По меньшей мере в некоторых вариантах выполнения процессор 302 мониторирует состояние загрузки путем проверки контрольной суммы загруженного программного блока и проверки того, что загруженный программный блок занесен в энергонезависимую память.
Если процесс загрузки и/или занесения в память по какой-нибудь причине прерывается (например, в случаях, когда программный блок установлен или обновлен только частично, таких как нарушение подачи питания, повреждения аппаратных средств или программ, проблемы в соединении, ошибки оператора/пользователя и т.д.) или в ином случае не пришел к успешному завершению (этап 416), загрузчик 312 предотвратит изменение процессором 302 статуса флага 506. Вместо этого флаг 506 сохраняется в установленном состоянии (этап 418). В этом случае при перезапуске логической схемы 300 загрузчик 312 определит, что флаг 506 все еще установлен, показывая, что обновленный программный блок еще не установлен и не занесен в память 304 должным образом. Тогда загрузчик 312 может дать сигнал процессору 302 на повторный запуск операции в целом загрузки и сохранения в памяти. Предпочтительно, однако, чтобы загрузчик 312 давал сигнал процессору 302 на возобновление предыдущей операции загрузки/сохранения в памяти.
Предшествующая операция загрузки/занесения в память может быть возобновлена с использованием структуры данных 500. Хотя это конкретно не показано на фиг.5, по меньшей мере в некоторых вариантах выполнения, по меньшей мере, один элемент 501 структуры данных 500 может содержать адрес назначения, показывающий, куда в логической схеме 300 должен быть занесен обновляемый программный блок, полученный по указанному IP-адресу. В случае, если обновление программного блока не было выполнено должным образом и логическая схема 300 перезагружается, загрузчик 312 дает сигнал процессору 302 на проверку адреса назначения в элементе 501, чтобы определить, было ли обновление программного блока должным образом загружено и установлено (например, работоспособен ли программный блок по адресу назначения). Если обновленный программный блок не был должным образом загружен или установлен, загрузчик 312 дает сигнал процессору на возобновление операции загрузки/занесения в память по адресу назначения, обозначенному в элементе 501. Объем настоящего раскрытия не ограничен данным конкретным способом, и возможны также другие способы определения состояния ранее выполненной операции загрузки/занесения в память программного блока.
Когда процессор 302 определит, что обновленный программный блок должным образом загружен и сохранен в памяти 304 (этап 416), загрузчик 312 дает сигнал процессору 302 на снятие флага 506 (этап 420). Так как флаг 506 больше не установлен, при следующей перезагрузке процессор 302 не будет делать попытки загрузить обновленный программный блок. После выдачи загрузчиком 312 сигнала процессору 302 на сброс флага 506 (этап 420) в способе 400 предусмотрен запуск загрузчиком ОС 308 (этап 422).
В некоторых случаях могут быть уставлены несколько флагов 501 в нескольких элементах. Каждый установленный флаг может быть связан с предназначенным для выполнения обновлением различных программных блоков. В каждом случае операции, выполняемые в этапах с 406 по 420 с фиг.4, повторяются по мере необходимости до тех пор, пока каждый установленный флаг не будет сброшен благодаря успешному выполнению обновления программного блока.
В некоторых случаях сбои в работе аппаратных средств или программного обеспечения могут помешать успешному обновлению программного блока. В таких случаях по меньшей мере некоторые операции способа 400 могут быть выполнены повторно с малым успехом или без него. Соответственно, загрузчик 312 может быть выполнен с возможностью прекращения попыток обновления программного блока после заданного числа повторов. Например, загрузчик 312 может быть выполнен на прекращение попыток обновления программного блока после того, как закончились неудачей десять попыток. В этом случае после неудачной десятой попытки обновления программного блока загрузчик 312 может дать сигнал процессору 302 на прекращение дальнейших попыток обновления (например, путем сброса соответствующего флага в структуре данных 500) и затем сигнал на выдачу предупредительного сигнала. В некоторых вариантах выполнения такой предупредительный сигнал можно получить по свечению светодиода (отдельно не показан), соединенного с логической схемой 300. В других вариантах выполнения такой предупредительный сигнал можно получить в виде электронного сообщения или сигнала, поступающего на электронное устройство (например, компьютер), не входящее в логическую схему 300 (например, оборудование 44), через I/O порт 306. При получении этого сигнала пользователь может попытаться устранить сбой и возобновить попытки обновления программного блока.
Метод, описанный со ссылкой на фиг.4, может быть выполнен, когда логическая схема 300 находится или в скважине, или на поверхности. В вариантах выполнения, в которых логическая схема 300 является частью зонда 34, эта логическая схема может находиться в скважине и, следовательно, содержать программный блок, обновляемый в скважине. Связь (например, при загрузке программного блока) между логической схемой 300 и каротажным оборудованием 44 может осуществляться по кабелю 42. По меньшей мере в некоторых вариантах выполнения каротажное оборудование 44 имеет выход в сеть и/или в Интернет. В некоторых таких вариантах выполнения в логическую схему 300 можно загружать информацию (например, об обновлении программного блока или апгрейде) из сети и/или Интернета через каротажное оборудование 44.
В некоторых вариантах выполнения логическая схема 300 входит в бурильную колонну 8 в виде прибора 26. Частично разобранный прибор 600 показан на фиг.6. Прибор 600 содержит расположенный на боковой стенке порт 602 считывания, к которому обеспечен свободный доступ после полной установки прибора и связи его с бурильной колонной. По сравнению с другими способами, в которых оператор должен, например, демонтировать прибор, чтобы добраться до встроенной логической схемы с целью обновления программного блока, расположенный на боковой стенке порт 602 считывания облегчает электрический доступ к встроенной логической схеме 300 и дает возможность оператору проводить быстрое обновление программного блока. Таким образом снижаются или минимизируются как производственные простои, так и альтернативные издержки.
В некоторых вариантах выполнения расположенный на боковой стенке порт 602 считывания может быть соединен с I/O портом 306. В других вариантах выполнения расположенный на боковой стенке порт 602 считывания можно рассматривать как I/O порт 306. Более подробно расположенный на боковой стенке порт 602 считывания представлен на фиг.7. Как показано на фиг.7, расположенный на боковой стенке порт 602 считывания содержит группу штырьков 604, выполненных с возможностью сопряжения с кабелем связи (отдельно не показан), соединенным с компьютером, входящим, например, в оборудование 44. Таким путем данные предаются между логической схемой 300 и связанным с ней любым электронным устройством. В вариантах выполнения, в которых логическая схема 300 входит в бурильную колонну 8, процесс, отображенный на фиг.4, предпочтительно выполняется на поверхности при частично разобранном приборе 600 (то есть логической схеме 300).
Предшествующее рассмотрение предназначено для иллюстрации принципов и различных вариантов выполнения настоящего изобретения. После рассмотрения предшествующего описания для специалистов в данной области техники станут очевидными различные модификации и вариации выполнения изобретения. Задача нижеследующей формулы изобретения заключается в том, чтобы представить и охватить все такие вариации и модификации.
1. Устройство нефтяной скважины, состоящее из первого запоминающего устройства, содержащего первый программный блок и блок структуры данных, включающей в себя, по меньшей мере, один компонент, выбранный из группы, включающей адрес, идентификатор файла и флаг, из второго запоминающего устройства, являющегося внешним относительно скважины, связанного с адресом и содержащего второй программный блок, связанный с идентификатором файла, и из процессора для загрузки второго программного блока из второго запоминающего устройства, при этом процессор замещает первый программный блок вторым программным блоком и изменяет статус флага после замещения первого программного блока.
2. Устройство по п.1, в котором при перезагрузке процессора он возобновляет замещение первого программного блока, если флаг установлен.
3. Устройство по п.1, в котором процессор устанавливает флаг до замещения вторым программным блоком первого программного блока и сбрасывает флаг только после того, как второй программный блок заместит первый программный блок.
4. Устройство по п.3, в котором, если указанное замещение прервано, флаг остается установленным при перезагрузке процессора.
5. Устройство по п.1, которое является устройством, выбранным из группы, включающей каротажное кабельное устройство и бурильную колонну.
6. Устройство по п.1, в котором процессор загружает второй программный блок по Интернет-связи.
7. Устройство по п.1, в котором указанный адрес выбирают из группы включающей IP-адрес и имя сервера.
8. Устройство по п.1, в котором, если процессор возобновляет указанное замещение заданное число раз, он прерывает попытки возобновления указанного замещения.
9. Устройство по п.8, в котором процессор прерывает попытки возобновления указанного замещения путем сброса указанного флага.
10. Устройство по п.8, в котором процессор вырабатывает предупредительный сигнал, показывающий, что процессор не может успешно выполнить указанное замещение.
11. Устройство по п.1, в котором процессор определяет, возобновлять ли указанное замещение путем определения, в функционирующем ли состоянии находится рабочая программа, находящаяся по адресу назначения, который связан с указанным флагом.
12. Способ снятия показания с приборов, включающий установку флага в первое состояние, загрузку обновленного программного блока из памяти в логическую схему скважинного каротажного прибора, которую предварительно отделяют от указанной памяти, замещение в указанной логической схеме предшествующего программного блока обновленным программным блоком и при завершении указанного замещения установку флага во второе состояние.
13. Способ по п.12, включающий дополнительно, в случае прерывания указанного замещения, перезагрузку указанной логической схемы и возобновление указанного замещения.
14. Способ по п.12, включающий дополнительно перезагрузку указанной логической схемы и, если указанный флаг установлен в первое состояние, возобновление указанного замещения.
15. Способ по п.12, включающий дополнительно в случае прерывания указанного замещения поддержание указанного флага установленным в первое состояние при перезагрузке указанной логической схемы.
16. Способ по п.12, в котором при загрузке указанного обновленного программного блока используют Интернет-связь.
17. Способ по п.12, в котором при загрузке указанного обновленного программного блока передают в указанную память IP-адрес, связанный с указанной памятью, и файловое имя, связанное с указанным обновленным программным блоком.
18. Способ по п.12, в котором при загрузке указанного обновленного программного блока используют расположенный на боковой стенке порт считывания, который связывают с указанной логической схемой.
19. Система измерения и снятия показаний параметров нефтяной скважины, состоящая из нефт