在WinCC V7.3中如何导出过程值进行数据归档?
WinCC的过程值归档数据是通过算法进行了压缩处理的,一般情况,要读取出WinCC的归档变量数据,需安装连通性选件包 (WinCC / Connectivity Pack) ,按WinCC / Connectivity Pack语法访问归档数据。本文档描述了在不安装连通性选件包的情况下将WinCC归档变量导出到Excel文件的三种方法,供参考。
1 使用 WinCC 在线控件的工具按钮
1.1 基于在线趋势控件
(1)组态在线趋势控件
组态一个在线趋势控件,在组态对话框的趋势选项卡下添加要导出数据的归档变量趋势,本例有两个归档变量要导出,TsetArchive\TestTag1 和 TsetArchive\TestTag2,如图1-1所示。
图 1-1
在组态选项卡的工具栏选项卡中,添加“选择时间范围”和“导出数据”的按钮功能,并勾选“显示工具栏”,如图 1-2a 和图 1-2b 所示。
(2)运行项目及导出数据
在 WinCC Explorer 的计算机启动属性中,勾选“变量记录运行系统”,如图 1-3 所示,然后激活项目。
图 1-3
点击在线趋势控件的“时间范围选择”按钮,选择要导出的数据的时间,如图1-4 所示。
图 1-4
点击在线趋势控件上的“导出数据”按钮,设置文件的导出路径和文件名,Scope ofdata export 默认为 all 即可,文件格式默认为 CSV,并设置其分隔符,推荐使用默认的分号作为分隔符,便于后续在 Excel 中进行数据分列,图1-5。
图 1-5
使用 Excel 软件打开导出的 CSV 文件 ,通过数据分列(详细操作详见附录 1),
可见导出的数据如图 1-6 所示。
图 1-6
1.2 基于在线表格控件
(1)组态在线表格控件
操作参考在线趋势控件,组态时添加要导出的归档数据趋势,添加工具栏上的“选择时间范围”和“导出数据”按钮,如图1-7a 和图1-7b所示。
(2)运行项目及导出数据
操作参考在线趋势控件,激活“变量记录运行系统”后运行项目。点击在线表格控件中的“选择时间范围” 对要导出的数据的时间进行选择,如图1-8 所示。
图 1-8
导出文件的设置方式基本同在线趋势控件的操作,不同的是 Scope of data export,选择 All 即表示导出控件中显示的所有数据,选择 Selection 即表示导出控件中用户所选中的数据,如图 1-9 所示。
图 1-9
使用 Excel 软件打开导出的 CSV 文件 ,然后数据分列(详细操作详见附录 1),可见导出的数据如图 1-10 所示。
图 1-10
2 使用 Excel 模板文件
西门子全球技术资源库中提供了一个标准的 Excel 模板文件,可以方便地将WinCC 的归档数据导出到 Excel CSV 文件。文档条目 ID 为 35840700。
图 2-1
如图2-1所示,在网页中下载 Excel 文件:OLE-DB Tag and Alarm Export.xls。
注意:请使用 Microsoft Excel 2003 及以上版本进行文件操作,本文以 Excel 2010 为例进行操作说明。首先,打开项目,激活运行系统;然后打开之前下载的 OLE-DB Tag and AlarmExport.xls 文件,启用宏,如图 2-2 所示。
图 2-2
数据导出操作如下:
第一步,在Host 处选择本地计算机名,正常情况下会自动识别出计算机名;
第二步,点击“Read Tag”按钮,读取当前激活的项目中所有归档变量的名称;
第三步,在 Archive Tag 的下拉列表中选择一个需要导出的归档变量名称;
第四步,选择所需的时间范围;
第五步,点击“Read”按钮,所选中的相应数据就会自动添加到表格中,如图 2-3 所示。
如果不需要读取出时间范围内的所有数据,可以在 Time Interval 中填写读取数据的时间间隔。另存为文件,即可保存导出的归档数据。
图 2-3
3 使用 SQL 的 Import/Export 向导
通过“SQL Server Import/Export”向导组态访问,提供了图形化和可编程的界面,可通过 WinCC OLE DB 提供程序来访问 WinCC 数据库,并导出到其他格式的文件中,例如Excel 文件、文本文件。
下文举例说明如何使用 SQL Server 2008 R2(在安装WinCC V7.3 的时候 SQL Server2008 R2 也会被安装)把WinCC V7.3 的历史归档数据导出到 Excel CSV 文件。
首先,打开WinCC 项目,激活运行系统。打开 开始菜单 -> 所有程序 -> Microsoft SQL Server 2008 R2 -> SQL Server
Management Studio,如图 3-1 所示。在弹出的数据库对话框中,Server Name 选择为“ES01\WinCC”,其中 ES01 为本例的本地计算机名,点击Connect,如图 3-2 所示。
3.1 确认数据的 ValueID
SQL Server 导出数据是根据 ValueID 来选择的,先按本小节操作确定要导出的归档变量所对应的 ValueID,然后在下一小节根据 ValueID 将数据进行导出。
在左侧的Databases 下选择WinCC 项目对应的运行数据库,数据库的名称规则为CC_
项目名称_日期_时间R,本例为 CC_Exmaple_16_06_27_17_11_39R,如图3-3 所示。
图 3-3
选择展开 Tables,右击 dbo.Archive,选择 Select Top 1000 Rows,如图 3-4 所示。观察查询结果,根据 ValueName 列和 ValueID 列可以对应出要导出的数据的 ValueID。本例中 TestTag1 的 ValueID 为 2,TestTag2 的 ValueID 为 3,如图 3-5 所示。
图 3-4
图 3-5
3.2 导出数据
1.启动导出向导。右击WinCC 项目的 运行数据库,选择 Tasks -> Export Data,如图3-6 所示。在弹出的 SQL Server Import and Export Wizard 中点击下一步,如图 3-7 所示。
2.选择导出数据源。Data Source 选择WinCC OLEDB Provider for Archives;点击
Properties 设置数据连接属性,数据源设置为“.\WinCC”,初始目录设置为项目的运行数据库名称,本例为CC_Exmaple_16_06_27_17_11_39R,点击 OK,然后进入下一步,如图 3-8 所示。为了改善本地访问期间的性能,推荐在数据源中输入“<计算机名称>\WinCC”,如:“ES01\WinCC”。
图 3-8
3.设置导出文件。Destination 处设置为 Flat File Destination,File Name 处输入待导出的 CSV 文件的文件名(不需要提前创建),勾选Column names in the first data row,点击下一步, 如图 3-9 所示。
图 3-9
4.设置数据查询语法。
选择Write a query to specify the data to transfer,点击下一步,如图 3-10 所示。
图 3-10
输入 SQL 查询语句,注意:语法格式为 WinCC/Connectivity Pack 语法,不是标准的SQL 语法。此处用到的查询语句为:TAG:R,
其中,
注意:由于 WinCC 数据库保存的时间为 UTC 格林尼治标准时间,所以会比北京时间小8 个小时。如本例的开始时间为北京时间 17:00:00,数据库保存的则为 09:00:00。此外,可以进行相对时间间隔的选择。
在WinCC/Connectivity Pack 文档的第 53 页 3.4.5.3 查询过程值归档。
本例查询 2016 年 6 月 21 日 17:00:00 至 17:10:00 时间段内,ValueID 为 2 和 3 的数据,代码如下:
TAG:R,(2;3),’2016-06-21 09:00:00.000’,’ 2016-06-21 09:10:00.000’
如图 3-11 所示,点击 Parse 检查语法无误,点击下一步。
图 3-11
5.设置导出文件的数据格式。将 Column delimiter 选为 Semicolon{;},然后点击 EditionMappings,按照表 3-1 进行设置数据类型和字节长度,然后点击 OK 保存,如图 3-12 所示。可以点击 Preview 进行预览,确认无误后,即可点击下一步。
表 3-1
图 3-12
6.生成导出文件。勾选 Run immediately,点击 Finish 完成设置,如图 3-13 所示,;随后将完成数据导出,出现如图 3-14 的结果则表示数据导出正常,并得到导出的CSV 文件,然后再参照附录 1 进行数据分列就可清楚地观察归档数据了。
提交
新大陆自动识别精彩亮相2024华南国际工业博览会
派拓网络被Forrester评为XDR领域领导者
智能工控,存储强基 | 海康威视带来精彩主题演讲
展会|Lubeworks路博流体供料系统精彩亮相AMTS展会
中国联通首个量子通信产品“量子密信”亮相!