一种基于上下位机组态差异识别的控制器组态下载方法与流程

文档序号:30182163发布日期:2022-05-26 14:01阅读:185来源:国知局
一种基于上下位机组态差异识别的控制器组态下载方法与流程

1.本发明涉及工业自动化智能控制领域,特别是涉及到一种基于上下位机组态差异识别的控制器组态下载方法。


背景技术:

2.目前,在工业控制领域中控制器的组态下载是根据操作来记录组态修改标志,在下载时根据组态项修改增删改标志来进行相对应的操作。
3.然而,采用差异标志的方案,需要考虑的情况众多,代码复杂度大,难以维护,并且容易存在缺陷。此外也只能记录当前最新一个版本的差异信息,在处理组态版本切换、回滚等场景时,无法做到只下载精确的更新信息,从而导致下载操作会干扰现场设备的运行。


技术实现要素:

4.本发明为了克服以上技术的不足,提供了一种基于上下位机组态差异识别的控制器组态下载方法,
5.本发明克服其技术问题所采用的技术方案是:本发明提出的一种基于上下位机组态差异识别的控制器组态下载方法,具体包括:上位机读取控制器的第一文件,从而获取控制器的组态文件列表和每个组态文件对应的第一文件摘要;基于第一文件摘要和上位机中第二文件摘要的对比结果确定待下载组态文件,以及基于待下载组态文件生成第三文件;下载待下载组态文件和第三文件至控制器。
6.进一步的,所述上位机读取控制器的组态文件,从而获取控制器的组态文件列表和每个组态文件对应的摘要,具体包括:上位机发送第一指令至控制器;所述控制器接收第一指令后发送第一文件至上位机;上位机从接收的第一文件获取控制器的组态文件列表,以及与组态文件对应的摘要。
7.进一步的,基于第一文件摘要和上位机中第二文件摘要的对比结果确定待下载组态文件,以及,基于待下载组态文件生成第三文件,具体包括:比较第一文件的摘要和第二文件的摘要,若两个摘要不同,则对应摘要不同的组态文件的集合作为待下载组态文件;基于待下载组态文件生成第三文件,其中第三文件中至少包括待下载组态文件中包括的文件列表和对应的摘要,以及,文件的操作标识。
8.通过摘要的比较确定修改的组态内容,其中,第三文件保存了修改的文件,以及对修改的文件如何进行修改的信息。
9.进一步的,还包括上位机基于摘要的对比结果从控制器中获取第二组态文件,并将待下载组态文件内容和第二组态文件内容进行对比,从而得到修改内容。
10.方便呈现给用户修改了哪些组态内容,从而进行进一步确认。
11.进一步,还包括控制器基于上位机下载的待下载组态文件和第三文件通知服务重载组态文件。
12.进一步的,所述控制器基于上位机下载的待下载组态文件和第三文件通知服务重
载组态文件,具体包括:控制器基于接收的第三文件处理待下载组态文件;并基于待下载组态文件,通知待下载组态文件对应的服务重载配置文件。
13.仅通知有修改的服务对应进行重载,从而不影响没有发生修改的服务。
14.进一步的,所述控制器基于接收的第三文件处理待下载组态文件,具体包括:控制器对待下载组态文件和第三文件进行校验,若校验通过,则基于第三文件中修改记录,对应将待下载组态文件新增或者覆盖组态文件至控制器中,或者删除控制器中组态文件。
15.进一步的,所述控制器对待下载组态文件和第三文件进行校验,具体包括:控制器计算接收的待下载组态文件的摘要,并将其与第三文件中的摘要进行比较,若摘要相等,则校验通过,否则校验未通过。
16.控制器对接收的文件进行校验,保证下载文件的正确性。
17.进一步的,还包括基于控制器负载,上位机调整下载至控制器中的组态文件的下载速度。
18.控制下载速度,减少对网络的扰动。
19.进一步的,所述摘要为基于md5算法对组态文件计算得到代码。
20.通过md5算法得到每个组态文件对应的唯一md5码。
21.本发明的有益效果是:
22.1、通过控制器内每个文件的摘要,进行组态识别修改点,仅下载改动的文件,从而减小传输量;
23.2、对每个文件的上传下载之后都会进行摘要校验,保证正确性。
24.3、控制下载文件传输速率,减小对网络的扰动。
25.4、下载至控制器后的组态文件,只影响下载的组态文件与其相对应的服务,不扰动其他服务。
附图说明
26.图1为本发明实施例的流程框图;
27.图2为本发明实施例的上位机和智能控制器的协作数据流图;
28.图3为本发明实施例的新增组态数据的上位机和智能控制器的协作数据流图。
具体实施方式
29.为了便于本领域人员更好的理解本发明,下面结合附图和具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。
30.需要说明的是,本发明技术方案实施的前提是应用于工业控制系统中的智能控制器,可支持全部或部分组态上载,并且控制器存在足够的存储空间保存完整组态。
31.如图1所示,为本发明实施例的一种基于上下位机组态差异识别的控制器组态下载方法的流程图,具体包括:
32.s1、上位机读取控制器的第一文件,从而获取控制器的组态文件列表和每个组态文件对应的摘要。
33.控制器中的组态文件中有一个第一文件,记录着所有其它组态文件的文件信息,这个文件信息至少包括组态文件名和摘要。
34.在一些实施方式中,摘要是采用md5摘要算法对组态文件计算得到的代码。md5摘要算法可以计算任意长度的文件的摘要,结果为长度固定的字符串。内容不同的文件计算出的摘要必然不同。因此每个组态文件都有其唯一对应的摘要。
35.在上位机上对控制器的组态数据进行修改,这个修改可以是增加、删除或者更改操作的一种或者几种,可以是对其中一个组态文件的修改,也可以是对多个组态文件的修改。
36.上位机中对组态文件修改后,如图2所示,向控制器发送读取文件签名列表指令,控制器反馈上位机第一文件,从而上位机获得控制器内组态每个文件的文件名和md5摘要。
37.s2、基于第一文件摘要和上位机中第二文件摘要的对比结果确定待下载组态文件,以及基于待下载组态文件生成第三文件。
38.上位机中的第二文件用于记录上位机中的组态文件的信息,包括组态文件的名称和对应的摘要。如果上位机对组态文件进行增改删的动作,那么组态文件发生变化,对应的摘要也发生变化,第二文件也随之发生更新。
39.将获取的第一文件摘要和第二文件摘要进行对比,如果摘要不同,则说明摘要对应的文件进行了修改,并将上位机中修改组态文件作为待下载组态文件作为待下载的文件。并基于待下载组态文件,得到保存新增、删除以及修改的文件列表和对应待下载组态文件摘要的第三文件,
40.需要说明的是,待下载组态文件并不仅仅代表一个组态文件,而是上位机中相对于控制器的有修改的组态文件的集合。
41.s3、下载待下载组态文件和第三文件至控制器。
42.上位机将待下载组态文件和第三文件压缩打包,并下载至控制器,其中第三文件中保存此次下载修改的文件列表和摘要,以及要删除的文件,还包括了针对修改的文件列表要进行什么操作的标识。
43.在一些实施方式中,上位机还向控制器请求上传第二组态文件,第二组态文件是本来保存在控制器的,但是其对应的摘要发生变化了,即其在上位机上对应的组态文件发生了修改,则控制器将对应摘要发生变化的组态文件打包发送至上位机。将待下载组态文件和第二组态文件进行对比,通过对比可得知具体的修改内容,并将该内容呈现给用户。
44.s4、控制器基于上位机下载的待下载组态文件和第三文件通知服务重载组态文件。
45.控制器对接收的待下载组态文件和第三文件解压后先进行校验,在一些实施方式中,控制器根据第三文件中记录逐个计算待下载组态文件中各个文件的md5摘要,并将计算得到的摘要和接收的第三文件中的摘要进行比较,确定是否相等,如果相等,则校验通过,说明下载过程中没有错误。若待下载组态文件中的文件是进行了修改,则将新的组态文件覆盖原来的组态文件,并通知相关服务。若第三文件中针对部分组态文件是要删除的,则控制器将第三文件中记载的删除文件删除。或者根据第三文件中记载的新增文件,并通知相关服务。
46.在一些实施方式中,上位机在下载待下载组态文件和第三文件之前会计算每个待下载文件的大小,下载时上位机根据当前控制器的负载,选择适当的下载速率,进行流量控制,减小下载时对网络扰动。
47.通过比对文件md5摘要来获得存在修改的文件,从而识别出下载内容。在下载时进行速度控制。下载后只通知所下载文件对应的服务。从而不会扰动其它服务。
48.下面以上位机增加功能块的修改组态文件为例,对本发明的技术方案示例描述,将组态下载的过程分为下载前和下载后进行分别描述。在组态下载之前,如图3所示,智能控制器中运行的组态文件包括2个文件,分别是a.json和b.json,组态文件a.json和b.json分别对应的md5摘要代码分别是“axb4fd”和“bd3dba”。控制器中的第一文件记录这组态文件列表和对应的摘要代码,如图3所示。上位机中也保存一个第二文件用于记录上位机的组态文件类别和对应的摘要代码,若上位机对组态文件进行修改,例如增加了一个功能块使得a.json发生变化,那么上位机中的第二文件中记录的内容,发生了更新,组态文件a.json对应的md5摘要变化为“xz4fda”。上位机完成了要修改的内容,则向控制发送读取文件签名列表的指令。控制器接收到该指令后,将第一文件上传到上位机中,上位机从第一文件中获取控制器中运行的组态文件的每个文件的文件名和md5摘要。上位机将获得的第一文件中的文件信息和第二文件中的文件信息进行比较,主要是对md5摘要进行对应比较,如果是某个文件对应的摘要发生变化了,则说明该文件进行了修改。
49.在一些实施方式中,上位机基于有变化的文件还向控制器请求原文件,并将原文件的内容和修改后的文件内容进行比较,并呈现给用户查看,用于提示其改动的内容。在本发明的一个实施例中,则展现了a.json增加功能块的内容。并将增加的内容呈现给用户,用户还可以进行反复修改,从而最终确认修改的内容。
50.需要说明的是,上位机要修改的组态文件是上一次下载至控制器中的,这样才能进行摘要对比。
51.确认好修改的内容后,则将新增的组态文件、修改的组态文件作为待下载组态文件压缩打包,在本发明的一个实施例中,将a.json文件打包,此外,压缩包中还有一个第三文件,记录此次修改的文件列表和每个文件的md5摘要。
52.在一些实施方式中,若上位机将某些组态文件删除,例如删除了c.json文件,则在第三文件中也记录删除的文件信息,另外还设有标识来说明对相应的文件是拷贝还是删除。
53.上位机开始将待下载组态文件和第三文件下载至控制器中,在本发明的一个实施例中,下载的是a.json和projectfiles.json的压缩包至控制器,其中,projectfiles.json为第三文件。
54.控制器接收待下载组态文件和第三文件后,将其解压缩后,首先计算待下载组态文件对应的md5摘要,在本发明的一个实施例中,计算下载的a.json文件对应的md5摘要和projectfiles.json中的对应a.json文件的md5摘要进行比较,若相等,说明下载过程没有错误。然后将下载的a.json文件覆盖控制器中运行的原组态文件a.json,并通知下载文件相关的服务,从而不会扰动其他服务。
55.在一些实施方式中,在下载时,上位机根据当前控制器的负载,选择适当的下载速度,进行流量控制,减小下载时对网络的扰动。
56.通过上述步骤,每次在线下载只会下载必需的文件,从而大大提升了下载的效率。
57.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更
多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
58.以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述做出许多变化和改进,这些变化和改进应该属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1