WinCC V7.3 使用SQL的导出向导导出变量归档

通过“SQL Server Import/Export”向导组态访问,提供了图形化和可编程的界面,可通过 WinCC OLE DB 提供程序来访问 WinCC 数据库,并导出到其他格式的文件中,例如Excel文件、文本文件。

下文举例说明如何使用SQL Server 2008 R2(在安装WinCC V7.3的时候SQL Server 2008 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  

3-2

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。本例中TestTag1ValueID2TestTag2ValueID3,如图3-5所示。

3-4

3-5

2         导出数据

1.启动导出向导。右击WinCC项目的 运行数据库,选择Tasks -> Export Data,如图3-6所示。在弹出的SQL Server Import and Export Wizard中点击下一步,如图3-7所示。

3-6 

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 DestinationFile 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,<ValueID>,<TimeBegin>,<TimeEnd>

其中,

<ValueID>为要导出的数据在数据表中的ValueID值。

<TimeBegin>为开始时间,格式为:’YYYY-MM-DD hh:mm:ss.msc’

<TimeEnd>为结束时间,格式为:’YYYY-MM-DD hh:mm:ss.msc’

注意:由于WinCC数据库保存的时间为UTC格林尼治标准时间,所以会比北京时间小8个小时。如本例的开始时间为北京时间17:00:00,数据库保存的则为09:00:00

此外,可以进行相对时间间隔的选择。<TimeBegin> = '0000-00-00 00:00:00.000'代表数据库里的第一条记录;<TimeEnd> = '0000-00-00 00:00:00.000'代表数据库里的最后一条记录。还支持多变量查询,如<valueID>=(1;2)就表示查询ValueID12的数据。更多的语法信息请参考以下链接,http://support.automation.siemens.com/CN/view/zh/102768149,在WinCC/Connectivity Pack文档的第53 3.4.5.3查询过程值归档。

本例查询2016621 17:00:0017:10:00时间段内,ValueID23的数据,代码如下:

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{;},然后点击Edition Mappings,按照表3-1进行设置数据类型和字节长度,然后点击OK保存,如图3-12所示。可以点击Preview进行预览,确认无误后,即可点击下一步。

3-1

 

3-12

 

6.生成导出文件。勾选Run immediately,点击Finish完成设置,如图3-13所示,;随后将完成数据导出,出现如图3-14的结果则表示数据导出正常,并得到导出的CSV文件,然后再参照附录1进行数据分列就可清楚地观察归档数据了。

3-13      

3-14