6AV6381-2BQ08-0AV0
WinCC 系统软件 V8.0 亚洲, RC 65536(65536 个过程变量), 运行系统/配置软件 在 DVD 上,浮动许可证,许可证密钥在 USB 闪存驱动器上, A 级,9 种语言(德语, 英语,法语,西班牙语,意大利语,简体中文,繁体中文,朝鲜语,日语), 请注意产品版本: support.industry.siemens.com SIOS 条目 ID:109816599 - -内容:套组(3x DVD + 1x USB)
WinCC V7.3 使用SQL的导出向导导出变量归档
通过“SQL ServerImport/Export”向导组态访问,提供了图形化和可编程的界面,可通过 WinCC OLEDB 提供程序来访问 WinCC 数据库,并导出到其他格式的文件中,例如Excel文件、文本文件。
下文举例说明如何使用SQLServer 2008 R2(在安装WinCC V7.3的时候SQL Server 2008 R2 也会被安装)把WinCCV7.3的历史归档数据导出到Excel CSV文件。
打开WinCC项目,激活运行系统。
打开开始菜单 -> 所有程序 -> Microsoft SQL Server 2008 R2-> SQL Server Management Studio,如图3-1所示。在弹出的数据库对话框中,ServerName 选择为“ES01\WinCC”,其中ES01为本例的本地计算机名,点击Connect,如图3-2所示。
图3-1
图3-2
1 确认数据的ValueID
SQLServer导出数据是根据ValueID来选择的,先按本小节操作确定要导出的归档变量所对应的ValueID,在下一小节根据ValueID将数据进行导出。
在左侧的Databases下选择WinCC项目对应的运行数据库,数据库的名称规则为CC_项目名称_日期_时间R,本例为CC_Exmaple_16_06_27_17_11_39R,如图3-3所示。
图3-3
选择展开Tables,右击dbo.Archive,选择SelectTop 1000Rows,如图3-4所示。观察查询结果,根据ValueName列和ValueID列可以对应出要导出的数据的ValueID。本例中TestTag1的ValueID为2,TestTag2的ValueID为3,如图3-5所示。
图3-4
图3-5
2 导出数据
1.启动导出向导。右击WinCC项目的 运行数据库,选择Tasks-> Export Data,如图3-6所示。在弹出的SQL Server Import and ExportWizard中点击下一步,如图3-7所示。
图3-6
图3-7
2.选择导出数据源。Data Source选择WinCC OLEDBProvider forArchives;点击Properties设置数据连接属性,数据源设置为“.\WinCC”,初始目录设置为项目的运行数据库名称,本例为CC_Exmaple_16_06_27_17_11_39R,点击OK,进入下一步,如图3-8所示。为了改善本地访问期间的性能,推荐在数据源中输入“<计算机名称>\WinCC”,如:“ES01\WinCC”。
图3-8
3.设置导出文件。Destination 处设置为FlatFile Destination,File Name处输入待导出的CSV文件的文件名(不需要提前创建),勾选Column namesin the first data row,点击下一步, 如图3-9所示。
图3-9
4.设置数据查询语法。
选择Write a query tospecify the data to transfer,点击下一步,如图3-10所示。
图3-10
输入SQL查询语句,注意:语法格式为WinCC/ConnectivityPack语法,不是标准的SQL语法。
此处用到的查询语句为:
TAG:R,<ValueID>,<TimeBegin>,<TimeEnd>
其中,
<ValueID>为要导出的数据在数据表中的ValueID值。
<TimeBegin>为开始时间,格式为:’YYYY-MM-DDhh:mm:ss.msc’。
<TimeEnd>为结束时间,格式为:’YYYY-MM-DDhh:mm:ss.msc’。
注意:由于WinCC数据库保存的时间为UTC格林尼治标准时间,会比北京时间小8个小时。如本例的开始时间为北京时间17:00:00,数据库保存的则为09:00:00。
可以进行相对时间间隔的选择。<TimeBegin>= '0000-00-00 00:00:00.000'代表数据库里的条记录;<TimeEnd> = '0000-00-0000:00:00.000'代表数据库里的后一条记录。还支持多变量查询,如<valueID>=(1;2)就表示查询ValueID为1和2的数据。更多的语法信息请参考以下链接,http://support.automation.siemens.com/CN/view/zh/102768149,在WinCC/ConnectivityPack文档的第53页 3.4.5.3查询过程值归档。
本例查询2016年6月21日 17:00:00至17:10:00时间段内,ValueID为2和3的数据,代码如下:
TAG:R,(2;3),’2016-06-2109:00:00.000’,’ 2016-06-2109:10:00.000’
如图3-11所示,点击Parse检查语法无误,点击下一步。
图3-11
5.设置导出文件的数据格式。将Columndelimiter选为Semicolon{;},点击EditionMappings,按照表3-1进行设置数据类型和字节长度,点击OK保存,如图3-12所示。可以点击Preview进行预览,确认无误后,即可点击下一步。
表3-1
图3-12
6.生成导出文件。勾选Runimmediately,点击Finish完成设置,如图3-13所示,;随后将完成数据导出,出现如图3-14的结果则表示数据导出正常,并得到导出的CSV文件,再参照附录1进行数据分列就可清楚地观察归档数据了。
图3-13