CN111309351A - 一种数据升级方法及系统 - Google Patents
一种数据升级方法及系统 Download PDFInfo
- Publication number
- CN111309351A CN111309351A CN202010035614.9A CN202010035614A CN111309351A CN 111309351 A CN111309351 A CN 111309351A CN 202010035614 A CN202010035614 A CN 202010035614A CN 111309351 A CN111309351 A CN 111309351A
- Authority
- CN
- China
- Prior art keywords
- data packet
- upgrading
- circuit module
- data
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000005540 biological transmission Effects 0.000 claims abstract description 117
- 239000012634 fragment Substances 0.000 claims abstract description 16
- 238000004891 communication Methods 0.000 claims description 127
- 230000005674 electromagnetic induction Effects 0.000 claims description 83
- 238000012790 confirmation Methods 0.000 claims description 78
- 238000012360 testing method Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 18
- 238000003745 diagnosis Methods 0.000 claims description 12
- 239000000126 substance Substances 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 description 10
- 238000005553 drilling Methods 0.000 description 8
- 230000008054 signal transmission Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21B—EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B44/00—Automatic control systems specially adapted for drilling operations, i.e. self-operating systems which function to carry out or modify a drilling operation without intervention of a human operator, e.g. computer-controlled drilling systems; Systems specially adapted for monitoring a plurality of drilling variables or conditions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Geology (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mining & Mineral Resources (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Fluid Mechanics (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- General Life Sciences & Earth Sciences (AREA)
- Geochemistry & Mineralogy (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种数据升级方法及系统,方法包括:当电路模块需要进行数据升级时,接收控制端广播发送的模式切换指令,根据模式切换指令将运行模式切换为升级模式;每个电路模块具有不同的识别标识号;按照预设的接收顺序,接收控制端基于分片传输策略发送的升级数据包,升级数据包包括m片片数据包;当当前电路模块接收到升级数据包时,根据升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,若升级数据包不是自身的升级数据包,则按照预设的转发策略将升级数据包转发至相邻电路模块,直至升级数据包匹配至所述目标电路模块;当所述目标电路模块接收到升级数据包时,利用升级数据包进行数据升级。
Description
技术领域
本发明属于石油钻井技术领域,尤其涉及一种数据升级方法及系统。
背景技术
随着油藏开发难度的增加、油藏开发形式及油藏地质条件等因素对钻井技术的要求越来越高,旋转导向钻井技术由于其钻井精度高、经济效益高,受到钻井工作人员的青睐。
旋转导向钻井一般是由井下旋转导向工具来实现的,旋转导向工具包括有多个电路模块,每个电路模块都具备独立的控制器,旋转导向工具在联合调试、后期井场测试及现场实钻中,为了确保钻井精度,各个电路模块需要进行数据升级并调试。
但是现有技术中,并非所有的电路模块都具有外部机械端口,那么在进行数据升级时只能将工具拆解,再依次对每个电路模块进行升级。且升级完成后为了测试旋转导向工具的整体功能,还需要将各个电路模块重新组装,不但费时费力,还可能因反复拆装导致电路损坏。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种数据升级方法及系统,用于解决现有技术中对井下旋转导向工具进行数据升级时,需要将工具拆解,再依次对各电路模块进行单独升级,然后将各个电路模块重新组装,效率低下,并且拆装过程会导致电路受损的技术问题。
本发明提供一种数据升级方法,应用在井下旋转导向工具中,所述旋转导向工具包括至少两个电路模块,每个电路模块通过通信接口相连,每个电路模块包括一个支持在应用可编程IAP的处理器,所述方法包括:
当电路模块处于运行模式需要进行数据升级时,所述控制端向各电路模块广播模式切换指令;
所述电路模块根据接收到的所述模式切换指令将所述运行模式切换为升级模式;
所述控制端每间隔预设的第一时长向所述电路模块发送升级状态广播指令;
所述电路模块判断在预设的第二时长内是否接收到所述控制端发送的升级状态广播指令,若接收到,则等待接收所述控制端基于分片传输策略发送的升级数据包;若在预设的第二时长内未接收到所述控制端发送的升级状态广播指令,将所述升级模式切换为运行模式,并向所述控制端发送工作模式改变通知消息;所述升级数据包包括m片片数据包,m为大于1的整数,所述升级数据包的包头为工作模式标识;每个所述电路模块具有不同的识别标识号;
当当前电路模块接收到所述升级数据包时,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,若所述升级数据包不是自身的升级数据包,则按照预设的转发策略将所述升级数据包转发至相邻电路模块,直至所述升级数据包匹配至所述目标电路模块;
当所述目标电路模块接收到所述升级数据包时,利用所述升级数据包进行数据升级;其中,
所述利用所述升级数据包进行数据升级,包括:
记录并存储每片片数据包的数据长度、位置编号及所述每片片数据包中携带的升级数据包的数据总长度;
更新接收到的数据总长度;
判断所述每片片数据包中携带的升级数据包的数据总长度是否一致;
若所述每片片数据包中携带的升级数据包的数据总长度一致,则继续判断所述接收到的数据总长度是否与所述升级数据包的数据总长度一致;
若所述接收到的数据总长度与所述升级数据包的数据总长度一致,则向所述控制终端发送开始升级通知消息;
判断在预设的第三时长内是否接收到所述控制端发送的确认升级指令,若接收到所述确认升级指令,则根据所述确认升级指令进行数据包升级;
升级完成后,向所述控制端发送升级完成指令;
所述控制端接收到所述升级完成指令后,向所述各电路模块发送模式切换指令;
所述各所述电路模块根据所述模式切换指令将升级模式切换为运行模式;其中,
若所述每片片数据包中携带的升级数据包的数据总长度未保持一致时,所述电路模块向所述控制端发送第一异常提示指令,所述第一异常提示指令包括:所述目标电路模块收到了数据总长度不一致的升级数据包;
若所述接收到的数据总长度与所述升级数据包的数据总长度未保持一致时,所述电路模块判断在预设的第四时长内是否接收到剩余的片数据包,若在所述第四时长内未接收到所述剩余的片数据包,则向所述控制端发送第二异常提示指令,所述第二异常提示指令包括:所述目标电路模块未及时收到剩余的片数据包。
可选地,所述电路模块根据接收到的所述模式切换指令将运行模式切换为升级模式之后,包括:
按照预设的发送顺序发送模式切换确认指令至所述控制端;
所述控制端在预设的第五时长内判断是否接收到所有电路模块发送的所述模式切换确认指令,若未接收到所有电路模块发送的所述模式切换确认指令,则重复广播模式切换指令;
重复N次之后,若还未接收到所有电路模块发送的所述模式切换确认指令,则退出升级流程,并向用户发送电路模块失联的提示信息,所述N至少为3。
可选地,所述根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,包括:
获取所述升级数据包的工作模式标识,判断所述工作模式标识是否与预设的升级模式标识一致;
若所述述工作模式标识与预设的升级模式标识一致,则将所述目标电路模块的识别标识号与自身识别标识号进行对比,若所述目标电路模块的识别标识号与自身识别标识号一致,则确定所述升级数据包为自身的升级数据包;
若所述目标电路模块的识别标识号与自身识别标识号不一致,则确定所述升级数据包并非为自身的升级数据包。
可选地,所述直至所述升级数据包匹配至所述目标电路模块后,还包括:
所述目标电路模块判断所述升级数据包是否为首次接收到的升级数据包,若是,则进入升级锁定模式;
在所述升级锁定模式期间,若接收到所述控制端发送的升级状态广播指令,则直接转发至相邻电路模块。
可选地,若在所述预设的第三时长内未接收到所述确认升级指令,方法还包括:
结束升级操作,并向控制端发送第三异常提示指令,第三异常提示指令包括:未接收到确认升级指令;
结束升级操作后,所述目标电路模块自行退出升级模式进入运行模式,并向所述控制端发送通知消息;
所述控制端根据接收到的所述通知消息向非目标电路模块广播模式切换指令,所述非目标电路模块根据所述模式切换指令将升级模式切换为运行模式;
所述目标电路模块与所述非目标电路模块向所述控制端发送模式切换确认指令;
若所述控制端未接收到所有电路模块发送的所述模式切换确认指令,则向用户发送电路模块失联的提示信息。
可选地,所述各所述电路模块根据所述模式切换指令将升级模式切换为运行模式后,包括:
向所述控制端发送模式切换确认指令;
若所述控制端未接收到所有电路模块发送的所述模式切换确认指令,则向用户发送电路模块失联的提示信息。
可选地,当所述旋转导向工具与所述电路模块利用无线传输设备进行通信时,所述无线传输设备包括:第一通信模块及第二通信模块,所述第一通信模块与所述控制端相连,所述第二通信模块与所述井下旋转导向工具相连;其中,
在所述当电路模块处于运行模式需要进行数据升级时,所述控制端向各电路模块广播模式切换指令之前,方法还包括:
利用所述第一通信模块向所述第二通信模块发送测试数据包,判断在预设的第六时长内是否接收到所述第二通信模块发送的第一消息,所述第一消息为收到正确的数据包;
若在所述第六时长内接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立成功的第二消息;
若在所述第六时长内未接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立失败的第三消息。
本发明提供一种数据升级系统,所述系统包括:控制端及井下旋转导向工具,所述旋转导向工具包括至少两个电路模块,每个电路模块通过通信接口相连,每个电路模块包括一个支持IAP的处理器;其中,
所述控制端,用于当电路模块处于运行模式需要进行数据升级时,向各电路模块广播模式切换指令;
所述电路模块根据接收到的所述模式切换指令将所述运行模式切换为升级模式;
所述控制端,用于每间隔预设的第一时长向所述电路模块发送升级状态广播指令;
所述电路模块,用于判断在预设的第二时长内是否接收到所述升级状态广播指令,若接收到,则等待接收所述发送单元基于分片传输策略发送的升级数据包,所述升级数据包包括m片片数据包,m为大于1的整数,所述升级数据包的包头为工作模式标识;每个所述电路模块具有不同的识别标识号;
当当前电路模块接收到所述升级数据包时,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,若所述升级数据包不是自身的升级数据包,则按照预设的转发策略将所述升级数据包转发至相邻电路模块,直至所述升级数据包匹配至所述目标电路模块;
当所述目标电路模块接收到所述升级数据包时,利用所述升级数据包进行数据升级;
所述控制端,接收到所述升级完成指令后,向所述各电路模块发送模式切换指令;
所述各所述电路模块根据所述模式切换指令将升级模式切换为运行模式;其中,
所述利用所述升级数据包进行数据升级,包括:
记录并存储每片片数据包的数据长度、位置编号及所述每片片数据包中携带的升级数据包的数据总长度;
更新接收到的数据总长度;
判断所述每片片数据包中携带的升级数据包的数据总长度是否一致;
若所述每片片数据包中携带的升级数据包的数据总长度一致,则继续判断所述接收到的数据总长度是否与所述升级数据包的数据总长度一致;
若所述接收到的数据总长度与所述升级数据包的数据总长度一致,则向所述控制终端发送开始升级通知消息;
判断在预设的第三时长内是否接收到所述控制端发送的确认升级指令,若接收到所述确认升级指令,则根据所述确认升级指令进行数据包升级;
升级完成后,向所述控制端发送升级完成指令;
若所述每片片数据包中携带的升级数据包的数据总长度未保持一致时,所述电路模块还用于:向所述控制端发送第一异常提示指令,所述第一异常提示指令包括:所述目标电路模块收到了数据总长度不一致的升级数据包;
若所述接收到的数据总长度与所述升级数据包的数据总长度未保持一致时,所述电路模块还用于:判断在预设的第四时长内是否接收到剩余的片数据包,若在所述第四时长内未接收到所述剩余的片数据包,则向所述控制端发送第二异常提示指令,所述第二异常提示指令包括:所述目标电路模块未及时收到剩余的片数据包。
可选地,所述电路模块还用于:
按照预设的发送顺序发送模式切换确认指令至所述控制端;
所述控制端还用于:在预设的第五时长内判断是否接收到所有电路模块发送的所述模式切换确认指令;
若未接收到所有电路模块发送的所述模式切换确认指令,则重复广播模式切换指令;重复N次之后,若还未接收到所有电路模块发送的所述模式切换确认指令,则退出升级流程;并向用户发送电路模块失联的提示信息,所述N至少为3。
可选地,当所述旋转导向工具与所述电路模块利用无线传输设备进行通信时,所述无线传输设备包括:第一通信模块及第二通信模块,所述第一通信模块安装在无线诊断接头中,所述无线诊断接头与所述控制端相连;所述第二通信模块与所述井下旋转导向工具相连;所述第一通信模块包括:电能发送控制单元、第一通信控制单元及电磁感应原边线圈;所述第二通信模块包括:电能接收控制单元、第二通信控制单元及电磁感应副边线圈;其中,
所述电能发送控制单元与所述电磁感应原边线圈相连,用于将电能从所述电磁感应原边线圈传输至所述电磁感应副边线圈;
所述第一通信控制单元用于控制数据在所述电磁感应原边线圈与所述电磁感应副边线圈之间传输,所述数据以所述电能为载体进行传输,所述数据包括:透传包或指令包,所述透传包包括:升级数据包及运行数据包;所述指令包包括:测试数据包;
所述电能接收控制单元与所述电磁感应副边线圈相连,用于将所述电能从所述电磁感应副边线圈传输至所述电磁感应原边线圈;
所述第二通信控制单元用于控制所述数据在所述电磁感应副边线圈与所述电磁感应原边线圈之间传输;
在所述当电路模块处于运行模式需要进行数据升级时,所述控制端向各电路模块广播模式切换指令之前,所述第一通信模块具体用于:
向所述第二通信模块发送测试数据包,判断在预设的第六时长内是否接收到所述第二通信模块发送的第一消息,所述第一消息为收到正确的数据包;
若在所述第六时长内接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立成功的第二消息;
若在所述第六时长内未接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立失败的第三消息。
本发明提供了一种数据升级方法及系统,应用在井下旋转导向工具中,所述旋转导向工具包括至少两个电路模块,每个电路模块通过通信接口相连,将各个电路模块通过通信接口相连,且每个电路模块的包括一个支持在应用可编程IAP的处理器,即使有些电路模块不存在外部机械端口,也可以接收到其他电路模块转发的升级数据包,这样无需拆卸旋转导向工具也可实现数据升级,方便快捷,避免反复拆装导致电路受损。
附图说明
图1为本发明实施例提供的旋转导向工具各电路模块的连接示意图;
图2为本发明实施例提供的数据升级方法流程示意图;
图3为本发明实施例提供的数据升级系统示意图;
图4为本发明实施例提供的无线传输时无线传输设备的结构示意图;
图5为本发明实施例提供的电磁感应线圈的结构示意图。
具体实施方式
为了解决现有技术中对井下旋转导向工具进行数据升级时,需要将工具拆解,再依次对各电路模块进行单独升级,然后将各个电路模块重新组装,效率低下,并且拆装过程会导致电路模块受损的技术问题。本发明提供了一种数据升级方法及系统。
下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。
实施例一
本实施例提供一种数据升级方法,应用在井下旋转导向工具中,所述旋转导向工具包括至少两个电路模块,每个电路模块通过通信接口相连,如图1所示,旋转导向工具包括电路模块1、电路模块2、电路模块3、电路模块4、电路模块5……电路模块N;电路模块1、电路模块2、电路模块3、电路模块4、电路模块5……电路模块N通过通信接口相连,电路模块1还与控制端6通过通信接口相连,控制端6可以为工控机。每个电路模块各有一个arm处理器, arm处理器支持在应用可编程IAP,即处理器可以在系统中获取新代码并对自己重新编程。
通信接口可以包括:串口、I2C接口、串行外设接口(SPI,SerialPeripheralInterface)接口、以太网、非接触单元、CAN接口等;非接触单元可以包括:非接触电能发送电路、非接触电能接收电路、非接触信号传输电路及电磁感应线圈等。
这里,电路模块1、电路模块2、电路模块3、电路模块4、电路模块5……电路模块N可以为:可以包括:总线模块、非接触信号传输模块、非接触电能发送控制模块、非接触原边信息传输控制模块、非接触电能接收控制模块、非接触副边信息传输控制模块、中控模块、姿态测量模块、液压驱动控制模块等。那么各个电路模块在连接时,具体连接方式如下:
总线模块通过串口与非接触信号传输模块连接,非接触信号传输模块与非接触电能发送模块连接,非接触信息传输模块通过非接触单元(电磁感应线圈) 与非接触副边信息传输模块连接,非接触副边信息传输模块通过串口与中控模块连接,中控模块通过I2C接口与姿态测量模块连接,中控模块通过CAN接口与液压驱动模块连接。
那么基于以上连接方式,如图2所示,本实施例提供的数据升级方法包括:
S110,当电路模块处于运行模式需要进行数据升级时,控制端向各电路模块广播模式切换指令;所述电路模块根据接收到的所述模式切换指令将所述运行模式切换为升级模式;
作为一种可选的实施例,电路模块可以与井下旋转导向工具通过有线连接,电路模块也可以与井下旋转导向工具通过无线连接,利用无线传输设备进行通信。通过有线连接时,当电路模块处于运行模式需要进行数据升级时,具体实现如下:
当系统处于运行模式,各电路模块也处于运行模式,但电路模块需要进行数据升级时,那么控制端会向所有的电路模块广播模式切换指令,以能将运行模式切换为升级模式。而各电路模块接收到模式切换指令后,根据所述模式切换指令将运行模式切换为升级模式。
这里,为了便于区别,每个电路模块具有不同的识别标识号,比如模块电路1的识别标识号可以为1,模块电路2的识别标识号可以为2等等。
作为一种可选的实施例,当电路模块将运行模式切换为升级模式后,按照预设的发送顺序发送模式切换确认指令至所述控制端。
预设的发送顺序可以为模块电路的识别标识号的大小顺序,比如可以为从大到小的顺序,也可以为从小到大的顺序。预设的发送顺序还可以为模块电路与控制端的距离的远近顺序,比如可以为由远到近的顺序,也可以为由近到远的顺序。
控制端会在预设的第五时长内判断是否接收到所有电路模块发送的模式切换确认指令,若没有接收到所有电路模块发送的模式切换确认指令时,则会重复向所有的电路模块广播模式切换指令,重复N次之后,若还没有接收到所有电路模块发送的模式切换确认指令,则确定对应的电路模块失联,退出升级流程,并向用户发送电路模块失联的提示信息,提示用户做相应处理;其中,N 值至少为3,第五时长可以为10~50ms。
S111,所述控制端每间隔预设的第一时长向所述电路模块发送升级状态广播指令;
而当控制端接收到所有电路模块发送的模式切换确认指令后,会每间隔预设的第一时长向所述电路模块发送升级状态广播指令,所述升级状态广播指令用于通知电路模块保持升级模式;第一时长可以为3s。
所有电路模块进入升级模式后,电路模块判断在预设的第二时长内是否接收到所述控制端发送的升级状态广播指令,若接收到,则重新倒计时第二时长,直至等待接收到所述控制端基于分片传输策略发送的升级数据包,所述升级数据包包括m片片数据包,m为大于1的整数,所述升级数据包的包头为工作模式标识。第二时长可以为10s。
也即,当控制端基于分片传输策略发送升级数据包后,电路模块接收到的升级数据包则包括m片片数据包,m为大于1的整数。
若在第二时长内未接收到所述控制端发送的升级状态广播指令,所有电路模块退出升级模式进入运行模式,并向所述控制端发送工作模式改变通知消息。以能在控制端出现死机或者通信异常等情况下,旋转导向工具内部电路模块能尽快恢复到运行模式,保证旋转导向工具正常工作。
S112,当当前电路模块接收到所述升级数据包时,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,若所述升级数据包不是自身的升级数据包,则按照预设的转发策略将所述升级数据包转发至相邻电路模块,直至所述升级数据包匹配至所述目标电路模块;
针对任一电路模块来说,当当前电路模块接收到升级数据包后,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,若所述升级数据包不是自身的升级数据包,则按照预设的转发策略将所述升级数据包转发至相邻电路模块,直至所述升级数据包匹配至所述目标电路模块。
其中,当前电路模块为所有电路模块中的任一电路模块。
这里,为了避免出现错误,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包之前,还包括:
获取所述升级数据包的工作模式标识,判断所述工作模式标识是否与预设的升级模式标识一致,若工作模式标识与预设的升级模式标识一致时,说明接收到的是升级数据包;若工作模式标识与预设的升级模式标识不一致时,说明接收到的数据包不是升级数据包。
作为一种可选的实施例,所述根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,包括:
将所述目标电路模块的识别标识号与自身识别标识号进行对比,若所述目标电路模块的识别标识号与自身识别标识号一致,则确定所述升级数据包为自身的升级数据包;
若所述目标电路模块的识别标识号与自身识别标识号不一致,则确定所述升级数据包并非为自身的升级数据包。
比如,该升级数据包到达电路模块i,电路模块i收到升级数据后首先进行包头识别,识别Mode为A,那么确定该数据包为升级数据包。然后获取升级数据包中的电路模块识别标识号Target值,若Target值不为i,则说明该升级数据包不是自身的升级数据包,那么会转发给相邻电路模块。
需要说明的是,在转发相邻电路模块时,会转发给从未收到过该升级数据包的相邻电路模块,而收到过该升级数据包的相邻电路模块则不会再转发。
举例来说,假设电路模块i的相邻电路模块为电路模块i-1及电路模块i+1,电路模块i接收的是电路模块i-1转发的升级数据包,那么当升级数据包的Target 值不为i,则会将该升级数据包转发至电路模块i+1,而不会再转发至电路模块 i-1。
具体地,假设需要对电路模块3进行升级,参考图1,转发过程如下:
1)该升级数据包到达电路模块1,电路模块1收到后进行包头识别,识别 Mode为A—为程序升级数据包,识别Target为3,确定该数据包不是发给自己的升级数据包,转发给电路模块2。
2)该数据包到达电路模块2,电路模块2收到后进行包头识别,识别Mode 为A—为程序升级数据包,识别Target为3,确定不是发给自己的升级数据包,转发给电路模块3和电路模块5。
3)该数据包到达电路模块5,电路模块5收到后进行包头识别,识别Mode 为A—为程序升级数据包,识别Target为3,确定不是发给自己的升级数据包,但是此时电路模块5没有除电路模块2以外的相邻电路模块,因此不转发。
4)该数据包到达电路模块3,电路模块3收到后进行包头识别,识别Mode 为A—为程序升级数据包,识别Target为3,确定是发给自己的升级数据包,此时升级数据包与电路模块匹配成功。
作为一种可选的实施例,当所述升级数据包匹配至所述目标电路模块后,所述目标电路模块判断所述升级数据包是否为首次接收到的升级数据包,若是,则进入升级锁定模式;
在升级锁定模式期间,若接收到所述控制端发送的升级状态广播指令,则不会对其进行解析,直接转发至相邻电路模块。
这里,升级数据包的格式由表1所示:
表1
Mode | Target | Len | Data |
因系统运行包括两种工作模式:升级模式及运行模式。因此在表1中,Mode 为数据包包头,用于标识工作模式,比如,Mode值为A时代表升级数据包, Mode值为B时代表运行数据包。
这样,若旋转导向工具的电路模块处于运行模式,则数据包包头标志为运行模式。若旋转导向工具电路模块都切换到了升级模式,则数据包包头标志为升级模式。若模式不匹配,数据包会被丢弃。这也是为了保证在运行模式下,旋转导向工具系统的正常运行不受影响,能最快速度的剔除不需要解析的数据包。
Target为模块电路的识别标识号,用于区分该数据包对应的目标电路模块,比如:若需要将某个数据包需要传递给电路模块2,则Target数值为2。其中,当Target数值为255时,表示该数据包对应的目标模块为所有电路模块,此时该数据包可称为广播数据包。当Target数值为0时,表示该数据包为电路模块发往控制端的确认包。
Len用于记录该数据包的数据长度,方便读取及数据处理。
Data为数据包数据内容。不同模式下Data数据格式不同,运行模式下的数据格式可根据旋转导向工具各电路模块功能进行预先定义。
那么,控制端向电路模块发送的升级数据包的数据格式可如表2所示:
表2
这里,若升级数据包的数据长度很长,为了防止数据包过长造成的误码,本实施可以对升级数据包进行分片传输,这样就需要将升级数据包预先分为多个片数据包。那么表中Data_Len为整个升级数据包中有效数据的总长度,即所有片数据包的BIN_File长度之和。
Positon为片数据包在整个升级数据包中的位置,即标识该片数据包的位置编号。目标电路模块收到数据包后可以按照片数据包的位置编号顺序组装 BIN_File。
This_Data_Len为每片数据包中BIN_File的长度。
S113,当所述目标电路模块接收到所述升级数据包时,利用所述升级数据包进行数据升级。
当目标电路模块接收到所述升级数据包时,利用升级数据包进行数据升级。
具体地,因控制端是将升级数据包分片传输的,因此,当所述目标电路模块接收到所述升级数据包后,方法还包括:
目标电路模块判断是否接收到控制端发送的退出升级模式指令,若收到退出升级模式指令,则停止升级。若未收到退出升级模式指令,则利用所述升级数据包进行数据升级。
具体地,利用所述升级数据包进行数据升级,包括:
记录并存储每片片数据包的数据长度This_Data_Len、位置编号Positon及所述每片片数据包中携带的升级数据包的数据总长度Data_Len。
这里,因每个升级数据包的长度是不一样的,因此在每片片数据包中携带的升级数据包的数据总长度Data_Len后,可以很方便地检测片数据包是否属于同一个升级数据包,若两片片数据包不属于同一个升级数据包,以能及时通知控制端,避免升级失败,程序无法正常运行。
举例来说,假设某个升级数据包的数据长度为1000,那么Data_Len为1000,需要分成3片片数据包进行传输,第一片片数据包的长度为400,第二片片数据包的长度为400,第三片片数据包的长度为200,那么第一片片数据包的数据格式可以由表3所示,第二片片数据包的数据格式可以由表4所示,第三片数据包的数据格式可以由表5所示:
表3
1000 | 1 | 400 | BIN_File |
表4
1000 | 2 | 400 | BIN_File |
表5
1000 | 3 | 200 | BIN_File |
表3中的BIN_File为第1到400个字节,表4中的BIN_File为第401到 800个字节,表5中的BIN_File为第801到1000个字节。
接收完毕后,更新接收到的数据总长度Receive_Data_Len, Receive_Data_Len应该等于所有This_Data_Len之和;
判断所述每片片数据包中携带的升级数据包的数据总长度Data_Len是否一致;若所述每片片数据包中携带的升级数据包的数据总长度Data_Len一致,则继续判断所述接收到的数据总长度Receive_Data_Len是否与所述升级数据包的数据总长度一致Data_Len。
若所述每片片数据包中携带的升级数据包的数据总长度Data_Len未保持一致时,方法还包括:向所述控制端发送第一异常提示指令,并结束升级操作;所述第一异常提示指令包括:所述目标电路模块收到了数据总长度不一致的升级数据包。
进一步地,若所述接收到的数据总长度Receive_Data_Len与所述升级数据包的数据总长度Data_Len一致,则向所述控制终端发送开始升级通知消息;并判断在预设的第三时长内是否接收到所述控制端发送的确认升级指令,若接收到所述确认升级指令,则根据所述确认升级指令进行数据包升级;升级完成后,向所述控制端发送升级完成指令;第三时长可以为10~60ms。
控制端接收到所述升级完成指令后,向所述各电路模块发送模式切换指令;所述各所述电路模块根据所述模式切换指令将升级模式切换为运行模式,并向所述控制端发送模式切换确认指令;若所述控制端未接收到所有电路模块发送的所述模式切换确认指令,则向用户发送电路模块失联的提示信息。
作为一种可选的实施例,若在所述预设的第三时长内未接收到所述确认升级指令,方法还包括:结束数据包的升级操作,并向控制端发送第三异常提示指令,第三异常提示指令包括:未接收到确认升级指令。
结束数据包的升级操作后,所述目标电路模块自行退出升级模式进入运行模式,并向所述控制端发送通知消息;
所述控制端根据接收到的所述通知消息向非目标电路模块广播模式切换指令,所述非目标电路模块根据所述模式切换指令将升级模式切换为运行模式;
切换为运行模式后,所述目标电路模块与所述非目标电路模块向所述控制端发送模式切换确认指令;
若所述控制端未接收到所有电路模块发送的所述模式切换确认指令,则向用户发送电路模块失联的提示信息,提示用户进行处理。
若在控制端接收到所有电路模块发送的所述模式切换确认指令,则退出升级流程。
作为一种可选的实施例,当接收到的数据总长度Receive_Data_Len与所述升级数据包的数据总长度Data_Len未保持一致时,方法还包括:
判断在预设的第四时长内是否接收到剩余的片数据包,若在所述第四时长内未接收到所述剩余的片数据包,则向所述控制端发送第二异常提示指令,所述第二异常提示指令包括:所述目标电路模块未及时收到剩余的片数据包;第四时长可以为10~50ms。
这里,电路模块发送至控制端的各指令的数据格式如表6所示:
表6
电路模块发送至控制端的各指令包括:第一异常提示指令、第二异常提示指令、第三异常提示指令、模式切换确认指令及升级完成指令。
控制端发送至电路模块的各指令包括:退出升级模式指令、确认升级指令、模式切换指令。
其中Type表示以上指令类型。比如:Type取值A表示退出升级模式指令, Type取值B表示确认升级指令,Type取值C表示模式切换指令,Type取值D 表示第一异常提示指令,Type取值E表示第二异常提示指令,Type取值F表示模式切换确认指令,Type取值G表示第三异常提示指令,Type取值H表示升级完成指令。其中A、B、C、D、E、F、G、H取值范围都为0-255,且互不相同。
作为可选的一种实施例,而当旋转导向工具与所述电路模块利用无线传输设备进行通信时,为了确保无线传输设备对应的无线信道是可靠的,需要提前对无线信道进行测试。其中,参考图4,无线传输设备包括第一通信模块及第二通信模块,所述第一通信模块安装在无线诊断接头41中,无线诊断接头41 与井下旋转导向工具通过螺纹连接或者通过卡扣连接,无线诊断接头41与控制端6通过通信接口(比如串口或USB接口)相连,无线诊断接头41还与外部电源模块相连。
第二通信模块与井下旋转导向工具相连,第二通信模块具体安装在沿井上方向的井下旋转导向工具末端。
继续参考图4,第一通信模块包括:电能发送控制单元42、第一通信控制单元43及电磁感应原边线圈44中;第二通信模块包括:电能接收控制单元45、第二通信控制单元46及电磁感应副边线圈47中;
电能发送控制单元42与外部电源模块相连,外部电源模块为电能发送控制单元42供电,电能发送控制单元42用于为第一通信控制单元43及电磁感应原边线圈44供电。
具体地,电能发送控制单元42包括逆变器及初级谐振补偿器,用于将直流电转换为交流电;交流电的频率和传输功率可通过控制端6进行配置调节。
电能发送控制单元42与所述电磁感应原边线圈44相连,用于将电能从所述电磁感应原边线圈44传输至电磁感应副边线圈47;
第一通信控制单元43用于控制数据在电磁感应原边线圈44与所述电磁感应副边线圈47之间传输(发送数据及接收数据);这里,数据以电能为载体进行传输,数据会随着电能传输至电磁感应副边线圈47;所述数据包括:透传包或指令包;所述透传包中封装有升级数据包,所述指令包包括:测试数据包或者其他指令包。
同理,电能接收控制单元45与所述电磁感应副边线圈47相连,用于将电能从电磁感应副边线圈47传输至所述电磁感应原边线圈44;电能接收控制单元4包括:次级谐振补偿器及电压整形器;
第二通信控制单元46用于控制数据在所述电磁感应副边线圈47与电磁感应原边线圈44之间传输(发送数据及接收数据)。
电能接收控制单元45与第二通信控制单元46分别与各个电路模块相连,电能接收控制单元45用于为各个电路模块供电,第二通信控制单元46用于与各个电路模块供电通信。
这里,电磁感应原边线圈44及电磁感应副边线圈47构成电磁感应线圈,电磁感应线圈的剖面图如图5所示。
需要说明的是,安装完毕后,电磁感应原边线圈44及电磁感应副边线圈 47从横剖面上看上下边缘应该对齐,从轴向看电磁感应原边线圈44及电磁感应副边线圈47为同轴关系,且两个线圈匝数一致。
无线传输设备安装完毕之后,可以启动无线传输设备进行数据升级。那么当电路模块处于运行模式需要进行数据升级时,控制端向各电路模块广播模式切换指令之前,需要测试无线传输通道是否可以正常传输数据包,那么方法还包括:
利用所述第一通信模块向所述第二通信模块发送测试数据包,判断在预设的第六时长内是否接收到所述第二通信模块发送的第一消息,所述第一消息为收到正确的数据包,所述第一消息的消息标识可以为a;
若在所述第六时长内接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立成功的第二消息,第二消息的消息标识可以为e;第六时长可以为:10~60ms;
若在所述第六时长内未接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立失败的第三消息,第三消息的消息标识可以为f。
其中,利用所述第一通信模块向所述第二通信模块发送测试数据包,包括:利用第一通信模块中的第一通信控制单元43通过电磁感应原边线圈44向电磁感应副边线圈47发送测试数据包。
同时,当无线传输设备上电启动后,第二通信模块中的第二通信控制单元 46也会在预设的第七时长内判断是否接收到测试数据包,第七时长可以为 60~120ms;
若第二通信模块中的第二通信控制单元46在第七时长内没有接收到测试数据包,会向电磁感应原边线圈44发送第四消息,第四消息为未收到数据包,第四消息的消息标识可以为d;若第二通信模块中的第二通信控制单元46收到测试数据包,但是校验和不正确,那么会向电磁感应原边线圈44发送第五消息,第五消息为收到校验错误的数据包,第五消息的消息标识可以为b;若校验正确,则向电磁感应原边线圈44发送收到正确的数据包的第一消息。
这里,测试数据包及用于发送各个消息(第一消息至第五消息)的数据包可称为指令包,指令包不会发送到井下旋转导向工具内的各电路模块。
这里,在发送透传包(运行数据包或者升级数据包)时,为了可以对升级数据包或运行数据包进行校验,需要将升级数据包或运行数据包包封装在透传包中进行传输,其中,透传数据包的格式如表7所示:
表7
Header | TYPE | LEN | MESSAGE | CRC |
表7中,当TYPE为P时,代表该数据包为透传包,此时MESSAGE为运行数据包或者升级数据包;当TYPE为Q时,代表该数据包为指令包,此时 MESSAGE内容为指令包的消息标识SubType。CRC为数据包的校验,用于校验数据包。LEN为数据包的长度。
指令包的结构可参考表8:
表8
Header | TYPE | LEN | SubType | CRC |
其中,表8中,SubType为消息标识,比如当消息为第一消息时,SubType 的值为a;当SubType的值为c时,代表该数据包为测试数据包。
当无线传输通道建立成功后,第一通信模块以表7中的数据格式向第二通信模块发送透传包,第二通信模块接收到后,会提取该数据包中的MESSAGE 得到透传包,再将透传包发送至电路模块进行数据升级或者执行运行指令,数据升级的方法与前述有线传输时的升级方法是完全相同的,在此不再赘述。
进一步地,因升级数据包也是分片传输的,升级数据包在传输的过程中也会进行校验,当第一通信模块将各片升级数据包发送至第二通信模块,第二通信模块会逐一校验各片升级数据包,若校验结果不正确,则会向第一通信模块发送第五消息,第一通信模块接收到第五消息后,重发该片升级数据包,若重发至预设的次数,依然接收到第五消息,则向控制端发送系统错误的消息,控制端推送提示信息,提示工作人员;其中,预设的次数为3次。
同理,当第二通信模块确定校验结果是正确的,会向第一校验模块发送确认消息,第一校验模块接收到确认消息后,才会继续发送下一片升级数据包。
而当第一通信模块在预设的第八时长内没有接收到第二通信模块发送的任何消息(校验结果或者确认消息)时,确定升级过程出错,退出升级流程。
这样无论是有线传输还是无线传输,即使有些电路模块不存在外部机械端口,也可以接收到其他电路模块转发的升级数据包,无需拆卸旋转导向工具也可实现数据升级,避免反复拆装导致的模块电路受损;并且因控制端在发送升级数据包时,是分片传输的,因此对于较大的升级数据包来说,可以降低传输误码率,进而进一步提高了升级数据包的准确度。
基于同样的发明构思,本申请还提供一种数据升级系统,详见实施例二。
实施例二
本实施例提供一种数据升级系统,如图3所示,数据升级系统包括:控制端6及井下旋转导向工具32,所述旋转导向工具32包括至少两个电路模块,每个电路模块通过通信接口相连,如图1所示,旋转导向工具32包括电路模块 1、电路模块2、电路模块3、电路模块4、电路模块5……电路模块N;电路模块1、电路模块2、电路模块3、电路模块4、电路模块5……电路模块N通过通信接口相连,电路模块1还与控制端6通过通信接口相连,控制端6可以为工控机。每个电路模块各有一个arm处理器,arm处理器支持IAP,即处理器可以在系统中获取新代码并对自己重新编程。
通信接口可以包括:串口、I2C接口、串行外设接口(SPI,SerialPeripheralInterface)接口、以太网、非接触单元、CAN接口等;非接触单元可以包括:非接触电能发送电路、非接触电能接收电路、非接触信号传输电路及电磁感应线圈等。
这里,电路模块1、电路模块2、电路模块3、电路模块4、电路模块5……电路模块N可以为:总线模块、非接触信号传输模块、非接触电能发送控制模块、非接触原边信息传输控制模块、非接触电能接收控制模块、非接触副边信息传输控制模块、中控模块、姿态测量模块、液压驱动控制模块等。那么各个电路模块在连接时,具体连接方式如下:
总线模块通过串口与非接触信号传输模块连接,非接触信号传输模块与非接触电能发送模块连接,非接触信息传输模块通过非接触单元(电磁感应线圈) 与非接触副边信息传输模块连接,非接触副边信息传输模块通过串口与中控模块连接,中控模块通过I2C接口与姿态测量模块连接,中控模块通过CAN接口与液压驱动模块连接。
那么基于以上连接方式,作为一种可选的实施例,电路模块可以与井下旋转导向工具通过有线连接,电路模块也可以与井下旋转导向工具通过无线连接,利用无线传输设备进行通信。通过有线连接时,当电路模块处于运行模式需要进行数据升级时,具体实现如下:
当系统处于运行模式,各电路模块也处于运行模式,但电路模块需要进行数据升级时,那么控制端6会向所有的电路模块广播模式切换指令,而各电路模块接收到模式切换指令后,将运行模式切换为升级模式。
这里,为了便于区别,每个电路模块具有不同的识别标识号,比如模块电路1的识别标识号可以为1,模块电路2的识别标识号可以为2等等。
作为一种可选的实施例,当电路模块将运行模式切换为升级模式后,会按照预设的发送顺序发送模式切换确认指令至所述控制端。
预设的发送顺序可以为模块电路的识别标识号的大小顺序,比如可以为从大到小的顺序,也可以为从小到大的顺序。预设的发送顺序还可以为模块电路与控制端的距离的远近顺序,比如可以为由远到近的顺序,也可以为由近到远的顺序。
控制端6会在预设的第五时长内判断是否接收到所有电路模块发送的模式切换确认指令,若没有接收到所有电路模块发送的模式切换确认指令时,则会重复向所有的电路模块广播模式切换指令,重复N次之后,若还没有接收到所有电路模块发送的模式切换确认指令,则确定对应的电路模块失联,退出升级流程,并向用户发送电路模块失联的提示信息,提示用户做相应处理;其中, N值至少为3。
而当控制端6接收到所有电路模块发送的模式切换确认指令后,会每间隔预设的第一时长向所述电路模块发送升级状态广播指令,所述升级状态广播指令用于通知电路模块保持升级模式;第一时长可以为3s。
所有电路模块进入升级模式后,电路模块判断在预设的第二时长内是否接收到所述控制端6发送的升级状态广播指令,若接收到,则重新倒计时第二时长,直至等待接收到所述控制端6基于分片传输策略发送的升级数据包,所述升级数据包包括m片片数据包,m为大于1的整数,所述升级数据包的包头为工作模式标识。第二时长可以为10s。
也即,当控制端6基于分片传输策略发送升级数据包后,电路模块接收到的升级数据包则包括m片片数据包,m为大于1的整数。
若在第二时长内未接收到所述控制端6发送的升级状态广播指令,所有电路模块退出升级模式进入运行模式,并向所述控制端6发送工作模式改变通知消息。以能在控制端6出现死机或者通信异常等情况下,旋转导向工具内部电路模块能尽快恢复到运行模式,保证旋转导向工具正常工作。
针对任一电路模块来说,当当前电路模块接收到所述升级数据包时,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,若所述升级数据包不是自身的升级数据包,则按照预设的转发策略将所述升级数据包转发至相邻电路模块,直至所述升级数据包匹配至所述目标电路模块。
这里,为了避免出现错误,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包之前,获取所述升级数据包的工作模式标识,判断所述工作模式标识是否与预设的升级模式标识一致,若工作模式标识与预设的升级模式标识一致时,说明接收到的是升级数据包;若工作模式标识与预设的升级模式标识不一致时,说明接收到的数据包不是升级数据包。
作为一种可选的实施例,所述根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,将所述目标电路模块的识别标识号与自身识别标识号进行对比,若所述目标电路模块的识别标识号与自身识别标识号一致,则确定所述升级数据包为自身的升级数据包;
若所述目标电路模块的识别标识号与自身识别标识号不一致,则确定所述升级数据包并非为自身的升级数据包。
比如,该升级数据包到达电路模块i,电路模块i的接收单元31收到升级数据后首先进行包头识别,识别Mode为A,那么确定该数据包为升级数据包。然后获取升级数据包中的电路模块识别标识号Target值,若Target值不为i,则说明该升级数据包不是自身的升级数据包,那么会转发给相邻电路模块。
需要说明的是,在转发相邻电路模块时,会转发给从未收到过该升级数据包的相邻电路模块,而收到过该升级数据包的相邻电路模块则不会再转发。
举例来说,假设电路模块i的相邻电路模块为电路模块i-1及电路模块i+1,电路模块i接收的是电路模块i-1转发的升级数据包,那么当升级数据包的Target 值不为i,则会将该升级数据包转发至电路模块i+1,而不会再转发至电路模块 i-1。
具体地,假设需要对电路模块3进行升级,参考图1,转发过程如下:
1)该升级数据包到达电路模块1,电路模块1收到后进行包头识别,识别 Mode为A—为程序升级数据包,识别Target为3,确定该数据包不是发给自己的升级数据包,转发给电路模块2。
2)该数据包到达电路模块2,电路模块2收到后进行包头识别,识别Mode 为A—为程序升级数据包,识别Target为3,确定不是发给自己的升级数据包,转发给电路模块3和电路模块5。
3)该数据包到达电路模块5,电路模块5收到后进行包头识别,识别Mode 为A—为程序升级数据包,识别Target为3,确定不是发给自己的升级数据包,但是此时电路模块5没有除电路模块2以外的相邻电路模块,因此不转发。
4)该数据包到达电路模块3,电路模块3收到后进行包头识别,识别Mode 为A—为程序升级数据包,识别Target为3,确定是发给自己的升级数据包,此时升级数据包与电路模块匹配成功。
作为一种可选的实施例,当所述升级数据包匹配至所述目标电路模块后,所述目标电路模块判断所述升级数据包是否为首次接收到的升级数据包,若是,则进入升级锁定模式;
在升级锁定模式期间,若接收到所述控制端6发送的升级状态广播指令,则不会对其进行解析,直接转发至相邻电路模块。
这里,升级数据包的格式由表1所示:
表1
Mode | Target | Len | Data |
因系统运行包括两种工作模式:升级模式及运行模式。因此在表1中,Mode 为数据包包头,用于标识工作模式,比如,Mode值为A时代表升级数据包, Mode值为B时代表运行数据包。
Target为模块电路的识别标识号,用于区分该数据包对应的目标电路模块,比如:若需要将某个数据包需要传递给电路模块2,则Target数值为2。其中,当Target数值为255时,表示该数据包对应的目标模块为所有电路模块,此时该数据包可称为广播数据包。当Target数值为0时,表示该数据包为电路模块发往控制端的确认包。
Len用于记录该数据包的数据长度,方便读取及数据处理。
Data为数据包数据内容。不同模式下Data数据格式不同,运行模式下的数据格式可根据旋转导向工具各电路模块功能进行预先定义。
那么,控制端向电路模块发送的升级数据包的数据格式可如表2所示:
表2
这里,若升级数据包的数据长度很长,为了防止数据包过长造成的误码,本实施可以对升级数据包进行分片传输,这样就需要将升级数据包预先分为多个片数据包。那么表中Data_Len为整个升级数据包中有效数据的总长度,即所有片数据包的BIN_File长度之和。
Positon为片数据包在整个升级数据包中的位置,即标识该片数据包的位置编号。目标电路模块收到数据包后可以按照片数据包的位置编号顺序组装 BIN_File。
This_Data_Len为每片数据包中BIN_File的长度。
当目标电路模块接收到所述升级数据包时,利用升级数据包进行数据升级。
具体地,因控制端6是将升级数据包分片传输的,因此,当所述目标电路模块接收到所述升级数据包后,目标电路模块判断是否接收到控制端发送的退出升级模式指令,若收到退出升级模式指令,则停止升级。若未收到退出升级模式指令,则利用所述升级数据包进行数据升级。
具体地,利用所述升级数据包进行数据升级,包括:
记录并存储每片片数据包的数据长度This_Data_Len、位置编号Positon及所述每片片数据包中携带的升级数据包的数据总长度Data_Len。
这里,因每个升级数据包的长度是不一样的,因此在每片片数据包中携带的升级数据包的数据总长度Data_Len后,可以很方便地检测片数据包是否属于同一个升级数据包,若两片片数据包不属于同一个升级数据包,以能及时通知控制端,避免升级失败,导致程序无法正常运行。
举例来说,假设某个升级数据包的数据长度为1000,那么Data_Len为1000,需要分成3片片数据包进行传输,第一片片数据包的长度为400,第二片片数据包的长度为400,第三片片数据包的长度为200,那么第一片片数据包的数据格式可以由表3所示,第二片片数据包的数据格式可以由表4所示,第三片数据包的数据格式可以由表5所示:
表3
1000 | 1 | 400 | BIN_File |
表4
1000 | 2 | 400 | BIN_File |
表5
1000 | 3 | 200 | BIN_File |
表3中的BIN_File为第1到400个字节,表4中的BIN_File为第401到 800个字节,表5中的BIN_File为第801到1000个字节。
接收完毕后,更新接收到的数据总长度Receive_Data_Len, Receive_Data_Len应该等于所有This_Data_Len之和;
然后判断所述每片片数据包中携带的升级数据包的数据总长度Data_Len 是否一致;若所述每片片数据包中携带的升级数据包的数据总长度Data_Len一致,则继续判断所述接收到的数据总长度Receive_Data_Len是否与所述升级数据包的数据总长度一致Data_Len。
若所述每片片数据包中携带的升级数据包的数据总长度Data_Len未保持一致时,向所述控制端6发送第一异常提示指令,并结束升级操作;所述第一异常提示指令包括:所述目标电路模块收到了数据总长度不一致的升级数据包。
进一步地,若所述接收到的数据总长度Receive_Data_Len与所述升级数据包的数据总长度Data_Len一致,则向所述控制31发送开始升级通知消息;判断在预设的第三时长内是否接收到所述控制端发送的确认升级指令,若接收到所述确认升级指令,则根据所述确认升级指令进行数据包升级;升级完成后,向所述控制端发送升级完成指令。
控制端6接收到所述升级完成指令后,向所述各电路模块发送模式切换指令;所述各所述电路模块根据所述模式切换指令将升级模式切换为运行模式,并向所述控制端6发送模式切换确认指令;若所述控制端6未接收到所有电路模块发送的所述模式切换确认指令,则向用户发送电路模块失联的提示信息。
作为一种可选的实施例,若在所述预设的第三时长内未接收到所述确认升级指令,那么则结束数据包的升级操作,并向控制端6发送第三异常提示指令,第三异常提示指令包括:未接收到确认升级指令。
结束数据包的升级操作后,所述目标电路模块自行退出升级模式进入运行模式,并向所述控制端6发送通知消息;
所述控制端6根据接收到的所述通知消息向非目标电路模块广播模式切换指令,所述非目标电路模块根据所述模式切换指令将升级模式切换为运行模式;
切换为运行模式后,所述目标电路模块与所述非目标电路模块向所述控制端发送模式切换确认指令;
若所述控制端6未接收到所有电路模块发送的所述模式切换确认指令,则向用户发送电路模块失联的提示信息,提示用户进行处理。
若在控制端6接收到所有电路模块发送的所述模式切换确认指令,则退出升级流程。
作为一种可选的实施例,当接收到的数据总长度Receive_Data_Len与所述升级数据包的数据总长度Data_Len未保持一致时,判断在预设的第四时长内是否接收到剩余的片数据包,若在所述第四时长内未接收到所述剩余的片数据包,发送则向所述控制端发送第二异常提示指令,所述第二异常提示指令包括:所述目标电路模块未及时收到剩余的片数据包。
这里,电路模块发送至控制端的各指令的数据格式如表6所示:
表6
电路模块发送至控制端6的各指令包括:第一异常提示指令、第二异常提示指令、第三异常提示指令、模式切换确认指令及升级完成指令。
控制端发送至电路模块的各指令包括:退出升级模式指令、确认升级指令、模式切换指令。
其中Type表示以上指令类型。比如:Type取值A表示退出升级模式指令, Type取值B表示确认升级指令,Type取值C表示模式切换指令,Type取值D 表示第一异常提示指令,Type取值E表示第二异常提示指令,Type取值F表示模式切换确认指令,Type取值G表示第三异常提示指令,Type取值H表示升级完成指令。其中A、B、C、D、E、F、G、H取值范围都为0-255,且互不相同。
作为可选的一种实施例,而当旋转导向工具与所述电路模块利用无线传输设备进行通信时,为了确保无线传输设备对应的无线信道是可靠的,需要提前对无线信道进行测试。其中,参考图4,无线传输设备包括第一通信模块及第二通信模块,所述第一通信模块安装在无线诊断接头41中,无线诊断接头41 与井下旋转导向工具通过螺纹连接或者通过卡扣连接,无线诊断接头41与控制端6通过通信接口(比如串口或USB接口)相连,无线诊断接头41还与外部电源模块相连。
第二通信模块与井下旋转导向工具相连,第二通信模块具体安装在沿井上方向的井下旋转导向工具末端。
继续参考图4,第一通信模块包括:电能发送控制单元42、第一通信控制单元43及电磁感应原边线圈44中;第二通信模块包括:电能接收控制单元45、第二通信控制单元46及电磁感应副边线圈47中;
电能发送控制单元42与外部电源模块相连,外部电源模块为电能发送控制单元42供电,电能发送控制单元42用于为第一通信控制单元43及电磁感应原边线圈44供电。
具体地,电能发送控制单元42包括逆变器及初级谐振补偿器,用于将直流电转换为交流电;流电的频率和传输功率可通过控制端6进行配置调节。
电能发送控制单元42与所述电磁感应原边线圈44相连,用于将电能从所述电磁感应原边线圈44传输至电磁感应副边线圈47;
第一通信控制单元43用于控制数据在电磁感应原边线圈44与所述电磁感应副边线圈47之间传输(发送数据及接收数据);这里,数据以电能为载体进行传输,数据会随着电能传输至电磁感应副边线圈47;所述数据包括:透传包或指令包;所述透传包中封装有升级数据包,所述指令包包括:测试数据包或者其他指令包。
同理,电能接收控制单元45与所述电磁感应副边线圈47相连,用于将电能从电磁感应副边线圈47传输至所述电磁感应原边线圈44;电能接收控制单元4包括:次级谐振补偿器及电压整形器;
第二通信控制单元46用于控制数据在所述电磁感应副边线圈47与电磁感应原边线圈44之间传输(发送数据及接收数据)。
电能接收控制单元45与第二通信控制单元46分别与各个电路模块相连,电能接收控制单元45用于为各个电路模块供电,第二通信控制单元46用于与各个电路模块供电通信。
这里,电磁感应原边线圈44及电磁感应副边线圈47构成电磁感应线圈,电磁感应线圈的剖面图如图5所示。
需要说明的是,安装完毕后,电磁感应原边线圈44及电磁感应副边线圈 47从横剖面上看上下边缘应该对齐,从轴向看电磁感应原边线圈44及电磁感应副边线圈47为同轴关系,且两个线圈匝数一致。
无线传输设备安装完毕之后,可以启动无线传输设备进行数据升级。那么当电路模块处于运行模式需要进行数据升级时,控制端向各电路模块广播模式切换指令之前,需要测试无线传输通道是否可以正常传输数据包,那么方法还包括:
利用所述第一通信模块向所述第二通信模块发送测试数据包,判断在预设的第六时长内是否接收到所述第二通信模块发送的第一消息,所述第一消息为收到正确的数据包,所述第一消息的消息标识可以为a;
若在所述第六时长内接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立成功的第二消息,第二消息的消息标识可以为e;第六时长可以为:10~60ms;
若在所述第六时长内未接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立失败的第三消息,第三消息的消息标识可以为f。
其中,利用所述第一通信模块向所述第二通信模块发送测试数据包,包括:利用第一通信模块中的第一通信控制单元43通过电磁感应原边线圈44向电磁感应副边线圈47发送测试数据包。
同时,当无线传输设备上电启动后,第二通信模块中的第二通信控制单元 46也会在预设的第七时长内判断是否接收到测试数据包,第七时长可以为60~120ms;
若第二通信模块中的第二通信控制单元46在第七时长内没有接收到测试数据包,会向电磁感应原边线圈44发送第四消息,第四消息为未收到数据包,第四消息的消息标识可以为d;若第二通信模块中的第二通信控制单元46收到测试数据包,但是校验和不正确,那么会向电磁感应原边线圈44发送第五消息,第五消息为收到校验错误的数据包,第五消息的消息标识可以为b;若校验正确,则向电磁感应原边线圈44发送收到正确的数据包的第一消息。
这里,测试数据包及用于发送各个消息(第一消息至第五消息)的数据包可称为指令包,指令包不会发送到井下旋转导向工具内的各电路模块。
这里,在发送透传包(运行数据包或者升级数据包)时,为了可以对升级数据包或运行数据包进行校验,需要将升级数据包或运行数据包包封装在透传包中进行传输,其中,透传包的格式如表7所示:
表7
Header | TYPE | LEN | MESSAGE | CRC |
表7中,当TYPE为P时,代表该数据包为透传包,此时MESSAGE为运行数据包或升级数据包;当TYPE为Q时,代表该数据包为指令包,此时 MESSAGE内容为指令包的消息标识SubType。CRC为数据包的校验,用于校验数据包。LEN为数据包的长度。
指令包的结构可参考表8:
表8
Header | TYPE | LEN | SubType | CRC |
其中,表8中,SubType为消息标识,比如当消息为第一消息时,SubType 的值为a;当SubType的值为c时,代表该数据包为测试数据包。
当无线传输通道建立成功后,第一通信模块以表7中的数据格式向第二通信模块发送透传包,第二通信模块接收到后,会提取该数据包中的MESSAGE 得到透传包,再将透传包发送至各电路模块进行数据升级或者执行运行指令,数据升级的方法与前述有线传输时的升级方法是完全相同的,在此不再赘述。
进一步地,因升级数据包也是分片传输的,升级数据包在传输的过程中也会进行校验,当第一通信模块将各片升级数据包发送至第二通信模块,第二通信模块会逐一校验各片升级数据包,若校验结果不正确,则会向第一通信模块发送第五消息,第一通信模块接收到第五消息后,重发该片升级数据包,若重发至预设的次数,依然接收到第五消息,则向控制端发送系统错误的消息,控制端推送提示信息,提示工作人员;其中,预设的次数为3次。
同理,当第二通信模块确定校验结果是正确的,会向第一校验模块发送确认消息,第一校验模块接收到确认消息后,才会继续发送下一片升级数据包。
而当第一通信模块在预设的第八时长内没有接收到第二通信模块发送的任何消息(校验结果或者确认消息)时,确定升级过程出错,退出升级流程。
这样无论是有线传输还是无线传输,即使有些电路模块不存在外部机械端口,也可以接收到其他电路模块转发的升级数据包,无需拆卸旋转导向工具也可实现数据升级,避免反复拆装导致的模块电路受损;并且因控制端6在发送升级数据包时,是分片传输的,因此对于较大的升级数据包来说,可以降低传输误码,进而进一步提高了升级数据包的准确度。
本发明实施例提供的数据升级方法及系统能带来的有益效果至少是:
本发明提供了一种数据升级方法及系统,当电路模块处于运行模式需要进行数据升级时,控制端向各电路模块广播模式切换指令;所述电路模块根据接收到的所述模式切换指令将所述运行模式切换为升级模式;所述控制端每间隔预设的第一时长向所述电路模块发送升级状态广播指令;所述电路模块判断在预设的第二时长内是否接收到所述控制端发送的升级状态广播指令,若接收到,则等待接收所述控制端基于分片传输策略发送的升级数据包;若在预设的第二时长内未接收到所述控制端发送的升级状态广播指令,将所述升级模式切换为运行模式,并向所述控制端发送工作模式改变通知消息;所述升级数据包包括m片片数据包,m为大于1的整数,所述升级数据包的包头为工作模式标识;每个所述电路模块具有不同的识别标识号;当当前电路模块接收到所述升级数据包时,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,若所述升级数据包不是自身的升级数据包,则按照预设的转发策略将所述升级数据包转发至相邻电路模块,直至所述升级数据包匹配至所述目标电路模块;当所述目标电路模块接收到所述升级数据包时,利用所述升级数据包进行数据升级;其中,所述利用所述升级数据包进行数据升级,包括:记录并存储每片片数据包的数据长度、位置编号及所述每片片数据包中携带的升级数据包的数据总长度;更新接收到的数据总长度;判断所述每片片数据包中携带的升级数据包的数据总长度是否一致;若所述每片片数据包中携带的升级数据包的数据总长度一致,则继续判断所述接收到的数据总长度是否与所述升级数据包的数据总长度一致;若所述接收到的数据总长度与所述升级数据包的数据总长度一致,则向所述控制终端发送开始升级通知消息;判断在预设的第三时长内是否接收到所述控制端发送的确认升级指令,若接收到所述确认升级指令,则根据所述确认升级指令进行数据包升级;升级完成后,向所述控制端发送升级完成指令;所述控制端接收到所述升级完成指令后,向所述各电路模块发送模式切换指令;所述各所述电路模块根据所述模式切换指令将升级模式切换为运行模式;其中,若所述每片片数据包中携带的升级数据包的数据总长度未保持一致时,所述电路模块向所述控制端发送第一异常提示指令,所述第一异常提示指令包括:所述目标电路模块收到了数据总长度不一致的升级数据包;若所述接收到的数据总长度与所述升级数据包的数据总长度未保持一致时,所述电路模块判断在预设的第四时长内是否接收到剩余的片数据包,若在所述第四时长内未接收到所述剩余的片数据包,则向所述控制端发送第二异常提示指令,所述第二异常提示指令包括:所述目标电路模块未及时收到剩余的片数据包。如此,利用各个电路模块已有的互联的通信接口,即使有些电路模块不存在外部机械端口,也可以接收到其他电路模块转发的升级数据包,无需拆卸旋转导向工具也可实现数据升级,避免反复拆装导致的模块电路受损;通过电路模块和系统的模式切换,在不影响各电路模块预设的工作前提下,最快速度地进行程序升级;并且因控制端在发送升级数据包时,是分片传输的,因此对于较大的升级数据包来说,可以降低传输误码率,进而进一步提高了升级数据包的准确度;并且无论是正常升级完成还是异常升级退出,各电路模块能自行或者通过控制端退出升级模式进入运行模式,这样确保工具可以以最快的速度进入运行模式,确保井下旋转导向工具的正常工作。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据升级方法,其特征在于,应用在井下旋转导向工具中,所述旋转导向工具包括至少两个电路模块,每个电路模块通过通信接口相连,每个电路模块包括一个支持在应用可编程IAP的处理器,所述方法包括:
当电路模块处于运行模式需要进行数据升级时,所述控制端向各电路模块广播模式切换指令;
所述电路模块根据接收到的所述模式切换指令将所述运行模式切换为升级模式;
所述控制端每间隔预设的第一时长向所述电路模块发送升级状态广播指令;
所述电路模块判断在预设的第二时长内是否接收到所述控制端发送的升级状态广播指令,若接收到,则等待接收所述控制端基于分片传输策略发送的升级数据包;若在预设的第二时长内未接收到所述控制端发送的升级状态广播指令,将所述升级模式切换为运行模式,并向所述控制端发送工作模式改变通知消息;所述升级数据包包括m片片数据包,m为大于1的整数,所述升级数据包的包头为工作模式标识;每个所述电路模块具有不同的识别标识号;
当当前电路模块接收到所述升级数据包时,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,若所述升级数据包不是自身的升级数据包,则按照预设的转发策略将所述升级数据包转发至相邻电路模块,直至所述升级数据包匹配至所述目标电路模块;
当所述目标电路模块接收到所述升级数据包时,利用所述升级数据包进行数据升级;其中,
所述利用所述升级数据包进行数据升级,包括:
记录并存储每片片数据包的数据长度、位置编号及所述每片片数据包中携带的升级数据包的数据总长度;
更新接收到的数据总长度;
判断所述每片片数据包中携带的升级数据包的数据总长度是否一致;
若所述每片片数据包中携带的升级数据包的数据总长度一致,则继续判断所述接收到的数据总长度是否与所述升级数据包的数据总长度一致;
若所述接收到的数据总长度与所述升级数据包的数据总长度一致,则向所述控制终端发送开始升级通知消息;
判断在预设的第三时长内是否接收到所述控制端发送的确认升级指令,若接收到所述确认升级指令,则根据所述确认升级指令进行数据包升级;
升级完成后,向所述控制端发送升级完成指令;
所述控制端接收到所述升级完成指令后,向所述各电路模块发送模式切换指令;
所述各所述电路模块根据所述模式切换指令将升级模式切换为运行模式;其中,
若所述每片片数据包中携带的升级数据包的数据总长度未保持一致时,所述电路模块向所述控制端发送第一异常提示指令,所述第一异常提示指令包括:所述目标电路模块收到了数据总长度不一致的升级数据包;
若所述接收到的数据总长度与所述升级数据包的数据总长度未保持一致时,所述电路模块判断在预设的第四时长内是否接收到剩余的片数据包,若在所述第四时长内未接收到所述剩余的片数据包,则向所述控制端发送第二异常提示指令,所述第二异常提示指令包括:所述目标电路模块未及时收到剩余的片数据包。
2.如权利要求1所述的方法,其特征在于,所述电路模块根据接收到的所述模式切换指令将运行模式切换为升级模式之后,包括:
按照预设的发送顺序发送模式切换确认指令至所述控制端;
所述控制端在预设的第五时长内判断是否接收到所有电路模块发送的所述模式切换确认指令,若未接收到所有电路模块发送的所述模式切换确认指令,则重复广播模式切换指令;
重复N次之后,若还未接收到所有电路模块发送的所述模式切换确认指令,则退出升级流程,并向用户发送电路模块失联的提示信息,所述N至少为3。
3.如权利要求1所述的方法,其特征在于,所述根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,包括:
获取所述升级数据包的工作模式标识,判断所述工作模式标识是否与预设的升级模式标识一致;
若所述述工作模式标识与预设的升级模式标识一致,则将所述目标电路模块的识别标识号与自身识别标识号进行对比,若所述目标电路模块的识别标识号与自身识别标识号一致,则确定所述升级数据包为自身的升级数据包;
若所述目标电路模块的识别标识号与自身识别标识号不一致,则确定所述升级数据包并非为自身的升级数据包。
4.如权利要求1所述的方法,其特征在于,所述直至所述升级数据包匹配至所述目标电路模块后,还包括:
所述目标电路模块判断所述升级数据包是否为首次接收到的升级数据包,若是,则进入升级锁定模式;
在所述升级锁定模式期间,若接收到所述控制端发送的升级状态广播指令,则直接转发至相邻电路模块。
5.如权利要求1所述的方法,其特征在于,若在所述预设的第三时长内未接收到所述确认升级指令,方法还包括:
结束升级操作,并向控制端发送第三异常提示指令,第三异常提示指令包括:未接收到确认升级指令;
结束升级操作后,所述目标电路模块自行退出升级模式进入运行模式,并向所述控制端发送通知消息;
所述控制端根据接收到的所述通知消息向非目标电路模块广播模式切换指令,所述非目标电路模块根据所述模式切换指令将升级模式切换为运行模式;
所述目标电路模块与所述非目标电路模块向所述控制端发送模式切换确认指令;
若所述控制端未接收到所有电路模块发送的所述模式切换确认指令,则向用户发送电路模块失联的提示信息。
6.如权利要求1所述的方法,其特征在于,所述各所述电路模块根据所述模式切换指令将升级模式切换为运行模式后,包括:
向所述控制端发送模式切换确认指令;
若所述控制端未接收到所有电路模块发送的所述模式切换确认指令,则向用户发送电路模块失联的提示信息。
7.如权利要求1所述的方法,其特征在于,当所述旋转导向工具与所述电路模块利用无线传输设备进行通信时,所述无线传输设备包括:第一通信模块及第二通信模块,所述第一通信模块与所述控制端相连,所述第二通信模块与所述井下旋转导向工具相连;其中,
在所述当电路模块处于运行模式需要进行数据升级时,所述控制端向各电路模块广播模式切换指令之前,方法还包括:
利用所述第一通信模块向所述第二通信模块发送测试数据包,判断在预设的第六时长内是否接收到所述第二通信模块发送的第一消息,所述第一消息为收到正确的数据包;
若在所述第六时长内接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立成功的第二消息;
若在所述第六时长内未接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立失败的第三消息。
8.一种数据升级系统,其特征在于,所述系统包括:控制端及井下旋转导向工具,所述旋转导向工具包括至少两个电路模块,每个电路模块通过通信接口相连,每个电路模块包括一个支持IAP的处理器;其中,
所述控制端,用于当电路模块处于运行模式需要进行数据升级时,向各电路模块广播模式切换指令;
所述电路模块根据接收到的所述模式切换指令将所述运行模式切换为升级模式;
所述控制端,用于每间隔预设的第一时长向所述电路模块发送升级状态广播指令;
所述电路模块,用于判断在预设的第二时长内是否接收到所述升级状态广播指令,若接收到,则等待接收所述发送单元基于分片传输策略发送的升级数据包,所述升级数据包包括m片片数据包,m为大于1的整数,所述升级数据包的包头为工作模式标识;每个所述电路模块具有不同的识别标识号;
当当前电路模块接收到所述升级数据包时,根据所述升级数据包中携带的目标电路模块的识别标识号判断所述升级数据包是否为自身的升级数据包,若所述升级数据包不是自身的升级数据包,则按照预设的转发策略将所述升级数据包转发至相邻电路模块,直至所述升级数据包匹配至所述目标电路模块;
当所述目标电路模块接收到所述升级数据包时,利用所述升级数据包进行数据升级;
所述控制端,接收到所述升级完成指令后,向所述各电路模块发送模式切换指令;
所述各所述电路模块根据所述模式切换指令将升级模式切换为运行模式;其中,
所述利用所述升级数据包进行数据升级,包括:
记录并存储每片片数据包的数据长度、位置编号及所述每片片数据包中携带的升级数据包的数据总长度;
更新接收到的数据总长度;
判断所述每片片数据包中携带的升级数据包的数据总长度是否一致;
若所述每片片数据包中携带的升级数据包的数据总长度一致,则继续判断所述接收到的数据总长度是否与所述升级数据包的数据总长度一致;
若所述接收到的数据总长度与所述升级数据包的数据总长度一致,则向所述控制终端发送开始升级通知消息;
判断在预设的第三时长内是否接收到所述控制端发送的确认升级指令,若接收到所述确认升级指令,则根据所述确认升级指令进行数据包升级;
升级完成后,向所述控制端发送升级完成指令;
若所述每片片数据包中携带的升级数据包的数据总长度未保持一致时,所述电路模块还用于:向所述控制端发送第一异常提示指令,所述第一异常提示指令包括:所述目标电路模块收到了数据总长度不一致的升级数据包;
若所述接收到的数据总长度与所述升级数据包的数据总长度未保持一致时,所述电路模块还用于:判断在预设的第四时长内是否接收到剩余的片数据包,若在所述第四时长内未接收到所述剩余的片数据包,则向所述控制端发送第二异常提示指令,所述第二异常提示指令包括:所述目标电路模块未及时收到剩余的片数据包。
9.如权利要求8所述的系统,其特征在于,所述电路模块还用于:
按照预设的发送顺序发送模式切换确认指令至所述控制端;
所述控制端还用于:在预设的第五时长内判断是否接收到所有电路模块发送的所述模式切换确认指令;
若未接收到所有电路模块发送的所述模式切换确认指令,则重复广播模式切换指令;重复N次之后,若还未接收到所有电路模块发送的所述模式切换确认指令,则退出升级流程;并向用户发送电路模块失联的提示信息,所述N至少为3。
10.如权利要求8所述的系统,其特征在于,当所述旋转导向工具与所述电路模块利用无线传输设备进行通信时,所述无线传输设备包括:第一通信模块及第二通信模块,所述第一通信模块安装在无线诊断接头中,所述无线诊断接头与所述控制端相连;所述第二通信模块与所述井下旋转导向工具相连;所述第一通信模块包括:电能发送控制单元、第一通信控制单元及电磁感应原边线圈;所述第二通信模块包括:电能接收控制单元、第二通信控制单元及电磁感应副边线圈;其中,
所述电能发送控制单元与所述电磁感应原边线圈相连,用于将电能从所述电磁感应原边线圈传输至所述电磁感应副边线圈;
所述第一通信控制单元用于控制数据在所述电磁感应原边线圈与所述电磁感应副边线圈之间传输,所述数据以所述电能为载体进行传输,所述数据包括:透传包或指令包,所述透传包包括:升级数据包及运行数据包;所述指令包包括:测试数据包;
所述电能接收控制单元与所述电磁感应副边线圈相连,用于将所述电能从所述电磁感应副边线圈传输至所述电磁感应原边线圈;
所述第二通信控制单元用于控制所述数据在所述电磁感应副边线圈与所述电磁感应原边线圈之间传输;
在所述当电路模块处于运行模式需要进行数据升级时,所述控制端向各电路模块广播模式切换指令之前,所述第一通信模块具体用于:
向所述第二通信模块发送所述测试数据包,判断在预设的第六时长内是否接收到所述第二通信模块发送的第一消息,所述第一消息为收到正确的数据包;
若在所述第六时长内接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立成功的第二消息;
若在所述第六时长内未接收到所述第一消息,则向所述控制端发送用于指示无线传输通道建立失败的第三消息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010035614.9A CN111309351B (zh) | 2020-01-14 | 2020-01-14 | 一种数据升级方法及系统 |
CA3081051A CA3081051C (en) | 2020-01-14 | 2020-05-15 | Data upgrade method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010035614.9A CN111309351B (zh) | 2020-01-14 | 2020-01-14 | 一种数据升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309351A true CN111309351A (zh) | 2020-06-19 |
CN111309351B CN111309351B (zh) | 2020-12-29 |
Family
ID=71156410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010035614.9A Expired - Fee Related CN111309351B (zh) | 2020-01-14 | 2020-01-14 | 一种数据升级方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111309351B (zh) |
CA (1) | CA3081051C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764785A (zh) * | 2020-12-24 | 2021-05-07 | 江苏云涌电子科技股份有限公司 | 一种自动升级多级控制器的方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791804B (zh) * | 2021-09-14 | 2024-04-26 | 中元汇吉生物技术股份有限公司 | 多路仪器并行升级的方法、装置、计算机设备及存储介质 |
CN114301888B (zh) * | 2021-12-28 | 2023-09-22 | 复恒(重庆)科技有限公司 | 一种远程在线自主升级诊断方法 |
CN117573156A (zh) * | 2023-10-19 | 2024-02-20 | 京源中科科技股份有限公司 | 支持红外功能的超声波水表升级方法、系统及装置 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308253B1 (en) * | 1999-03-31 | 2001-10-23 | Sony Corporation | RISC CPU instructions particularly suited for decoding digital signal processing applications |
CN1918558A (zh) * | 2003-11-24 | 2007-02-21 | 因特隆公司 | 一种多个站在共享介质上进行通信的网络中的操作方法 |
US20070289373A1 (en) * | 2006-06-15 | 2007-12-20 | Pathfinder Energy Services, Inc. | Apparatus and method for downhole dynamics measurements |
CN102932392A (zh) * | 2011-08-12 | 2013-02-13 | 上海移远通信技术有限公司 | 多终端系统的udp下载方法 |
CN103324502A (zh) * | 2013-05-28 | 2013-09-25 | 中国科学院上海微系统与信息技术研究所 | 传感器网络节点代码升级管理中间件、方法及应用 |
CN106487575A (zh) * | 2016-04-11 | 2017-03-08 | 青岛东软载波科技股份有限公司 | 一种基于电力线通信的通信模块批量升级方法 |
CN106640033A (zh) * | 2015-10-30 | 2017-05-10 | 中石化石油工程技术服务有限公司 | 旋转导向工具状态监测方法 |
CN106681777A (zh) * | 2017-01-18 | 2017-05-17 | 青岛海尔空调电子有限公司 | 一种多联机程序快速升级方法 |
CN106713047A (zh) * | 2017-01-12 | 2017-05-24 | 泰凌微电子(上海)有限公司 | 一种网状网络中的节点升级方法与系统 |
GB2546209A (en) * | 2014-10-28 | 2017-07-12 | Halliburton Energy Services Inc | Downhole state-machine-based monitoring of vibration |
US9800575B1 (en) * | 2014-09-24 | 2017-10-24 | Ebay Inc. | Assigning storage responsibility in a distributed data storage system with replication |
CN108073409A (zh) * | 2016-11-16 | 2018-05-25 | 罗森伯格技术(昆山)有限公司 | 线缆访问节点的升级方法及系统 |
CN108600892A (zh) * | 2018-06-15 | 2018-09-28 | 歌尔科技有限公司 | 一种升级方法、装置、无线耳机、tws耳机及充电盒 |
CN109901866A (zh) * | 2017-12-07 | 2019-06-18 | 航天科工惯性技术有限公司 | 用于多模块系统的在线升级方法及旋转导向系统 |
CN110532011A (zh) * | 2019-09-02 | 2019-12-03 | 珠海格力电器股份有限公司 | 数据转换器版本升级方法、装置及数据通信系统 |
-
2020
- 2020-01-14 CN CN202010035614.9A patent/CN111309351B/zh not_active Expired - Fee Related
- 2020-05-15 CA CA3081051A patent/CA3081051C/en not_active Expired - Fee Related
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308253B1 (en) * | 1999-03-31 | 2001-10-23 | Sony Corporation | RISC CPU instructions particularly suited for decoding digital signal processing applications |
CN1918558A (zh) * | 2003-11-24 | 2007-02-21 | 因特隆公司 | 一种多个站在共享介质上进行通信的网络中的操作方法 |
US20070289373A1 (en) * | 2006-06-15 | 2007-12-20 | Pathfinder Energy Services, Inc. | Apparatus and method for downhole dynamics measurements |
CN102932392A (zh) * | 2011-08-12 | 2013-02-13 | 上海移远通信技术有限公司 | 多终端系统的udp下载方法 |
CN103324502A (zh) * | 2013-05-28 | 2013-09-25 | 中国科学院上海微系统与信息技术研究所 | 传感器网络节点代码升级管理中间件、方法及应用 |
US9800575B1 (en) * | 2014-09-24 | 2017-10-24 | Ebay Inc. | Assigning storage responsibility in a distributed data storage system with replication |
GB2546209A (en) * | 2014-10-28 | 2017-07-12 | Halliburton Energy Services Inc | Downhole state-machine-based monitoring of vibration |
CN106640033A (zh) * | 2015-10-30 | 2017-05-10 | 中石化石油工程技术服务有限公司 | 旋转导向工具状态监测方法 |
CN106487575A (zh) * | 2016-04-11 | 2017-03-08 | 青岛东软载波科技股份有限公司 | 一种基于电力线通信的通信模块批量升级方法 |
CN108073409A (zh) * | 2016-11-16 | 2018-05-25 | 罗森伯格技术(昆山)有限公司 | 线缆访问节点的升级方法及系统 |
CN106713047A (zh) * | 2017-01-12 | 2017-05-24 | 泰凌微电子(上海)有限公司 | 一种网状网络中的节点升级方法与系统 |
CN106681777A (zh) * | 2017-01-18 | 2017-05-17 | 青岛海尔空调电子有限公司 | 一种多联机程序快速升级方法 |
CN109901866A (zh) * | 2017-12-07 | 2019-06-18 | 航天科工惯性技术有限公司 | 用于多模块系统的在线升级方法及旋转导向系统 |
CN108600892A (zh) * | 2018-06-15 | 2018-09-28 | 歌尔科技有限公司 | 一种升级方法、装置、无线耳机、tws耳机及充电盒 |
CN110532011A (zh) * | 2019-09-02 | 2019-12-03 | 珠海格力电器股份有限公司 | 数据转换器版本升级方法、装置及数据通信系统 |
Non-Patent Citations (4)
Title |
---|
DING FENG等: "The Control Technology of Wellbore Trajectory Control", 《2016 IEEE INTERNATIONAL CONFERENCE ON MECHATRONICS AND AUTOMATION》 * |
M.A. KAMEL等: "Online Control of Stick-Slip in Rotary Steerable", 《2017 9TH IEEE-GCC CONFERENCE AND EXHIBITION (GCCCE)》 * |
尚捷等: "基于CAN总线的旋转导向仪器控制节点设计", 《电子测量技术》 * |
王植锐等: "国外旋转导向技术的发展及国内现状", 《钻采工艺》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764785A (zh) * | 2020-12-24 | 2021-05-07 | 江苏云涌电子科技股份有限公司 | 一种自动升级多级控制器的方法 |
CN112764785B (zh) * | 2020-12-24 | 2021-10-29 | 江苏云涌电子科技股份有限公司 | 一种自动升级多级控制器的方法 |
Also Published As
Publication number | Publication date |
---|---|
CA3081051C (en) | 2021-09-07 |
CA3081051A1 (en) | 2021-04-27 |
CN111309351B (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111309351B (zh) | 一种数据升级方法及系统 | |
CN107406007B (zh) | 充电站和电动车 | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及系统 | |
CN109548051B (zh) | 物联网无线数据传输方法及终端 | |
CN111145523A (zh) | 用电信息采集系统中微功率无线通信模块的升级方法 | |
CN103963075A (zh) | 机器人系统 | |
CN201383709Y (zh) | 一种智能电力设备远程软件自动升级装置 | |
CN110708205A (zh) | 通过网关对设备进行fota的方法及系统 | |
CN111767068B (zh) | 对通信模块进行批量化升级的设备及批量化升级系统 | |
CN102065139A (zh) | 软件升级方法、装置及多媒体终端 | |
CN112653738A (zh) | 一种物联网网络调试系统和调试方法 | |
CN101785078A (zh) | 在电气低压开关设备中识别组件的方法 | |
CN107209700B (zh) | 控制装置、具备该控制装置的车载程序的改写装置以及车载程序的改写方法 | |
CN114866525B (zh) | 一种一主多从模式嵌入式设备远程在线固件升级方法及系统 | |
CN108845823B (zh) | 一种基于f2812芯片的软件在线升级方法 | |
CN103729218A (zh) | 一种id烧写方法 | |
CN111193968A (zh) | 遥信信息的验证方法、调试验证主机、监控主机和系统 | |
CN112689273B (zh) | Ble蓝牙电能表多主多从透传系统 | |
CN104021025A (zh) | 一种微波室外单元远程升级方法 | |
CN104811347A (zh) | 一种软件升级方法、监控模块、整流模块及系统 | |
WO2019132073A1 (ko) | 생산설비 원격제어를 위한 시스템 및 그 관리방법 | |
CN116450180A (zh) | 一种终端设备远程升级方法 | |
CN111510177B (zh) | 一种井下工具、信号传输系统及信号传输方法 | |
CN110609691A (zh) | 一种远程更新dsp程序的方法 | |
CN112181454B (zh) | 一种无人值守设备的远程升级系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201229 |
|
CF01 | Termination of patent right due to non-payment of annual fee |