使用用户归档实现报表Word下载.doc

上传人:wj 文档编号:1498199 上传时间:2023-04-30 格式:DOC 页数:17 大小:1.97MB
下载 相关 举报
使用用户归档实现报表Word下载.doc_第1页
第1页 / 共17页
使用用户归档实现报表Word下载.doc_第2页
第2页 / 共17页
使用用户归档实现报表Word下载.doc_第3页
第3页 / 共17页
使用用户归档实现报表Word下载.doc_第4页
第4页 / 共17页
使用用户归档实现报表Word下载.doc_第5页
第5页 / 共17页
使用用户归档实现报表Word下载.doc_第6页
第6页 / 共17页
使用用户归档实现报表Word下载.doc_第7页
第7页 / 共17页
使用用户归档实现报表Word下载.doc_第8页
第8页 / 共17页
使用用户归档实现报表Word下载.doc_第9页
第9页 / 共17页
使用用户归档实现报表Word下载.doc_第10页
第10页 / 共17页
使用用户归档实现报表Word下载.doc_第11页
第11页 / 共17页
使用用户归档实现报表Word下载.doc_第12页
第12页 / 共17页
使用用户归档实现报表Word下载.doc_第13页
第13页 / 共17页
使用用户归档实现报表Word下载.doc_第14页
第14页 / 共17页
使用用户归档实现报表Word下载.doc_第15页
第15页 / 共17页
使用用户归档实现报表Word下载.doc_第16页
第16页 / 共17页
使用用户归档实现报表Word下载.doc_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

使用用户归档实现报表Word下载.doc

《使用用户归档实现报表Word下载.doc》由会员分享,可在线阅读,更多相关《使用用户归档实现报表Word下载.doc(17页珍藏版)》请在冰点文库上搜索。

使用用户归档实现报表Word下载.doc

用户归档用于存储数据,并根据SQL数据库规则提供对这些数据的标准化访问。

视图:

视图接收来自用户归档的数据并用于数据的相加,例如,为获得有关产品组的概述。

其在WinCC默认情况下是不会被安装的。

可以通过以下步骤安装。

插入WinCC安装光盘,选择安装SIMATICWinCC,弹出界面(图1),选择安装或者卸载的组件,在弹出的选择组件界面中左侧选择选项,右侧选中用户归档,点击下一步开始安装。

图1安装卸载

图2选择组件

安装好后打开WinCC项目编辑器在项目的树状结构里会看到用户归档选项。

如下图:

图3用户归档

至此用户归档安装完毕。

二.用户归档的使用

双击用户归档,打开如下界面:

图4用户归档操作界面

右击归档弹出插入新归档菜单,点击就会打开新建归档的界面。

按照提示步骤依次输入归档名称和控制变量。

图5创建用户归档

图6设置控制变量

点击下一步,完成创建工作。

控制变量是用户归档中很重要的概念,简单介绍如下:

利用这四个控制变量,可以触发用户归档。

要触发用户归档,必须为“ID”和“Job”变量或“Job”、“Field”和“Value”变量提供相应的值。

图7控制变量的功能

