一种支架控制器程序远程更新方法及装置的制造方法

文档序号:9708109阅读:202来源:国知局
一种支架控制器程序远程更新方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及软件更新技术,尤其涉及一种支架控制器程序远程更新方法及
目.ο
【背景技术】
[0002]支架控制器程序嵌入在单片机芯片,在综采工作面中用于控制支架动作,采集支架数据等。目前对支架控制器程序的更新方法主要分为两种:
[0003]—是技术人员携带升级装置到煤矿综采工作面开采区对其更新。这种方法需要携带升级装置,不方便,且不利于支架控制器程序版本管理;并且在开采区升级,对于缺乏煤矿安全知识的技术人员的很危险。
[0004]二是远程在线更新,即将整个新版本程序下载到支架控制器服务器,由支架控制器服务器实现自身以及对其他支架控制器程序的更新。由于煤矿井下工况恶劣,数据传输采用Modbus/CAN通信方式,传输速率慢,下载整个更新程序耗时长,且不能及时诊断数据下载中出现的故障。

【发明内容】

[0005]本发明提供一种支架控制器程序远程更新方法及装置,以实现安全、快捷的对支架控制器程序进行更新。
[0006]第一方面,本发明实施例提供了一种支架控制器程序远程更新方法,所述方法包括:
[0007]比较待更新程序文件的程序记录与旧版本程序文件的程序记录,将所述待更新程序文件中与所述旧版本程序文件中不同的程序记录添加到待更新程序集合;
[0008]将所述待更新程序集合存储到缓冲区;
[0009]读取缓冲区中的所述待更新程序集合中的程序记录,发送到支架控制器服务器进行更新;
[0010]其中,所述程序记录为记录有记录类型、记录长度、存储地址、代码数据和校验和的一组数据。
[0011]第二方面,本发明实施例还提供了一种支架控制器程序远程更新装置,所述装置包括:
[0012]记录比较模块,用于比较待更新程序文件的程序记录与旧版本程序文件的程序记录,将所述待更新程序文件中与所述旧版本程序文件中不同的程序记录添加到待更新程序集合;
[0013]记录存储模块,用于将所述待更新程序集合存储到缓冲区;
[0014]记录发送模块,用于读取缓冲区中的所述待更新程序集合中的程序记录,发送到支架控制器服务器进行更新;
[0015]其中,所述程序记录为记录有记录类型、记录长度、存储地址、代码数据和校验和的一组数据。
[0016]本发明实施例通过比较待更新程序文件的程序记录与旧版本程序文件的程序记录,将所述待更新程序文件中与所述旧版本程序文件中不同的程序记录添加到待更新程序集合,并将所述待更新程序集合存储到缓冲区,然后读取缓冲区中的所述待更新程序集合中的程序记录,发送到支架控制器服务器进行更新,避免了现有技术中的更新方法不方便、不安全并且更新速度慢的问题,实现了安全、快捷的对支架控制器程序进行更新。
【附图说明】
[0017]图1是本发明实施例一中的一种支架控制器程序远程更新方法的流程图;
[0018]图2是本发明实施例二中的一种支架控制器程序远程更新方法的流程图;
[0019]图3是本发明实施例二中的两条程序记录的比较图;
[0020]图4是本发明实施例三中的一种支架控制器程序远程更新方法的流程图;
[0021]图5是本发明实施例四中的一种支架控制器程序远程更新装置的结构图。
【具体实施方式】
[0022]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0023]实施例一
[0024]图1是本发明实施例一中的一种支架控制器程序远程更新方法的流程图。本实施例可适用于需要对支架控制器程序进行远程更新的情况,该方法可以由支架控制器程序远程更新装置来执行,如图1所示,所述方法具体可以包括如下步骤:
[0025]步骤110、比较待更新程序文件的程序记录与旧版本程序文件的程序记录,将所述待更新程序文件中与所述旧版本程序文件中不同的程序记录添加到待更新程序集合。
[0026]其中,所述程序文件是代码文件经编译器编译生成的文件,文件内容由一行行数据组成,每一行数据称为一条程序记录,所述程序记录包括记录类型、记录长度、存储地址、代码数据和校验和,记录长度为程序记录的字节长度值,存储地址为程序记录在支架控制器芯片中的存储位置的起始地址,所述存储地址按程序文件在支架控制器芯片中设定的存储地址区域生成,由所述存储地址和记录长度可以确定程序记录在支架控制器芯片中的存储位置。所述校验和为在数据处理和数据通信领域中,用于校验目的地一组数据项的和。
[0027]若旧版本程序文件由Main.c、First.c、Second.c和Three.c等代码文件编译生成,以Main.c文件为例,设定Main.c编译生成的多条程序记录存储在第一地址区域,第一地址区域开始地址为00000001,第一地址区域长度为1000;每一条程序记录包含的存储地址即为该条程序记录在第一区域中存储位置的起始地址,存储所述多条程序记录所需要的地址长度不会超出所述第一地址区域长度,空余地址由空数据补充。如果只修改了Main, c代码文件,则编译生成的待更新程序文件相对旧版本程序文件只有第一地址区域中相应的程序记录被修改,其他地址区域的程序记录均未修改,使得修改更新代码时,编译生成的新程序文件与上一版本程序文件差异最小化,筛选不同程序记录的复杂度最低。
[0028]所述不同的程序记录可以是待更新程序中有而旧版本程序中没有的程序记录,也可以是待更新程序中,与旧版本程序中存储地址相同,但代码数据不同的程序记录。所述待更新程序集合为不同的程序记录组成的集合。
[0029]优选的,在比较待更新程序文件的程序记录与旧版本程序文件的程序记录,将所述待更新程序文件中与所述旧版本程序文件中不同的程序记录添加到待更新程序集合之前,还可以包括:
[0030]比较所述待更新的程序文件与旧版本程序文件的版本号,确定所述待更新程序文件是否为最新版本;若所述待更新程序文件为最新版本,则保存所述待更新程序文件。
[0031]具体的,如果为首次更新,先保存原始版本的程序文件,再进行版本比较以及待更新程序文件的保存。对待更新程序文件进行保存,便于对支架控制器程度的版本管理。
[0032]步骤120、将所述待更新程序集合存储到缓冲区。
[0033]步骤130、读取缓冲区中的所述待更新程序集合中的程序记录,发送到支架控制器服务器进行更新。
[0034]具体的,可以逐条读取待更新程序集合中的程序记录,并通过通信线缆发送给支架控制器服务器。可以通过建立一个心跳包来监测与支架控制器服务器之间的通信情况。当缓冲区中的所述待更新程序集合中的程序记录全部发送完成后,所述支架控制器服务器将接收到的程序记录分发到各个支架控制器进行程序更新。
[0035]本实施例的技术方案,通过比较待更新程序文件的程序记录与旧版本程序文件的程序记录,将所述待更新程序文件中与所述旧版本程序文件中不同的程序记录添加到待更新程序集合,并将所述待更新程序集合存储到缓冲区,然后读取缓冲区中的所述待更新程序集合中的程序记录,发送
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1