一种PLC设备的升级方法、装置、设备及存储介质制造方法及图纸

技术编号:32134752 阅读:18 留言:0更新日期:2022-01-29 19:41
本发明专利技术公开了一种PLC设备的升级方法、装置、设备及存储介质;在本方案中,PLC设备在运行阶段,在后台接收更新数据,根据更新数据生成与每个程序更改点对应的新程序和新数据,以及旧程序和旧数据;根据旧数据更新新程序的新数据;在运行阶段的相邻两个扫描周期间,控制PLC设备切换至新程序和更新后的新数据继续运行,以对PLC设备进行在线升级;可见,在本方案中,新程序的下载和编译过程均在后台完成,通过该方式,可避免在运行过程中更改程序打断原有程序的执行,实现PLC设备的在线升级;并且,本方案在更新程序时,还需要将旧程序的旧数据一同更新至新程序的新数据中,从而避免修改程序对PLC设备的运行状态造成影响。序对PLC设备的运行状态造成影响。序对PLC设备的运行状态造成影响。

【技术实现步骤摘要】
一种PLC设备的升级方法、装置、设备及存储介质


[0001]本专利技术涉及设备升级
,更具体地说,涉及一种PLC设备的升级方法、装置、设备及存储介质。

技术介绍

[0002]随着工控行业自动化的发展,PLC(Programmable Logic Controller,可编程逻辑控制器)的应用也越来越多,现场升级、修改程序的需求也越来越多,很多工业现场因实际生产需要,需要保证升级时PLC设备不停机,PLC编程人员在设备调试时,很多时候也希望更改程序后能直接看到运行结果。目前在运行中修改程序时主要包括以下方案:
[0003]方案一:可按照正常下载程序时的停机、下载、编译的方式运行,只不过停机时不断开输出、不清数据来维持机器的继续运行。但是在该方法中,程序实际上还是经过了停机过程,下载程序的过程中PLC设备是处于停机输出是不受控的状态,有一定的危险。而且很多程序指令执行是受到运行前的状态影响(如脉冲信号),重新运行会和连续运行不一致;且会打断连续运行中的指令。这些可能导致受到PLC控制的连续动作无法继续正常完成。
[0004]方案二:采用双程序保存区的方案,下载时程序保存在备份缓冲区,下载完成后在循环扫描结束时切换成新程序。该方案优化了方案一中下载过程输出不受控的问题,但和方案一相同的时,还会对PLC运行状态受到影响。
[0005]方案三:将程序分成不同的程序段(如对子程序、中断程序等),每段程序分开编译,运行中下载时将修改的部分程序代码单独编译下载。该方案虽然优化了方案二中对PLC运行状态影响的范围,但是依然没有解决该问题。重新编译执行的部分程序依然会全重新开始运行。
[0006]因此,如何在PLC设备运行中修改程序时,避免对PLC设备的运行状态造成影响,是本领域技术人员需要解决的问题。

技术实现思路

