WINCC报表详解
WINCC嵌入式EXCEL报表系统使用手册
WINCC 嵌入式EXCEL 报表系统使用手册1、打开报表画面点击主画面中“报表”按钮,打开报表画面:2、界面介绍报表画面功能介绍时间设置3、选择报表文件在“报表选择”栏中选择需要生成报表的名称:4、选择报表类型在“类型选择”栏选择报表类型:日报表、月报表、年报表、自由报表,具体介绍如下:●日报表——为一天的报表数据,每小时产生一个记录,共24条记录,时间为“00:00:00”至“23:59:59”。
●月报表——为一月的报表数据,每天产生一个记录,根据月份的不同分别产生28-31条记录,时间为“01 00:00:00”至“30 23:59:59”(或“2823:59:59”/“29 23:59:59”/“31 23:59:59”)。
●年报表——为一年的报表数据,每月产生一个记录,共12条记录,时间为“01-01 00:00:00”至“12-31 23:59:59”。
●自由报表——为指定时间段的报表数据,时间段由“开始时间”和“结束时间”共同决定,每一个“时间间隔”产生一个记录,记录条数由时间段和时间间隔决定。
5、设置报表时间根据报表类型,选择报表时间。
点击“日历”可以打开日历控件,控件中可以快速选择日月年,也可以通过下拉窗口进行选择。
当为日报表时,需要设置“年”、“月”、“日”;当为月报表时,需要设置“年”、“月”;当为年报表时,需要设置“年”;当为自由报表时,需要设置开始和结束时间的“年”、“月”,“日”、“时”、“分”等全部项,间隔时间也需要设置。
6、生成报表当“报表选择”、“类型选择”和时间选择均设置完成后,点击“生成报表”按钮,系统将开始在右边表格中生成出报表,在生成报表的过程中能看见表格中数据逐渐显示,也能通过下方进度条看见完成情况。
生成报表时,空数据区用“#”填充,错误数据区用“##”填充,报表生成完毕后将有“成功生成数据文件!”提示。
同时,报表生成后将自动保存到项目中“report”文件夹下。
WinCC数据报表实现方法介绍
WinCC数据报表实现方法介绍WinCC是西门子公司开辟的一款工业自动化软件,用于监控和控制工业过程。
它提供了丰富的功能和工具,使用户能够轻松地创建、配置和管理工业自动化系统。
其中一个重要的功能就是数据报表的生成和分析。
WinCC数据报表功能可以匡助用户对工业过程中的数据进行采集、存储和分析,从而提供决策支持和性能优化。
下面将介绍WinCC数据报表的实现方法。
1. 数据采集和存储:在WinCC中,数据报表的实现首先需要进行数据的采集和存储。
用户可以通过配置WinCC的数据采集功能,将需要监控和分析的数据从现场设备或者控制系统中获取。
这些数据可以是温度、压力、流量等过程变量,也可以是设备状态、报警信息等。
WinCC提供了多种数据采集方式,如OPC、数据库连接、PLC通讯等,用户可以根据实际需求选择合适的方式。
2. 报表模板设计:在数据采集和存储完成后,用户需要设计报表模板,用于展示和分析数据。
WinCC提供了丰富的报表模板设计工具,用户可以根据自己的需求自定义报表的样式和布局。
用户可以选择添加表格、图表、图象等元素,还可以设置报表的标题、页眉、页脚等。
此外,WinCC还提供了多种数据处理和计算功能,如数据筛选、排序、求和、平均值计算等,用户可以根据实际需求对数据进行处理和分析。
3. 报表生成和导出:在设计好报表模板后,用户可以通过WinCC的报表生成功能生成报表。
用户可以选择生成实时报表或者历史报表,实时报表可以实时展示当前的数据,而历史报表可以展示一段时间内的数据。
生成报表时,用户可以选择报表的时间范围、数据类型、数据筛选条件等。
生成的报表可以以各种格式导出,如PDF、Excel、Word等,方便用户进行打印和共享。
4. 报表分析和优化:生成报表后,用户可以进行报表的分析和优化。
WinCC提供了丰富的数据分析工具,用户可以通过图表、图象等方式直观地展示和比较数据。
用户可以根据报表的分析结果,发现问题和改进措施,并进行性能优化。
WINCC报表说明
WINCC报表制作说明本次报表制作以WINCC7.0为基础,利用自带的“变量记录”功能,进行变量归档操作。
然后利用WINCC自带的控件“Wincc Online Table Control”关连变量归档,可实现简单的报表的查询功能。
另一种方法为利用EXCEL的宏访问WINCC数据库(变量归档)。
本方法中需安装Microsoft Office 2003版本。
此种方法优点在于利用WINCC的数据库的开放性,将EXCEL与数据库进行关联,可方便的读取所要查询的数据。
另外EXCEL文件可以按照要求编辑修改表格样式、数据格式等,方便用户存档及打印。
具体实现方法如下:1、在WINCC中新建变量归档2、新建EXCEL文件,用于读取变量归档数据3、打开EXCEL文件,按照要求编辑报表表格样式,在表格中添加“Microsoft Date and Time Picker Control6.0”控件,此控件用于设定要查询报表的日期4、在EXCEL表格中新建查询按钮,作为报表的查询触发器5、编辑代码,进入Visual Basic编辑器进行代码编写,代码中涵盖WINCC归档时间与本地时间的转换及变量与表格的关联性操作。
6、代码编辑完成后,需运行WINCC组态软件,打开新建的EXCEL文件,提示是否启用“宏”操作,此时要选择启用,进入报表表格界面,在日期控件中选择要查询的数据日期,点击查询按钮,归档变量数据就可以显示在对应的表格中,可保存,可打印,可修改。
以上两种报表均在1608009风机在线监测项目上应用。
对于VB代码编辑部分,只需要根据EXCEL表格的样式及变量归档数据名称做出相应的修改即可。
设计部:付友维2017年6月20日。
WinCC设备运行数据-日报表
WinCC设备运行数据-日报表
原创作者:张占领 - 西门子工业技术支持中心
在实际生产过程中,需要对机床,压机之类设备的启停时间、耗电量以及产品数量等运行数据进行统计,生成日报表,分析企业生产运营状况。
运行效果:
1. 通过下拉列表选择设备
2. 通过时间控件选择日期
3. 生成日报表
日报表中呈现的数据不是原始采集的直接数据,需要做简单计算,如运行时间,用电量。
实现方法简述:WinCC自动存储设备运行数据到第三方数据库(简单起见,这里采用Access数据库),然后通过脚本查询数据库,将数据填充到excel模板并另存为htm文件,再通过WinCC画面中的web控件加载此htm文件,呈现日报表。
实现上述功能的WinCC V7.5 SP1源程序链接:
https:///s/17PZ_lqrCwhyN9I2LccGqqA
详细的开发步骤,这里不详述。
WINCC报表经验之浅谈
三,对于数据量比较小,采集时间一般为一个小时一次的还可以采用在全局里面向EXCEL写数据来做,这个方法的好处就是EXCEL里面可以设置统计公式,省去了一些脚本,缺点是写数据库的时候容易受EXCEL文件打开时的干扰,我写了一个程序在向EXCEL写数据的时候检测需要写数据的这个EXCEL文件是否是打开的,如果是打开则强制关闭,虽然性能上有了很大提高,但很消耗计算机的内存,因为脚本里面需要做一些循环,而且有时候也会出现数据写不进去的现象
当然做报表不只以上三种方法了,但我认为最可靠最稳定的还是第二种方法,做报表之前一定要先想好方案,要不然会走很多的弯路。
以上就简单的谈一点自己的看法,需要了解的可以加我的QQ190689691。
我个人比较支持楼主的第二种办法。一来报表通常只采集整点数据,而归档是比较频繁的,我们使用的最长也是1分钟。这样如果使用归档做报表就需要在众多数据中查找整点数据,会比较慢。二来使用自己建立的数据库也可以直接挂在wincc自带的SQL程序下,不用重新安装SQL,并且数据库里面的数据都是有用的数据,如果需要导出分析可以很方便的全部倒导入EXCEL。唯一的麻烦就是需要在整点时调用脚本记录数据。
一、对于要求统计的变量比较多,但功能简单的报表可以使用用户归档来做。这种方法的好处是不用在写数据存储的脚本,直接在用户归档里面设置好即可,但查询统计功能有限,只能做简单的报表
二、对于功能复杂的报表最好在SQL里面自己建立数据库用标准查询语句来统计,可以把数据查询出来导出到EXCEL里面或者表格控件里面,我基本上是采用这种方式来做的报表。这种方法最大的好处就是很稳定,存储和查询数据的速度快,统计功能灵活,有的报表不是简单的统计最大、最小、平均值而是加了很多的条件在里面,这种功能往往需要几条查询语句甚至是十几条查询语句才能统计出来,对于我们做工控的人来说,数据库是我们做报表的一个拦路虎啊,但只要用心去钻研还是会突破困难的,向大家推荐一个好的论坛CSDN,里面的高手很多,不懂的可以在里面的去提问。
基于数据库查询的WINCC报表制作步骤
基于数据库查询的WINCC报表制作步骤一、报表优点:1、数据写入SQL数据表,数据不容易丢失,保存时间长,数据库容量大;2、数据从数据库里面查询和统计,冗余少,速度快,具有直接性、可靠性和稳定性。
3、查询方便灵活,依靠SQL强大的查询和统计功能,想怎么查询就怎么查询,并依靠MSFlexGrid控件做显示,做出来的不仅报表美观大方。
而且还可根据做出很复杂的报表。
二、报表制作流程1、创建SQL数据库,打开Microsoft SQL Server2005,选择SQL Server Manage Studio,点击Connect2、在Databases,右键选择New Database,在Database Name处输入数据库名称,如SQL-Report3、点击Databases,此时可以看到刚才新建的数据库SQL-Report,点击该数据库,右击Tables,选择New Table,在Column Name、Data Type处输入变量名称并选择数据类型,输入完成后,保存并输入表格名称。
4、在WINCC的全局脚本中编写用于写入SQL报表的脚本程序,脚本正常运行后,打开Databases---SQL-Report---Tables---Report会看到记录的数据二、 WINCC报表画面组态在组态报表画面时,需要用到MSFlexGrid控件、DT Picker控件。
选定ActiveX Controls,右键选择Add/Remove,从弹出菜单中选择Microsoft FLexGrid Control,Version 6.0和Microsoft Date and Time Picker Control 6.0(SP4)控件。
从ActiveX Controls中将这两个控件拖到日报表画面,可以在其属性中更改控件的名称,设置MSFlexGrid控件属性。
注意:通常情况下,直接选择Microsoft FLexGrid Control,Version 6.0控件时,需要注册。
WINCC报表详解
无锡康博自动化设备工程有限公司WINCC报表详细做法2014年2月10日珍藏版(如有雷同,就是盗版)一、报表的需求分析从需求上讲报表一般分为:①内容上的需求:涉及求和、平均、最大值和最小值的计算,同时还有复杂报表中混合排列上的处理。
②样式上的需求:简单报表的样式多为固定格式,固定内容。
复杂报表的样式可以有用户自己设计和决定显示的内容,甚至涉及历史趋势及报警信息。
③任务上的需求:报表不仅能显示查看,重要的是打印任务,WINCC的全局脚本能够实现事件触发打印或者定时打印。
报表实例:汉阴污水厂二、WINCC的数据存储④WINCC自带强大的数据归档功能,WINCC的数据记录已包含周期记录归档、非周期动作触发、动作触发的周期记录,甚至在数据处理中可以自动统计出平均值、最大值、最小值以及求和等数据信息。
④对于过程归档的访问,我们可以使用WINCC的在线表格,报表编辑器中自带的打印控件实现报表数据记录功能。
④对于存储数据的访问,WINCC提供了另外一个数据存储和处理工具就是用户归档。
报表实例:用户归档界面三、报表的具体做法关键词:④①报表编辑④②用户归档④③全局脚本④④创建打印任务④⑤画面编辑关于报表编辑器④WINCC的报表制作完成后存储在当前项目下的PRT文件夹内,可以直接复制粘贴到其他项目内使用,只需要修改数据库链接变量即可。
④对于大量数据信息存储的项目,可以创建多张报表进行分类,更准确直接的查看和生成报表。
④每一张报表对应一个新的打印作业,并且需要与用户归档里记录的数据库信息一一对应,下面将一一介绍详细。
报表编辑器—编辑报表报表编辑器—编辑报表动态数据库的创建链接报表编辑器—编辑报表动态数据库的创建链接报表编辑器—编辑报表静态文本的编辑报表编辑器—编辑报表一张完整的报表格式,可以查询10个数据,如果数据较多,可以创建多张报表关于用户归档④WINCC变量记录是系统的存储部分,使用的是SQL数据块。
而用户归档是基于数据库而生成的记录表。
WINCC报表详解
在工业生产中报表一直占有非常重要的部分,它一般用来记录现场的工艺参数和统计信息。
早期是由人工抄录然后统计出相关的报表。
进入计算机控制阶段,这份工作就需要工控软件来实现。
对于工控行业的工程师来说:如何开发适合用户需求的报表一直是个难题。
论坛上很多人都在寻求灵活高效的解决方法。
经过这段时间的网上讨论。
综合网友们的意见和建议,我们做了总结。
并结合WinCC软件本身作了相关的说明。
希望能对大家在以后的报表开发中有所帮助。
接下来就从报表的需求分析、WinCC报表系统的应用、复杂报表的WinCC报表系统实现这几个部分来分别介绍。
最后总结出WinCC报表系统在应用的优缺点和常见的问题的解决方法。
一.报表的需求分析从需求上来讲报表一般分为:内容上的需求、样式上和任务上的需求。
1.内容需求内容上一般涉及到数据的求和、平均、最大值、最小值等计算,同时也会涉及到关系的处理,比如班组相关对应信息的统计分析等。
下面是一个很典型的报表需求,就很能说明这样的问题:图1. 月报表分析此报表是典型的工业现场应用,在数据采集没有难度。
唯一的难度在于四班三倒后,每个月班的出勤日是不一样的,这样对于月报来说,计算出本月每个班的出勤日是需要些算法。
此类报表在连续生产的行业需求很广泛。
比如:钢铁冶金行业需要一天24小时不停运转的系统。
还有一种内容上是分总的关系,就是一部分是简单的数据记录,另一部分是对上一部分数据的统计,比如汇总、求和、平均等。
如下图也是很典型的应用。
图2. 总分报表另外一种就是涉及到混合排列的问题,一张表上既有分项数据,中间也涉及到统计信息,同时也会添加一些实时的信息在上面。
如下图。
图3. 复杂报表这是一个复杂的报表,中间涉及到分项的记录,数据求平均,和一些操作信息的记录。
既有历史数据也有实时信息。
当然更复杂的报表需求也是有的,比如说涉及到一张报表上既有实时信息又有历史信息同时还涉及趋势视图、报警信息等。
用户自己可以灵活的定义报表的内容和样式。
关于WinCC通讯、报表及变量管理的总结
关于WinCC通讯、报表及变量管理的总结关于WinCC的总结一、通讯问题1、采用MPI与SIMATIC S7通信(1)PC上MPI通信卡的安装和设置打开PC\PG接口,选择PC Adapter适配器,再单击属性选择‘连接到’(一般是USB或者RS232),最后单击确定。
(2)选择WinCC通信卡在WinCC的变量管理器中添加驱动程序,选择MPI,然后右击MPI 选择系统参数,此刻需要需要说明的是在‘逻辑设备名称’选项中要根据情况选择,如果有适配器则选择相应的适配器,否则应该选择仿真器(PLCSIM(MPI))。
(3)WinCC的MPI通道单元连接右击MPI通道单元,单击属性找到连接参数将插槽号改为2即可。
2、采用PROFIBUS通信采用PROFIBUS通信其设置大致相同其通信卡都是(CP5611或CP5613)其他就不在赘述了与MPI大同小异。
3、通道单元(1)采用这种通信方法首先需要安装(CP1613或普通网卡),然后在PG\PC接口找到TCP\IP,最后确定。
(2)其他地方的设置于MPI相同,需要注意的是在‘逻辑设备名称’中要选择ISOInd.Ethernet.二、关于报表到目前为止本人只会采用两种办法制作报表1、采用控件(在线表格)首先在报表编辑器里面将需要的表格制作好,静态部分按照所需制作即可,而动态部分需右击在线表格,点击参数分配将参数一一分配到表格里去(注意:在做表格之前需要先在变量纪录将项目进行归档,至于归档按照向导指示即可)2、将报表设计好之后命名(命名没有特殊要求)3、打开打印设置,新建打印布局此时我们应该选择上述做好的表格,名字要和上述表格命名相同4、打开画面编辑器把相应的控件拖进去(主要是在线报表和趋势两个控件)5、在画面编辑器里拖一个按钮出来,命名打印,鼠标动作右击C 动作打开标准函数,选择标准函数的Report里面的RPTjobprint在弹出的新的一列代码中将RPTjobprint的名字改成打印作业的名字即可。
wincc如何制作报表
消息归档报表 2/2
100\ means that the last 100 messages will be printed.
测量值报表 (趋势) 1/4
测量值报表 (趋势) 2/4
测量值报表 (趋势) 3/4
Layout
Shortcut menu
测量值报表 (趋势) 4/4
-趋势颜色 -y轴的比例调节
PrtScreenPart (ObenX,ObenY,Breite,Hoehe+80); }
用户报表的打印预览
.emf 画面对象的拷屏
报表
使用行式打印机布局的消息序列报表
可用的矩阵打印机: -所有的HP打印机(Deskjet, Laserjet, Paintjet);所有的Canon BJC打印机;所有的Epson LQ打印机
报警记录
注: 在计算机启动列表里需要激活“Message Sequence Report“。
消息归档区域的拷屏
{ #pragma code("prtscrn.dll") BOOL PrtScreenPart (ULONG left, ULONG top, ULONG width, ULONG height); #pragma code()
ULONG ObenX,ObenY,Breite,Hoehe;
80
ObenX=GetLeft(lpszPictureName,"Control1"); ObenY=GetTop(lpszPictureName,"Control1"); Breite=GetWidth(lpszPictureName,"Control1"); Hoehe=GetHeight(lpszPictureName,"Control1");
Wincc报表使用说明
报表使用说明本报表软件包一共包括两个文件:wincc测试项目test,和报表文件及源代码使用前提:在本机中需要安装vb6.0,这样就可以调试程序,修改程序了。
在客户电脑上面不需要安装,只需要把文件拷贝过去,点击项目生成的exe文件即可;报表软件中一共包括1个主窗口和3个子窗口,子窗口中的功能几乎相同,不同的是form1中有一个时间间隔查询,而form2,3中没有,然后就是参数不相同。
而form2,3中只有参数不同,所以功能上可以看作是一个窗体。
窗体结构如下图报表文件夹中的内容如下图代码中需要修改的地方:(每一个窗体(form)都需要修改)1、下图的数组是存储了你需要查询的归档变量的名称,你需要修改为自己wincc中建立的归档的变量。
程序是通过寻数组的地址来对相应的变量进行查询。
2、修改表格控件的第一行显示,更改下面数组中的内容,按照自己的参数名称对参数进行修改,就可以了。
3、对于form1,有一个时间间隔的筛选,例子中wincc中组态归档是10s进行一次变量采样值的存储,这里依照自己的需求来改变。
对应的需要在程序中将查询的时间筛选间隔改为合适的长度。
4、wincc打开和关闭报表系统打开:代码#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#pragma option(mbcs)ProgramExecute("C:\\Documents and Settings\\Administrator\\桌面\\winccvb\\报表系统.exe");此处需要根据报表系统.exe这个文件所在位置修改相应代码。
}图如下关闭:代码#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#pragma option(mbcs)#pragma code ("user32.dll")#pragma code()HWND hwnd;hwnd = FindWindow(NULL,"报表系统");SendMessage(hwnd,WM_CLOSE,0,0);}图如下:5、程序中修改的地方确实不会很多,但是文档写的过于简单,在使用中可能会有不明白的地方,有问题请联系我,我会给你满意的答案。
21.Wincc控件制作报表以及导出EXCEL方法介绍
21.Wincc控件制作报表以及导出EXCEL⽅法介绍假设希望做这样⼀个报表界⾯,可以根据⽇期查询:希望导出的excel报表⽂件在C盘根⽬录,是这个样⼦:接下来我们⼀步步实现这个功能。
1. Wincc历史趋势的数据库表结构有点不好理解,我们新建⼀个数据库名字叫做Report,新建⼀张表,结构是这个样⼦:注意开放sa⽤户,设置sa⽤户有管理report数据库权限,使⽤sql登陆模式。
2. 我们每5秒往report表写⼊⼀条记录,在全局VBS脚本写⼊如下代码:Option ExplicitFunction action'添加纪录Dim T1,T2,P1,P2,F1,F2,L1,L2,A1,A2,S1,S2Dim ors,conn,con,ssql,ocomDim PCNamePCName=hmiruntime.Tags("@LocalMachineName").ReadT1=HMIRuntime.Tags("温度1").ReadT2=HMIRuntime.Tags("温度2").ReadP1=HMIRuntime.Tags("压⼒1").ReadP2=HMIRuntime.Tags("压⼒2").ReadF1=HMIRuntime.Tags("流量1").ReadF2=HMIRuntime.Tags("流量2").ReadL1=HMIRuntime.Tags("液位1").ReadL2=HMIRuntime.Tags("液位2").ReadA1=HMIRuntime.Tags("分析仪1").ReadA2=HMIRuntime.Tags("分析仪2").ReadS1=HMIRuntime.Tags("转速1").ReadS2=HMIRuntime.Tags("转速2").Readcon="Provider = SQLOLEDB.1;password = sa;user id = sa;Initial Catalog =Report;Data Source = " & PCName & "\WINCC" Set conn=CreateObject("ADODB.Connection")conn.ConnectionString=conconn.Cursorlocation=3conn.openssql="insert into Report(CurDateTime,T1,T2,P1,P2,F1,F2,L1,L2,A1,A2,S1,S2) values(Getdate()," _& T1 & "," & T2 & "," & P1 & "," & P2 & "," & F1 & "," & F2 & "," & L1 & "," & L2 & "," & A1 & "," & A2 & "," & S1 & "," & S2 & ")"Set ors=CreateObject("ADODB.RecordSet")Set ocom=CreateObject("mand")Set ocom.activeconnection=connmandType=1mandText=ssqlSet ors=ocom.ExecuteSet ors=Nothingconn.closeSet conn=NothingEnd Function脚本中的函数不做解释。
第6章组态报表
2019/11/7
6
三、报表的组成(续)
打印作业——决定该报表什么时间按什么时间表进 行打印、设置打印的数据范围、选择该报表所使用的打 印机等。
每个新项目都有30多个已组态好的打印作业供用户 选择。用户可以利用报表编辑器生成自己的打印作业。
2019/11/7
若用户希望生成一个新的报表,其步骤: 1、使用报表编辑器生成布局——说明; 2、定义打印作业——与一布局对应; 3、启动工程项目——计算机属性中“启动”项激活报
表运行系统。
2019/11/7
10
6.2 组态布局和打印作业
浏览报表功能——
C1re、ate项re目po文rto档ver报vie表w_(00组01.态avi报表)
这些报表的打印都可以在打印作业中按时间表进行。
2019/11/7
5
三、报表的组成
每个报表包括:布局和打印作业。 布局——在报表编辑器中设计,决定报表的样式 和所包含的数据。 每个新项目都有60多个已组态好的布局供用户选 择。用户可以利用报表编辑器生成自己的布局。 如:报告变量归档运行表tlrttab.rpl
7
四、报表打印形式
WinCC的报表可以以两种形式打印:图形和文本。 报表如果是图形的,则打印成图形文件,若是文本 的,则打印成文本的文件。可以将文本、图形放在同一 个报表中。
2019/11/7
8
五、WinCC中生成和打印报表的步骤
WinCC的报表系统提供了组态好的布局和打印作业, 可以满足大多数报表的需要。
在一个新项目创建后,所有的项目文档报表都已事先 组态好,在各组态方式下,通过“文件”下拉菜单进行预 览和打印。
WINCC报表详细设计步骤
无锡康博自动化设备工程有限公司WINCC报表详细做法2014年2月10日珍藏版(如有雷同,就是盗版)一、报表的需求分析从需求上讲报表一般分为:①内容上的需求:涉及求和、平均、最大值和最小值的计算,同时还有复杂报表中混合排列上的处理。
②样式上的需求:简单报表的样式多为固定格式,固定内容。
复杂报表的样式可以有用户自己设计和决定显示的内容,甚至涉及历史趋势及报警信息。
③任务上的需求:报表不仅能显示查看,重要的是打印任务,WINCC的全局脚本能够实现事件触发打印或者定时打印。
报表实例:汉阴污水厂二、WINCC的数据存储④WINCC自带强大的数据归档功能,WINCC的数据记录已包含周期记录归档、非周期动作触发、动作触发的周期记录,甚至在数据处理中可以自动统计出平均值、最大值、最小值以及求和等数据信息。
④对于过程归档的访问,我们可以使用WINCC的在线表格,报表编辑器中自带的打印控件实现报表数据记录功能。
④对于存储数据的访问,WINCC提供了另外一个数据存储和处理工具就是用户归档。
报表实例:用户归档界面三、报表的具体做法关键词:④①报表编辑④②用户归档④③全局脚本④④创建打印任务④⑤画面编辑关于报表编辑器④WINCC的报表制作完成后存储在当前项目下的PRT文件夹内,可以直接复制粘贴到其他项目内使用,只需要修改数据库链接变量即可。
④对于大量数据信息存储的项目,可以创建多张报表进行分类,更准确直接的查看和生成报表。
④每一张报表对应一个新的打印作业,并且需要与用户归档里记录的数据库信息一一对应,下面将一一介绍详细。
报表编辑器—编辑报表报表编辑器—编辑报表动态数据库的创建链接报表编辑器—编辑报表动态数据库的创建链接报表编辑器—编辑报表静态文本的编辑报表编辑器—编辑报表一张完整的报表格式,可以查询10个数据,如果数据较多,可以创建多张报表关于用户归档④WINCC变量记录是系统的存储部分,使用的是SQL数据块。
而用户归档是基于数据库而生成的记录表。
Winccflexible报表-PPT课件
Hardware Software Workshop
一、报表系统概述 1.报表编辑器组成
报表编辑器用于编辑报表文件。在打开的项目窗口中,双击左侧 项目视图中的“报表”组的“新建报表”,在中间的工作区域 即可打开如图所示的报表编辑器。
6
WinCC flexible 如何创建报表系统
•
•
9
WinCC flexible 如何创建报表系统
WinCC Flexible
Hardware Software Workshop
一、报表系统概述 1.报表编辑器组成
点击图中每个报表区域左侧的“+”按钮,可以打开该报表区域, 在该区域可以根据需要添加相应的对象,添加方法与画面中添 加对象的方法相同,按钮 变为“-”按钮,点击 按钮即可将 打开的报表区域关闭。此外,在报表区域点击鼠标右键,在弹 出的快捷菜单中选择“全部扩展”或“全部折叠”,可以同时 打开或关闭所有报表区域。
10
WinCC flexible 如何创建报表系统
WinCC Flexible
Hardware Software Workshop
一、报表系统概述 2.组态报表常规属性
在报表的工作区域点击鼠标右键,在弹出的快捷菜单中选择“文 档属性”,在项目窗口中间工作区域的下方将出现如图所示的 属性视图,点击“常规”,在属性视图右侧出现“常规属性” 视图,可以根据需要组态报表的常规属性。选择是否启用封面 、封底,是否启用页眉、页脚,以及设置页眉、页脚高度等。 如果选择不启用报表的某一部分,如不启用封面,则在上方的报 表区域的标题将显示“报表封面(X)”。
•
8
WinCC flexible 如何创建报表系统
wincc打印趋势报表
wincc打印趋势报表
WINCC系统打印报表建立
前言:在做项目中,业主老抱怨说我们的系统只能看趋势,不能将以前的趋势数据打印出来,下面的方法就是解决这个问题前提是已经建立归档变量,趋势图
1,打开报表编辑器——布局——新建布局;
2,设置是否要打印封面/底面:布局空白处右键——属性——其他——两个都选否(即不打印),选择是则会打印出来;
3,在布局顶部建立静态文本(即打印出来所显示的标题);
4,建立在线表格控件:在右边工具栏中——运行系统——wincc 在线表格控件——表格拖入布局中
5,更改表格属性:双击——链接——分配参数——在列中添加需要的归档变量,同时更改其他属性,在最后一栏分别将“更新”和“时间范围”的勾去掉,这一点很重要如下图:
动态参数——为begin time 和end time 关联两个内部变量(内部变量的作用是用来输入打印起始时间和结束时间)
6,建立打印作业:双击打印作业——新建打印作业——给打印作业命名(很重要,后面打印按钮需要关联这个名字)——关联新建的布局——关联打印机(如下图)
7,在画面中建立两个I/O 域:命名为起始时间/结束时间,关联到新建的两个内部变量(8位文本字符),也就是上面动态参数关联的两个内部变量。
更改I/O 域属性为字符串型。
8,在画面中建立打印按钮:事件——按左键——C 动作——关联打印函数(如下图)点击打印按钮,系统就会将这个时间段的数据打印出来。
wincc报表区域差值
wincc报表区域差值WinCC报表区域差值即为报表中相邻两个区域数值的差异。
在工业自动化系统中,WinCC报表是一种重要的数据分析工具,可以对生产过程中的各种参数进行监测和分析,为生产管理提供有力的支持。
报表区域差值作为报表的标题,意味着通过分析和比较相邻区域的数值差异,可以揭示生产过程中的异常情况和潜在问题,并及时采取相应措施进行调整和改进。
在工业生产中,监测和分析关键参数的变化趋势是提高生产效率和质量的重要手段之一。
WinCC报表区域差值作为一个重要的指标,可以帮助工程师和管理人员识别出生产过程中的异常情况和潜在问题,进而采取相应的措施进行调整和改进。
例如,在温度监测系统中,通过分析相邻时间段的温度差异,可以判断是否存在温度过高或过低的异常情况,从而及时采取措施避免设备故障或产品质量问题的发生。
WinCC报表区域差值可以应用于各种生产过程的监测和分析。
例如,在流程控制系统中,通过分析相邻时间段的流量差异,可以判断管道是否存在堵塞或漏损问题,从而及时进行维护和修复,避免生产中断和资源浪费。
在能源管理系统中,通过分析相邻时间段的能耗差异,可以发现能源浪费和能源效率低下的问题,从而采取相应的节能措施,降低能源消耗和生产成本。
WinCC报表区域差值还可以用于生产过程的优化和改进。
通过分析不同工艺参数之间的差异,可以找到生产过程中的瓶颈和问题所在,进而采取相应的措施进行调整和优化。
例如,在流水线生产中,通过分析相邻时间段的产量差异,可以找到生产效率不高的环节,从而采取措施提高生产效率和质量。
在质量控制系统中,通过分析相邻时间段的产品质量差异,可以找到生产过程中存在的质量问题,从而采取措施改进生产工艺和质量控制措施。
不过,在进行WinCC报表区域差值分析时,需要注意以下几点。
首先,要确保所监测的参数具有一定的实时性和稳定性,以保证分析结果的准确性。
其次,在进行分析时需要选择合适的时间段和区域大小,以充分反映生产过程中的变化趋势和差异。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在工业生产中报表一直占有非常重要的部分,它一般用来记录现场的工艺参数和统计信息。
早期是由人工抄录然后统计出相关的报表。
进入计算机控制阶段,这份工作就需要工控软件来实现。
对于工控行业的工程师来说:如何开发适合用户需求的报表一直是个难题。
论坛上很多人都在寻求灵活高效的解决方法。
经过这段时间的网上讨论。
综合网友们的意见和建议,我们做了总结。
并结合WinCC软件本身作了相关的说明。
希望能对大家在以后的报表开发中有所帮助。
接下来就从报表的需求分析、WinCC报表系统的应用、复杂报表的WinCC报表系统实现这几个部分来分别介绍。
最后总结出WinCC报表系统在应用的优缺点和常见的问题的解决方法。
一.报表的需求分析从需求上来讲报表一般分为:内容上的需求、样式上和任务上的需求。
1.内容需求内容上一般涉及到数据的求和、平均、最大值、最小值等计算,同时也会涉及到关系的处理,比如班组相关对应信息的统计分析等。
下面是一个很典型的报表需求,就很能说明这样的问题:图1. 月报表分析此报表是典型的工业现场应用,在数据采集没有难度。
唯一的难度在于四班三倒后,每个月班的出勤日是不一样的,这样对于月报来说,计算出本月每个班的出勤日是需要些算法。
此类报表在连续生产的行业需求很广泛。
比如:钢铁冶金行业需要一天24小时不停运转的系统。
还有一种内容上是分总的关系,就是一部分是简单的数据记录,另一部分是对上一部分数据的统计,比如汇总、求和、平均等。
如下图也是很典型的应用。
图2. 总分报表另外一种就是涉及到混合排列的问题,一张表上既有分项数据,中间也涉及到统计信息,同时也会添加一些实时的信息在上面。
如下图。
图3. 复杂报表这是一个复杂的报表,中间涉及到分项的记录,数据求平均,和一些操作信息的记录。
既有历史数据也有实时信息。
当然更复杂的报表需求也是有的,比如说涉及到一张报表上既有实时信息又有历史信息同时还涉及趋势视图、报警信息等。
用户自己可以灵活的定义报表的内容和样式。
比如下图。
图4.用户定制报表样式内容上的需求就本质来讲是对客户关心信息的总结和整理。
内容的需求也就决定了报表的样式和可能采用的数据处理方式。
2.报表样式和打印任务从上面的分析我们不难看出,报表在样式上要么是固定的,就是事先设计好报表的样式,然后把一个一个数据填写上去。
这也是传统报表延续下来的一种方式:格式固定、内容固定(比如:图1和图3)。
另一种就是格式样式固定,但是数据信息不固定。
可能返回很多的数据集,也可能是没有数据。
这对报表系统的数据归纳能力提出了要求。
但是对样式上没有特别明确的需求。
最后一种就是比较复杂的问题,报表内容不固定、样式不固定完全由用户自己设计和决定显示的内容。
报表其实就是数据的展示问题,早期没有存储设备,只能人共抄写下来。
现在有了机器存储。
其实我们最终需要的就是一个数据的统计分析和显示。
当然如果能把这些报表的样式和需求以电子版的样式在网络上共享。
我想很多人可以接受不用打印输出的报表。
最终关心的是这些数据如实的存储下来,并可以随时查阅。
对于以上的问题,各家软件都有相应的解决方法。
那么WinCC中提供了哪些方法来应对这些需求?二.WinCC的报表系统作为一款监控组态软件,WinCC针对需求提供了强大的报表组态功能。
来帮助大家应对客户这方面的需求。
从以下几个方面进行分析:数据存储、数据分析和数据输出。
这也是处理报表问题的经典思路。
1.数据存储就存储而言,如果能自由灵活的记录数据的统计分析结果那是再好不过的了。
其实WinCC 的过程归档功能提供了强大的数据处理能力。
我们可以在归档管理中灵活的控制归档的动作和内容。
如下图:图5.过程值变量归档定义仔细分析这个界面,我们几乎可以定义所有需要的数据统计种类。
1、周期的记录2、非周期的动作触发3、动作触发的周期记录在数据处理上WinCC可以自动的统计出平均值、最大值、最小值等数据信息。
图6.归档设置界面对于过程归档数据的访问,我们可以使用WinCC的在线表格控件、WinCC报表编辑器中自带的打印控件,同时也可以使用Connectivity Pack选件使用脚本读出数据。
只有安装了该选件才支持特定的语法访问归档数据(该选件需要单独的授权)。
对于有一定编程功底的工程师来说Connectivity Pack选件是一个很好地分析和数据处理工具。
在后面会有相应的应用实例介绍。
很多人熟悉数据库的操作,那么能不能像操作数据库那样操作WinCC存储的数据呢?WinCC为我们提供了另一个强大的数据存储和处理工具:用户归档。
用户归档编辑器是一个WinCC的附加选件,需要安装相应的授权才能使用,否则只能使用DEMO模式。
它可以用来在服务器 PC 上连续的保存来自技术过程的数据。
在图形编辑器中,可以组态 WinCC 用户归档表格元素来以表格显示运行系统中用户归档的在线数据。
用户归档还可用于准备自动化系统(例如 S5、S7)的数据。
如果必要,数据可以配方或设定值的形式从控制器读出。
用户归档的控制变量可以很好地实现数据的读取和写入。
从而免去了用户自己写脚本的工作(登录,在技术文档综合搜索中输入文档编号A0296,查询到《使用用户归档实现报表简介》下载即可获得详细信息)。
在用户归档编辑器中,可以最多组态 500 个归档和 500 个视图。
每个归档最多可创建 500 个域。
归档中的数据记录的最大数目受到限制,取决于已组态列的数目和归档中包含的数据记录。
列和数据记录的乘积不能大于 320000。
这样用户归档基本上可以满足数据存储量不是很大的需求。
同时又可以像操作数据库那样操作数据。
很方便实用。
当然更灵活的方法就是使用WinCC的脚本操作外部数据库。
这个已经超出了咱们讨论的范围。
2.数据分析和输出其实这两个问题我们需要结合来讲。
如何把存储和分析的结果很好地展示出来,这应该是大家最关心也是对报表系统体会最深的地方。
很多时候我们的问题就出现在如何分析和展示数据上。
很多人希望报表格式能像EXCEL那样灵活。
当然我们可以把数据读出来写入EXCEL这不失为一个方法。
但是这需要开发者的一些编程功底。
如何不用编程序或者使用很少的程序代码就能实现报表功能呢?其实WinCC在数据分析和数据输出上提供了很好的工具。
最简单和直接的方法,就是调用WinCC的控件集成的打印功能。
它是一种所见即所得的方式实现的打印工具。
用户可以很轻松的执行打印任务。
对于普通归档的访问如果编程的话WinCC提供了Connectivity pack工具,用于分析和统计数据。
对于用户归档WinCC的报表系统提供了直接的接口控件。
同时也可以像操作普通数据库的表一样来操作用户归档中的归档和视图。
对于外部数据WinCC也提供了ODBC数据表和数据域控件来直接连接获取数据。
从而省去了部分编写数据库访问脚本的工作。
如下图:图8.报表系统选件图9.ODBC动态对象对于这些控件只需要简单的配置就能得到相应的数据结果。
图10. 参数配置图其中ODBC数据源变量用于填写数据源的名称,SQL语句变量用于创建一个变量写入查询条件。
列数处填写返回数据记录的变量数。
很多人理想中的报表:是既有EXCEL的易用性同时又能兼顾很好的数据库接口。
并在系统中保留EXCEL的数据统计分析功能和数据展示功能。
其实WinCC是可以实现这样的报表的。
WinCC有一个选件Dat@Monitor它的一项功能就是使用EXCEL连接WinCC的归档数据,主要就是结合WinCC的存储功能和EXCEL强大的数据处理功能来实现满足报表需求。
同时它可以把相应的报表发布到网络上,实现网络的共享。
用户还可以使用这个工具实现自定义报表样式。
该产品的定位,主要是对现场工艺和采集数据的分析、整理和发布。
它包括"Process Screens"、"Webcenter"、"Trends and Alarms"、"Excel Workbooks"、等工具,可以根据不同的工具实现不同的功能。
三.复杂报表的WinCC报表系统实现分析针对需求如何使用WinCC的报表系统实现复杂的报表呢?之前已经发了一个使用用户归档结合ODBC数据表控件实现复杂报表的文档。
下面介绍使用Connectivity Pack结合普通归档如何实现复杂报表(以图1为例)。
论坛上有位网友已经使用用户归档实现了该种报表,那么我们看看如实使用普通归档实现。
要求:现场是四班三运转,月底的时候对各个班的数据情况进行统计分析。
难点:各个班的上班时间不固定,每月的天数不固定。
涉及到最大值、最小值和平均值的计算。
关键点:在于如何确立某班和某一时间段的对应关系。
1.普通归档结合Connectivity Pack实现报表首先数据存储问题。
WinCC的归档中,对应一个过程变量其实可以生成多个归档变量(如图12)。
归档的启动和停止可以由事件来控制(图13)。
那么可以通过不同的用户登录来确定启动哪一个归档。
从而确定班组和数据的对应关系。
图12.归档定义图13.归档起始和停止动作的定义创建全局动作如下(针对两个班组的测试代码,三个班的类似):int gscAction( void ) {#pragma option(mbcs)if(!strcmp(GetTagChar("@CurrentUser"),"yiban")) {IA&DT Service & SupportPage 13-34SetTagBit("AarcE",0); //Return-Type: BOOL SetTagBit("AarcB",1);//Return-Type: BOOLSetTagBit("BarcE",1); //Return-Type: BOOL SetTagBit("BarcB",0);//Return-Type: BOOL}else if(!strcmp(GetTagChar("@CurrentUser"),"erban")) { SetTagBit("BarcE",0); //Return-Type: BOOL SetTagBit("BarcB",1);//Return-Type: BOOLSetTagBit("AarcE",1); //Return-Type: BOOL SetTagBit("AarcB",0);//Return-Type: BOOL} }该动作通过WinCC内部变量@CurrentUser的变化来触发。