一种基于iap的可配置全网络远程节点固件升级系统及装置制造方法

文档序号:7823927阅读:141来源:国知局
一种基于iap的可配置全网络远程节点固件升级系统及装置制造方法
【专利摘要】本发明涉及一种基于IAP的可配置全网络远程节点固件升级系统及装置,以解决异构网络环境下,远程节点固件的升级受固定总线方式以及环境限制的问题。包括总线配置单元,PLC的CPU模块通过接收上位机发送总线配置命令来配置PLC的CPU模块与远程节点之间的总线协议;总线命令发送单元以及升级准备单元,PLC的CPU模块将接收到上位机发送的升级文件命令通过预先配置的总线协议发送到远程节点的BOOT区,BOOT区接收到命令之后控制远程节点擦除应用程序区; 升级文件传输单元,上位机将预先配置的总线协议格式的升级文件通过PLC的CPU模块传输给远程节点,通过IAP单元升级远程节点应用程序区的应用程序。
【专利说明】—种基于IAP的可配置全网络远程节点固件升级系统及装

【技术领域】
[0001]本发明涉及一种固件升级系统及装置,尤其涉及一种基于IAP的可配置全网络远程节点固件升级系统及装置。

【背景技术】
[0002]现有的利用IAP进行在线远程升级的技术主要采用以下方案:有些现有技术中采用将带升级的固件文件,上传到指定的FTP服务器的特定文件夹内,主机执行升级指令,进入FTP升级模式;电子装置的主机启动FTP协议栈,登陆FTP服务器找到指定的升级文件;电子装置的主机自动执行文件下载,并将下载的文件存储到车载电子装置指定的存储器中,将从FTP服务器上下载下来的升级文件执行升级烧录。现有技术中还有一些程序更新装置,它主要包括电脑上位机及电脑下位机,电脑上位机和电脑下位机通过CAN通讯线相连;该电脑上位机内设有一 USB接口,USB接口内接有一用于拷贝需更新的下位机程序的U盘;电脑上位机和电脑下位机也可通过RS232通讯方式或RS485通讯方式相连;电脑下位机芯片内具有IAP功能,以便在程序更新时实现程序的自编程功能。
[0003]从上述的现有的实现技术所提供的技术方案都适用于单一的网络环境,对于工业系统中异构网络中远程设备的全网升级缺乏多样性和可选择性,不利于异构网络的远程设备IAP远程升级,且工业系统规模庞大,固件升级需要很大的人力劳动。


【发明内容】

