一种分布式控制系统和数据报表生成方法
本发明要求申请人上海西门子工业自动化有限公司于2012年5月9日申请的名称为“一种分布式控制系统”的中国实用新型专利申请的优先权。
技术领域
本发明涉及工业自动化控制领域,特别涉及一种分布式控制系统和数据报表生成方法。
背景技术
在一个具有人机交互界面的分布式控制系统(Distributed Control System,DCS)中,用户往往不满足于人机交互界面所提供的系统监控功能,通常会要求系统能够对生产数据,或者设备状态参数等数据进行归档计算并生成出相应的用户报表,而且这个过程应当是周期性地自动完成的。
虽然西门子公司的WinCC产品组件中已经提供了一定的用户报表生成功能,但是在实际使用中该简单报表往往不能满足用户的灵活需要。因此,现有技术中亟需一种分布式控制系统,其能够基于现有的WinCC数据,通过某种方式让计算机对生产过程中的生产数据或设备状态参数进行归档计算并生成出用户所需报表,并且使这个过程可以周期性地自动完成。
发明内容
有鉴于此,本发明目的在于提出一种分布式控制系统和数据报表生成方法,使得基于现有的WinCC数据,对生产过程中的生产数据或设备状态参数进行处理,并周期性地自动生成用户所需的数据报表。
根据本发明的一个方面,提供一种分布式控制系统,所述系统包括现场设备、数据传输网络、控制器、现场总线、系统控制服务器和系统数据库,其中,所述系统控制服务器包括报表生成工具,所述报表生成工具基于所述系统数据库中的WinCC数据生成所述分布式控制系统的用户报表。
优选地,所述报表生成工具包括WinCC数据获取模块、数据选择模块、数据存储模块和报表生成模块。
优选地,所述WinCC数据获取模块,用于使用VBS通过OLE-DB方式从所述系统数据库中的一WinCC归档数据库中读取所存储的现场数据;所述数据选择模块,用于从所述WinCC数据获取模块所获取的现场数据中选择用于生成所述用户报表的现场数据;所述数据存储模块,用于将所述数据选择模块所选择的的现场数据以一定周期存储在所述系统数据库中的一报表数据库中;以及所述报表生成模块,用于根据用户事先设置的报表模板和数据计算规则,基于所述报表数据库中存储的数据,周期性地生成所述用户报表并输出所述用户报表,并以Excel格式输出。
优选地,所述报表生成工具进一步包括数据备份模块,其在生成数据报表之后将所述报表数据库中的数据进行导出并保存。
优选地,所述控制器是PLC。
优选地,所述现场总线是Profibus总线或Profinet总线。
根据本发明的另一个方面,还提供一种在分布式控制系统中生成数据报表的方法,所述分布式控制系统包括:现场设备、数据传输网络、控制器、现场总线、系统控制服务器和系统数据库,所述系统控制服务器包括一报表生成工具,所述报表生成工具进一步包括WinCC数据获取模块、数据选择模块、数据存储模块和报表生成模块,
其中,所述方法包括以下步骤:
步骤1:所述WinCC数据获取模块使用VBS通过OLE-DB方式从一WinCC归档数据库中读取所存储的现场数据,为后续生成用户数据报表做准备;
步骤2:所述数据选择模块从所述WinCC数据获取模块所获取的现场数据中选择用于生成后续用户报表的现场数据;
步骤3:所述数据存储模块将所选择的的现场数据以一定周期从WinCC归档数据库转存到一报表数据库中;以及
步骤4:所述报表生成模块根据用户事先设置的数据报表模板和数据计算规则,基于报表数据库中存储的数据,周期性地生成数据报表,并以Excel格式输出。
优选地,在所述步骤1之前,所述控制器从所述现场设备采集现场数据,将这些现场数据通过所述系统控制服务器存储在该WinCC归档数据库中。
优选地,所述报表生成工具进一步包括数据备份模块,所述方法在所述步骤4之后还包括步骤5:所述数据备份模块在生成数据报表之后将所述报表数据库中的数据进行导出并保存。
从上述方案中可以看出,根据本发明的技术方案,可以基于现有的WinCC数据,对生产过程中的生产数据或设备状态参数等进行处理,并周期性地自动生成用户所需的数据报表。
附图说明
下面将通过参照附图详细描述本发明的优选实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中:
图1是本发明具体实施方式中分布式控制系统的系统结构图;
图2是本发明具体实施方式中报表生成工具的结构图;
图3是本发明具体实时方式中分布式控制系统生成数据报表的操作流程图;
图4是使用本发明具体实施方式中分布式控制系统所生成的数据报表界面图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
图1是本发明具体实施方式中分布式控制系统的系统结构图。
如图1所示,本发明具体实施方式中的分布式控制系统包括多个现场设备1、数据传输网络2、控制器3、现场总线4、系统控制服务器5和系统数据库6。多个控制器3分布在工业现场,通过数据传输网络2连接多个现场设备2,并对这些现场设备2进行控制。这里,数据传输网络2既可以将控制器3的控制命令发送到现场设备2,也可以将现场设备2所采集到的数据传输给控制器3。多个控制器3还通过现场总线4与系统控制服务器5连接,该现场总线4可将控制器3采集到的现场数据传送到系统控制服务器5,从而进行系统级的数据处理和控制,同时也可以将用户在系统控制服务器5中输入的命令发送至控制器3,从而实现对现场设备1的控制。系统控制服务器5与系统数据库6连接,该系统数据库用于存储所采集的现场数据,作为后续数据处理的基础。
在具体实施方式的分布式控制系统中,现场设备1可以包括采集现场数据的各种传感器或执行控制命令的电动机、各种执行设备等。数据传输网络2包括网络交换机、网络集线器、网线等网络连接设备。控制器3包括PLC等工业控制设备。现场总线4包括Profibus总线或Profinet总线等。系统控制服务器5可由作为上位机的PC或者服务器来实现,而系统数据库6可基于SQL Server数据库构建。
所述系统控制服务器5中包括一报表生成工具7,该报表生成工具7可基于该系统数据库6中所存储的现场数据生成分布式控制系统的各种报表。图2是本发明具体实施方式中报表生成工具的系统结构图。如图2所示,具体实施方式中的报表生成工具7包括WinCC数据获取模块71、数据选择模块72、数据存储模块73和报表生成模块74。
系统数据库6中包括一WinCC归档数据库,PLC控制器3从现场设备1采集生产数据或设备状态参数等现场数据后,可将这些现场数据通过系统控制服务器5存储在该WinCC归档数据库中,供用户显示和交互使用。WinCC数据获取模块71从该WinCC归档数据库中读取所存储的现场数据,为后续生成用户数据报表做准备。在实际系统中,该WinCC数据获取模块71可使用VBS通过OLE-DB方式来读取该WinCC归档数据库中的现场数据。
数据选择模块72从该WinCC数据获取模块71所获取的现场数据中选择用于生成后续用户报表的现场数据。用户对于数据报表的需求是不同的,用户可以根据其对数据报表的需求来对现场数据进行筛选,将那些今后将进入数据报表或者将作为数据报表内容数据基础的现场数据选择出来。这种选择有可能根据现场设备1的类型进行,即仅选择从某些特定现场设备1所采集的数据。
数据存储模块73在系统数据库6中建立一单独的报表数据库,并将该数据选择模块72所选择的的现场数据以一定周期从WinCC归档数据库转存到该报表数据库中,作为后续生成报表的数据基础。该报表数据库的建立使得用于生成的报表的现场数据可以单独进行存储,使得报表生成操作更加迅捷。
报表生成模块74根据用户事先设置的报表模板和数据计算规则,基于报表数据库中存储的数据,周期性地生成数据报表,并以Excel等格式输出。其中,用户可事先根据需求设置报表模板,其中包括所需的数据类型和数据显示形式,例如时间段、最大值、最小值、平均值、数据发生时刻、曲线图显示等。其中,用户可以根据所需数据来定义计算规则,例如计算最大值、计算最小值、计算平均值等。当然,用户还可以预先定义报表生成的周期,例如每分钟、每小时或每天等。
优选地,报表生成工具7还可以包括一数据备份模块75。该数据备份模块75在生成数据报表之后将报表数据库中的数据进行导出并保存,其目的在于提高报表数据库的运行效率,同时又不会丢失历史数据。
图3是本发明具体实时方式中分布式控制系统生成数据报表的操作流程图。下面就结合上述介绍的系统结构来说明生成数据报表的操作流程。
S1:报表生成工具7的WinCC数据获取模块71从WinCC归档数据库中读取所存储的现场数据,为后续生成用户数据报表做准备。
S2:报表生成工具7的数据选择模块72从该WinCC数据获取模块71所获取的现场数据中选择用于生成后续用户报表的现场数据。
S3:报表生成工具7的数据存储模块73将所选择的的现场数据以一定周期从WinCC归档数据库转存到报表数据库中。
S4:报表生成工具7的报表生成模块74根据用户事先设置的数据报表模板和数据计算规则,基于报表数据库中存储的数据,周期性地生成数据报表,并以Excel等格式输出。图4示出了一个使用具体实施方式的分布式控制系统所生成的数据报表的界面图作为示例。
S5:报表生成工具7的数据备份模块75在生成数据报表之后将报表数据库中的数据进行导出并保存。
根据本发明的技术方案,可以基于现有的WinCC数据,对生产过程中的生产数据或设备状态参数等进行处理,并周期性地自动生成用户所需的数据报表。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。