(说明:

图中的读和写是站在用户归档的角度讲的,就是把变量的数据读到用户归档写到控制系统变量。

从用户归档中把数据删除。

图8控制变量的组合

该图中ID=-1,job=6的操作是把变量的值写入用户归档。

ID=-1job=7的操作是把用户归档的数据写入变量中。

控制变量提供了两种访问用户归档的方法:

通过输入控制变量“ID”和“Job”,可以写入或读取或删除数据记录中的目标值。

可以使用控制变量“Field”和“Value”代替控制变量“ID”来搜索数据记录。

通过控制变量“Job”,可以写入或读取或删除通过该方法选择的数据记录。

例如,如果必须将数据记录从表格中删除然后将其再添加到表格末尾,则可以使用该数据选择类型。

“值”域必须唯一,否则将采用域中满足该条件值的第一条数据记录。

更详细的信息请参见WinCC的帮助系统—>

选项—>

用户归档。

三.结合用户归档实现报表

针对论坛中提到的报表问题,可以结合用户归档实现。

下面以下图的报表为例作一个说明:

图9报表样例

该报表主要功能是小时量的记录和班平均值的计算。

下面分步介绍如果使用用户归档和WinCC自带的报表编辑器实现这样的报表。

1.数据的存储

首先创建一个用户归档。

选择该归档,在右侧空白处单击鼠标右键选择插入新域。

图10创建域

图11创建域名

图12和WinCC变量建立连接

点击下一步,按照提示完成操作。

最后对应要记录的每一个变量都创建一个域与之相对应。

同时为了统计方便创建日期和时间域分别对应在WinCC中创建的字符串变量。

创建的结果如下图:

图13创建好的归档

在变量管理à

SYSTEMINFO下创建变量用于取得系统小时值。

图14创建触发变量

创建写入动作:

在WinCC的全局脚本中创建一个动作,通过变量MyID1的变化来触发。

脚本如下:

Dimriqi

Dimriqijiu

Setriqijiu=HMIRuntime.Tags("

riqijiu"

DimMyID1

SetMyID1=HMIRuntime.Tags("

MyID1"

Dimflag

Setflag=HMIRuntime.Tags("

flag"

MyID1.Read

flag.Read

Ifflag.Value=1Then

riqi=CStr(Year(Now))&

"

-"

&

CStr(Month(Now))&

CStr(Day(Now))

riqijiu.Read

riqijiu.Write"

riqi&

DimUA_jiu_ID

SetUA_jiu_ID=HMIRuntime.Tags("

@UA_jiu_ID"

DimUA_jiu_Job

SetUA_jiu_Job=HMIRuntime.Tags("

@UA_jiu_Job"

UA_jiu_ID.Read

UA_jiu_ID.Write-1

UA_jiu_Job.Read

UA_jiu_Job.Write6

Endif

这样一旦小时发生变化我们就完成了写入的动作。

注意:

一般刚激活WinCC时,会触发一次变量变化。

为了避免写入无效的数据。

此处增加了一个flag变量用于判断是否激活WinCC产生的事件。

技巧:

在全局脚本增加一个动作,通过flag自身的变化事件把flag置位(供参考)。

2.报表布局的设计

新建一个页面布局,在布局中作如下设置:

图15布局设置

该布局需要注意的是:

在平均处放置的是静态文本,布局中放置了六个ODBC数据库表控件。

分别连接三个班的累计和平均值。

ODBC数据库表控件的参数设置如下图:

图16ODBC控件属性设置

该设置中需要说明的是:

在ODBC数据源处选择想要连接的数据库,在变量处连接一个文本变量8位字符集类型的变量。

在列数中事先填写上返回的字段数。

对于布局列宽的调整可以通过控件的属性窗口设置实现。

图17修改列宽

至此完成了对页面的设计。

3.报表输出

创建一个新的打印任务连接新建的布局。

图18打印任务

创建一个查询界面如下:

图18操作界面

在查询测试按钮中写入如下脚本:

Dimsqlriqijiu

Setsqlriqijiu=HMIRuntime.Tags("

sqlriqijiu"

Dimsqljiua

Setsqljiua=HMIRuntime.Tags("

sqljiua"

Dimsqljiuaavg

Setsqljiuaavg=HMIRuntime.Tags("

sqljiuaavg"

Dimsqljiub

Setsqljiub=HMIRuntime.Tags("

sqljiub"

Dimsqljiubavg

Setsqljiubavg=HMIRuntime.Tags("

sqljiubavg"

Dimsqljiuc

Setsqljiuc=HMIRuntime.Tags("

sqljiuc"

Dimsqljiucavg

Setsqljiucavg=HMIRuntime.Tags("

sqljiucavg"

sqlriqijiu.Read‘得到查询条件某一天如“2009-3-11”

sqljiua.Read

‘返回A班的统计值和平均值

sqljiua.Write"

selectshijianjiu,var1,var2,var3,var4,var5,var6,var7,var8,var9,var10fromUA#DailyReportwhereriqijiulike'

sqlriqijiu.Value&

%'

andshijianjiubetween0and7orderbyshijianjiu"

sqljiuaavg.Read

sqljiuaavg.Write"

selectavg(var1),avg(var2),avg(var3),avg(var4),avg(var5),avg(var6),avg(var7),avg(var8),avg(var9),avg(var10)fromUA#DailyReportwhereriqijiulike'

andshijianjiubetween0and7"

‘返回B班的统计值和平均值

sqljiub.Read

sqljiub.Write"

andshijianjiubetween8and15orderbyshijianjiu"

sqljiubavg.Read

sqljiubavg.Write"

andshijianjiubetween8and15"

‘返回C班的统计值和平均值

sqljiuc.Read

sqljiuc.Write"

andshijianjiubetween16and23orderbyshijianjiu"

sqljiucavg.Read

sqljiucavg.Write"

andshijianjiubetween16and23"

其实这三个班的代码都是一样的。

所以只要会写一个班的查询语句,其余的修改查询条件就可以了。

另外“UA#归档名称”就是对应用户归档里数据库的表名称。

在执行打印中调用打印作业。

RPTJobPreview("

ReportJob"

);

//Return-Type:

BOOL

至此:

完成了所有的操作。

先点击查询然后执行打印任务,那么输出的结果如下图:

图18输出结果

备注:

在使用测试项目时,必须保证系统中24小时数据的完整性。

附录-推荐网址

SIMATICHMI人机界面

西门子(中国)有限公司

工业自动化与驱动技术集团客户服务与支持中心

网站首页:

WinCC下载中心:

HMI全球技术资源:

“找答案”WinCC版区:

注意事项

 

应用示例与所示电路、设备及任何可能结果没有必然联系,并不完全相关。

应用示例不表示客户的具体解决方案。

它们仅对典型应用提供支持。

用户负责确保所述产品的正确使用。

这些应用示例不能免除用户在确保安全、专业使用、安装、操作和维护设备方面的责任。

当使用这些应用示例时,应意识到西门子不对在所述责任条款范围之外的任何损坏/索赔承担责任。

我们保留随时修改这些应用示例的权利,恕不另行通知。

如果这些应用示例与其它西门子出版物(例如,目录)给出的建议不同,则以其它文档的内容为准。

声明

我们已核对过本手册的内容与所描述的硬件和软件相符。

由于差错难以完全避免,我们不能保证完全一致。

我们会经常对手册中的数据进行检查,并在后续的版本中进行必要的更正。

欢迎您提出宝贵意见。

版权©

西门子(中国)有限公司2001-2008版权保留

复制、传播或者使用该文件或文件内容必须经过权利人书面明确同意。

侵权者将承担权利人的全部损失。

权利人保留一切权利,包括复制、发行,以及改编、汇编的权利。

西门子(中国)有限公司

IA&

DTService&

Support

Page17-17

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2