[0004]本发明的第一目的在于提供一种基于IAP的可配置全网络远程节点固件升级系统及装置,以解决方法解决了异构网络环境下,远程节点固件的升级受固定总线方式以及环境限制的问题。
[0005]为了解决上述问题,一种基于IAP的可配置全网络远程节点固件升级系统,包括上位机、PLC的CPU模块以及远程节点,其中:
所述上位机与至少一个PLC的CPU模块通信连接,接收所述PLC的CPU模块的反馈信息,发送升级命令以及预先配置的总线协议格式的升级文件;
每个PLC的CPU模块通信连接所述上位机,且与至少一个远程节点总线连接,将接收到的升级命令以及升级文件发送给所述至少一个远程节点中的部分远程节点或全部远程节占.所述至少一个远程节点中包括BOOT区以及应用程序区,接收与其连接的PLC的CPU模块发送的升级命令后通过BOOT区执行擦除应用程序区,并在接收与其连接的PLC的CPU模块发送的升级文件后通过BOOT区中的IAP单元升级远程节点应用程序区的应用程序。
[0006]较佳地,所述上位机与所述PLC的CPU模块采用Ethernet网络连接通信。
[0007]较佳地,所述PLC的CPU模块与所述远程节点的总线连接方式采用以太网线、串口线和/或CAN总线的连接方式。
[0008]较佳地,所述PLC的CPU模块通过一无线单元与所述远程节点进行WiF1、3G和/或4G的无线通信的总线连接方式。
[0009]为了解决上述问题,一种基于IAP的可配置全网络远程节点固件升级装置,包括总线配置单元,PLC的CPU模块通过接收上位机发送总线配置命令来配置PLC的CPU模块与远程节点之间的总线协议;
升级命令发送单元,与总线配置单元相连接,上位机发送升级命令给PLC的CPU模块;升级准备单元,PLC的CPU模块将接收到的升级命令通过对应的预先配置的总线发送到远程节点的BOOT区,BOOT区接收到升级命令之后执行擦除应用程序区;以及
升级文件传输单元:与升级准备单元相连接,上位机将预先配置的总线协议格式的升级文件发送给PLC的CPU模块,PLC的CPU模块将所述升级的文件通过对应的预先配置的总线传输给所述远程节点,通过BOOT区中的IAP单元升级远程节点应用程序区的应用程序。
[0010]较佳地,还包括升级校验单元:与升级文件传输单元相连接,远程节点对接收到的文件进行校验,升级文件校验后,反馈升级成功或失败的信息。
[0011]较佳地,升级文件传输单元中,上位机发送包含校验值的下载结束帧给PLC的CPU模块;
升级校验单元中具体包括:所述远程节点升级文件下载完成后,对整个升级文件进行CRC校验,并和上位机发送的校验值比较,如果相等则程序升级成功,反馈升级成功信息,将CRC校验值写入信息区,如不相等,则反馈升级失败信息。
[0012]较佳地,还包括上电校验单元:每次远程节点上电,通过BOOT区对整个应用程序区内的应用程序进行CRC校验,校验值与升级成功时写入的CRC值比较,相等运行所述应用程序,不相等则反馈应用程序区损坏信息给PLC的CPU模块。
[0013]较佳地,其特征在于,还包括启动单元:若上位机接收到远程节点发送的升级成功的信息,则发送启动命令对远程节点进行重新启动,并运行应用程序区。
[0014]较佳地,还包括重升级单元,与上电校验单元和/或升级校验单元相连接,若收到升级失败的信息或应用程序区损坏信息,则可以通过BOOT区重新执行下载或者更新升级文件,将升级文件下载到应用程序区中,然后再返回升级校验单元重新执行校验。
[0015]较佳地,总线配置单元中具体包括:
配置命令发送单元,上位机发送总线配置命令,所述总线配置命令包括PLC的CPU模块与其在网络中通讯连接的部分远程节点或全部远程节点之间的特定总线协议;
协议配置单元,与配置命令发送单元相连接,特定总线协议被配置为PLC的CPU模块与远程节点之间升级通信用的总线协议,该总线协议符合PLC的CPU模块与远程节点之间的总线连接方式。
[0016]本发明与现有技术相比,具有以下优势:
(I)提供了多种的总线通信方式,方便操作人员对多种总线模式进行配置,为用户带来通信连接方式的多种可选择性,而适用于各种应用环境;同时本发明的升级过程无需改变原有正常工作的网络结构,即在不影响其他节点正常工作的情况下,有选择地对某些远程节点进行在线升级。
[0017](2)无需现场本地升级、无需远程节点拆卸,利用上位机即可完成升级,节省了大量人力劳动。
[0018](3)总线可配置性。即可根据CPU与远程节点通讯总线配置远程节点固件升级的通讯方式。

【专利附图】

【附图说明】
[0019]图1为本发明实施例中固件升级装置的框图;
图2为一种基于IAP的可配置全网络远程节点固件升级系统框图;
图3为本发明实施例的具体流程图;
图4为本实施例中总线配置单元、升级命令发送单元、升级准备单元以及升级文件传输步骤的工作流程图。

