RU2384700C1 - Structure of oil well, method of readout from devices and measuring system and readout system of oil well parametres - Google Patents
Structure of oil well, method of readout from devices and measuring system and readout system of oil well parametres Download PDFInfo
- Publication number
- RU2384700C1 RU2384700C1 RU2008131773/03A RU2008131773A RU2384700C1 RU 2384700 C1 RU2384700 C1 RU 2384700C1 RU 2008131773/03 A RU2008131773/03 A RU 2008131773/03A RU 2008131773 A RU2008131773 A RU 2008131773A RU 2384700 C1 RU2384700 C1 RU 2384700C1
- Authority
- RU
- Russia
- Prior art keywords
- flag
- program block
- program
- substitution
- logic circuit
- Prior art date
Links
Images
Abstract
Description
Область техники, к которой относится изобретениеFIELD OF THE INVENTION
Изобретение относится к нефтедобывающей отрасли, в частности к устройствам, системам и способам измерения и снятия показаний параметров нефтяной скважины.The invention relates to the oil industry, in particular to devices, systems and methods for measuring and taking readings of oil well parameters.
Уровень техникиState of the art
Во многих коммерческих системах и потребительских товарах для выполнения их функций используют встроенные компьютерные системы. Встроенные компьютерные системы часто представляют собой общепромышленные микропроцессоры или микроконтроллеры, выполняющие специализированные функции по записанным в ПЗУ программам, то есть программному обеспечению, сохраняемому в энергонезависимой памяти. Так как такая конструкция не базируется на специализированных аппаратных компонентах, она обладает способностью к перенастройке и быстро расходится на рынке. Во многих случаях зашитое в ПЗУ программное обеспечение может быть обновлено для устранения программных ошибок или для добавления новых функциональных возможностей. Однако такое обновление связано с риском, если по каким-нибудь причинам энергонезависимая память повреждается, встроенная система перестает работать должным образом. Обычно такое повреждение трудно исправить, так как встроенная система перестает откликаться. Последствия таких нарушений могут быть значительными во многих системах, в которых ограничен ручной доступ, например, в промышленном оборудовании, работающем в опасных условиях, космических аппаратах и скважинной каротажной аппаратуре. Именно они работают в таких условиях, при которых могут возникать сбои, связанные с ухудшением связи, флуктуациями напряжения питания или внешним излучением. Существующие методы обновления в полной мере не застрахованы от риска возникновения сбоя.Many commercial systems and consumer products use embedded computer systems to perform their functions. Embedded computer systems are often industrial microprocessors or microcontrollers that perform specialized functions on programs written in ROM, that is, software stored in non-volatile memory. Since this design is not based on specialized hardware components, it has the ability to reconfigure and quickly diverges in the market. In many cases, firmware in ROM can be updated to fix software bugs or to add new functionality. However, such an update is associated with a risk, if for some reason the non-volatile memory is damaged, the embedded system ceases to work properly. Typically, such damage is difficult to repair because the embedded system stops responding. The consequences of such violations can be significant in many systems in which manual access is limited, for example, in industrial equipment operating in hazardous conditions, spacecraft and downhole logging equipment. It is they who work in such conditions under which failures can occur associated with a deterioration in communication, fluctuations in the supply voltage or external radiation. Existing update methods are not fully immune from the risk of failure.
Раскрытие изобретенияDisclosure of invention
Настоящее изобретение предлагает устройство нефтяной скважины, состоящее из первого запоминающего устройства, содержащего первый программный блок и блок структуры данных, включающей в себя, по меньшей мере, один компонент, выбранный из группы, включающей адрес, идентификатор файла и флаг, из второго запоминающего устройства, являющего внешним относительно скважины, связанного с адресом и содержащего второй программный блок, связанный с идентификатором файла, и из процессора для загрузки второго программного блока из второго запоминающего устройства, при этом процессор замещает первый программный блок вторым программным блоком и изменяет статус флага после замещения первого программного блока.The present invention provides an oil well device, consisting of a first memory device comprising a first program unit and a data structure unit including at least one component selected from the group including an address, a file identifier and a flag from a second memory device, which is external relative to the well, associated with the address and containing the second program unit associated with the file identifier, and from the processor to load the second program unit from the second I remember his device, the processor replaces the first program block and a second program block status flag changes after substitution of the first program block.
При перезагрузке процессора он может возобновлять замещение первого программного блока, если флаг установлен.When the processor reboots, it can resume replacing the first program block if the flag is set.
Процессор может устанавливать флаг до замещения вторым программным блоком первого программного блока и сбрасывать флаг только после того, как второй программный блок заместит первый программный блок.The processor can set the flag before replacing the second program block with the second program block and reset the flag only after the second program block replaces the first program block.
Если указанное замещение прерывается, то флаг может оставаться установленным при перезагрузке процессора.If the indicated substitution is interrupted, the flag may remain set when the processor is restarted.
Устройством согласно настоящему изобретению может быть каротажное кабельное устройство или бурильная колонна.The device according to the present invention may be a wireline cable device or drill string.
Процессор может загружать второй программный блок по Интернет-связи.The processor may download the second program unit via Internet connection.
Указанный адрес может быть IP-адресом или именем сервера.The specified address can be an IP address or a server name.
Если процессор возобновляет указанное замещение заданное число раз, то он будет прерывать попытки возобновления указанного замещения путем сброса указанного флага.If the processor resumes the specified substitution a specified number of times, then it will abort attempts to resume the specified substitution by resetting the specified flag.
Процессор может вырабатывать предупредительный сигнал, показывающий, что процессор не может успешно выполнить указанное замещение.The processor may generate a warning signal indicating that the processor cannot successfully complete the indicated substitution.
Процессор может определять, возобновлять ли указанное замещение путем определения, в функционирующем ли состоянии находится рабочая программа, находящаяся по адресу назначения, который связан с указанным флагом.The processor can determine whether to resume the indicated substitution by determining whether the working program is located in the working state located at the destination address that is associated with the specified flag.
Согласно настоящему изобретению предлагается также способ снятия показания с приборов, включающий установку флага в первое состояние, загрузку обновленного программного блока из памяти в логическую схему скважинного каротажного прибора, которую предварительно отделяют от указанной памяти, замещение в указанной логической схеме предшествующего программного блока обновленным программным блоком и при завершении указанного замещения установку флага во второе состояние.The present invention also provides a method of taking readings from instruments, including setting a flag in a first state, loading an updated software block from memory into a logic circuit of a downhole logging tool that is previously separated from said memory, replacing a previous software block with said updated logic block in said logical circuit, and when the specified substitution is completed, setting the flag to the second state.
В вышеуказанном способе может осуществляться дополнительно, в случае прерывания указанного замещения, перезагрузка указанной логической схемы и возобновление указанного замещения.In the above method, it can be carried out additionally, in case of interruption of said substitution, reloading of said logic and resuming said substitution.
Также в вышеуказанном способе может дополнительно осуществляться перезагрузка указанной логической схемы и возобновление указанного замещения при условии установки указанного флага в первое состояние.Also, in the above method, a reloading of the indicated logic circuit and resumption of the indicated substitution can be carried out additionally, provided that the flag is set to the first state.
Кроме вышеизложенного, в способе согласно настоящему изобретению дополнительно в случае прерывания указанного замещения может предусматриваться поддержание указанного флага установленным в первое состояние при перезагрузке указанной логической схемы.In addition to the foregoing, in the method according to the present invention, in addition, in case of interruption of said substitution, it may be possible to keep said flag set to the first state when the indicated logic circuit is reloaded.
При загрузке указанного обновленного программного блока может использоваться Интернет-связь.When you download the specified updated software unit can be used Internet connection.
В способе по настоящему изобретению предусматривается возможность, при загрузке указанного обновленного программного блока, передачи в указанную память IP-адреса, связанного с указанной памятью, и файлового имени, связанного с указанным обновленным программным блоком.In the method of the present invention, it is possible, upon downloading said updated software unit, to transmit to said memory an IP address associated with said memory and a file name associated with said updated program block.
При загрузке указанного обновленного программного блока может использоваться расположенный на боковой стенке порт считывания, который связывают с указанной логической схемой.When downloading the specified updated software unit can be used located on the side wall of the read port, which is associated with the specified logic circuit.
В настоящем изобретении предлагается также система измерения и снятия показаний параметров нефтяной скважины, состоящая из нефтепромыслового измерительного прибора, включающего в себя логическую схему и первое запоминающее устройство, соединенное с логической схемой, и содержащее первый программный блок и флаг, установленный в первое состояние, и из второго запоминающего устройства, являющего внешним относительно указанного прибора, связанного с логической схемой, и содержащее второй программный блок. Логическая схема воспринимает второй программный блок со второго запоминающего устройства, замещает первый программный блок вторым программным блоком и устанавливает флаг во второе состояние после завершения указанного замещения.The present invention also provides a system for measuring and taking readings of parameters of an oil well, consisting of an oilfield measuring device including a logic circuit and a first storage device connected to the logic circuit, and comprising a first program unit and a flag set to the first state, and the second storage device, which is external relative to the specified device associated with the logic circuit, and containing a second program unit. The logic receives the second program unit from the second storage device, replaces the first program unit with the second program unit, and sets the flag to the second state after completion of the indicated substitution.
В системе предусматривается возможность в случае прерывания указанного замещения перезагрузки логической схемы и автоматического возобновления ею указанного замещения.The system provides for the possibility, in case of interruption of the indicated substitution, of rebooting the logic circuit and its automatic renewal of the indicated substitution.
Логическая схема может осуществлять автоматическое возобновление указанного замещения в процессе перезагрузки.The logic may automatically resume the indicated substitution during the reboot process.
В случае прерывания указанного замещения флаг может поддерживаться установленным в первое состояние при перезагрузке логической схемы.In case of interruption of the indicated substitution, the flag may be kept set to the first state when the logic circuit is reloaded.
Флаг может являться индикатором завершения указанного замещения, и если после перезагрузки логической схемы флаг установлен в первом состоянии, то логическая схема может делать попытки завершить указанное замещение.The flag may be an indicator of the completion of the indicated substitution, and if the flag is set in the first state after the logic circuit is reloaded, the logic circuit may attempt to complete the indicated substitution.
Вышеупомянутый прибор может быть кабельным каротажным устройством или бурильной колонной.The aforementioned device may be a cable logging device or drill string.
Логическая схема может замещать первый программный блок вторым программным блоком при своем нахождении на дневной поверхности скважины.The logic may replace the first program block with a second program block when it is on the surface of the well.
Также логическая схема может замещать первый программный блок вторым программным блоком при своем нахождении в скважине.Also, the logic circuit may replace the first program block with the second program block when it is in the well.
Указанное второе запоминающее устройство может передавать в логическую схему указанный второй программный блок по сетевой связи.The specified second storage device may transmit to the logic circuit the specified second program unit via network communication.
Указанная логическая схема может загружать указанный второй программный блок из второго запоминающего устройства по сетевой связи путем передачи сохраненной информации, в которой заключается IP-адрес указанного второго запоминающего устройства или файловое имя, связанное с указанным вторым программным блоком.The specified logic circuit may download the specified second program unit from the second storage device via network communication by transmitting the stored information, which is the IP address of the specified second storage device or file name associated with the specified second program unit.
Указанная логическая схема может воспринимать второй программный блок через расположенный на боковой стенке порт считывания, выступающий на наружную поверхность прибора.The indicated logic circuit can perceive the second program unit through a read port located on the side wall, which protrudes onto the outer surface of the device.
Краткое описание чертежейBrief Description of the Drawings
Для подробного описания иллюстративных вариантов выполнения изобретения далее будет сделана ссылка на прилагаемые чертежи, на которых показано:For a detailed description of illustrative embodiments of the invention, reference will now be made to the accompanying drawings, in which:
на фиг.1 - система каротажа в процессе бурения в соответствии с различными вариантами выполнения;figure 1 - logging system during drilling in accordance with various options for execution;
на фиг.2 - система кабельного каротажа в соответствии с различными вариантами выполнения;figure 2 - cable logging system in accordance with various options for execution;
на фиг.3 - модуль обработки в соответствии с различными вариантами выполнения;figure 3 - processing module in accordance with various variants of execution;
на фиг.4 - блок-схема обработки в соответствии различными вариантами выполнения;figure 4 - block diagram of the processing in accordance with various options for execution;
на фиг.5 - структура данных, используемая при обработке в соответствии с фиг.4 и соответствующая различным вариантам выполнения;figure 5 - data structure used in processing in accordance with figure 4 and corresponding to various options for execution;
на фиг.6 - частично разобранный каротажный прибор, помещенный в модуль обработки с фиг.3, в соответствии с различными вариантами выполнения;figure 6 is a partially disassembled logging tool placed in the processing module of figure 3, in accordance with various options for execution;
на фиг.7 - детальное изображение расположенного в боковой стенке порта частично разобранного прибора с фиг.6 в соответствии с различными вариантами выполнения.Fig.7 is a detailed image located in the side wall of the port of a partially disassembled device of Fig.6 in accordance with various embodiments.
Осуществление изобретенияThe implementation of the invention
В последующем описании и формуле изобретения для обозначения конкретных системных компонентов используются различные термины. Как понятно специалисту в данной области, различные фирмы могут использовать для обозначения компонентов различные названия. В данном документе не ставиться цель провести различие между компонентами, отличающимися по названию, а не по функциональному назначению. При дальнейшем обсуждении и в формуле изобретения термины "содержащий" и "включающий" используются расширенным образом и, следовательно, должны трактоваться в смысле "содержащий, но не ограниченный…". Также термин "элемент связи" или "устройство связи" должен обозначать как непосредственное электрическое подключение, так и опосредованное соединение. Следовательно, если первый прибор соединен с вторым прибором, то это соединение может быть как непосредственным электрическим соединением, так и соединением через другие приборы и средства связи. Кроме того, термин "обновление" должен охватывать любого вида модификации, включая "расширение ресурсов", "переработку" и т.д. Кроме того, термин "флаг" может быть использован для обозначения любого подходящего типа индикации, включая одиночный бит, последовательность битов или какой-либо другой тип индикации.In the following description and claims, various terms are used to refer to specific system components. As one skilled in the art understands, various companies may use different names to designate components. This document does not intend to distinguish between components that differ in name but not in function. In further discussion and in the claims, the terms “comprising” and “including” are used in an expanded manner and, therefore, should be interpreted in the sense of “comprising, but not limited to ...”. Also, the term “communication element” or “communication device” should mean both a direct electrical connection and an indirect connection. Therefore, if the first device is connected to the second device, then this connection can be either a direct electrical connection or a connection through other devices and means of communication. In addition, the term “update” should cover any type of modification, including “resource expansion”, “recycling”, etc. In addition, the term “flag” can be used to denote any suitable type of indication, including a single bit, a sequence of bits, or some other type of indication.
Дальнейшее рассмотрение относится к различным вариантам выполнения изобретения. Хотя один или более вариантов выполнения могут быть предпочтительными, описанные варианты не должны рассматриваться или, наоборот, использоваться как ограничивающие объем изобретения, определяемый формулой изобретения. Кроме того, специалисту в данной области понятно, что последующее описание имеет широкое применение, и рассмотрение любого варианта выполнения служит только иллюстрацией, относится только к этому варианту и не предназначено для определения объема изобретения, включая формулу изобретения.Further consideration relates to various embodiments of the invention. Although one or more embodiments may be preferred, the described options should not be construed or, conversely, be used as limiting the scope of the invention defined by the claims. In addition, one of ordinary skill in the art will understand that the following description is widely used, and consideration of any embodiment is illustrative only, refers to this embodiment only, and is not intended to determine the scope of the invention, including the claims.
В данном описании представлен способ, с помощью которого программный блок, установленный во встроенную вычислительную систему, обновляют с минимальным риском или без риска повреждения системы. Более конкретно, способ позволяет обновлять программные блоки таким образом, что даже в случае прерывания процесса обновления система все же остается работоспособной. Раскрытые системы и способы особенно пригодны для использования в нефтепромысловом оборудовании, включая каротажные приборы, составляющие часть более крупных узлов.This description provides a method by which a software unit installed in an embedded computing system is updated with minimal risk or without risk of system damage. More specifically, the method allows you to update program blocks in such a way that even if the update process is interrupted, the system still remains operational. The disclosed systems and methods are particularly suitable for use in oilfield equipment, including logging tools that are part of larger units.
На фиг.1 в качестве примера показано оборудование для каротажа в процессе бурения, в которое входит бурильная колонна с одним или более приборами, имеющими программные блоки, которые можно обновлять, используя раскрытые в данном изобретении способы. На бурильной платформе 2 установлен деррик 4 с талевым блоком 6, предназначенным для подъема и спуска бурильной колонны 8. При спуске бурильной колонны 8 через роторный стол 12 ее закрепляют на ведущей трубе 10. Буровая головка 14 приводится в движение скважинным двигателем и/или за счет вращения бурильной колонны 8. При вращении буровая головка 14 образует промысловую скважину 16, проходящую через различные пласты 18 породы.Figure 1 shows, by way of example, the equipment for logging during drilling, which includes a drill string with one or more instruments having program blocks that can be updated using the methods disclosed in this invention. A derrick 4 is installed on the drilling platform 2 with a tackle block 6 designed for raising and lowering the
Насос 20 перекачивает буровой раствор через подающую трубу 22 в ведущую трубу 10, вниз по внутреннему пространству бурильной колонны 8, через отверстия в буровой головке 14 обратно на поверхность через кольцевое пространство, охватывающее буровую колонну 8, и, наконец, в резервуар 24 хранения. Буровой раствор переносит куски породы из скважины и способствует сохранению целостности скважины.The
Прибор 26 каротажа в процессе бурения объединен с оборудованием низа бурильной колонны вблизи буровой головки 14. По мере прохождения буровой головки через пласты породы каротажный прибор 26 собирает данные измерений, относящихся к различным свойствам формации, а также к положению буровой головки и различным другим условиям бурения. Каротажный прибор 26 может иметь форму утяжеленной бурильной трубы, то есть толстостенной трубы, придающей дополнительный вес и устойчивость, способствующие процессу бурения. В оборудование может входить телеметрический переходник, обеспечивающий передачу данных измерений прибора к поверхностному приемнику 30 и получение команд от поверхностного приемника 30.The
В процессе бурения в различные моменты времени бурильную колонну могут извлекать из скважины. Каротажные операции могут быть выполнены как только удалят бурильную колонну. Такие каротажные операции показаны на фиг.2. Каротаж проводят с использованием кабельного каротажного прибора 34, то есть чувствительного каротажного зонда, подвешенного на кабеле 42, содержащем проводящие жилы для передачи питания к прибору и телеметрической информации от прибора на поверхность. Каротажное оборудование 44 накапливает результаты измерений с каротажного прибора 34 и содержит компьютерные блоки для обработки и хранения этих результатов. Компьютерные блоки могут представлять собой персональный компьютер, сервер, плату обработки цифрового сигнала или другой вид компьютерного блока. Компьютерные блоки могут иметь доступ по проводной или беспроводной связи в Интернет и/или в другую сеть (отдельно не показаны).During drilling at various times, the drill string can be removed from the well. Logging operations can be performed as soon as the drill string is removed. Such logging operations are shown in FIG. Logging is carried out using a cable logging tool 34, that is, a sensitive logging tool suspended on a cable 42 containing conductive wires for transmitting power to the device and telemetry information from the device to the surface. Logging equipment 44 accumulates the measurement results from the logging tool 34 and contains computer units for processing and storing these results. The computer units may be a personal computer, a server, a digital signal processing board, or another type of computer unit. Computer units may have wired or wireless access to the Internet and / or to another network (not shown separately).
В любой подходящей части бурильной колонны 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. В оставшейся части данного описания как к обновленному программному блоку, так и к новому будут применяться термины "обновление программного блока", "обновленный программный блок" или аналогичные термины.In any suitable part of the drill string 8 (for example, in the device 26) and / or in any suitable part of the probe 34, a processing logic 300 (i.e., an integrated system) can be placed, an illustrative embodiment of which is given in FIG.
На фиг.4 представлена блок-схема способа 400 и представляющего один из вариантов реализации способа обновления программного блока. Метод 400 может быть запущен вручную оператором. Альтернативно способ 400 может выполняться регулярно через заданные промежутки времени, которые могут быть запрограммированы в логической схеме 300. Как следует из фиг.4, выполнение способа 400 начинается с того, что процессор 302 проверяет программный подблок 310 обновления программного блока, чтобы определить, доступен ли обновленный программный блок для загрузки (этап 402). Процессор 302 может использовать программный подблок 310 обновления программного блока для определения доступности обновленного программного блока, применяя по меньшей мере один из способов проводной или беспроводной связи, описанный выше. В некоторых вариантах выполнения изобретения обновленный программный блок сохраняется в поверхностном компьютере (например, в оборудовании 44). Альтернативно обновленный программный блок может храниться в отдельном компьютере (например, на сервере или в некоторых вариантах выполнения на нескольких серверах), с которым связан по сети поверхностный компьютер (например, по Интернет-протоколу связи, такому как протокол сетевой передачи файлов (FTP), протокол передачи гипертекста (HTTP), стандартный протокол сетевых файлов (NFS)). В частности, подблок 310 обновления программного блока дает сигнал процессору 302 о направлении сигнала запроса на заданный объект (например, вышеупомянутый поверхностный компьютер) для определения готовности объекта к передаче обновленного программного блока в логическую схему 300. В свою очередь заданный объект может посылать ответный сигнал в логическую схему 300, содержащую информацию о доступности обновленного программного блока для загрузки. Локализация заданного объекта (например, IP-адреса) предусматривается в программном блоке 310 обновления программного блока, но при необходимости может быть изменена.4 is a flowchart of a
Если при взаимодействии программного подблока 310 обновления программного блока процессор определяет (например, с использованием способа, описанного выше), что обновленный программный блок доступен для загрузки (этап 402), в способе 400 предусмотрена возможность подачи процессором 302 сигнала к программному подблоку 310, который выдает соответствующий сигнал загрузчику 312 о загрузке обновленного программного блока при следующей перезагрузке логической схемы 300 (этап 404). При взаимодействии с процессором 302 программный подблок 310 обновленного программного блока выдает сигнал процессору 302 отвести определенную область памяти 304 для информации, необходимой загрузчику для загрузки обновленного программного блока при следующей перезагрузке. В альтернативных вариантах выполнения обновленный программный блок может быть загружен, как только процессор 302 определит, что обновленный программный блок доступен для загрузки (то есть до перезагрузки). По меньшей мере в некоторых таких вариантах выполнения программный подблок 310 обновления программного блока дает сигнал процессору 302 о начале загрузки обновленного программного блока и отвести определенную область памяти 304 для информации, необходимой загрузчику 312 для возобновления загрузки обновленного программного блока, если текущая загрузка прервана и логическая схема 300 обработки перезагружена. В таких случаях может быть использован признак (например, флаг, описанный ниже) для обозначения для загрузчика 312 того, что загрузка обновленного программного блока должна быть возобновлена при перезагрузке.If the processor determines (for example, using the method described above) that the updated software block is available for download (step 402) during the interaction of the
Вне зависимости оттого, загружается обновленный программный блок до перезагрузки или после нее, заданная область памяти 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, что должна начаться загрузка программного блока или что начатая ранее, но не завершенная загрузка программного блока должна быть возобновлена. Например, если обновленный программный блок загружается до перезагрузки, но загрузка прошла неудачно, флаг может быть установлен, так чтобы при перезагрузке возобновить ввод программного блока.Regardless of whether the updated program unit is loaded before or after a reboot, the specified
Далее в способе 400 программный подблок 310 обновления программного блока дает сигнал процессору 302 на перезагрузку логической схемы 300 (этап 406). В некоторых вариантах выполнения программный подблок 310 обновления программного блока может давать процессору 302 сигнал на выдачу пользователю логической схемы 300 варианта отложенной перезагрузки логической схемы 300. Например, используя компьютер, соединенный с I/O портом 306, пользователь может иметь возможность определять момент в будущем, когда будет перезагружена логическая схема 300. В процессе перезагрузки статус флага 506 отражает состояние связанной с ним загрузки обновленного программного блока. Например, установленный флаг может обозначать, что логическая схема 300 перезагружена до того, как введенный обновленный программный блок должным образом сохранен в памяти. Альтернативно установленный флаг может обозначать, что никакого ввода программного блока вообще не было. Аналогично сброс флага может обозначать, что обновленный программный блок загружен и установлен должным образом.Next, in
При загрузке загрузчик 312 связан с процессором 302 (этап 408). Загрузчик 312 дает сигнал процессору 302 на определение статуса флага 506 в процессе выполнения загрузки (этап 410). Если процессор 302 определяет, что флаг 506 установлен, загрузчик 312 дает сигнал процессору 302 на загрузку (или возобновление загрузки) обновленного программного блока (этап 412), имея имя (имена) файла (файлов) и/или версии, которые соответствуют FI 504. Обновленный программный блок загружается от объекта, чей IP-адрес соответствует IP-адресу 502. Загрузчик 312 может дать сигнал процессору 302 занести загруженный программный блок или файлы в неиспользованную область памяти 304. Альтернативно загрузчик 312 дает сигнал процессору 302 заменить часть или весь программный блок, уже занесенный в память 304, обновленным программным блоком. В некоторых вариантах выполнения такая перезапись содержит замену одного программного блока на другой программный блок.At boot,
Например, если при выполнении программным подблоком 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. Как было упомянуто ранее, хотя может быть загружен любой тип обновленного программного блока (такой как приведенный выше в качестве иллюстрации исполняемый файл), предпочтительно программные блоки загружаются целиком.For example, if the
Загрузчик 312 дает сигнал процессору 302 мониторировать состояние загрузки и/или занесения в память обновленного программного блока (этап 414). По меньшей мере в некоторых вариантах выполнения процессор 302 мониторирует состояние загрузки путем проверки контрольной суммы загруженного программного блока и проверки того, что загруженный программный блок занесен в энергонезависимую память.The
Если процесс загрузки и/или занесения в память по какой-нибудь причине прерывается (например, в случаях, когда программный блок установлен или обновлен только частично, таких как нарушение подачи питания, повреждения аппаратных средств или программ, проблемы в соединении, ошибки оператора/пользователя и т.д.) или в ином случае не пришел к успешному завершению (этап 416), загрузчик 312 предотвратит изменение процессором 302 статуса флага 506. Вместо этого флаг 506 сохраняется в установленном состоянии (этап 418). В этом случае при перезапуске логической схемы 300 загрузчик 312 определит, что флаг 506 все еще установлен, показывая, что обновленный программный блок еще не установлен и не занесен в память 304 должным образом. Тогда загрузчик 312 может дать сигнал процессору 302 на повторный запуск операции в целом загрузки и сохранения в памяти. Предпочтительно, однако, чтобы загрузчик 312 давал сигнал процессору 302 на возобновление предыдущей операции загрузки/сохранения в памяти.If the loading and / or storing process is interrupted for any reason (for example, in cases when the program unit is installed or updated only partially, such as a power failure, damage to hardware or programs, connection problems, operator / user errors etc.) or otherwise failed to complete (step 416),
Предшествующая операция загрузки/занесения в память может быть возобновлена с использованием структуры данных 500. Хотя это конкретно не показано на фиг.5, по меньшей мере в некоторых вариантах выполнения, по меньшей мере, один элемент 501 структуры данных 500 может содержать адрес назначения, показывающий, куда в логической схеме 300 должен быть занесен обновляемый программный блок, полученный по указанному IP-адресу. В случае, если обновление программного блока не было выполнено должным образом и логическая схема 300 перезагружается, загрузчик 312 дает сигнал процессору 302 на проверку адреса назначения в элементе 501, чтобы определить, было ли обновление программного блока должным образом загружено и установлено (например, работоспособен ли программный блок по адресу назначения). Если обновленный программный блок не был должным образом загружен или установлен, загрузчик 312 дает сигнал процессору на возобновление операции загрузки/занесения в память по адресу назначения, обозначенному в элементе 501. Объем настоящего раскрытия не ограничен данным конкретным способом, и возможны также другие способы определения состояния ранее выполненной операции загрузки/занесения в память программного блока.The previous load / store operation may be resumed using the
Когда процессор 302 определит, что обновленный программный блок должным образом загружен и сохранен в памяти 304 (этап 416), загрузчик 312 дает сигнал процессору 302 на снятие флага 506 (этап 420). Так как флаг 506 больше не установлен, при следующей перезагрузке процессор 302 не будет делать попытки загрузить обновленный программный блок. После выдачи загрузчиком 312 сигнала процессору 302 на сброс флага 506 (этап 420) в способе 400 предусмотрен запуск загрузчиком ОС 308 (этап 422).When
В некоторых случаях могут быть уставлены несколько флагов 501 в нескольких элементах. Каждый установленный флаг может быть связан с предназначенным для выполнения обновлением различных программных блоков. В каждом случае операции, выполняемые в этапах с 406 по 420 с фиг.4, повторяются по мере необходимости до тех пор, пока каждый установленный флаг не будет сброшен благодаря успешному выполнению обновления программного блока.In some cases,
В некоторых случаях сбои в работе аппаратных средств или программного обеспечения могут помешать успешному обновлению программного блока. В таких случаях по меньшей мере некоторые операции способа 400 могут быть выполнены повторно с малым успехом или без него. Соответственно, загрузчик 312 может быть выполнен с возможностью прекращения попыток обновления программного блока после заданного числа повторов. Например, загрузчик 312 может быть выполнен на прекращение попыток обновления программного блока после того, как закончились неудачей десять попыток. В этом случае после неудачной десятой попытки обновления программного блока загрузчик 312 может дать сигнал процессору 302 на прекращение дальнейших попыток обновления (например, путем сброса соответствующего флага в структуре данных 500) и затем сигнал на выдачу предупредительного сигнала. В некоторых вариантах выполнения такой предупредительный сигнал можно получить по свечению светодиода (отдельно не показан), соединенного с логической схемой 300. В других вариантах выполнения такой предупредительный сигнал можно получить в виде электронного сообщения или сигнала, поступающего на электронное устройство (например, компьютер), не входящее в логическую схему 300 (например, оборудование 44), через I/O порт 306. При получении этого сигнала пользователь может попытаться устранить сбой и возобновить попытки обновления программного блока.In some cases, hardware or software malfunctions can interfere with the successful updating of the software unit. In such cases, at least some operations of
Метод, описанный со ссылкой на фиг.4, может быть выполнен, когда логическая схема 300 находится или в скважине, или на поверхности. В вариантах выполнения, в которых логическая схема 300 является частью зонда 34, эта логическая схема может находиться в скважине и, следовательно, содержать программный блок, обновляемый в скважине. Связь (например, при загрузке программного блока) между логической схемой 300 и каротажным оборудованием 44 может осуществляться по кабелю 42. По меньшей мере в некоторых вариантах выполнения каротажное оборудование 44 имеет выход в сеть и/или в Интернет. В некоторых таких вариантах выполнения в логическую схему 300 можно загружать информацию (например, об обновлении программного блока или апгрейде) из сети и/или Интернета через каротажное оборудование 44.The method described with reference to FIG. 4 may be performed when the
В некоторых вариантах выполнения логическая схема 300 входит в бурильную колонну 8 в виде прибора 26. Частично разобранный прибор 600 показан на фиг.6. Прибор 600 содержит расположенный на боковой стенке порт 602 считывания, к которому обеспечен свободный доступ после полной установки прибора и связи его с бурильной колонной. По сравнению с другими способами, в которых оператор должен, например, демонтировать прибор, чтобы добраться до встроенной логической схемы с целью обновления программного блока, расположенный на боковой стенке порт 602 считывания облегчает электрический доступ к встроенной логической схеме 300 и дает возможность оператору проводить быстрое обновление программного блока. Таким образом снижаются или минимизируются как производственные простои, так и альтернативные издержки.In some embodiments, the
В некоторых вариантах выполнения расположенный на боковой стенке порт 602 считывания может быть соединен с I/O портом 306. В других вариантах выполнения расположенный на боковой стенке порт 602 считывания можно рассматривать как I/O порт 306. Более подробно расположенный на боковой стенке порт 602 считывания представлен на фиг.7. Как показано на фиг.7, расположенный на боковой стенке порт 602 считывания содержит группу штырьков 604, выполненных с возможностью сопряжения с кабелем связи (отдельно не показан), соединенным с компьютером, входящим, например, в оборудование 44. Таким путем данные предаются между логической схемой 300 и связанным с ней любым электронным устройством. В вариантах выполнения, в которых логическая схема 300 входит в бурильную колонну 8, процесс, отображенный на фиг.4, предпочтительно выполняется на поверхности при частично разобранном приборе 600 (то есть логической схеме 300).In some embodiments, the
Предшествующее рассмотрение предназначено для иллюстрации принципов и различных вариантов выполнения настоящего изобретения. После рассмотрения предшествующего описания для специалистов в данной области техники станут очевидными различные модификации и вариации выполнения изобретения. Задача нижеследующей формулы изобретения заключается в том, чтобы представить и охватить все такие вариации и модификации.The foregoing discussion is intended to illustrate the principles and various embodiments of the present invention. After reviewing the foregoing description, various modifications and variations of the invention will become apparent to those skilled in the art. The object of the following claims is to present and cover all such variations and modifications.
Claims (29)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008131773/03A RU2384700C1 (en) | 2006-12-19 | 2006-12-19 | Structure of oil well, method of readout from devices and measuring system and readout system of oil well parametres |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008131773/03A RU2384700C1 (en) | 2006-12-19 | 2006-12-19 | Structure of oil well, method of readout from devices and measuring system and readout system of oil well parametres |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2008131773A RU2008131773A (en) | 2010-02-10 |
RU2384700C1 true RU2384700C1 (en) | 2010-03-20 |
Family
ID=42123440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008131773/03A RU2384700C1 (en) | 2006-12-19 | 2006-12-19 | Structure of oil well, method of readout from devices and measuring system and readout system of oil well parametres |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2384700C1 (en) |
-
2006
- 2006-12-19 RU RU2008131773/03A patent/RU2384700C1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
RU2008131773A (en) | 2010-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100050168A1 (en) | Secure firmware updates in embedded systems | |
KR100901903B1 (en) | Self-monitoring and updating of firmware over a network | |
US10628290B2 (en) | Generating an inner cloud environment within an outer cloud environment for testing a microservice application | |
US7484084B1 (en) | Use of a baseboard management controller to facilitate installation of firmware in a processing system | |
CA2513785C (en) | System for loading executable code into volatile memory in a downhole tool | |
US8554748B1 (en) | Method and apparatus for differential file based update for embedded systems | |
US20040181790A1 (en) | System and method for maintaining installed software compliance with build standards | |
CN102667716A (en) | Methods and devices for updating firmware of a component using a firmware update application | |
EP2328088A1 (en) | Home network system, gateway device, and firmware update method | |
US20060020845A1 (en) | Unattended BIOS recovery | |
US8782636B2 (en) | Information processing apparatus, control method thereof, and program | |
EP2817725B1 (en) | Maintaining system firmware images remotely using a distribute file system protocol | |
CN110633091A (en) | Electronic module and software wireless upgrading method thereof | |
KR20090120541A (en) | Method and system for automatic recovery of an embedded operating system | |
US20040024878A1 (en) | Network device and automatic program update technique | |
JP2007080167A (en) | Software resource distribution system and method, and program | |
JP2007249748A (en) | Network equipment with version management function | |
RU2384700C1 (en) | Structure of oil well, method of readout from devices and measuring system and readout system of oil well parametres | |
US11814955B2 (en) | Tool string telemetry network | |
US20180083834A1 (en) | Techniques of restoring bmc configurations to multiple bmcs | |
Cisco | Loading and Maintaining System Images | |
Cisco | Miscellaneous System Tasks | |
Cisco | Loading System Images, Microcode Images, and Configuration Files | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20121220 |