CN102354165A - 在线更新数据的方法、控制器和人机交互系统 - Google Patents
在线更新数据的方法、控制器和人机交互系统 Download PDFInfo
- Publication number
- CN102354165A CN102354165A CN2011101420340A CN201110142034A CN102354165A CN 102354165 A CN102354165 A CN 102354165A CN 2011101420340 A CN2011101420340 A CN 2011101420340A CN 201110142034 A CN201110142034 A CN 201110142034A CN 102354165 A CN102354165 A CN 102354165A
- Authority
- CN
- China
- Prior art keywords
- data
- information
- man
- updating
- different information
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种在线更新数据的方法、控制器和人机交互系统,所述方法包括:当接收到人机交互系统发送的更新请求时,将有效数据上载至所述人机交互系统;接收所述人机交互系统发送的将所述有效数据与新数据进行比较后生成的更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改;依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。本发明实施例中,无需配置单独的组态服务器保存每次下载的数据,从而节约了资源,提高了控制器设备的利用率。
Description
技术领域
本发明涉及工业控制技术领域,更具体的说是涉及一种在线更新数据的方法、控制器和人机交互系统。
背景技术
在用于工业控制的各种计算机控制系统,例如集散控制系统(DCS)、可编程逻辑控制器(PLC)系统、现场总线控制系统(FCS)等中,需要能够对其过程数据特别是组态数据及控制逻辑程序进行快速、方便、可靠的修改和调试,以满足工业现场设备及工艺不断变更、升级、优化等需求,同时在修改过程中需要求控制系统能够连续、稳定、可靠、安全地运行。在线更新即是指工业现场中对存储在控制器中的组态数据或控制逻辑程序进行修改而又不影响现场设备和工艺的连续、正常、稳定运行的操作。
在线更新数据,首先需要从人机交互系统或组态数据服务器中将组态数据及控制逻辑程序下载至控制器中,现有的一种应用于工业控制系统的在线更新数据方法中,将每一数据采用固定的存储地址存储,由于每一数据存储在固定的存储单元,因此在进行数据更新时,只需要将需更新的数据下载至控制器中即可,无需下载整个系统数据。
但是该现有技术中,需要配置单独的组态服务器,或者在人机交互系统中配置组态服务器,将每次下载的数据都保存至组态服务器中,在进行数据更新时,需要从组态服务器中调出上次下载的数据,才能判断出哪些数据需要更新进而在线更新数据。因此,现有技术中这种还需要配置组态服务器的方法,不仅会浪费组态服务器资源,还会导致控制器设备的利用率低,而且严重依赖于组态服务器,一旦组态服务器出现故障,将会造成无法进行在线更新数据。
发明内容
有鉴于此,本发明提供一种应用于控制系统的在线更新数据的方法,解决了需要配置单独的组态服务器,浪费组态服务器资源、同时导致控制器设备利用率低的问题。
本发明还提供了一种控制器和人机交互系统,用于保证上述方法在实际应用中的实现。
为实现上述目的,本发明提供如下技术方案:
一种在线更新数据的方法,应用于控制系统中,所述方法包括:
当接收到人机交互系统发送的上载请求时,将有效数据上载至所述人机交互系统;
接收所述人机交互系统发送的将所述有效数据与新数据进行比较后生成的更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改;
依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
优选地,所述有效数据、新数据和更新数据以文件形式进行存储,则所述差异信息还包括文件索引。
优选地,所述接收所述机交互系统发送的将所述有效数据与新数据进行比较后生成的更新数据和差异信息后还包括:
校验所述更新数据和差异信息是否正确,若否,则请求人机交互系统重新下载出错的数据,若是,则,
在接收到人机交互系统发送的更新命令后,执行所述依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新的步骤。
优选地,所述依据所述差异数据和差异信息对所述待更新数据进行更新具体为:
选择满足预置条件的时机依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
优选地,所述控制系统为多任务控制系统,所述预置条件为每个任务均完整执行一遍,且每个任务执行一遍后被暂时禁止执行。
优选地,所述选择满足预置条件的时机依据所述更新数据和差异信息对所述待更新数据进行更新具体为:
判断任务执行过程中是否到达预定时间,若是,则中断当前任务的执行并将该任务重置,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新,否则,当每个任务均完整执行一遍,且被暂时禁止执行时,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
优选地,所述方法还包括:
当更新操作完成后,恢复任务正常运行。
一种控制器,所述控制器包括:
第一接收模块,用于接收人机交互系统发送的上载请求;
上载模块,用于将有效数据上载至所述人机交互系统;
第二接收模块,用于接收人机交互系统发送的将所述有效数据与新数据进行比较后生成的更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改;
更新模块,用于依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
优选地,所述控制器还包括:
校验模块,用于校验所述更新数据和差异信息是否正确;
请求模块,用于当校验模块结果为否时,请求人机交互系统重新下载出错的数据;
第三接收模块,用于接收人机交互系统发送的更新命令,并启动更新模块;则,
所述更新模块,具体用于当校验模块结果为是时,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
优选地,所述更新模块具体用于选择满足预置条件的时机,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
优选地,所述控制系统为多任务控制系统,则所述预置条件为每个任务均完整执行一遍,且每个任务执行一遍后被暂时禁止执行。
优选地,所述更新模块包括:
判断模块,用于判断任务执行过程中是否到达预定时间;
更新子模块,用于当所述判断模块结果为是时,中断当前任务的执行并将该任务重置,再依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新,或,所述判断模块结果为否时,当每个任务均完整执行一遍,且被暂时禁止执行时,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
优选地,所述控制器还包括:
恢复模块,用于当更新操作完成后,恢复任务正常运行。
一种人机交互系统,所述系统包括:
请求发送模块,用于向控制器发送更新请求;
数据接收模块,用于接收控制器上载的有效数据;
更新数据生成模块,用于通过比较所述有效数据和新数据,生成更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改;
数据发送模块,用于将所述更新数据和差异信息发送到控制器中。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种在线更新数据的方法、控制器和人机交互系统,控制器在接收到人机交互系统发送的更新请求后,通过将有效数据上载至人机交互系统,并接收人机交互系统比较后生成的更新数据和差异信息,根据该更新数据和差异信息即可进行有效数据中的待更新数据的更新,无需配置单独的组态服务器保存每次下载的数据,从而节约了资源,提高了控制器设备的利用率,同时,在线更新数据时,可选择满足预置条件的时机进行,从而能够保证更新后的数据完整以及保证对控制对象的无扰影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一种在线更新数据的方法实施例1的流程图;
图2为本发明一种在线更新数据的方法实施例2的流程图;
图3为本发明一种在线更新数据的方法实施例3的流程图;
图4为本发明一种在线更新数据的方法实施例4的流程图;
图5为本发明一种控制器的实施例1的结构示意图;
图6为本发明一种控制器的实施例2的结构示意图;
图7为本发明一种控制器的实施例3的结构示意图;
图8为本发明一种人机交互系统一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种在线更新数据的方法、控制器和人机交互系统,控制器在接收到人机交互系统发送的更新请求后,通过将有效数据上载至人机交互系统,并接收人机交互系统比较后生成的更新数据和差异信息,根据该更新数据和差异信息即可进行有效数据中待更新数据的更新,无需配置单独的组态服务器保存每次下载的数据,从而节约了资源,提高了控制器设备的利用率。
参见图1,示出了本发明一种在线更新数据的方法实施例1的流程图,所述方法具体可应用于控制系统中,可以包括以下步骤:
步骤101:当接收到人机交互系统发送的上载请求时,将有效数据上载上载至所述人机交互系统。
在控制系统中,当控制器中的数据需要更新的时候,可通过人机交互系统发送上载请求,接收到该上载请求时,控制器将与本次更新请求相关的数据,即有效数据上载至人机交互系统。所述的有效数据是指可通过人机交互系统进行更新的数据。人机交互系统接收到该有效数据后进行保存。
需要说明的是,本发明实施例中,所述的数据是指可通过更新操作变更的内容,其包括系统运行所必须的组态信息、运行初值、存档文件等内容以及程序数据,所述的程序包括系统运行时受系统内核调度任务的程序,通常为控制系统中的自定义逻辑程序、功能块库等内容。
还需要说明的是,数据上载过程需要保证数据的正确上载,人机交互系统判断接收到的数据若发生错包或丢包等问题,则重新发送更新请求直至将有效数据正确上载。所述保证数据正确上载具体可通过通信质量保证或采用相关的容错机制等方式。
步骤102:接收人机交互系统发送的将所述有效数据与新数据进行比较后生成的更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改。
人机交互系统接收到有效数据时,与新数据进行比较,判断出所述有效数据中的哪些数据需要更新,即确定有效数据中的待更新数据,并根据待更新数据的更新类型,生成更新数据,若所述有效数据中的待更新数据需要增加新的数据内容,数据的更新类型为增加,则所述更新数据即为增加的数据;若需修改待更新数据,数据的更新类型为修改,则所述更新数据即为该待更新数据的修改形式;若需删除待更新数据时,数据的更新类型为删除,所述的更新数据即是一个用于删除该待更新数据的删除标识。其中,生成更新数据的同时,还生成差异信息,更新类型位于差异信息中,所述差异信息用于指示控制器按照更新类型进行相应的更新操作。
在本发明实施例中,数据可以文件形式进行存储,有效数据与新数据的比较可采用内存比较的方式进行,在实际应用中,数据的组织形态有两种形式,下面分别以这两种数据组织形式为例,详细介绍更新数据以及差异信息的生成方式。
一种情况:单个数据点,例如一页程序,组成一个文件或数据块的内容。可针对每个文件或数据块进行逐个比较,若存在差异(增加、删除和/或修改),则将更新数据也形成文件形式加入待下载缓冲区,同时生成差异信息,在此种情况下,所述的差异信息具体为一个更新记录,所述的更新记录包括更新类型和文件索引,由于可能进行多个数据点的更新操作,所述文件索引用于指示更新数据所在文件的位置,可以具体为文件名或者文件ID(Identity,身份标识码)等。
另一种情况:多个数据点,例如,动态分配内存的零散数据、程序中的变量数据等,共同组成一个文件或数据块的内容。生成的差异信息具体为一个差异记录,该差异记录包括更新类型和文件索引,还包括差异位置以及数据类型。文件索引同样可为文件名或者文件ID,用于指示更新数据所在文件;由于是由多个数据点组成一个文件,则生成的差异数据所形成的文件中同样包含多个数据点,根据差异位置和数据类型即可找到需要更新的数据点。
在现有技术中,控制器对数据点的访问都是通过到固定地址处取数据进行访问的,这样对单个数据点进行差异比较后的下载过程也必须确保能够下载到正确的地址处,而本发明实施例中,以文件形式存储数据,数据点被组织为一个文件,由文件系统统一管理数据的实际存放地址,对数据点的访问是通过文件系统进行读取的。这样即使对单个数据点的更新(包括增加、删除或修改)导致数据点实际物理内存地址更改,也不会对控制器程序造成访问上的错误,从而能够保证数据单点更新并下载后不会对系统造成不必要的扰动。
需要说明的是,上述两种数据组织方式只是实际应用中两个具体例子,本发明并不限定于具体的组织方式。
还需要说明的中,步骤101和步骤102中,控制器在与人机交互系统进行通信时,需要首先建立通信连接,由于人机交互系统可对数据进行保存,本领域技术人员可知的是,步骤101和步骤102的操作并不限定于连续执行。
步骤103:依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
控制器接收到人机交互系统发送的所述更新数据和差异信息,根据差异信息的指示,对有效数据中的待更新数据进行更新。
由步骤102可知,数据以文件形式进行存储,因此所述的差异信息中还包括文件索引。控制器根据文件索引找到更新数据所在的文件,并根据更新类型,对有效数据中的待更新数据进行相应的更新操作,例如增加数据、修改数据和/或删除数据。当文件中包括了多个数据点时,所述的差异信息还可以包括数据类型和差异位置,以便于找到需要更新的数据点的位置,从而实现对待更新数据的更新操作。
本发明实施例中,在接收到人机交互系统发送的上载请求后,通过将有效数据上载至人机交互系统,并接收人机交互系统经比较生成的更新数据和差异信息,根据该更新数据和差异信息即可进行有效数据中的待更新数据的更新,无需配置单独的组态服务器保存每次下载的数据,从而节约了资源,提高了控制器设备的利用率。
参见图2,示出了本发明一种在线更新数据的方法实施例2的流程图,可以包括以下几个步骤:
步骤201:当接收到人机交互系统发送的上载请求时,将有效数据上载至所述人机交互系统。
步骤202:接收人机交互系统发送的将所述有效数据与新数据进行比较后生成的更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改。
步骤201和步骤202的操作在实际应用中可与方法实施例1相似,在此不再赘述。
此外,当控制器同一时刻只能和一个人机交互系统进行通信时,在这种情况下,控制器不能同时接收多个人机交互系统发送的数据,因此,在接收人机交互系统发送的更新数据和差异信息之前,人机交互系统可以先发送一个下载请求消息,控制器接收到该下载请求消息后,判断当前是否与其他人机交互系统进行通信,若否,则向人机交互系统进行反馈,人机交互系统接收到反馈消息后,在向控制器发送所述更新数据和差异信息,从而确保了数据更新的可靠性。
需要说明的是,本发明并不限定于上述情况,当控制器不存在上述通信限制时,则人机交互系统无需发送下载请求消息。
步骤203:校验所述更新数据和差异信息是否正确,若是,则进入步骤204,若否,则进入步骤205。
人机交互系统将所述更新数据和差异信息发送到控制器中后,会通知控制器数据下载完成;控制器将所述更新数据和差异信息存放到下载组态备份区和下载缓冲区中,接收到数据下载完成信息后,即可对所述更新数据和差异信息进行校验,其中,可采用人机接口回读校验或者数据内容校验码计算等方式,校验正确,即表明数据已正确下载,再进行后续的更新的操作。
需要说明的是,接收所述更新数据和差异信息的过程也需要保证数据的正确传输,若传输的内容数据包存在错包或丢包等问题,人机交互系统需重新下载所述更新数据和差异信息至控制器中。
步骤204:接收到人机交互系统发送的更新命令时,选择满足预置条件的时机依据所述更新数据和差异信息对所述待更新数据进行更新。
控制系统中,包括更新程序在内的系统程序、用户程序等都采用任务的方式进行调度,任务形式包括周期型或循环型或不定触发型,任务完整执行完一遍后,根据其不同的任务形式继续执行,例如不定触发型任务,任务执行完一遍后,会等待触发事件的发生,触发事件发生后,任务被触发继续执行,触发事件可以是各种软件、硬件、网络等事件的发生。
因此接收到更新数据时,因为控制器中一直有任务在执行,若直接进行数据更新,由于当前任务中程序还没有执行完就执行更新操作,则会导致更新后数据的丢失或者任务执行出现异常,因此需要控制器对任务进行合理调度,选择满足预置条件的时机在进行数据更新。
在非多任务控制系统中,仅存在一个周期型或者循环型任务,因此所述的预置条件即是指当该任务完整执行完一遍后且被暂时禁止执行。即是说控制器控制当前正在执行的任务在完整执行完一遍后,暂时禁止其继续执行,首先执行更新操作,完成数据更新。
在多任务控制系统中,各个任务是并发执行的,每一个任务完整执行完一遍后,根据其不同的任务形式继续执行,本发明实施例中,所述的预置条件是指每个任务均完整执行一遍,且每个任务执行一遍后被暂时禁止执行。
控制器在接收到更新数据后,首先调度任务的执行过程,每一个任务完整执行完一遍后,暂时禁止其继续执行,待所有任务均完整执行一遍后且被暂停时,执行更新操作,完成数据更新。控制器在所有任务均完整执行完一遍后在进行数据更新,从而避免了在一次任务调度内,所有任务未执行完,即执行更新操作,导致更新后的任务执行出现异常。
多任务控制系统中,无论是包含系统程序的系统任务还是包含用户程序逻辑的用户任务,都具有任务优先级,任务优先级的级数和定义随着不同的内核而不同,所述选择满足预置条件的时机,也即控制器如何调度控制器任务的执行,可采用任务向下同步的方式,具体如下:
在定义任务的优先级时,将更新任务的优先级别设置为低于其他的常规任务,更新数据和差异信息下载完成后控制器处于待更新状态,控制器调度任务执行,从最高优先级任务开始,其完整执行完毕一次未执行完毕的程序后,被暂时禁止执行,控制器将控制权下放到低优先级任务,当低优先级任务完整执行完毕一次其中未执行完毕的程序后,被暂时禁止执行,控制器将控制权下放到更低优先级任务,直至所有级别任务均执行完毕其未执行完毕的程序,且被暂时禁止执行后,控制器将控制权下放到更新任务中,开始执行更新操作。特别是在抢占式多任务控制系统中,高优先级的任务能够在低优先级任务执行过程中将CPU资源抢占从而优先运行,采用所述的任务向下同步方式,控制权依次下放,且每个任务执行一遍后即被暂停,即便高优先级任务到达执行周期或者任务触发事件已经发生,该高优先级任务仍然不能被执行,从而有效避免任务执行到中途时其数据或程序被更新,导致的数据不完整或程序出现异常等问题。
需要说明的是,本实施例中,选择满足预置条件的时机进行更新操作,该预置条件的选择并不限定于上述所述的情况,只需要满足更新操作完成后能够保证更新后数据完整以及保证对控制对象无扰影响,不会导致系统出现异常即可。
步骤205:当更新操作完成后,恢复任务正常运行。
更新操作完成后,控制器即将被暂时禁止执行的任务恢复正常运行。
步骤206:请求人机交互系统重新下载出错的数据,返回步骤203。
本发明实施例中,无需配置单独的组态服务器保存每次下载的数据,节约了资源,提高了控制器设备的利用率,且在满足预置条件的时机进行数据更新,保证了数据更新后系统能够正常运行,同时,对差异数据进行数据校验,保证了更新的正确执行。
参见图3,示出了本发明一种在线更新数据的方法实施例3的流程图,本实施例中步骤301~步骤302与方法实施例2类似在此不再赘述,所述方法进一步包括:
步骤303:校验所述更新数据和差异信息是否正确,若是,进入步骤304,若否,进入步骤
步骤304:接收到人机交互系统发送的更新命令时,判断任务执行过程中是否到达预定时间,若是,则进入步骤305,若否,进入步骤308。
所述的预定时间是指,更新操作可延时的最大时间。
步骤305:中断当前任务的执行并将该任务重置,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
在多任务控制系统中,特别是用于高实时性控制场合的多任务控制系统中,任务存在循环型、周期型、不定触发型等各种类型,其任务中的程序执行一次的时间T是非常短的,通常都在毫秒级;而其任务的数量N也是有限的。因而理论上其所有任务程序完整执行完一次的最长时间为N×T,该值通常为几毫秒到几秒,该时间表现为最大更新延时,则该更新延时需在系统可以接受的规格范围内。
控制器接收到上载请求后,即进入待更新状态,接收到人机交互系统发送的更新命令后,在等待数据更新的过程中,若到达预定时间,则控制器直接中断当前任务的执行并将该任务重置,执行更新操作,从而有效保证更新操作的完成,将当前任务重置,以便于在数据更新完成后,该当前任务可以重头开始运行。
步骤306:当每个任务均完整执行一遍,且被暂时禁止执行时,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
本实施例中,由于控制器需要选择满足预置条件的时机进行更新操作,在接收到更新命令后,需要所有任务完整执行完一遍并被暂时禁止执行后,在进行数据更新,但若任务执行时间过长,则到达预定时间时,控制器即直接执行更新操作,并不等待所有任务全部完整执行一遍,所述的预定时间根据实际应用情况具体限定,例如可以是1秒或者2秒或者其他具体的时间值。
在实际应用中,所述预定时间的设置可以有效解决背景类任务的执行而造成的更新延时过长的问题。所述的背景类任务是在系统空闲时执行,即在其它任务都挂起的情况下得以执行,充分利用了系统的CPU资源,由于更新任务在执行前应主动释放一部分CPU控制权至背景类任务,让其执行完毕,以避免任务未执行完就进行更新给系统带来的异常情况,但是背景类任务执行需要耗费的时间不定,可以为几毫秒或几分钟甚至几个小时,因此通过预定时间的设置,可以有效保证更新任务的执行。
步骤307:当更新操作完成后,恢复任务正常运行。
步骤308:请求人机交互系统重新下载出错的数据,返回步骤303。
在本实施例中,无需配置单独的组态服务器保存每次下载的数据,节约了资源,提高了控制器设备的利用率,且在预定时间内,选择满足预置条件的时机进行数据更新,若到达预定时间,则直接执行更新操作,从而既保证了数据更新后系统能够正常运行,也保证了更新操作的即时完成。
参见图4,示出了本发明一种在线更新数据的方法实施例4的流程图,在本实施例中,以人机交互系统和控制器的交互过程为例,来说明本发明在线更新数据的方法,可以包括以下几个步骤:
步骤401:人机交互系统向控制器发送更新请求。
控制器接收到更新请求时,即进入待更新状态。
步骤402:控制器接收到该更新请求后,将有效数据上载至人机交互系统。
步骤403:人机交互系统比较所述有效数据和新数据,并生成更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改。
其中,所述数据以文件形式进行存储,所述的差异信息还包括文件索引。当文件中包括了多个数据点时,所述的差异信息还可以包括数据类型和差异位置。
步骤404:人机交互系统将所述更新数据和差异信息发送至控制器中,并通知控制器下载完成。
其中,人机交互系统可先向控制器发送下载请求消息,在接收到控制器的反馈消息后,在将将所述更新数据和差异信息发送到控制器中。
步骤405:控制器校验所述数据是否正确,若是,则进入步骤406,若否,则进入步骤409。
步骤406:人机交互系统向控制器发送更新命令。
本实施例中,由步骤404~步骤406的操作可知,人机交互系统下载完所述更新数据和差异信息后,通知控制器数据下载完成,以及向控制器发送更新命令可以是同时发送的,也可以不是同时发送的,即是说下载完更新数据和差异信息后可以不立即要求控制器立即执行更新操作,因此,步骤405的数据校验可以是在步骤404操作之后,或者步骤406操作之后,本发明不限定于本实施例的步骤。
步骤407:控制器接收到该更新命令时,选择满足预置条件的时机依据所述差异数据和差异类型对所述待更新数据进行更新。
控制器接收到更新命令后,处于待更新状态,当满足预置条件时,在进行更新,所述预置条件说明可具体参见方法实施例2所述,此处不再赘述。
需要说明的是,控制器需要选择满足预置条件的时机进行更新操作,控制器在等待数据更新这段过程中,若到达预定时间,则可中断当前任务的执行,直接进行数据更新,无需等到满足预置条件的时机,以保证更新操作即时完成。
步骤408:更新操作完成后,控制器恢复正常的任务处理和通信过程。
步骤409:请求人机交互系统重新下载出错的数据,返回步骤405。
控制器接收上载请求以人机交互系统下载差异数据和差异信息的过程,控制器的任务调度和处理不受影响,进行更新操作时由于选择了合适的时机,更新操作也不会对数据完整性、程序执行发生异常影响,在更新完成后,控制器即可恢复原有的任务处理和通信过程。
本发明还提供了一种控制器,参见图5,示出了本发明一种控制器实施例1的结构示意图,可以包括:
第一接收模块501,用于接收人机交互系统发送的上载请求。
上载模块502,用于将有效数据上载至所述人机交互系统。
所述的数据是指可通过更新操作变更的内容,其包括系统运行所必须的组态信息、运行初值、存档文件等内容以及程序数据,所述的程序包括系统运行时受系统内核调度任务的程序,通常为控制系统中的自定义逻辑程序、功能块库等内容。有效数据是指可通过人机交互系统进行更新的有效数据
第二接收模块503,用于接收人机交互系统发送的将所述有效数据与新数据进行比较后,生成的更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改。
数据可以文件形式进行存储,有效数据与新数据的比较可采用内存比较的方式进行。所述的差异信息中还包括文件索引。当文件中包括了多个数据点时,所述的差异信息还可以包括数据类型和差异位置。
更新模块504,用于依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
本发明实施例中,在接收到人机交互系统发送的上载请求后,通过将有效数据上载至人机交互系统,并接收人机交互系统比较后生成的更新数据和差异信息,根据该更新数据和差异信息即可进行有效数据中的待更新数据的更新,无需配置单独的组态服务器保存每次下载的数据,从而节约了资源,提高了控制器设备的利用率。
参加图6,示出了本发明一种控制器实施例2的结构示意图。可以包括:
第一接收模块601,用于接收人机交互系统发送的上载请求;
上载模块602,用于将有效数据上载至所述人机交互系统;
第二接收模块603,用于接收人机交互系统发送的将所述有效数据与新数据进行比较后,生成的更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改;
校验模块604,用于校验所述更新数据和差异信息是否正确。
人机交互系统将所述差异数据和差异信息下载至控制器中后,会通知控制器数据下载完成,控制器即可对所述差异数据进行校验,可采用人机接口回读校验或者数据内容校验码计算等方式。
第三接收模块605,用于接收人机交互系统发送的更新命令,并启动更新模块606。
更新模块606,用于当校验模块604结果为是时,选择满足预置条件的时机依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
所述预置条件为每个任务均完整执行一遍,且每个任务执行一遍后被暂时禁止执行。
恢复模块607,用于当更新操作完成后,恢复任务正常运行。
请求模块608,用于当校验模块结果为否时,请求人机交互系统重新下载出错的数据。
本发明实施例中,无需配置单独的组态服务器保存每次下载的数据,节约了资源,提高了控制器设备的利用率,且在满足预置条件的时机进行数据更新,保证了数据更新后系统能够正常运行,同时,对差异数据进行数据校验,保证了更新的正确执行。
其中,参见图7所示,示出一种控制器实施例3的结构示意图,所述控制器包括第一接收模块701、上载模块702、第二接接收模块703、校验模块704、第三接收模块705、更新模块706、恢复模块707和请求模块708,模块具体功能可具体参见上述控制器实施例2所述,其中,所述更新模块706具体包括:
判断模块7061,用于判断任务执行过程中是否到达预定时间。
更新子模块7062,具体用于当所述判断模块7061结果为是时,中断当前任务的执行并将该任务重置,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新,或,所述判断模块7061结果为否时,当每个任务均完整执行一遍,且被暂时禁止执行时,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。本实施例中,控制器在等待满足预置条件的时机过程中,若到达预定时间,则依据所述差异数据和差异信息对所述待更新数据进行更新,并不等待所有任务完整执行完一遍,所述的预定时间根据实际应用情况具体限定,例如可以是1秒或者2秒或者其他具体的时间值。
本发明还提供了一种人机交互系统,参见图8,示出了本发明一种人机交互系统一个实施例的结构示意图,可以包括:
请求发送模块801,用于向控制器发送更新请求。
当控制器中的数据需要更新的时候,即可通过人机交互系统的请求发送模块801发送更新请求。
数据接收模块802,用于接收控制器上载的有效数据。
差异内容生成模块803,用于通过比较所述有效数据和新数据,生成更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改。
其中,所述数据以文件形式进行存储,所述的差异信息还包括文件索引。
数据发送模块804,用于将所述更新数据和差异信息发送至控制器中。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种在线更新数据的方法,其特征在于,应用于控制系统中,所述方法包括:
当接收到人机交互系统发送的上载请求时,将有效数据上载至所述人机交互系统;
接收所述人机交互系统发送的将所述有效数据与新数据进行比较后生成的更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改;
依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
2.根据权利要求1所述的方法,其特征在于,所述有效数据、新数据和更新数据以文件形式进行存储,则所述差异信息还包括文件索引。
3.根据权利要求1所述的方法,其特征在于,所述接收所述机交互系统发送的将所述有效数据与新数据进行比较后生成的更新数据和差异信息后还包括:
校验所述更新数据和差异信息是否正确,若否,则请求人机交互系统重新下载出错的数据,若是,则,
在接收到人机交互系统发送的更新命令后,执行所述依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新的步骤。
4.根据权利要求1或3所述的方法,其特征在于,所述依据所述差异数据和差异信息对所述待更新数据进行更新具体为:
选择满足预置条件的时机依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
5.根据权利要求4所述的方法,其特征在于,所述控制系统为多任务控制系统,所述预置条件为每个任务均完整执行一遍,且每个任务执行一遍后被暂时禁止执行。
6.根据权利要求5所述的方法,其特征在于,所述选择满足预置条件的时机依据所述更新数据和差异信息对所述待更新数据进行更新具体为:
判断任务执行过程中是否到达预定时间,若是,则中断当前任务的执行并将该任务重置,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新,否则,当每个任务均完整执行一遍,且被暂时禁止执行时,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
当更新操作完成后,恢复任务正常运行。
8.一种控制器,其特征在于,所述控制器包括:
第一接收模块,用于接收人机交互系统发送的上载请求;
上载模块,用于将有效数据上载至所述人机交互系统;
第二接收模块,用于接收人机交互系统发送的将所述有效数据与新数据进行比较后生成的更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改;
更新模块,用于依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
9.根据权利要求8所述的控制器,其特征在于,所述控制器还包括:
校验模块,用于校验所述更新数据和差异信息是否正确;
请求模块,用于当校验模块结果为否时,请求人机交互系统重新下载出错的数据;
第三接收模块,用于接收人机交互系统发送的更新命令,并启动更新模块;则,
所述更新模块,具体用于当校验模块结果为是时,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
10.根据权利要求8或9所述的控制器,其特征在于,所述更新模块具体用于选择满足预置条件的时机,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
11.根据权利要求10所述的控制器,其特征在于,所述控制系统为多任务控制系统,则所述预置条件为每个任务均完整执行一遍,且每个任务执行一遍后被暂时禁止执行。
12.根据权利要求11所述的控制器,其特征在于,所述更新模块包括:
判断模块,用于判断任务执行过程中是否到达预定时间;
更新子模块,用于当所述判断模块结果为是时,中断当前任务的执行并将该任务重置,再依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新,或,所述判断模块结果为否时,当每个任务均完整执行一遍,且被暂时禁止执行时,依据所述更新数据和差异信息对所述有效数据中的待更新数据进行更新。
13.根据权利要求11或12所述的控制器,其特征在于,所述控制器还包括:
恢复模块,用于当更新操作完成后,恢复任务正常运行。
14.一种人机交互系统,其特征在于,所述系统包括:
请求发送模块,用于向控制器发送更新请求;
数据接收模块,用于接收控制器上载的有效数据;
更新数据生成模块,用于通过比较所述有效数据和新数据,生成更新数据和差异信息,所述差异信息包括更新类型,所述更新类型包括新增,删除和/或修改;
数据发送模块,用于将所述更新数据和差异信息发送到控制器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101420340A CN102354165B (zh) | 2011-05-30 | 2011-05-30 | 在线更新数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101420340A CN102354165B (zh) | 2011-05-30 | 2011-05-30 | 在线更新数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102354165A true CN102354165A (zh) | 2012-02-15 |
CN102354165B CN102354165B (zh) | 2013-07-10 |
Family
ID=45577740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101420340A Active CN102354165B (zh) | 2011-05-30 | 2011-05-30 | 在线更新数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102354165B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707690A (zh) * | 2012-05-30 | 2012-10-03 | 浙江中控技术股份有限公司 | 一种组态数据的下载方法和下载系统 |
CN102854862A (zh) * | 2012-09-12 | 2013-01-02 | 浙江中控技术股份有限公司 | 一种ff接口功能块 |
CN104699034A (zh) * | 2013-12-03 | 2015-06-10 | 西门子公司 | 对制造执行系统中的设计更新进行管理 |
CN105094919A (zh) * | 2015-08-13 | 2015-11-25 | 海信集团有限公司 | 一种应用程序启动方法 |
WO2016082474A1 (zh) * | 2014-11-25 | 2016-06-02 | 中兴通讯股份有限公司 | 一种人机命令脚本更新方法、装置及计算机存储介质 |
CN105653333A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川控制技术有限公司 | 可编程逻辑控制器用户程序在线修改系统及方法 |
CN106205080A (zh) * | 2016-08-26 | 2016-12-07 | 爱普(福建)科技有限公司 | 一种人机界面修改报警限值的方法以及系统 |
CN107621972A (zh) * | 2016-07-15 | 2018-01-23 | 中兴通讯股份有限公司 | 大数据任务动态管理方法、装置及服务器 |
CN108052739A (zh) * | 2017-12-13 | 2018-05-18 | 嘉兴倚韦电子科技有限公司 | 集成电路半定制后端设计快速通道设计方法 |
CN108099818A (zh) * | 2016-11-25 | 2018-06-01 | 比亚迪股份有限公司 | 车辆配置信息的自学习方法和自学习系统以及车辆 |
CN110609698A (zh) * | 2019-08-08 | 2019-12-24 | 浙江中控技术股份有限公司 | 控制算法单元在线升级方法及装置 |
CN110824976A (zh) * | 2019-09-17 | 2020-02-21 | 浙江源创建筑智能科技有限公司 | 一种实现组态存档上载并解析的方法及系统 |
CN111307936A (zh) * | 2019-12-04 | 2020-06-19 | 广东工业大学 | 一种超声检测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588324A (zh) * | 2004-08-31 | 2005-03-02 | 浙江中控技术股份有限公司 | 基于控制系统实现在线更新数据的方法 |
CN101256499A (zh) * | 2008-04-02 | 2008-09-03 | 凌阳科技股份有限公司 | 一种下载目标文件的方法及系统 |
US20110131549A1 (en) * | 2009-11-30 | 2011-06-02 | Sap Ag | Central configuration and transport supporting software lifecycles |
-
2011
- 2011-05-30 CN CN2011101420340A patent/CN102354165B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588324A (zh) * | 2004-08-31 | 2005-03-02 | 浙江中控技术股份有限公司 | 基于控制系统实现在线更新数据的方法 |
CN101256499A (zh) * | 2008-04-02 | 2008-09-03 | 凌阳科技股份有限公司 | 一种下载目标文件的方法及系统 |
US20110131549A1 (en) * | 2009-11-30 | 2011-06-02 | Sap Ag | Central configuration and transport supporting software lifecycles |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707690A (zh) * | 2012-05-30 | 2012-10-03 | 浙江中控技术股份有限公司 | 一种组态数据的下载方法和下载系统 |
CN102707690B (zh) * | 2012-05-30 | 2015-02-04 | 浙江中控技术股份有限公司 | 一种组态数据的下载方法和下载系统 |
CN102854862A (zh) * | 2012-09-12 | 2013-01-02 | 浙江中控技术股份有限公司 | 一种ff接口功能块 |
CN104699034A (zh) * | 2013-12-03 | 2015-06-10 | 西门子公司 | 对制造执行系统中的设计更新进行管理 |
WO2016082474A1 (zh) * | 2014-11-25 | 2016-06-02 | 中兴通讯股份有限公司 | 一种人机命令脚本更新方法、装置及计算机存储介质 |
CN105094919A (zh) * | 2015-08-13 | 2015-11-25 | 海信集团有限公司 | 一种应用程序启动方法 |
CN105653333A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川控制技术有限公司 | 可编程逻辑控制器用户程序在线修改系统及方法 |
CN107621972A (zh) * | 2016-07-15 | 2018-01-23 | 中兴通讯股份有限公司 | 大数据任务动态管理方法、装置及服务器 |
CN106205080A (zh) * | 2016-08-26 | 2016-12-07 | 爱普(福建)科技有限公司 | 一种人机界面修改报警限值的方法以及系统 |
CN108099818A (zh) * | 2016-11-25 | 2018-06-01 | 比亚迪股份有限公司 | 车辆配置信息的自学习方法和自学习系统以及车辆 |
CN108099818B (zh) * | 2016-11-25 | 2020-12-25 | 比亚迪股份有限公司 | 车辆配置信息的自学习方法和自学习系统以及车辆 |
CN108052739A (zh) * | 2017-12-13 | 2018-05-18 | 嘉兴倚韦电子科技有限公司 | 集成电路半定制后端设计快速通道设计方法 |
CN108052739B (zh) * | 2017-12-13 | 2021-07-20 | 嘉兴倚韦电子科技有限公司 | 集成电路半定制后端设计快速通道设计方法 |
CN110609698A (zh) * | 2019-08-08 | 2019-12-24 | 浙江中控技术股份有限公司 | 控制算法单元在线升级方法及装置 |
CN110824976A (zh) * | 2019-09-17 | 2020-02-21 | 浙江源创建筑智能科技有限公司 | 一种实现组态存档上载并解析的方法及系统 |
CN111307936A (zh) * | 2019-12-04 | 2020-06-19 | 广东工业大学 | 一种超声检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102354165B (zh) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102354165B (zh) | 在线更新数据的方法和装置 | |
CN107407918B (zh) | 利用app扩展可编程逻辑控制器 | |
CN108846630A (zh) | 一种资源控制系统及方法 | |
CN107092521B (zh) | 一种分布式任务调度方法、装置及系统 | |
CN110427252A (zh) | 基于任务依赖关系的任务调度方法、装置及存储介质 | |
CN102999387B (zh) | 进程运行装置及方法 | |
CN104793994A (zh) | 批量作业处理方法、装置及系统 | |
CN102546207B (zh) | 一种分布式集中调度升级网元软件版本的方法和系统 | |
CN110262822B (zh) | 多联机系统及其升级方法和装置 | |
CN104077131A (zh) | 一种组件部署系统及方法 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
CN102572896A (zh) | 一种无线通讯系统升级方法及升级装置 | |
CN111290768A (zh) | 一种容器化应用系统的更新方法、装置、设备和介质 | |
CN110347494A (zh) | 上下文信息管理方法、装置、系统及计算机可读存储介质 | |
CN110480633B (zh) | 一种控制设备的方法、装置及存储介质 | |
CN107015520B (zh) | 用于借助网络协议访问数据或函数的方法和设备 | |
CN103150203B (zh) | 一种虚拟机控制系统、虚拟机控制器及控制方法 | |
WO2007006859A1 (en) | Method and device arrangement for managing a client/server environment | |
CN109634734A (zh) | 自动编译发布方法、装置及计算机可读存储介质 | |
CN110007946A (zh) | 一种算法模型的更新方法、装置、设备及介质 | |
CN105260316A (zh) | 一种软件系统动态测试的方法、装置及系统 | |
CN112231231B (zh) | 云端服务的调试方法、系统及装置 | |
CN115187097A (zh) | 一种任务排期方法、装置、电子设备以及计算机存储介质 | |
CN116032978A (zh) | 基于云服务的软件定义工业物联控制方法及系统 | |
CN106776597A (zh) | 结构化数据的下载方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |