本发明涉及基于WinCC OA的数据采集技术领域,尤其涉及基于WinCC OA的数据采集系统,运用基于WinCC OA的数据采集系统进行数据采集的方法,建立基于WinCC OA的数据采集系统的装置和建立基于WinCC OA的数据采集系统的方法。
背景技术:
WinCC OA(Windows Control Center Open Architecture)是西门子高端大型SCADA(Supervisory Control and Data Acquisition,数据采集与监视控制)系统。目前,大多数基于WinCC OA的数据采集系统一般采用的是轮询方式进行数据采集,数据采集/更新频率一般在500ms或1s以上,尤其是大型项目,采集点数多,归档数量大。
但实际上,WinCC OA的一个项目在进行数据采集时采集速度有一个瓶颈值,WinCC OA SIL3手册中的推荐值是小于每秒3000个数值发生变化(3000VC/S)。如果数据采集太过频繁,会导致单台计算机数据处理不过来,常会发生数据丢失、延时、无响应等等数据超载现象。为了避免数据采集过载的现象,常常采用多台分布式计算机一起分担完成大数据量的采集任务。
技术实现要素:
本发明的目的之一是提供单台计算机中基于WinCC OA的数据采集系统、方法,建立该数据采集系统的装置和方法,提高单台计算机中CPU资源的利用率。
本发明的一个方面提供了建立基于WinCC OA的数据采集系统的装置,包括:一项目建立模块,用于在单台计算机中的一WinCC OA中建立复数个分布式项目单元,计算机包括复数个CPU内核,每一项目单元包括:一分布式通讯接口模块,各项目单元通过分布式通讯接口模块进行通讯,一事件管理模块,用于管理项目单元中的全局数据映像区;和一端口配置模块,用于在配置文件中为每一项目单元配置一分布式通讯接口模块的端口号和一事件管理模块的端口号,各项目单元的分布式接口模块的端口号不相同,各项目单元的事件管理模块的端口号不相同。由该计算机中的复数个CPU内核共同执行多个项目单元的事件管理模块的进程,CPU资源的利用率得到提高。
在建立基于WinCC OA的数据采集系统的装置的另一种示意性的实施方式中,至少一项目单元还包括一数据采集接口驱动模块,项目单元通过数据采集接口驱动模块从数据源采集数据。项目单元内包括数据采集接口驱动模块,能够从没有数据采集接口驱动模块的 数据源采集数据。
在建立基于WinCC OA的数据采集系统的装置的再一种示意性的实施方式中,复数个分布式项目单元包括:一主项目单元,用于与操作员端连接,和复数个子项目单元,分别与对应数据源连接。用户能够通过操作员端访问主项目单元的数据,进而访问所有项目单元的数据。
本发明的另一个方面提供了建立基于WinCC OA的数据采集系统的方法,包括:
在单台计算机中的一WinCC OA中建立复数个分布式项目单元,计算机包括复数个CPU内核,每一项目单元包括:一分布式通讯接口模块,各项目单元通过分布式通讯接口模块进行通讯,一事件管理模块,用于管理项目单元中的全局数据映像区;和
在配置文件中为每一项目单元配置一分布式通讯接口模块的端口号和一事件管理模块的端口号,各项目单元的分布式接口模块的端口号不相同,各项目单元的事件管理模块的端口号不相同。由该计算机中的复数个CPU内核共同执行多个项目单元的事件管理模块的进程,CPU资源的利用率得到提高。
在建立基于WinCC OA的数据采集系统的方法的另一种示意性的实施方式中,至少一项目单元还包括一数据采集接口驱动模块,项目单元通过数据采集接口驱动模块从数据源采集数据。项目单元内包括数据采集接口驱动模块,能够从没有数据采集接口驱动模块的数据源采集数据。
在建立基于WinCC OA的数据采集系统的方法的再一种示意性的实施方式中,复数个分布式项目单元包括:一主项目单元,用于与操作员端连接,和复数个子项目单元,分别与对应数据源连接。用户能够通过操作员端访问主项目单元的数据,进而访问所有项目单元的数据。
本发明的另一个方面提供了基于WinCC OA的数据采集系统,位于单台计算机,计算机包括复数个CPU内核,基于WinCC OA的数据采集系统包括:
复数个分布式项目单元,用于共同执行一数据采集任务,每一项目单元执行数据采集任务的一部分,每一项目单元包括:一分布式通讯接口模块,各项目单元通过分布式通讯接口模块进行通讯,一事件管理模块,用于管理项目单元中的全局数据映像区;
一配置文件,用于为每一项目单元配置一分布式通讯接口模块的端口号和一事件管理模块的端口号,各项目单元的分布式通讯接口模块的端口号不相同,各项目单元的事件管理模块的端口号不相同。由该计算机中的复数个CPU内核共同执行多个项目单元的事件管理模块的进程,CPU资源的利用率得到提高。
在基于WinCC OA的数据采集系统的另一种示意性的实施方式中,至少一项目单元还 包括一数据采集接口驱动模块,项目单元通过数据采集接口驱动模块从数据源采集数据。项目单元内包括数据采集接口驱动模块,能够从没有数据采集接口驱动模块的数据源采集数据。
在基于WinCC OA的数据采集系统的再一种示意性的实施方式中,复数个分布式项目单元包括:一主项目单元,用于与操作员端连接,和复数个子项目单元,分别与对应数据源连接。用户能够通过操作员端访问主项目单元的数据,进而访问所有项目单元的数据。
本发明的另一个方面提供了运用上述基于WinCC OA的数据采集系统进行数据采集的方法,包括:
在计算机中同时运行复数个分布式项目单元,每一项目单元从对应数据源采集数据;
计算机的操作系统将复数个分布式项目单元的事件管理模块分配到计算机中复数个CPU内核中的至少两个进行处理;
至少两个项目单元的分布式通讯接口模块通过各自端口号进行访问。由该计算机中的复数个CPU内核共同执行多个项目单元的事件管理模块的进程,CPU资源的利用率得到提高。
附图说明
下文将以明确易懂的方式通过对优选实施例的说明并结合附图来对本发明上述特性、技术特征、优点及其实现方式予以进一步说明,其中:
图1是本发明一个实施例提供的基于WinCC OA的数据采集系统结构框图;
图2是本发明另一个实施例提供的基于WinCC OA的数据采集系统结构框图;
图3是本发明另一个实施例提供的基于WinCC OA的数据采集系统结构框图;
图4是本发明一个实施例提供的运用基于WinCC OA的数据采集系统进行数据采集的方法流程图;
图5为本发明的一个实施例提供的建立基于WinCC OA的数据采集系统的装置结构框图;
图6为本发明的一个实施例提供的建立基于WinCC OA的数据采集系统的方法流程图。
标号说明:
1 单台计算机
10 分布式项目单元
101 分布式通讯接口模块
102 事件管理模块
103 数据采集接口驱动模块
20 操作员端
30 数据源
40 项目建立模块
50 端口配置模块
具体实施方式
为了对发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示相同的部分。
下面讨论的各图以及被用来描述在该专利文档中的本公开的原理的各种实施例仅以说明的方式并且无论如何不应该被解释成限制本公开的范围。本领域技术人员将会理解,可以在任何适当布置的设备中实施本公开的原理。将参考示例性非限制实施例来描述本申请的各种创新教导。
在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地示出了其中的一个,或仅标出了其中的一个。
图1为本发明一个实施例提供的基于WinCC OA的数据采集系统结构框图。如图1所示,该基于WinCC OA的数据采集系统位于单台计算机1中,该计算机1包括复数个CPU内核(图中未示出)。
该基于WinCC OA的数据采集系统包括:
复数个分布式项目单元10,用于共同执行一数据采集任务,每一项目单元10执行数据采集任务的一部分,每一项目单元10包括:一分布式通讯接口模块(或称之为DIST模块)101,各项目单元10通过分布式通讯接口模块101进行通讯,和一事件管理模块(或称之为EV模块)102,用于管理项目单元10中的全局数据映像区;
一配置文件(图中未示出),用于为每一项目单元10配置一分布式通讯接口模块101的端口号和一事件管理模块102的端口号,各项目单元10的分布式通讯接口模块101的端口号不相同,各项目单元10的事件管理模块102的端口号不相同。
该复数个项目单元10在该单台计算机1上同时运行,共同执行一个大的数据采集任 务,每一个项目单元10执行其中的一部分数据采集任务。由于每一个项目单元10的端口号不相同,复数个项目单元10在该单台计算机1上同时运行时,该计算机1的操作系统会将不同项目单元10的事件管理模块102自动分配到至少两个CPU内核中处理。在一个示意性的实施方式中,该计算机1的操作系统会将不同项目单元10的事件管理模块102自动分配到该计算机1的全部CPU内核中处理。这样由该计算机1中的复数个CPU内核共同执行多个项目单元的事件管理模块的进程,CPU资源的利用率得到提高;另外,根据实际需要设计共同执行一个大的数据采集任务的项目单元的数量,能够使得每个项目单元所分担的采集数据的任务的最大负荷不超过瓶颈值(例如3000VC/S)。
该复数个项目单元10之间采用分布式结构,都运行在同一计算机1上,共享授权。一个项目单元10中的分布式通讯接口模块101和另一个项目单元10中分布式通讯接口模块101间使用TCP协议和分布式通讯接口模块的端口号进行访问,实现互连互通。这样各个项目单元中的数据可以相互透明访问,数据库查询,报警趋势功能都可以如同单个项目一样正常使用。
需要说明的是,一个WinCC OA的项目单元10中,各个工作模块(包括分布式通讯接口模块101、事件管理模块102)是以一组进程的方式并行运行,每个模块有一个不能重复的端口号。当复数个项目单元10在同一台计算机1上运行时,需要将各个工作模块(包括分布式通讯接口模块101、事件管理模块102)的端口号在配置文件中分别重新定义,确保所使用的端口号不会发生冲突。
从图1中还可以看出,该复数个项目单元10包括一主项目单元10,用于与操作员端20连接,和复数个子项目单元10,分别与对应数据源30连接。主项目单元10和复数个子项目单元10之间是对等的分布式结构。各个操作员端20都能查看所有各个分布式项目单元10中的数据。在一个示意性的实施方式中,操作员端20的数量为1个或复数个。在一个示意性的实施方式中,操作员端20全部或部分位于该计算机1中,或者位于该计算机1之外的其他计算机中。
各项目单元10执行数据采集任务,需要通过数据采集接口驱动模块103与数据源30连接。该数据源30的数量可以是一个或复数个。该数据源30可以是PLC,或计算机上运行的OPC服务器。数据源30可以位于该计算机1之外(如图1和2所示),也可以位于该计算机1之内(如图3所示)。该数据采集接口驱动模块103可以全部或部分位于项目单元10内,此时至少一项目单元10还包括一数据采集接口驱动模块103,项目单元10通过数据采集接口驱动模块103从数据源30采集数据。图1中以全部数据采集接口驱动模块103位于项目单元10内为例,但并不以此为限。该数据采集接口驱动模块103也可以全部 或部分位于数据源内,图2中以部分数据采集接口驱动模块103位于项目单元10内为例,但并不以此为限。
运用图1所示的基于WinCC OA的数据采集系统进行数据采集的方法如图4所示。该数据采集的方法包括:
S10:在该计算机1中同时运行该复数个分布式项目单元10,每一项目单元10从对应数据源30采集数据;
S20:该计算机1的操作系统将复数个分布式项目单元10的事件管理模块102分配到计算机1中复数个CPU内核中的至少两个进行处理;
S30:至少两个项目单元10的分布式通讯接口模块101通过各自端口号进行访问。
图5为本发明的一个实施例提供的建立上述基于WinCC OA的数据采集系统的装置结构框图。该装置包括:
一项目建立模块40,用于在单台计算机1中的一WinCC OA中建立复数个分布式项目单元10,计算机1包括复数个CPU内核,每一项目单元10包括:一分布式通讯接口模块101,各项目单元10通过分布式通讯接口模块101进行通讯,一事件管理模块102,用于管理项目单元10中的全局数据映像区;和
一端口配置模块50,用于在配置文件中为每一项目单元10配置一分布式通讯接口模块101的端口号和一事件管理模块102的端口号,各项目单元10的分布式接口模块101的端口号不相同,各项目单元10的事件管理模块102的端口号不相同。
图6为本发明的一个实施例提供的建立上述基于WinCC OA的数据采集系统的方法流程图。该方法包括:
S40:在单台计算机1中的一WinCC OA中建立复数个分布式项目单元10,计算机1包括复数个CPU内核,每一项目单元10包括:一分布式通讯接口模块101,各项目单元10通过分布式通讯接口模块101进行通讯,一事件管理模块102,用于管理项目单元10中的全局数据映像区;和
S50:在配置文件中为每一项目单元配置一分布式通讯接口模块101的端口号和一事件管理模块102的端口号,各项目单元的分布式接口模块101的端口号不相同,各项目单元的事件管理模块102的端口号不相同。
应当理解,虽然本说明书是按照各个实施方式描述的,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施例的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施例或变更均应包含在本发明的保护范围之内。