[0007]本专利技术的目的在于提供一种PLC设备的升级方法、装置、设备及存储介质,以在PLC设备运行中修改程序时,避免对PLC设备的运行状态造成影响。
[0008]为实现上述目的,本专利技术提供一种PLC设备的升级方法,包括:
[0009]PLC设备在运行阶段,在后台接收上位机发送的更新数据;
[0010]根据所述更新数据生成与每个程序更改点对应的新程序和新数据,并查找与每个程序更改点对应的旧程序和旧数据;
[0011]根据所述旧数据更新所述新程序的新数据;
[0012]在运行阶段的相邻两个扫描周期间,控制所述PLC设备切换至所述新程序和更新后的新数据继续运行,以对所述PLC设备进行在线升级。
[0013]其中,所述查找与每个程序更改点对应的旧程序和旧数据,包括:
[0014]根据每个更新数据中记载的程序更改点的起始地址及更改前程序段长度,确定优
化后的运行程序及与所述运行程序对应的运行数据;
[0015]确定与所述运行程序对应的优化前的旧程序;
[0016]利用所述旧程序及所述运行数据得到旧数据。
[0017]其中,所述根据所述旧数据更新所述新程序的新数据,包括:
[0018]根据所述旧数据中指令的运行状态,更新所述新数据中指令的运行状态。
[0019]其中,所述在后台接收上位机发送的更新数据,包括:
[0020]在后台接收上位机发送的与每个程序更改点对应的更新数据;
[0021]对所述更新数据中记载的更改后程序内容进行校验;
[0022]若检验成功,则执行所述根据所述更新数据生成与每个程序更改点对应的新程序和新数据的步骤。
[0023]其中,所述在后台接收上位机发送的更新数据之前,还包括:
[0024]所述上位机接收在线编程模式指令;
[0025]验证所述上位机存储的原始程序与所述PLC设备的原始程序是否相同;
[0026]若是,则在所述上位机对原始程序进行修改,生成与每个程序更改点对应的更新数据,并对每个更新数据校验成功后发送至所述PLC设备。
[0027]其中,所述控制所述PLC设备切换至所述新程序和更新后的新数据继续运行之后,还包括:
[0028]释放所述旧程序和旧数据,并进行内存回收。
[0029]其中,所述控制所述PLC设备切换至所述新程序和更新后的新数据继续运行之后,还包括:
[0030]接收到退出在线编程模式指令后,则将所述新程序与所述更新后的新数据写入Flash存储器。
[0031]为实现上述目的,本专利技术进一步提供一种PLC设备的升级装置,包括:
[0032]接收模块,用于在PLC设备运行阶段,在后台接收上位机发送的更新数据;
[0033]生成模块,用于根据所述更新数据生成与每个程序更改点对应的新程序和新数据;
[0034]查找模块,用于查找与每个程序更改点对应的旧程序和旧数据;
[0035]更新模块,用于根据所述旧数据更新所述新程序的新数据;
[0036]切换模块,用于在运行阶段的相邻两个扫描周期间,控制所述PLC设备切换至所述新程序和更新后的新数据继续运行,以对所述PLC设备进行在线升级。
[0037]为实现上述目的,本专利技术进一步提供一种电子设备,包括:
[0038]存储器,用于存储计算机程序;
[0039]处理器,用于执行所述计算机程序时实现上述PLC设备的升级方法的步骤。
[0040]为实现上述目的,本专利技术进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述PLC设备的升级方法的步骤。
[0041]通过以上方案可知,本专利技术实施例提供的一种PLC设备的升级方法、装置、设备及存储介质;在本方案中,PLC设备在运行阶段,在后台接收上位机发送的更新数据;根据更新数据生成与每个程序更改点对应的新程序和新数据,并查找与每个程序更改点对应的旧程
序和旧数据;根据旧数据更新新程序的新数据;在运行阶段的相邻两个扫描周期间,控制PLC设备切换至新程序和更新后的新数据继续运行,以对PLC设备进行在线升级;可见,在本方案中,新程序的下载和编译过程均在后台完成,通过该方式,可避免在运行过程中更改程序打断原有程序的执行,实现PLC设备的在线升级;并且,本方案在更新程序时,还需要将旧程序的旧数据一同更新至新程序的新数据中,从而避免修改程序对PLC设备的运行状态造成影响。
附图说明
[0042]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本专利技术实施例公开的一种PLC设备的升级方法流程示意图;
[0044]图2为本专利技术实施例公开的一种更新前数据示意图;
[0045]图3为本专利技术实施例公开的查找程序段示意图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种PLC设备的升级方法,其特征在于,包括:PLC设备在运行阶段,在后台接收上位机发送的更新数据;根据所述更新数据生成与每个程序更改点对应的新程序和新数据,并查找与每个程序更改点对应的旧程序和旧数据;根据所述旧数据更新所述新程序的新数据;在运行阶段的相邻两个扫描周期间,控制所述PLC设备切换至所述新程序和更新后的新数据继续运行,以对所述PLC设备进行在线升级。2.根据权利要求1所述的升级方法,其特征在于,所述查找与每个程序更改点对应的旧程序和旧数据,包括:根据每个更新数据中记载的程序更改点的起始地址及更改前程序段长度,确定优化后的运行程序及与所述运行程序对应的运行数据;确定与所述运行程序对应的优化前的旧程序;利用所述旧程序及所述运行数据得到旧数据。3.根据权利要求2所述的升级方法,其特征在于,所述根据所述旧数据更新所述新程序的新数据,包括:根据所述旧数据中指令的运行状态,更新所述新数据中指令的运行状态。4.根据权利要求1所述的升级方法,其特征在于,所述在后台接收上位机发送的更新数据,包括:在后台接收上位机发送的与每个程序更改点对应的更新数据;对所述更新数据中记载的更改后程序内容进行校验;若检验成功,则执行所述根据所述更新数据生成与每个程序更改点对应的新程序和新数据的步骤。5.根据权利要求1所述的升级方法,其特征在于,所述在后台接收上位机发送的更新数据之前,还包括:所述上位机接收在线编程模式指令;验证所述上位机存储的原始程序与所述PLC设备的原始程序是否相同;若是,则...

【专利技术属性】
技术研发人员:刘云熊志伟张宁
申请(专利权)人:深圳市海浦蒙特科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1