【具体实施方式】
[0020]以下结合附图,对本发明做进一步详细的叙述。
[0021]本发明提出了一种基于IAP的可配置全网络远程节点固件升级系统,应用于工业系统中的固件升级,其固件升级系统嵌入工业系统中,包括上位机、若干PLC的CPU模块以及若干远程节点,其中上位机与若干PLC的CPU模块之间通信连接,一般上位机与PLC的CPU模块采用Ethernet网络通信连接,上位机与PLC的CPU模块连接相对固定,每个所应用的环境都适用,所采用的Ethernet网络环境比较固定,同时也是利用标准的网络通信协议,方便维护和使用。而每个PLC的CPU模块与多个远程节点连接方式多元化,方便客户对具体的应用进行选择。这里远程节点一般是指可以和PLC的CPU模块进行通讯的嵌入式设备。这些设备支持IAP升级的功能,与PLC的CPU模块通讯的方式可以是有线的方式如以以太网线、串口线、CAN总线等,也可以是无线的WiF1、3G/4G移动通讯的方式等,采用无线连接方式时,PLC的CPU模块通过一无线单元与远程节点进行WiF1、3G或4G的无线通信,有些工业系统中环境会比较恶劣,根据应用环境、布局范围等因素的不同,来选择合适的总线连接方式,与若干应用领域多为大区域分布式或大范围可移动的嵌入式设备,如大型油库、仓储、城市综合体、车载设备等领域。
[0022]该固件升级系统中,上位机与至少一个PLC的CPU模块通信连接,接收PLC的CPU模块的反馈信息,发送升级命令以及预先配置的总线协议格式的升级文件;每个PLC的CPU模块通信连接上位机,且与至少一个远程节点总线连接,将接收到的升级命令以及升级文件,发送到至少一个远程节点中的部分远程节点或全部远程节点;至少一个远程节点中包括BOOT区以及应用程序区,接收与其连接的PLC的CPU模块发送的升级命令后通过BOOT区执行擦除应用程序区,并在接收与其连接的PLC的CPU模块发送的升级文件后通过BOOT区中的IAP单元升级远程节点应用程序区的应用程序。
[0023]以下举一实例对该固件升级系统进行介绍:在某控制系统分布在方圆二十平方公里的区域,区域内有一个中央控制室,十二个控制子区域,每个子区域有一个分控室,并控制200个分布不均匀的远程节点30。PLC的CPU模块20分布在子区域的分控室内,通过以以太网光纤与中央控制室的电脑(上位机10)连接。远程节点是一个嵌入式控制设备,根据每个节点内的固件程序来控制其对应的电机和液压设备。远程节点通过CAN总线与对应分区域内的PLC的CPU模块连接。由于远程节点对电机和液压设备的控制算法有优化改进的需求,一旦算法优化,现场分别对2000多个远程节点升级将非常困难。通过本发明所阐述的方法,工程人员可以在中央控制室内通过电脑将固件升级数据通过以以太网发送到控制子区域的PLC系统CPU单元,再由CPU单元通过CAN总线将升级数据通过IAP方式给各个远程节点升级。各个远程节点升级过程可以并行,极大地节省了升级的时间和人力成本。
[0024]本发明涉及一种基于IAP的可配置全网络远程节点固件升级系统及装置,包括总线配置单元、升级命令发送单元、升级准备单元以及升级文件传输单元。
[0025]总线配置单元,PLC的CPU模块通过接收上位机发送总线配置命令来配置PLC的CPU模块与远程节点之间的总线协议。
[0026]升级命令发送单元,与总线配置单元相连接,上位机发送升级命令给PLC的CPU模块。
[0027]升级准备单元,PLC的CPU模块将接收到的升级命令通过对应的预先配置的总线发送到远程节点的BOOT区,BOOT区接收到升级命令之后执行擦除应用程序区。
[0028]升级文件传输单元,与升级准备单元相连接,上位机将预先配置的总线协议格式的升级文件发送给PLC的CPU模块,PLC的CPU模块将所述升级的文件通过对应的预先配置的总线传输给所述远程节点,通过BOOT区中的IAP单元升级远程节点应用程序区的应用程序。
[0029]在实现IAP功能时,PLC的CPU模块内部一定要有两块存储区,一般一块被称为BOOT区,用来执行起始代码;另外一块被称为应用程序区,用来执行具体的应用程序代码。PLC的CPU模块上电运行在BOOT区,如果有外部改写程序的条件满足,则对应用程序区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到应用程序区,开始执行放在应用程序区的程序,这样便实现了 IAP功能。通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,分别存储在BOOT区和应用程序区,BOOT区程序不执行正常的功能操作,而只是通过某种通信管道接收程序或数据,执行对应用程序区代码的更新;应用程序区代码才是真正的功能代码。这两个项目代码都同时烧录在Flash中,当芯片上电后,首先是BOOT区代码开始运行,它作如下操作:
1)检查是否需要对应用程序区代码进行更新;
2)如果不需要更新则直接转到3);如果需要更新执行更新操作再跳到3);
3)跳转到应用程序区代码进行执行。
[0030]BOOT区代码必须通过其它手段进行烧入;应用程序区代码可以使用BOOT区代码IAP功能烧入,也可以和BOOT区代码一道烧入,以后需要程序更新时再通过BOOT区IAP功能进行更新。
[0031]下面对本发明提出的一种基于IAP的可配置全网络远程节点固件升级装置的一较佳具体实施过程进行介绍:
总线配置单元40 =PLC的CPU模块通过接收上位机发送总线配置命令来配置PLC的CPU模块与远程节点之间的总线协议。
[0032]总线配置单元中还包括:
上电单元41,如图4所示,先对上位机、需要升级的远程节点以及其连接的PLC的CPU模块上电;
配置命令发送单元42,上位机发送总线配置命令,总线配置命令包括PLC的CPU模块与其在网络中通讯连接的部分远程节点或全部远程节点之间的特定总线协议;总线配置命令中包括所需升级远程节点与这些远程节点连接的PLC的CPU模块之间的特定总线协议。
[0033]协议配置单元43,与配置命令发送单元相连接,特定总线协议被配置为PLC的CPU模块与远程节点之间升级通信用的总线协议,该总线协议符合PLC的CPU模块与远程节点之间的总线连接方式。
[0034]该总线配置单元为通过总线配置命令来确定升级过程中PLC的CPU模块与远程节点的通信方式。远程节点与PLC的CPU模块的总线连接方式可以是有线的方式如以以太网线、串口线、CAN总线等,也可以是无线的WiF1、3G/4G移动通讯的方式等,也可以采用多种总线连接方式,并通过总线配置命令从多种总线连接方式中来选择确定升级时采用的特定总线,以适应各种环境的个性化需要。
[0035]升级命令发送单元50,与总线配置单元相连接,上位机接收到PLC的CPU模块反馈回来的配置成功信息后发送升级命令给PLC的CPU模块。如图3所示,上位机先发送开始下载指令,即作为升级命令。
[0036]升级准备单元60,PLC的CPU模块将接收到的升级命令通过对应的预先配置的总线发送到远程节点的BOOT区,BOOT区接收到升级命令之后执行擦除应用程序区。
[0037]升级文件传输单元70,与升级准备单元相连接,通过远程节点中的BOOT区执行擦除应用程序区,并反馈擦除完成应答帧作为准备完成信息通过PLC的CPU模块给上位机。上位机将需要升级的内升级文件的命令按预先配置的总线协议格式发送到PLC的CPU模块,PLC的CPU模块将升级的文件通过对应的预先配置的总线传输给远程节点的BOOT区,通过BOOT区中的IAP程序升级远程节点应用程序区的应用程序。
[0038]本实施例中,在升级文件传输单元中,上位机接收到PLC的CPU模块反馈的升级文件接收完成信息后,发送包含校验值的下载结束帧作为接收成功应答帧给PLC的CPU模块。
[0039]升级校验单元80,远程节点将接收到升级文件存储入应用程序区,并对接受到的升级文件进行校验,升级文件校验后,反馈升级成功或失败的信息。根据升级成功或失败信息来选择下一步执行的是启动单元或上电校验单元。
[0040]升级校验单元80中具体包括:
升级文件下载完成后,远程节点升级文件下载完成后,对整个升级文件进行CRC校验,并和上位机发送的校验值比较,如果相等则程序升级成功,反馈升级成功信息,将CRC校验值写入信息区,并运行启动单元81,如不相等,则返回馈升级失败信息,运行重升级单元90。
[0041]启动单元81:若上位机接收到远程节点发送的升级成功的信息,则发送启动命令对远程节点进行重新启动。
[0042]上电校验单元82,每次远程节点上电,通过BOOT区对整个应用程序区内的应用程序进行CRC校验,校验值与升级成功时写入的CRC值比较,相等则运行应用程序区内的应用程序,不相等则反馈应用程序区损坏信息给PLC的CPU模块,此时一般跳入执行重升级单元90。
[0043]重升级单元90,与上电校验单元和/或升级校验单元相连接,若收到升级失败的信息或应用程序区损坏信息,则可以通过BOOT区重新执行下载或者更新升级文件,将升级文件下载到应用程序区中,然后再连接升级校验单元80的输入端重新执行校验。
[0044]通过上述基于IAP的可配置全网络远程节点固件升级系统及装置,本实施例中,均采用应答模式,上位机发送一帧数据,下位机收到后会回复应答帧;上位机收到应答帧后才发送下一帧数据,上位机在一定时间内没有收到应答则重发数据帧。可以通过利用PLC的CPU模块作为透明传输的通道,完全由上位机程序进行配置,通过承载上位机与PLC的(PU模块的连接总线,直接传输PLC的CPU模块与远程节点的总线帧格式的升级文件。该方式PLC的CPU模块仅仅作为转发机构,不对接收的数据进行解析处理。通过这种方式,来完成上位机程序对远程节点的固件升级。
[0045]引入PLC的CPU模块,方便操作人员对多种总线协议进行配置,为用户带来可选择性,而不必修改应用环境;CPU单元与远程节点连接方式多元化,方便用户对具体的应用进行选择。以上特点体现了:
(I)便利性,即无需现场本地升级、无需远程节点拆卸。可以进行远程升级,即利用上位机即可完成升级,节省了大量人力劳动。
[0046](2)总线可配置性。即可根据CPU与远程节点通讯总线配置远程节点固件升级的通讯方式。
[0047]以上公开的仅为本申请的一个具体实施例,但本申请并非局限于此,任何本领域的技术人员能思之的变化,都应落在本申请的保护范围内。
【权利要求】
1.一种基于IAP的可配置全网络远程节点固件升级系统,其特征在于,包括上位机、PLC的CPU模块以及远程节点,其中: 所述上位机与至少一个PLC的CPU模块通信连接,接收所述PLC的CPU模块的反馈信息,发送升级命令以及预先配置的总线协议格式的升级文件; 每个PLC的CPU模块通信连接所述上位机,且与至少一个远程节点总线连接,将接收到的升级命令以及升级文件发送给所述至少一个远程节点中的部分远程节点或全部远程节占.所述至少一个远程节点中包括BOOT区以及应用程序区,接收与其连接的PLC的CPU模块发送的升级命令后通过BOOT区执行擦除应用程序区,并在接收与其连接的PLC的CPU模块发送的升级文件后通过BOOT区中的IAP单元升级远程节点应用程序区的应用程序。
2.如权利要求1所述的基于IAP的可配置全网络远程节点固件升级系统,其特征在于,所述上位机与所述PLC的CPU模块采用Ethernet网络连接通信。
3.如权利要求1所述的基于IAP的可配置全网络远程节点固件升级系统,其特征在于,所述PLC的CPU模块与所述远程节点的总线连接方式采用以太网线、串口线和/或CAN总线的连接方式。
4.如权利要求1或3所述的基于IAP的可配置全网络远程节点固件升级系统,其特征在于,所述PLC的CPU模块通过一无线单元与所述远程节点进行WiF1、3G和/或4G的无线通信的总线连接方式。
5.一种基于IAP的可配置全网络远程节点固件升级装置,其特征在于,包括 总线配置单元,PLC的CPU模块通过接收上位机发送总线配置命令来配置PLC的CPU模块与远程节点之间的总线协议; 升级命令发送单元,与总线配置单元相连接,上位机发送升级命令给PLC的CPU模块; 升级准备单元,PLC的CPU模块将接收到的升级命令通过对应的预先配置的总线发送到远程节点的BOOT区,BOOT区接收到升级命令之后执行擦除应用程序区;以及 升级文件传输单元:与升级准备单元相连接,上位机将预先配置的总线协议格式的升级文件发送给PLC的CPU模块,PLC的CPU模块将所述升级的文件通过对应的预先配置的总线传输给所述远程节点,通过BOOT区中的IAP单元升级远程节点应用程序区的应用程序。
6.如权利要求1所述的基于IAP的可配置全网络远程节点固件升级装置,其特征在于,还包括升级校验单元:与升级文件传输单元相连接,远程节点对接收到的文件进行校验,升级文件校验后,反馈升级成功或失败的信息。
7.如权利要求6所述的一种基于IAP的可配置全网络远程节点固件升级装置,其特征在于,升级文件传输单元中,上位机发送包含校验值的下载结束帧给PLC的CPU模块; 升级校验单元中具体包括:所述远程节点升级文件下载完成后,对整个升级文件进行CRC校验,并和上位机发送的校验值比较,如果相等则程序升级成功,反馈升级成功信息,将CRC校验值写入信息区,如不相等,则反馈升级失败信息。
8.如权利要求7所述的一种基于IAP的可配置全网络远程节点固件升级装置,其特征在于,还包括上电校验单元:每次远程节点上电,通过BOOT区对整个应用程序区内的应用程序进行CRC校验,校验值与升级成功时写入的CRC值比较,相等运行所述应用程序,不相等则反馈应用程序区损坏信息给PLC的CPU模块。
9.如权利要求5或6或7或8所述的一种基于IAP的可配置全网络远程节点固件升级装置,其特征在于,还包括启动单元:若上位机接收到远程节点发送的升级成功的信息,则发送启动命令对远程节点进行重新启动,并运行应用程序区。
10.如权利要求5或6或7或8所述的一种基于IAP的可配置全网络远程节点固件升级装置,其特征在于,还包括重升级单元,与上电校验单元和/或升级校验单元相连接,若收到升级失败的信息或应用程序区损坏信息,则可以通过BOOT区重新执行下载或者更新升级文件,将升级文件下载到应用程序区中,然后再返回升级校验单元重新执行校验。
11.如权利要求1所述的一种基于IAP的可配置全网络远程节点固件升级装置,其特征在于,总线配置单元中具体包括: 配置命令发送单元,上位机发送总线配置命令,所述总线配置命令包括PLC的CPU模块与其在网络中通讯连接的部分远程节点或全部远程节点之间的特定总线协议; 协议配置单元,与配置命令发送单元相连接,特定总线协议被配置为PLC的CPU模块与远程节点之间升级通信用的总线协议,该总线协议符合PLC的CPU模块与远程节点之间的总线连接方式。
【文档编号】H04L29/08GK104468235SQ201410821585
【公开日】2015年3月25日 申请日期:2014年12月25日 优先权日:2014年12月25日
【发明者】庄严, 李壮, 王骥, 施一明, 潘再生, 金伟江 申请人:浙江中控研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1