一种分散控制系统全局变量点产物文件生成方法和系统与流程

文档序号:27770471发布日期:2021-12-04 02:57阅读:91来源:国知局
一种分散控制系统全局变量点产物文件生成方法和系统与流程

1.本发明涉及分散控制系统,具体为一种分散控制系统全局变量点产物文件生成方法和系统。


背景技术:

2.分散控制系统(dcs)的全局变量编译,一方面能够检查工程人员在组态过程中未发现的全局变量配置错误,消除组态中存在的安全隐患;另一方面可以通过编译形成控制器需要的产物文件,控制器解析编译过程中生成的产物文件。
3.在组态下装到控制器中时,是将组态下装到主控制器,之后主控制器需要将组态以及主控制器运算过程产生的中间数据同步到从控制器(分散控制系统设计要求,能够实现双控制器冗余运行,才能保证系统的可靠性以及安全性),按照系统的设计要求,主从控制器同步的时间越短,对系统的扰动越小,系统稳定性越强。因此,组态文件在保证组态信息全面的前提下,格式尽可能简洁便于控制器解析,文件越小越有利于主从控制器快速同步,提高系统稳定性以及安全性。但是现有技术生成的全局变量产物文件过大,不但占用内存过大,并且导致主从控制器同步不能快速进行,导致在产物文件下载过程中,控制器需要分配过多的软硬件资源进行文件传输,导致产物文件下载对控制器产生的扰动较大,导致控制器运行不稳定。现有的产物文件结构过于复杂,不利于控制器进行产物文件解析过程,无法实现控制器组态快速实时更新,这也是造成控制器运行不稳定的主要因素之一。


技术实现要素:

4.针对现有技术中存在的问题,本发明提供一种分散控制系统全局变量点产物文件生成方法和系统,所生成的产物文件占用的存储空间小,提高了上位机与控制器之间的通信效率,减小文件传输对控制器产生的扰动,避免对控制器的稳定行产生影响,且产物文件便于控制器解析。
5.本发明是通过以下技术方案来实现:一种分散控制系统全局变量点产物文件生成方法,包括:读取全局变量,并根据预设规则将全局变量划分为若干页,每一页作为一个程序组织单元;对组态工具中用于存储全局变量点产物文件的预分配内存进行分区处理,具体划分为:文件头信息区、变量区、指令码区及页面信息区;对每个程序组织单元中的全局变量进行编译,对应每个程序组织单元分别得到一组文件头信息、iec变量、指令码以及页面信息;将文件头信息、iec变量、指令码以及页面信息分别存储在对应的文件头信息区、变量区、指令码区及页面信息区,得到全局变量点产物文件,每个程序组织单元对应产生一个全局变量点产物文件。
6.优选的,读取全局变量,并根据预设规则将全局变量划分为若干页,每一页作为一
个程序组织单元,具体为:采用组态工具编译器读取全局变量,在读取全局变量的过程中,按照全局变量的编号对全局变量进行均等分页,每一页作为一个程序组织单元。
7.进一步的,在读取全局变量的过程中,根据全局变量的类型读取全局变量中相应的字段。
8.优选的,文件头信息包括程序组织单元的类型、程序组织单元的编号和任务等级信息。
9.优选的,对每个程序组织单元中的全局变量进行编译,对应每个程序组织单元分别得到iec变量,具体为:遍历所有的程序组织单元,遍历当前程序组织单元中的所有全局变量,按照当前全局变量的类型所对应的预设转换方法,将当前全局变量中的每个字段均转换为iec变量。
10.进一步的,iec变量中存储的内容为:a.全局变量字段的值;b.全局变量字段的值类型;c. iec变量的偏移地址。
11.优选的,对每个程序组织单元中的全局变量进行编译,对应每个程序组织单元分别得到指令码,具体为:遍历所有的程序组织单元,遍历当前程序组织单元中的所有全局变量,根据当前全局变量的类型,生成当前全局变量对应的指令码。
12.优选的,页面信息为程序组织单元中所有全局变量的配置信息。
13.优选的,将页面信息以xml格式存储在页面信息区。
14.一种分散控制系统全局变量点产物文件生成系统,包括:读取模块,用于读取全局变量,并根据预设规则将全局变量划分为若干页,每一页作为一个程序组织单元;分区模块,对组态工具中用于存储全局变量点产物文件的预分配内存进行分区处理,具体划分为;文件头信息区、变量区、指令码区及页面信息区;编译模块,对每个程序组织单元中的全局变量进行编译,以对应每个程序组织单元分别得到一组文件头信息、iec变量、指令码以及页面信息;存储模块,用于将文件头信息、iec变量、指令码以及页面信息分别存储在对应的文件头信息区、变量区、指令码区及页面信息区,对应每个程序组织单元产生一个全局变量点产物文件。
15.与现有技术相比,本发明具有以下有益的技术效果:本发明通过将全局变量集合中的全局变量划分为若干页(程序组织单元),便于对全局变量的扩展及管理;提高了组态软件全局变量的扩展性,便于全局变量数据管理及产物文件的生成效率。通过对每个程序组织单元中全局变量信息进行分段存储,便于控制器解析;同时,由于分段存储结构简单,产物文件所占内存小,节省存储空间,可以提高上位机和控制器之间文件传输的效率,同时控制器为传输文件所分配的软硬件资源更少,减小文件传输对控制器产生的扰动,避免对控制器的稳定行产生影响。
16.进一步的,全局变量类型、全局变量值均以iec变量形式保存,便于控制器解析读
取,控制器能够根据具体参数类型,分配内存,避免控制器的内存浪费。
17.进一步的,将页面信息以xml格式进行存储,便于全局变量点产物文件上装之后,上位机组态软件进行解析。
附图说明
18.图1为本发明所述的分散控制系统全局变量点产物文件生成方法的流程图。
具体实施方式
19.下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
20.如图1,一种分散控制系统全局变量点产物文件生成方法,包括:读取全局变量,并根据预设规则将全局变量划分为若干页,每一页作为一个程序组织单元;对组态工具中用于存储全局变量点产物文件的预分配内存进行分区处理,具体划分为:文件头信息区、变量区、指令码区及页面信息区;对每个程序组织单元中的全局变量进行编译,对应每个程序组织单元分别得到一组文件头信息、iec变量、指令码以及页面信息;将文件头信息、iec变量、指令码以及页面信息分别存储在对应的文件头信息区、变量区、指令码区及页面信息区,得到全局变量点产物文件,每个程序组织单元对应产生一个全局变量点产物文件。
21.本发明所述的全局变量点产物文件中的全局变量点含义解释如下:全局变量是dcs系统中为实现测点跨控制器引用,以及监控后台通讯(数据上送以及指令下发)所设计的软测点(相较于输入输出测点,没有实际的物理接线端子,只是软件内部的一个虚拟的输入输出点,故称为软测点),全局变量具有全局可见性,本控制器以及其他控制器均可引用全局变量点。
22.本发明所述的iec变量中iec(international electro technical commission)全称为国际电工委员会,iec变量的解释:为了实现不同厂家分散控制系统之间互联互通,本发明所保护的分散控制系统严格按照国际电工委员会iec制定的iec61131标准进行设计,在软件内部,相关的软测点(全局变量点)、硬测点(输入输出点)的变量均定义为具有相同数据结构的变量,为实现统一管理,在本发明系统内,将其统一命名为iec变量。
23.本发明所述的分散控制系统全局变量点产物文件生成方法,即全局变量编译的流程具体可描述为:步骤1,将全局变量集合中的全局变量划分为若干页,每一页作为一个程序组织单元(pou)写入组态工具内存中;一个程序组织单元将对应产生一个全局变量点产物文件;具体如下:首先组态工具编译器读取存储全局变量信息的配置文件,在读取全局变量的过程中,按照全局变量的编号对全局变量进行均等分页,每页分配n个全局变量,每页的全局变量作为一个程序组织单元。
24.在读取全局变量的过程中,按照全局变量的类型分类处理,根据全局变量类型读
取不同的字段。全局变量类型分为模拟量、开关量和整型量。全局变量的类型不影响全局变量所在的页数,全局变量所在页数仅仅由全局变量编号决定。在软件界面向用户展示全局变量时,需要按照全局变量的类型,将全局变量显示在对应类型的界面上。
25.步骤2,分别对组态工具内存中的每个程序组织单元中的全局变量信息进行编译,对应每个程序组织单元得到一组文件头信息、iec变量、指令码以及页面信息;对组态工具中用于存储各产物文件的预分配内存进行分区处理,具体划分为;文件头信息区、变量区、指令码区及页面信息区,分别用于存储文件头信息、iec变量、指令码以及页面信息。具体如下:步骤2.1,生成程序组织单元的文件头信息,文件头信息包括程序组织单元的类型、程序组织单元的编号和任务等级信息。本发明中,程序组织单元的类型为全局变量。
26.步骤2.2,生成程序组织单元的iec变量,具体为:遍历所有的程序组织单元,遍历当前程序组织单元中的所有全局变量,按照当前全局变量的类型所对应的预设转换方法,将当前全局变量中的每个字段转换为iec变量,iec变量中存储的内容为:a.全局变量字段的值;b.全局变量字段的值类型;c. iec变量的偏移地址(控制器解析文件会用到);偏移地址是根据全局变量在组态工具中新建时候的位置获取的,每个全局变量都有唯一的编号,新建一个全局变量,其编号就是在上一个全局变量编号的基础上加1。
27.将每个程序组织单元中所有全局变量的iec变量存储在程序组织单元iec变量的列表。
28.步骤2.3,生成程序组织单元的指令码,具体为:遍历所有的程序组织单元,且遍历当前每个程序组织单元中的所有全局变量,根据当前全局变量的类型,生成当前全局变量对应的指令码(供控制器使用),将全局变量的指令码写入到用于存储全局变量产物文件的预分配内存的指令码区。
29.步骤2.4,生成程序组织单元的页面信息,具体为:将当前程序组织单元中的全局变量的配置信息以xml的格式保存在用于存储全局变量产物文件的预分配内存的页面信息区。一页全局变量代表一个产物文件,所以需要将当前页中所有全局变量 [数量≤n]的配置信息写入与当前程序组织单元对应的预分配内存的页面信息区。
[0030]
步骤2.5,完成产物文件的生成。文件头信息、iec变量、指令码以及页面信息对应填入文件头信息区、变量区、指令码区及页面信息区,即得到产物文件。
[0031]
下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未纰漏的细节,请参照本发明方法实施例。
[0032]
本发明再一实施例中,提供一种分散控制系统全局变量点产物文件生成系统,能够用于实现上述的分散控制系统全局变量点产物文件生成法,具体的,该分散控制系统全局变量点产物文件生成系统包括:读取模块,用于读取全局变量,并根据预设规则将全局变量划分为若干页,每一页作为一个程序组织单元;
分区模块,对组态工具中用于存储全局变量点产物文件的预分配内存进行分区处理,具体划分为;文件头信息区、变量区、指令码区及页面信息区;编译模块,对每个程序组织单元中的全局变量进行编译,以得到文件头信息、iec变量、指令码以及页面信息;存储模块,用于将文件头信息、iec变量、指令码以及页面信息分别存储在文件头信息区、变量区、指令码区及页面信息区,对应每个程序组织单元产生一个全局变量点产物文件。
[0033]
本发明再一个实施例中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor、dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于分散控制系统全局变量点产物文件生成方法的操作。
[0034]
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non

volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关分散控制系统全局变量点产物文件生成方法的相应步骤。
[0035]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0036]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0037]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0038]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0039]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1