通过WinCC 的Global Script 实现报表功能
- 格式:pdf
- 大小:631.84 KB
- 文档页数:9
西门子wincc数据报表的实现方式【摘要】随着工业领域的不断发展,用户需求一种以人机界面为控制主体的视窗控制体系的过程监控系统,以此来取代原来的以现场操作按钮和仪表为主的操作体系。
通过开放性、灵活性的可视化界面,迅速并直接的处理生产过程中的事件信息。
凭借这种战略思想,WINCC,运行于Windows系统下的控制中心,已发展成为工业市场领域的领导者,乃至业界遵循的标准。
Wincc集生产自动化和过程自动化于一体,应用于各种工业自动化领域,是提高工厂生产效率的上乘之选,并支持多种语言。
工业生产中,报表系统通常是控制系统中非常重要的一部分,是企业管理的基本措施和途径,它通常用来记录重要的现场工艺参数和统计信息。
早期,都是由人工记录的方式进行统计汇总,数据也只能有一种几乎只有记录员才能理解的表现形式,且这种形式难于更改。
当进入计算机时代后,报表这部分工作完全可以由计算机软件来实现,数据动态化,格式多样化,用户可以自己修改数据或格式。
针对自动化工程师而言,如何利用wincc软件来开发适合用户需求的报表,并且高效灵活的解决统计数据是自动化工程师必须掌握的一门技术,也是企业日常生产维护和管理中不可或缺的管理手段之一。
报表的变现形式分为许多种,大体上可分为两种形式:曲线格式和表格格式。
曲线形式主要是利用WINCC自带控件来实现,在控件属性中,可对趋势、常规、字体、趋势窗口、时间轴、数值轴、工具栏、状态栏、在线组态、导出中具体参数进行设置,以符合用户的生产需求和审美要求。
例如,时间轴可设成1分钟,1小时或者1天的形式,数值轴可以设置成根据实际测量值实时改变数值轴的范围。
应用在线趋势曲线的前提条件是,用户需要在变量记录里设置需要归档的变量内容和归档周期等一系列参数。
针对于一些特殊归档要求,曲线形式的归档可能满足不了用户的需求,往往用户需要生成一种支持打印功能并以表格形式查询的数据归档报表。
针对于这类复杂的报表,可以通过用户归档和Wincc报表编辑器来实现此类功能。
WinCC数据报表实现方法介绍在工业生产中报表一直占有非常重要的部分,它一般用来记录现场的工艺参数和统计信息。
早期是由人工抄录然后统计出相关的报表。
进入计算机控制阶段,这份工作就需要工控软件来实现。
对于工控行业的工程师来说:如何开发适合用户需求的报表一直是个难题。
接下来就从报表的需求分析、WinCC报表系统的应用、复杂报表的WinCC报表系统实现这几个部分来分别介绍。
最后总结出WinCC报表系统在应用的优缺点和常见的问题的解决方法。
1.报表的需求分析从需求上来讲报表一般分为:内容上的需求、样式上和任务上的需求。
内容需求内容上一般涉及到数据的求和、平均、最大值、最小值等计算,同时也会涉及到关系的处理,比如班组相关对应信息的统计分析等。
下面是一个很典型的报表需求,就很能说明这样的问题:图1. 月报表分析此报表是典型的工业现场应用,在数据采集没有难度。
唯一的难度在于四班三倒后,每个月班的出勤日是不一样的,这样对于月报来说,计算出本月每个班的出勤日是需要些算法。
此类报表在连续生产的行业需求很广泛。
比如:钢铁冶金行业需要一天24小时不停运转的系统。
还有一种内容上是分总的关系,就是一部分是简单的数据记录,另一部分是对上一部分数据的统计,比如汇总、求和、平均等。
如下图也是很典型的应用:图2. 总分报表另外一种就是涉及到混合排列的问题,一张表上既有分项数据,中间也涉及到统计信息,同时也会添加一些实时的信息在上面。
如下图:图3. 复杂报表这是一个复杂的报表,中间涉及到分项的记录,数据求平均,和一些操作信息的记录。
既有历史数据也有实时信息。
当然更复杂的报表需求也是有的,比如说涉及到一张报表上既有实时信息又有历史信息同时还涉及趋势视图、报警信息等。
用户自己可以灵活的定义报表的内容和样式。
比如下图:图4.用户定制报表样式内容上的需求就本质来讲是对客户关心信息的总结和整理。
内容的需求也就决定了报表的样式和可能采用的数据处理方式。
WinCC中全局脚本VBS归档到Excel中用一个变量触发数据归档到Excel中,请高手看看我写的为何不能运行。
Sub procedure1If Item.OutputValue = "NewTag" ThenDim oVar,oBlendingVar,objExcelApp,oWorkBook,ExcelTableFull,oFileNameOn Error Resume NextExcelTableFull=0Set objExcelApp=CreateObject("Excel.Application")objExcelApp.Visible=FalseSet oWorkBook=objExcelApp.Workbooks.Open("D:\BKHL_HXBJ\模板\Receipt_Table.xls") Dim iBlankLineiBlankLine=oWorkBook.ActiveSheet.Columns(1).Find("0").Row'MsgBox("iBlankLine="&iBlankLine)If iBlankLine<504 ThenobjExcelApp.Cells(iBlankLine,1).Value=HMIRuntime.SmartTags("Recipe_Number").Value objExcelApp.Cells(iBlankLine,2).Value=HMIRuntime.SmartTags("BaseOil_Percent_1").Value objExcelApp.Cells(iBlankLine,3).Value=HMIRuntime.SmartTags("BaseOil_Percent_2").Value objExcelApp.Cells(iBlankLine,4).Value=HMIRuntime.SmartTags("BaseOil_Percent_3").Value objExcelApp.Cells(iBlankLine,5).Value=HMIRuntime.SmartTags("BaseOil_Percent_4").Value objExcelApp.Cells(iBlankLine,6).Value=HMIRuntime.SmartTags("BaseOil_Percent_5").Value objExcelApp.Cells(iBlankLine,7).Value=HMIRuntime.SmartTags("BaseOil_Percent_6").Value objExcelApp.Cells(iBlankLine,8).Value=HMIRuntime.SmartTags("BaseOil_Percent_7").Value objExcelApp.Cells(iBlankLine,9).Value=HMIRuntime.SmartTags("BaseOil_Percent_8").Value objExcelApp.Cells(iBlankLine,10).Value=HMIRuntime.SmartTags("Additive_Percent_1").Value objExcelApp.Cells(iBlankLine,11).V alue=HMIRuntime.SmartTags("Additive_Percent_2").Value objExcelApp.Cells(iBlankLine,12).Value=HMIRuntime.SmartTags("Additive_Percent_3").Value objExcelApp.Cells(iBlankLine,13).Value=HMIRuntime.SmartTags("Additive_Percent_4").Value objExcelApp.Cells(iBlankLine,14).Value=HMIRuntime.SmartTags("Additive_Percent_5").Value objExcelApp.Cells(iBlankLine,15).Value=HMIRuntime.SmartTags("Additive_Percent_6").Value objExcelApp.Cells(iBlankLine,16).Value=HMIRuntime.SmartTags("Additive_Percent_7").Value objExcelApp.Cells(iBlankLine,17).Value=HMIRuntime.SmartTags("Additive_Percent_8").ValueElse'MsgBox("Data Table Full,Copy to the backup file,continue ?")objExcelApp.displayalerts=FalseoFileName=CStr("D:\BKHL_HXBJ\模板\运行数据_"&Month(Date)&"月"&Day(Date)&"日"&"_"& Hour(Time)&"时"&Minute(Time)&"分"&".xls")oWorkBook.Saveas(oFileName)ExcelTableFull=1objExcelApp.displayalerts=TrueEnd IfoWorkBook.SaveobjExcelApp.Workbooks.CloseobjExcelApp.QuitSet objExcelApp=NothingSet oWorkBook=NothingIf ExcelTableFull=1 Then'MsgBox("Data Table Full, Clear the current data table, continus?")Set objExcelApp=CreateObject("Excel.Application")objExcelApp.Visible=FalseSet oWorkBook=objExcelApp.Workbooks.Open("D:\BKHL_HXBJ\模板\Receipt_Table_Templet.xls")objExcelApp.displayalerts=FalseoWorkBook.Saveas("D:\BKHL_HXBJ\模板\Receipt_Table.xls")objExcelApp.displayalerts=TrueoWorkBook.SaveobjExcelApp.Workbooks.CloseobjExcelApp.QuitSet objExcelApp=NothingSet oWorkBook=NothingEnd IfEnd IfEnd Sub本文转自亿万论坛:/a/a.asp?B=302&ID=1218853&q=1&r=140751。
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脚本中的函数不做解释。
基于高级编程语言的WINCC复杂报表管理实现徐志杰(国电南自新能源科技有限公司,南京市浦口高新区 210032)摘要:为解决西门子视窗管理中心(WINCC)报表功能的不足,本文介绍了某电厂烟尘减排控制系统上位机监控系统中采用高级编程语言VB和脚本编程语言VBSCRIPT与WINCC下的SQL2005数据库进行接口的方法,完成过程历史数据的存储、读取。
通过调用Spread Active控件进而实现复杂报表的查询、打印,和对数据的二次梳理分析,并可以方便的输出为EXCEL和HTML文件。
同时也为以B/S模式访问过程运行数据提供了接口。
关键词:VB;WINCC;SQL2005;数据库;报表0 引言WINCC(Windows Control Center)作为西门子公司开发的上位机组态软件,功能强大、应用灵活,为现场控制提供了一个高可靠性的监控平台,因此广泛应用于工控领域,尤其在电力系统的辅机控制方面,有许多采用WINCC+S7300(或400)的方案来实现稳定可靠控制的成功案例。
随着WINCC多年应用经验的积累,版本进行了多次升级,WINCC V6.2 SP3由于具有智能新选件、可扩展菜单(工具栏)、报警可隐藏,自定义数据库等诸多新特征,使其应用越来越广泛。
WINCC V6.2的归档方式与以前的版本所有不同,它的运行数据存放在数据片段当中。
当控制系统数据采集比较多,需要对数据关系进行二次梳理,而WINCC自带的报表编辑器有其局限性,用户要实现复杂报表存在很大难度。
本文针对上述情况,结合数据片段无法直接用VB读取的困难,采用自定义数据库来存放过程运行数据,然后采用VB通过字符串访问方式读取数据进行分析处理及复杂报表的查询打印等功能。
1 WINCC访问数据库的方式WINCC几乎集成了微软所有开放性技术,大量采用了标准化技术,如:OPC、DDE、ODBC、OLE-DB、Active X等,可以很方便的与其他应用程序交换数据。
《工业控制计算机》2007年20卷第2期摘要为了解决WinCC不在运行状态时,WinCC趋势控件不能访问已经记录的过程数据的问题,以及过程数据的采集周期受最短归档周期500ms的限制的问题,充分利用WinCC软件本身的特点,提出了一种利用过程数据进行存储和访问的方法,缩短了过程数据的采集周期。
利用WinCC内嵌的C语言编辑器和本身自带的丰富的函数库,通过编写CScript全局脚本程序,将过程数据以日志文件方式完成实时记录归档,并实现查询和报表功能。
关键词:CScript,WinCC,日志文件,查询,报表AbstractThetraditionalWinCCTrendControlcannotaccessrecordedprocessdatawhenWinCCisnotinruntime.BesidesthecollectioncycleofprocessdataislimitedbycompilingperiodinWinCC.Amethodofdatastorageandaccessisdevel-opedthroughusingprocessdatatoshortenthecollectioncycle.ThemethodfirstlycreatestheCScriptglobalactionbyusingCeditorandfunctionlibraryofWINCC.Thenintheglobalaction,theprocessdataisrecordedintheformofreal-timelogfileandthenthequeryandreportfunctionisrealized.Keywords:CScript,WinCC,logfile,query,reportWinCCOnlineTrendControl控件可以以趋势的形式显示在线过程数据,也可以表格的形式显示,但是用户不能对这些数据直接进行访问和处理。
e—D01:10.16707/j.c n k i.fjp c.2017.07.060建电脑C O M P U T E R基于W ince平台的数据报表应用任国萃(福建省三钢(集团)有限责任公司炼铁厂福建三明365000)【摘要】随着我国制造业的迅速崛起,对生产过程中数据的统计要求越来越高,传统的人工方式已经逐步被淘汰,计算机技术的应用已经成为了趋势的必然◎W m c c作为一款经典的S C A D A软件,在整个工业生产中有着极其广泛的应 用,本文将结合具体实例,系统完整地论述数据报表技术基于W m c c平台的设计方案原理与具体实现过程。
;【关键词】W m c c;数据报表;P L C;C语言―、弓I言相较于20世纪,伴随着计算机技术的革命性发展,当代的 工业生产方式已经产生了质的变化,生产效率得到人幅提高,体力劳动被大f i解放。
数据在生产过程中一直扮演者茧要角色,它可以反映出设备状态、产品成本、生产效率等等,对生产 有着帮足轻重的作州。
通过与算机技术的结合,传统⑷要人 工采集的数据,可以通过自动化系统,由计算机自动完成采集、转换、计算、统计等功能,无论在速度、精度或是计算能力方面,都远远超过人工方式。
所以,在当代的工业生产中,数据的采f t 工作基本上都足由讣算机来完成的。
W in c e足一款应川广泛的工控S C A D A平台,用于实现生 产数据的采集、储存、计算、监控、传输等功能。
本文将基于此平 台,使用实际案例,结合PLC、C语言等技术,系统完整地论述数 据报表技术的实现。
二、硬件介绍图1工业控制系统结构上图(图1)是.1:业自动化控讀彳系统的核心架构,主要的硬 件是由现场设备、P L C模块、PLC-CPU、服务器、客户机五部分组成,它们各自分别承担不同的功能,通过计算机技术,最终实 现数据的采集、转换、计算、传输、存储等功能。
(1)现场设备:位于系统的最底层,负责将生产过程屮所耑要采集的各类物理量与电信5之间进行转换,是实现数据采集的第一步,常 见的设备包括流_量讣、继电器、热电偶、接近开关等等。
WinCC数据报表实现方法介绍WinCC是西门子公司开发的一款工业自动化软件,用于监控和控制工业过程。
它提供了丰富的功能和工具,使用户能够轻松地创建、配置和管理工业自动化系统。
其中一个重要的功能就是数据报表的生成和分析。
WinCC数据报表功能可以帮助用户对工业过程中的数据进行收集、存储和分析,从而提供决策支持和性能优化。
下面将介绍WinCC数据报表的实现方法。
1. 数据收集和存储:在WinCC中,数据报表的实现首先需要进行数据的收集和存储。
用户可以通过配置WinCC的数据采集功能,将需要监控和分析的数据从现场设备或控制系统中获取。
这些数据可以是温度、压力、流量等过程变量,也可以是设备状态、报警信息等。
WinCC提供了多种数据采集方式,如OPC、数据库连接、PLC通讯等,用户可以根据实际需求选择合适的方式。
2. 报表模板设计:在数据收集和存储完成后,用户需要设计报表模板,用于展示和分析数据。
WinCC提供了丰富的报表模板设计工具,用户可以根据自己的需求自定义报表的样式和布局。
用户可以选择添加表格、图表、图像等元素,还可以设置报表的标题、页眉、页脚等。
此外,WinCC还提供了多种数据处理和计算功能,如数据筛选、排序、求和、平均值计算等,用户可以根据实际需求对数据进行处理和分析。
3. 报表生成和导出:在设计好报表模板后,用户可以通过WinCC的报表生成功能生成报表。
用户可以选择生成实时报表或历史报表,实时报表可以实时展示当前的数据,而历史报表可以展示一段时间内的数据。
生成报表时,用户可以选择报表的时间范围、数据类型、数据筛选条件等。
生成的报表可以以各种格式导出,如PDF、Excel、Word 等,方便用户进行打印和共享。
4. 报表分析和优化:生成报表后,用户可以进行报表的分析和优化。
WinCC提供了丰富的数据分析工具,用户可以通过图表、图像等方式直观地展示和比较数据。
用户可以根据报表的分析结果,发现问题和改进措施,并进行性能优化。
在WinCC中利用C-Script实现复杂生产报表
高奇凌;王文祥;刘璘
【期刊名称】《工业控制计算机》
【年(卷),期】2012(25)5
【摘要】为了解决WinCC 6.2中不能直接生成复杂生产报表及查询打印的问题,提出了利用C-Script通过OLE DB和ADO对生产数据在Access归档、查询及打印的方法.很好地解决了污水厂生产中对复杂报表的要求,实现了报表的定时归档及后台的打印.
【总页数】3页(P80-81,84)
【作者】高奇凌;王文祥;刘璘
【作者单位】甘肃金桥水科技集团设计院电气与自动化所,甘肃兰州730030;甘肃金桥水科技集团设计院电气与自动化所,甘肃兰州730030;甘肃金桥水科技集团设计院电气与自动化所,甘肃兰州730030
【正文语种】中文
【相关文献】
1.利用第三方软件实现WinCC打印实时报表的方法 [J], 赵志涛
2.Simatic WinCC中嵌入Excel报表实现方法 [J], 任铁良;郭玉洁
3.WinCC中基于C-Script和VBS的搜索打印方法 [J], 周杰;潘宏侠
4.基于WinCC C-Script的水压机报表系统开发 [J], 陈晖;苏勇;谭建平
5.WinCC中基于C-Script的大型整流电源调流控制 [J], 周杰;潘宏侠;郭彦青
因版权原因,仅展示原文概要,查看原文内容请购买。
WinCC如何做外部报表用VB实现WinCC归档数据的复杂报表最近在看WinCC如何做外部报表,网上找了一篇文章,供大家参考。
引言:Siemens公司的WinCC是一个优秀的工控组态软件,广泛应用于各种工业控制系统的数据采集及监控,具有良好的人机界面、灵活的组态功能。
WinCC本身也具有报表和曲线处理功能,但WinCC V6.0以前的版本没有嵌入VB脚本功能,且其归档数据不能直接被SQL server数据库所用。
对于一些较复杂的数据处理功能(如数据查询、数据备份、报表打印等)用WinCC实现就显得力不从心。
同时,WinCC在处理报表时不能对历史数据进行任意查询和过滤,且报表格式设计也不够灵活方便,无法满足项目要求。
1.系统概述本系统是将WinCC从PLC采集过来的过程数据通过VB编程进行归档、查询、过滤、报表打印。
在每次试验前,先要清空WinCC归档数据库和Access临时数据库,以保证每一次试验数据的有效性和完整性。
试验结束后,可立即进行数据处理(备份、查询、过滤、打印)。
也可对备份的历史数据进行查询和报表打印。
由于Excel实现报表功能非常强大,且VB的可扩展性强,可以利用Excel作为OLE服务器,实现VB与Excel的集成,所以各种复杂的报表可以很容易的实现。
系统主要界面如下:图一:新试验起始画面图二:数据查询画面2. ODBC的配置连接和DAO2.1 ODBC(Open Database Connectivity)配置ODBC是一个用于访问数据库的统一标准接口,是Microsoft Windows的开放服务体系WOSA(Windows OpenServices Architecture)中有关数据库的一个组成部分。
ODBC需要。