CN113986321A - 一种plc设备的升级方法、装置、设备及存储介质 - Google Patents
一种plc设备的升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113986321A CN113986321A CN202111349573.1A CN202111349573A CN113986321A CN 113986321 A CN113986321 A CN 113986321A CN 202111349573 A CN202111349573 A CN 202111349573A CN 113986321 A CN113986321 A CN 113986321A
- Authority
- CN
- China
- Prior art keywords
- program
- data
- new
- old
- updating
- 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.)
- Pending
Links
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
- G06F8/656—Updates while running
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- 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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种PLC设备的升级方法、装置、设备及存储介质;在本方案中,PLC设备在运行阶段,在后台接收更新数据,根据更新数据生成与每个程序更改点对应的新程序和新数据,以及旧程序和旧数据;根据旧数据更新新程序的新数据;在运行阶段的相邻两个扫描周期间,控制PLC设备切换至新程序和更新后的新数据继续运行,以对PLC设备进行在线升级;可见,在本方案中,新程序的下载和编译过程均在后台完成,通过该方式,可避免在运行过程中更改程序打断原有程序的执行,实现PLC设备的在线升级;并且,本方案在更新程序时,还需要将旧程序的旧数据一同更新至新程序的新数据中,从而避免修改程序对PLC设备的运行状态造成影响。
Description
技术领域
本发明涉及设备升级技术领域,更具体地说,涉及一种PLC设备的升级方法、装置、设备及存储介质。
背景技术
随着工控行业自动化的发展,PLC(Programmable Logic Controller,可编程逻辑控制器)的应用也越来越多,现场升级、修改程序的需求也越来越多,很多工业现场因实际生产需要,需要保证升级时PLC设备不停机,PLC编程人员在设备调试时,很多时候也希望更改程序后能直接看到运行结果。目前在运行中修改程序时主要包括以下方案:
方案一:可按照正常下载程序时的停机、下载、编译的方式运行,只不过停机时不断开输出、不清数据来维持机器的继续运行。但是在该方法中,程序实际上还是经过了停机过程,下载程序的过程中PLC设备是处于停机输出是不受控的状态,有一定的危险。而且很多程序指令执行是受到运行前的状态影响(如脉冲信号),重新运行会和连续运行不一致;且会打断连续运行中的指令。这些可能导致受到PLC控制的连续动作无法继续正常完成。
方案二:采用双程序保存区的方案,下载时程序保存在备份缓冲区,下载完成后在循环扫描结束时切换成新程序。该方案优化了方案一中下载过程输出不受控的问题,但和方案一相同的时,还会对PLC运行状态受到影响。
方案三:将程序分成不同的程序段(如对子程序、中断程序等),每段程序分开编译,运行中下载时将修改的部分程序代码单独编译下载。该方案虽然优化了方案二中对PLC运行状态影响的范围,但是依然没有解决该问题。重新编译执行的部分程序依然会全重新开始运行。
因此,如何在PLC设备运行中修改程序时,避免对PLC设备的运行状态造成影响,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种PLC设备的升级方法、装置、设备及存储介质,以在PLC设备运行中修改程序时,避免对PLC设备的运行状态造成影响。
为实现上述目的,本发明提供一种PLC设备的升级方法,包括:
PLC设备在运行阶段,在后台接收上位机发送的更新数据;
根据所述更新数据生成与每个程序更改点对应的新程序和新数据,并查找与每个程序更改点对应的旧程序和旧数据;
根据所述旧数据更新所述新程序的新数据;
在运行阶段的相邻两个扫描周期间,控制所述PLC设备切换至所述新程序和更新后的新数据继续运行,以对所述PLC设备进行在线升级。
其中,所述查找与每个程序更改点对应的旧程序和旧数据,包括:
根据每个更新数据中记载的程序更改点的起始地址及更改前程序段长度,确定优化后的运行程序及与所述运行程序对应的运行数据;
确定与所述运行程序对应的优化前的旧程序;
利用所述旧程序及所述运行数据得到旧数据。
其中,所述根据所述旧数据更新所述新程序的新数据,包括:
根据所述旧数据中指令的运行状态,更新所述新数据中指令的运行状态。
其中,所述在后台接收上位机发送的更新数据,包括:
在后台接收上位机发送的与每个程序更改点对应的更新数据;
对所述更新数据中记载的更改后程序内容进行校验;
若检验成功,则执行所述根据所述更新数据生成与每个程序更改点对应的新程序和新数据的步骤。
其中,所述在后台接收上位机发送的更新数据之前,还包括:
所述上位机接收在线编程模式指令;
验证所述上位机存储的原始程序与所述PLC设备的原始程序是否相同;
若是,则在所述上位机对原始程序进行修改,生成与每个程序更改点对应的更新数据,并对每个更新数据校验成功后发送至所述PLC设备。
其中,所述控制所述PLC设备切换至所述新程序和更新后的新数据继续运行之后,还包括:
释放所述旧程序和旧数据,并进行内存回收。
其中,所述控制所述PLC设备切换至所述新程序和更新后的新数据继续运行之后,还包括:
接收到退出在线编程模式指令后,则将所述新程序与所述更新后的新数据写入Flash存储器。
为实现上述目的,本发明进一步提供一种PLC设备的升级装置,包括:
接收模块,用于在PLC设备运行阶段,在后台接收上位机发送的更新数据;
生成模块,用于根据所述更新数据生成与每个程序更改点对应的新程序和新数据;
查找模块,用于查找与每个程序更改点对应的旧程序和旧数据;
更新模块,用于根据所述旧数据更新所述新程序的新数据;
切换模块,用于在运行阶段的相邻两个扫描周期间,控制所述PLC设备切换至所述新程序和更新后的新数据继续运行,以对所述PLC设备进行在线升级。
为实现上述目的,本发明进一步提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述PLC设备的升级方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述PLC设备的升级方法的步骤。
通过以上方案可知,本发明实施例提供的一种PLC设备的升级方法、装置、设备及存储介质;在本方案中,PLC设备在运行阶段,在后台接收上位机发送的更新数据;根据更新数据生成与每个程序更改点对应的新程序和新数据,并查找与每个程序更改点对应的旧程序和旧数据;根据旧数据更新新程序的新数据;在运行阶段的相邻两个扫描周期间,控制PLC设备切换至新程序和更新后的新数据继续运行,以对PLC设备进行在线升级;可见,在本方案中,新程序的下载和编译过程均在后台完成,通过该方式,可避免在运行过程中更改程序打断原有程序的执行,实现PLC设备的在线升级;并且,本方案在更新程序时,还需要将旧程序的旧数据一同更新至新程序的新数据中,从而避免修改程序对PLC设备的运行状态造成影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种PLC设备的升级方法流程示意图;
图2为本发明实施例公开的一种更新前数据示意图;
图3为本发明实施例公开的查找程序段示意图;
图4为本发明实施例公开的程序更新示意图;
图5为本发明实施例公开的在线编程完成后的内存分布示意图;
图6为本发明实施例公开的一种PLC设备的升级装置结构示意图;
图7为本发明实施例公开的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例提供的一种PLC设备的升级方法流程示意图,该方法具体包括如下步骤:
S101、PLC设备在运行阶段,在后台接收上位机发送的更新数据;
其中,本实施例在后台接收上位机发送的更新数据之前,还包括:上位机接收在线编程模式指令;验证上位机存储的原始程序与PLC设备的原始程序是否相同;若是,则在上位机对原始程序进行修改,生成与每个程序更改点对应的更新数据,并对每个更新数据校验成功后发送至PLC设备。
具体来说,PLC设备的运行方式包括:停机、故障和运行状态。在运行阶段,采用循环扫描的方式执行,每个扫描周期主要分为“输入采样,程序执行,输出刷新”这三个阶段。在本方案中,用户首先在上位机触发在线编程模式指令,从而选择在线编程模式,并校验上下位机程序的一致性;其中,下位机程序的一致性是指:上位机存储的PLC设备的原始程序与PLC设备内的原始程序相同,只有上下位机原始程序一致,才能在上位机对原始程序修改得到更新数据后,通过该更新数据对PLC设备的原始程序进行准确修改;校验上下位机程序的一致性后,PLC进入在线编程模式。此时用户可在上位机对原始程序进行修改,生成每个程序更新点的更新数据,修改完后,用户在上位机点击在线下载按钮。需要说明的是,在下载更新数据时,可由上位机先进行语法校验,若校验通过,则输出多个更新数据进行下载,PLC设备在后台进行接收,直至所有更新数据均下载完毕。
需要说明的是,在本方案中,每个程序更改点均分段进行下载,也即每个程序更改点具有对应的更新数据,若一次修改程序涉及到多个位置更改,则从上位机下载多个更新数据,并将所有更新数据下载编译完后,再统一进行切换。该更新数据所包含的内容包括:更改程序段开始步号(起始地址),更改前程序段长度,更改后程序段长度,更改后程序段内容。针对增加和删除操作在对应长度写零即可统一表示,如增加操作的更改前程序段长度位零,删除操作的更改后程序段长度为零。
进一步,本方案中在后台接收上位机发送的与每个程序更改点对应的更新数据后,该更新数据中的更改后程序段内容在运行前会先进行编译。编译主要进行下面两部分工作:
1)新程序的语法校验。也即:本方案在后台接收上位机发送的与每个程序更改点对应的更新数据后,首先需要对更新数据中记载的更改后程序内容进行校验;若检验成功,则执行所述根据所述更新数据生成与每个程序更改点对应的新程序和新数据的步骤。其中,该校验包括对更改后程序内容进行完整性校验和语法校验,只有均校验成功后,才继续执行后续操作。
2)新旧程序间对比,实现运行状态的切换。例如:触发指令更改,对应的状态记录需从旧程序数据堆栈写入新程序堆栈,保证新旧程序的运行状态统一。需多周期完成的指令在运行中发生更改或删除则要根据指令和配置决定是继续运行、暂停或强制结束。
S102、根据更新数据生成与每个程序更改点对应的新程序和新数据,并查找与每个程序更改点对应的旧程序和旧数据;
在本实施例中,每个程序更改点均具有对应的更新数据,该更新数据中记载了本次升级的更改后程序内容。该更改后程序内容校验成功后,首先生成与每个程序更改点对应的新程序和新数据,然后根据每个更新数据中记载的程序更改点的起始地址及更改前程序段长度,确定优化后的运行程序及与运行程序对应的运行数据,确定与运行程序对应的优化前的旧程序,利用所述旧程序及运行数据得到旧数据。
需要说明的是,在本方案中,更改的新旧程序段生成专门的数据堆栈。具体来说,由于部分指令还会受到程序之前执行状态的影响,如脉冲触发指令是通过输入条件前后两个周期的变化触发的,还有些执行如通信等需要涉及到多个周期才能完成。这部分记录数据记录分散在不同的数据区,单个去操作不仅繁琐而且不安全。所以本方案针对程序更改前后涉及到的部分程序和地址,在编译前还会专门生成一段数据堆栈,将更改涉及的数据组合起来,便于统一更改,如:通过新程序堆栈和新数据堆栈存储新程序和新数据,通过旧程序堆栈和旧数据堆栈存储旧程序和旧数据。
并且,由于正常程序在运行时会经过优化编译,优化编译后的程序执行和具体的语句顺序可能不再一一对应,所以本申请在线修改涉及到的程序,会先切换回未优化的程序进行执行。因此,本方案首先根据每个更新数据中记载的程序更改点的起始地址及更改前程序段长度,定位优化后的运行程序及与运行程序对应的运行数据,然后在PLC设备的原始程序中查找与优化后的运行程序对应的未优化的旧程序,生成旧程序堆栈,然后利用旧程序及运行数据重新得到旧数据。
S103、根据旧数据更新新程序的新数据;
具体来说,本申请根据旧数据更新新程序的新数据时,具体为根据旧数据中指令的运行状态更新新数据中指令的运行状态。也即:本方案对PLC设备在线修改程序时,为了避免对PLC设备的运行状态造成影响,首先通过重新载入优化前的旧程序,并生成可见新程序替代旧程序运行,再通过对比新数据及旧数据的方式,将旧数据中指令的运行状态更新至新数据中指令的运行状态,保证新旧程序的运行状态统一,然后在程序扫描周期间切换运行。以此来保证运行前后的运作状态维持统一。
S104、在运行阶段的相邻两个扫描周期间,控制PLC设备切换至新程序和更新后的新数据继续运行,以对PLC设备进行在线升级。
在本方案中,具体是在程序执行的扫描周期间更新程序,避免在运行过程中更改程序打断原有程序的执行。程序的下载和编译在后台完成,不影响程序的执行。并且,本方案对比新旧程序堆栈和数据堆栈,根据旧数据堆栈中指令的运行状态更新新数据堆栈中指令的运行状态,并检查新程序中更改删除的指令后,关闭旧程序控制运行的后台线程功能,在程序扫描周期间更改程序堆栈和数据堆栈指令,使程序执行跳转到新程序和数据堆栈执行。
进一步,本方案控制PLC设备切换至新程序和更新后的新数据继续运行之后,还包括:释放旧程序和旧数据,并进行内存回收。并在接收到退出在线编程模式指令后,则将新程序与更新后的新数据写入Flash存储器。具体来说,本次在线编程修改完成,可返回数据通知上位机更新状态,并且本申请在未退出在线编程模式前,还可以继续进行多次更改编程操作。接收到退出在线编程模式指令后,会将更新数据统一写入Flash记录,在线编程完成。
参见图2,本发明实施例提供的一种更新前数据示意图;其中,运行中的程序堆栈为PLC设备的优化后的原始程序所在的堆栈,数据堆栈为原始程序的数据堆栈;图2右侧为每个更新数据所包含的内容包括:每个程序更改点的起始地址,更改前长度,更改后长度,更改后程序内容。参见图3,本发明实施例提供的查找程序段示意图,通过图3可以看出,在每个程序更改点,根据更新数据中的起始地址和更改前长度,从运行中的程序堆栈中查找修改前程序段,该修改前程序段为优化后的运行程序,相对应的,从数据堆栈中查找的数据为该运行程序对应的运行数据。参见图4,发明实施例提供的程序更新示意图,更改后程序内容编译后生成新程序段及新数据段,根据修改前程序段确定未优化的旧程序段并重新生成旧数据,根据旧数据更新新数据段。参见图5,发明实施例提供的在线编程完成后的内存分布示意图,可以看出,运行中的程序堆栈中的运行程序及数据堆栈中的运行数据的内存均已释放,程序运行时在程序更改点切换至编译后的新程序段和新数据段继续运行。
综上可见,在本方案中,提出了一种在运行中修改程序的方式,能够在程序运行中更改程序,减少对程序运行状态的影响。具体来说,本方案中的新程序的下载和编译过程均在后台完成,通过该方式,可避免在运行过程中更改程序打断原有程序的执行,实现PLC设备的在线升级;并且,本方案在更新程序时,还需要将旧程序的旧数据一同更新至新程序的新数据中,从而避免修改程序对PLC设备的运行状态造成影响。
下面对本发明实施例提供的升级装置、设备及存储介质进行介绍,下文描述的升级装置、设备及存储介质与上文描述的升级方法可以相互参照。
参见图6,本发明实施例提供的一种PLC设备的升级装置结构示意图,包括:
接收模块11,用于在PLC设备运行阶段,在后台接收上位机发送的更新数据;
生成模块12,用于根据所述更新数据生成与每个程序更改点对应的新程序和新数据;
查找模块13,用于查找与每个程序更改点对应的旧程序和旧数据;
更新模块14,用于根据所述旧数据更新所述新程序的新数据;
切换模块15,用于在运行阶段的相邻两个扫描周期间,控制所述PLC设备切换至所述新程序和更新后的新数据继续运行,以对所述PLC设备进行在线升级。
其中,所述查找模块,具体用于:根据每个更新数据中记载的程序更改点的起始地址及更改前程序段长度,确定优化后的运行程序及与所述运行程序对应的运行数据;确定与所述运行程序对应的优化前的旧程序;利用所述旧程序及所述运行数据得到旧数据。
其中,所述更新模块具体用于:根据所述旧数据中指令的运行状态,更新所述新数据中指令的运行状态。
其中,所述接收模块具体用于:在后台接收上位机发送的与每个程序更改点对应的更新数据;对所述更新数据中记载的更改后程序内容进行校验;若检验成功,则触发所述生成模块。
其中,所述上位机具体用于:接收在线编程模式指令,验证所述上位机存储的原始程序与所述PLC设备的原始程序是否相同,若是,则在所述上位机对原始程序进行修改,生成与每个程序更改点对应的更新数据,并对每个更新数据校验成功后发送至所述PLC设备。
其中,该装置还包括:
释放模块,用于释放所述旧程序和旧数据,并进行内存回收。
写入模块,用于接收到退出在线编程模式指令后,则将所述新程序与所述更新后的新数据写入Flash存储器。
参见图7,本发明实施例提供的一种电子设备结构示意图,包括:
存储器21,用于存储计算机程序;
处理器22,用于执行所述计算机程序时实现如上述任意方法实施例所述的PLC设备的升级方法的步骤。
在本实施例中,该设备具体为PLC设备。该设备可以包括存储器21、处理器22和总线23。
其中,存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘、存储芯片等。存储器21在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器21在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器21还可以既包括设备的内部存储单元也包括外部存储设备。存储器21不仅可以用于存储安装于设备的应用软件及各类数据,例如执行升级方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器22在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,如ARM(Advanced RISC Machines)芯片,用于运行存储器21中存储的程序代码或处理数据,例如执行升级方法的程序代码等。
该总线23可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口24及外围电路25,网络接口24可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
图7仅示出了具有组件21-25的设备,本领域技术人员可以理解的是,图7示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意方法实施例所述的PLC设备的升级方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种PLC设备的升级方法,其特征在于,包括:
PLC设备在运行阶段,在后台接收上位机发送的更新数据;
根据所述更新数据生成与每个程序更改点对应的新程序和新数据,并查找与每个程序更改点对应的旧程序和旧数据;
根据所述旧数据更新所述新程序的新数据;
在运行阶段的相邻两个扫描周期间,控制所述PLC设备切换至所述新程序和更新后的新数据继续运行,以对所述PLC设备进行在线升级。
2.根据权利要求1所述的升级方法,其特征在于,所述查找与每个程序更改点对应的旧程序和旧数据,包括:
根据每个更新数据中记载的程序更改点的起始地址及更改前程序段长度,确定优化后的运行程序及与所述运行程序对应的运行数据;
确定与所述运行程序对应的优化前的旧程序;
利用所述旧程序及所述运行数据得到旧数据。
3.根据权利要求2所述的升级方法,其特征在于,所述根据所述旧数据更新所述新程序的新数据,包括:
根据所述旧数据中指令的运行状态,更新所述新数据中指令的运行状态。
4.根据权利要求1所述的升级方法,其特征在于,所述在后台接收上位机发送的更新数据,包括:
在后台接收上位机发送的与每个程序更改点对应的更新数据;
对所述更新数据中记载的更改后程序内容进行校验;
若检验成功,则执行所述根据所述更新数据生成与每个程序更改点对应的新程序和新数据的步骤。
5.根据权利要求1所述的升级方法,其特征在于,所述在后台接收上位机发送的更新数据之前,还包括:
所述上位机接收在线编程模式指令;
验证所述上位机存储的原始程序与所述PLC设备的原始程序是否相同;
若是,则在所述上位机对原始程序进行修改,生成与每个程序更改点对应的更新数据,并对每个更新数据校验成功后发送至所述PLC设备。
6.根据权利要求1所述的升级方法,其特征在于,所述控制所述PLC设备切换至所述新程序和更新后的新数据继续运行之后,还包括:
释放所述旧程序和旧数据,并进行内存回收。
7.根据权利要求1至6中任意一项所述的升级方法,其特征在于,所述控制所述PLC设备切换至所述新程序和更新后的新数据继续运行之后,还包括:
接收到退出在线编程模式指令后,则将所述新程序与所述更新后的新数据写入Flash存储器。
8.一种PLC设备的升级装置,其特征在于,包括:
接收模块,用于在PLC设备运行阶段,在后台接收上位机发送的更新数据;
生成模块,用于根据所述更新数据生成与每个程序更改点对应的新程序和新数据;
查找模块,用于查找与每个程序更改点对应的旧程序和旧数据;
更新模块,用于根据所述旧数据更新所述新程序的新数据;
切换模块,用于在运行阶段的相邻两个扫描周期间,控制所述PLC设备切换至所述新程序和更新后的新数据继续运行,以对所述PLC设备进行在线升级。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的PLC设备的升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的PLC设备的升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111349573.1A CN113986321A (zh) | 2021-11-15 | 2021-11-15 | 一种plc设备的升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111349573.1A CN113986321A (zh) | 2021-11-15 | 2021-11-15 | 一种plc设备的升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986321A true CN113986321A (zh) | 2022-01-28 |
Family
ID=79748537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111349573.1A Pending CN113986321A (zh) | 2021-11-15 | 2021-11-15 | 一种plc设备的升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986321A (zh) |
-
2021
- 2021-11-15 CN CN202111349573.1A patent/CN113986321A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102902556B (zh) | 一种嵌入式设备的多级引导加载方法 | |
CN104898546B (zh) | 一种基于soc的plc在线调试系统和方法 | |
JP2002099312A (ja) | プログラマブルコントローラおよび制御プログラム開発支援装置 | |
CN106055368A (zh) | 应用更新方法和装置 | |
CN104407878A (zh) | C6000数字信号处理器在线升级方法 | |
CN108874422B (zh) | 一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱 | |
CN110851168A (zh) | 数据处理方法及其装置、计算机可读存储介质 | |
CN114924737A (zh) | 一种电池管理系统源代码集成测试方法、测试装置及电子设备 | |
JP5800135B2 (ja) | プログラマブルコントローラ | |
JP5849592B2 (ja) | プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法 | |
KR20170046864A (ko) | Plc 명령어 컴파일 최적화 방법 | |
CN113986321A (zh) | 一种plc设备的升级方法、装置、设备及存储介质 | |
CN109683935B (zh) | 应用程序升级方法、装置、变频器以及存储介质 | |
CN113946481B (zh) | Risc-v内核mcu调试的下载程序方法及调试器 | |
CN106126211A (zh) | 一种支持调试接口的mcu在线编程系统 | |
CN111984524A (zh) | 故障注入方法、故障模拟方法、故障注入装置及存储介质 | |
JP5906609B2 (ja) | デバッグ支援プログラム、デバッグ支援方法及びデバッグ支援システム | |
CN105653333B (zh) | 可编程逻辑控制器用户程序在线修改系统及方法 | |
JP2015022511A (ja) | プログラマブルコントローラシステム、その支援装置、プログラム | |
JP4784355B2 (ja) | プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法、プログラミング支援プログラム、プログラマブルコントローラのデバッグ制御プログラム | |
JP5589670B2 (ja) | デバッグ方法 | |
CN111966602B (zh) | 一种定点代码调试方法、系统、终端及存储介质 | |
CN111984329A (zh) | 一种boot引导软件标准化生成、执行方法及系统 | |
CN111459526A (zh) | 一种基于can通讯的单片机在线升级方法 | |
KR101548960B1 (ko) | 가상 플랫폼을 이용한 프로그램 작성과 디버깅 방법 및 장치 |
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 |