本发明涉及工业控制,尤其涉及一种通过以太网和can总线实现工控现场设备并行升级的方法。该方法主要用于在工业控制系统中,通过网络通信对多个设备进行固件升级,提高设备升级的效率和便利性。
背景技术:
1、在工业控制系统中,设备的固件升级是维护和提高系统性能的重要手段。然而,传统的升级方法通常需要逐一对设备进行升级,这不仅费时费力,而且在大规模系统中几乎难以实现。此外,许多工业现场设备分布广泛,环境复杂,通过传统方法进行升级会遇到各种挑战。
2、现有的升级方法主要依赖于直接连接或现场手动操作,这些方法的效率较低,且容易出现人为操作错误。同时,随着工业物联网(iiot)的发展,越来越多的设备通过网络进行连接和管理,这为远程升级提供了可能。然而,目前尚缺乏一种高效的解决方案,能够在保障升级安全性和可靠性的前提下,通过网络对多个设备同时进行固件升级。
3、can总线(controller area network)作为一种高可靠性和实时性的通信总线,在工业控制领域得到了广泛应用。以太网作为一种成熟的网络技术,具有传输速率高、覆盖范围广等优点。如果能够将can总线与以太网相结合,利用其各自的优势,设计出一种高效的设备升级方法,将显著提升工业控制系统的维护效率和运行可靠性。
4、因此,本发明提出了一种通过以太网和can总线对工控现场设备进行并行升级的方法,旨在解决现有技术中的不足,提供一种高效、可靠的设备升级方案。
技术实现思路
1、本发明要解决的技术问题是:如何在工业控制现场环境中,通过以太网和can总线实现多个设备的高效并行升级,以提高升级的便利性和效率,并确保升级过程的安全性和可靠性。
2、本发明解决其技术问题所采用的技术方案是:一种通过以太网和can总线对工控现场设备进行并行升级的方法,所述方法包括以下步骤:
3、s1:设备识别阶段,从站收集所有挂在can总线上的设备信息,通过can报文实现设备注册;
4、s2:设备信息获取阶段,主站通过tcp/ip与从站通信,获取所有活动的现场设备信息,并提供图形化界面显示给用户;
5、s3:升级模式进入阶段,主站通过slot id通知从站,指定需要升级的设备进入升级模式,从站通过can报文请求设备进入升级模式;
6、s4:数据传输阶段,主站根据从站反馈的单次传输数据量大小分批传输数据,并在接收到从站的应答后继续传输下一包数据;
7、s5:文件传输完成阶段,主站完成文件传输后,发送文件校验信息,从站将校验信息转发给各个设备,并反馈结果给主站;
8、s6:升级结果反馈阶段,主站显示每个设备的升级结果,对于升级成功的设备,选择复位,对于失败的设备,选择重新升级。
9、作为优选,在所述设备识别阶段,通过以下can报文实现设备注册:
10、从站在can总线上监听设备发送的注册请求报文,设备启动后,发送msg id为0x520的报文请求从站发送当前的slot信息,0x520报文的dlc[0-7]字段均为0,用于设备启动后请求从站发送当前的slot信息;
11、从站接收到msg id为0x520的注册请求报文后,发送msg id为0x500的当前slot状态报文,0x500报文的dlc[0-3]字段用bit位表示当前所有设备的状态,最多支持32个设备,dlc[4]字段表示下一个可用来注册的slot id;
12、设备接收到从站发送的msg id为0x500的当前slot状态报文后,发送msg id为0x501至0x51f的注册报文,注册报文的dlc[0]字段表示设备的slot id,dlc[1]字段表示设备的类型(type),dlc[2-7]字段均为0;
13、从站从msg id为0x500的报文中获取设备需要注册的slot id,然后使用msg id为0x500+slot id的can id反馈注册信息;主站收到注册帧后,需要更新0x500报文中的slot信息,并确定下一个可用于注册的slot id。
14、作为优选,在所述升级模式进入阶段,通过以下步骤实现设备进入升级模式:
15、主站通过slot id告知从站,指定需要升级的设备进入升级模式,从站通过发送msg id为0x600的can报文请求设备进入升级模式,0x600报文的dlc[0-3]用bit位表示需要进入升级模式的设备,dlc[4-7]均为0;设备根据自身的slot id以及对应的bit位判断自身是否需要进入升级模式;
16、设备进入升级模式后,发送msg id为0x601至0x61f的can报文向从站反馈升级状态,0x601至0x61f反馈报文的dlc[0]表示ready状态,dlc[2-3]表示该设备能缓存的最大数据量(tx size),dlc[1]及dlc[4-7]均为0;
17、从站收到设备反馈的msg id为0x601至0x61f的can报文后,将单次数据的传输量设置为所有设备缓存数据量中最小的值,并根据设备的反馈更新升级状态。
18、作为优选,在所述数据传输阶段,通过以下步骤实现数据传输:
19、主站按照从站反馈的单次传输数据量大小分批传输数据,并且需要等到从站的应答之后再传输下一包数据;主站发送msg id为0x621的can报文,其中dlc[0]表示消息类型(pkt),dlc[1]表示数据包的序列号(index),dlc[2-3]表示数据包的大小(size),dlc[4-5]表示校验信息,dlc[6-7]均为0;
20、主站通过msg id为0x620的can报文传输升级文件数据,采用can标准的连续帧,dlc[0-7]表示升级文件数据;
21、从站通过msg id为0x621的can报文发送当前数据包的信息,包含消息类型、数据包的序列号、数据包的大小和校验信息,dlc字段与主站发送的0x621报文一致;
22、数据包发送完成后,从站需要收到所有需要升级设备的肯定应答,如果有设备反馈失败,则对当前数据包进行重传,直到超过重传次数,如果依然有失败的设备,将该设备标记为fail,后续的数据包传输不再关注该设备的反馈;从站需向主站反馈当前数据包的传输结果。
23、本发明的有益效果是,通过以太网和can总线实现对工控现场设备的并行升级,不仅提高了升级过程的效率和便利性,还确保了升级过程的安全性和可靠性。具体有以下几个方面的优点:
24、高效并行升级:利用can总线和以太网的结合,能够同时对多个设备进行固件升级,大大缩短了升级时间。
25、可靠性高:通过can总线的高可靠性通信,确保了设备在升级过程中数据传输的稳定性和准确性。
26、方便的设备管理:主站通过图形化界面显示所有活动设备信息,便于用户直观地管理和操作设备。
27、自动化流程:从设备识别、信息获取、进入升级模式到数据传输和结果反馈,整个升级过程实现了高度自动化,减少了人为操作的错误。
28、灵活性强:该方法能够适用于不同类型的工控设备,并能根据实际需求灵活调整升级策略。
29、通过上述技术方案和有益效果,本发明显著提升了工控现场设备升级的效率和安全性,适用于广泛的工业控制应用场景。
1.一种通过以太网和can总线对工控现场设备进行并行升级的方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,在所述设备识别阶段,通过以下can报文实现设备注册:
3.根据权利要求2所述的方法,其特征在于,在所述升级模式进入阶段,通过以下步骤实现设备进入升级模式:
4.根据权利要求3所述的方法,其特征在于,在所述数据传输阶段,通过以下步骤实现数据传输: