用户归档实现wincc报表

合集下载

西门子wincc数据报表的实现方式

西门子wincc数据报表的实现方式

西门子wincc数据报表的实现方式【摘要】随着工业领域的不断发展,用户需求一种以人机界面为控制主体的视窗控制体系的过程监控系统,以此来取代原来的以现场操作按钮和仪表为主的操作体系。

通过开放性、灵活性的可视化界面,迅速并直接的处理生产过程中的事件信息。

凭借这种战略思想,WINCC,运行于Windows系统下的控制中心,已发展成为工业市场领域的领导者,乃至业界遵循的标准。

Wincc集生产自动化和过程自动化于一体,应用于各种工业自动化领域,是提高工厂生产效率的上乘之选,并支持多种语言。

工业生产中,报表系统通常是控制系统中非常重要的一部分,是企业管理的基本措施和途径,它通常用来记录重要的现场工艺参数和统计信息。

早期,都是由人工记录的方式进行统计汇总,数据也只能有一种几乎只有记录员才能理解的表现形式,且这种形式难于更改。

当进入计算机时代后,报表这部分工作完全可以由计算机软件来实现,数据动态化,格式多样化,用户可以自己修改数据或格式。

针对自动化工程师而言,如何利用wincc软件来开发适合用户需求的报表,并且高效灵活的解决统计数据是自动化工程师必须掌握的一门技术,也是企业日常生产维护和管理中不可或缺的管理手段之一。

报表的变现形式分为许多种,大体上可分为两种形式:曲线格式和表格格式。

曲线形式主要是利用WINCC自带控件来实现,在控件属性中,可对趋势、常规、字体、趋势窗口、时间轴、数值轴、工具栏、状态栏、在线组态、导出中具体参数进行设置,以符合用户的生产需求和审美要求。

例如,时间轴可设成1分钟,1小时或者1天的形式,数值轴可以设置成根据实际测量值实时改变数值轴的范围。

应用在线趋势曲线的前提条件是,用户需要在变量记录里设置需要归档的变量内容和归档周期等一系列参数。

针对于一些特殊归档要求,曲线形式的归档可能满足不了用户的需求,往往用户需要生成一种支持打印功能并以表格形式查询的数据归档报表。

针对于这类复杂的报表,可以通过用户归档和Wincc报表编辑器来实现此类功能。

WinCC数据报表实现方法介绍

WinCC数据报表实现方法介绍

WinCC数据报表实现方法介绍在工业生产中报表一直占有非常重要的部分,它一般用来记录现场的工艺参数和统计信息。

早期是由人工抄录然后统计出相关的报表。

进入计算机控制阶段,这份工作就需要工控软件来实现。

对于工控行业的工程师来说:如何开发适合用户需求的报表一直是个难题。

接下来就从报表的需求分析、WinCC报表系统的应用、复杂报表的WinCC报表系统实现这几个部分来分别介绍。

最后总结出WinCC报表系统在应用的优缺点和常见的问题的解决方法。

1.报表的需求分析从需求上来讲报表一般分为:内容上的需求、样式上和任务上的需求。

内容需求内容上一般涉及到数据的求和、平均、最大值、最小值等计算,同时也会涉及到关系的处理,比如班组相关对应信息的统计分析等。

下面是一个很典型的报表需求,就很能说明这样的问题:图1. 月报表分析此报表是典型的工业现场应用,在数据采集没有难度。

唯一的难度在于四班三倒后,每个月班的出勤日是不一样的,这样对于月报来说,计算出本月每个班的出勤日是需要些算法。

此类报表在连续生产的行业需求很广泛。

比如:钢铁冶金行业需要一天24小时不停运转的系统。

还有一种内容上是分总的关系,就是一部分是简单的数据记录,另一部分是对上一部分数据的统计,比如汇总、求和、平均等。

如下图也是很典型的应用:图2. 总分报表另外一种就是涉及到混合排列的问题,一张表上既有分项数据,中间也涉及到统计信息,同时也会添加一些实时的信息在上面。

如下图:图3. 复杂报表这是一个复杂的报表,中间涉及到分项的记录,数据求平均,和一些操作信息的记录。

既有历史数据也有实时信息。

当然更复杂的报表需求也是有的,比如说涉及到一张报表上既有实时信息又有历史信息同时还涉及趋势视图、报警信息等。

用户自己可以灵活的定义报表的内容和样式。

比如下图:图4.用户定制报表样式内容上的需求就本质来讲是对客户关心信息的总结和整理。

内容的需求也就决定了报表的样式和可能采用的数据处理方式。

用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例

用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例

用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例(2009-12-30 16:47:45)用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例子程序求用VBS实现WINCC的用户归档输出到固定格式的EXCEL表格的方法和例子程序!我主要问题在SQL数据库的查询语句不会。

看见论坛里有关用VBS实现EXCEL的数据查询和导出,我现在想要完成如下功能:每分钟将数据归档,用户可以输入任意的时刻时间查询从任意时刻开始的之后每隔1小时的数据(有点像日报里的24个小时)。

我现在对于VBS查询数据库的语句不懂,望大大赐教!谢谢''SQL查询语句Dim strc as stringstrc = "provider=WinCCOLEDBProvider.1;catalog=CC_RebdI_09_06_22_1 0_38_35R;data source=ComputerName\WinCC"''这个连接字符串可以在SQl2000中看到Dim cc1Set cc1=CreateObject("adodb.connection")cc1.ConnectionString=strccc1.CursorLocation=3cc1.openDim rst As ObjectSet rst = CreateObject("adodb.recordset")dim ssql as stringssql = "Tag:R,'Archive_3\DB1DBD0','2009-7-29 00:00:00.00 00','2009-7-29 23:59:59.999','timestep=3600,258'"''Archive_3\I_DB1DBD0归档和变量''2009-7-29 00:00:00.0000,2009-7-29 23:59 :59.999时间段''timestep=3600,258每阁多少秒拿一个数据(3600=1小时),258表示每个时间段取最后一个数据rst.Open ssql, cc1''这样查出来的数据就是一天的每小时的数据''对rst记录集处理就可以得到你要的数据==========================Function actionDim objExcelAppDim i,TimeM,TimeNow,TimeSSet TimeM=HMIRuntime.Tags("TimeM")i=1+TimeM.ReadTimeNow=CStr(Year(Now))&"年"&CStr(Month(Now))&"月"&CStr(Day(Now))&"日"&CStr(Hour(Now))&"-"&CStr(Minute(Now))&":"&CStr(Second(Now))TimeS=Second(Now)Set objExcelApp = CreateObject("Excel.Application")objExcelApp.Visible = FalseobjExcelApp.Workbooks.Open"E:\ExcelTest.xls"objExcelApp.Cells(i, 2).Value =123.47objExcelApp.Cells(i, 1).Value = TimeNowobjExcelApp.DisplayAlerts = FalseobjExcelApp.ActiveWorkbook.SaveobjExcelApp.Workbooks.CloseobjExcelApp.quitSet objExcelApp =NothingEnd Function以上代码用于往指定的Excel表格中写数据。

WinCC用户归档在报表中的应用

WinCC用户归档在报表中的应用

技术推广WinCC用户归档在报表中的应用余丹(江西工业职业技术学院,江西南昌330096)摘要:为了在监控系统中对过程数据进行归档和对复杂报表进行自定义编辑,采用了WinCC的选件用户归档来实现。

通过VBScript脚本语言实现数据存储,形成生产作业的日报表、月报表和年报表,并结合数据库和Excel知识,可定时生成Excel文件,以及选择性地显示和打印报表。

关键词:WinCC;用户归档;VBScript脚本;报表西门子公司的WinCC组态软件适合于各个行业和各种技术系统,用于在生产和过程自动化环境中实现可视化和过程控制任务。

WinCC软件本身提供了变量记录归档数据,对于过程归档数据的访问,虽可以使用WinCC在线表格控件和在线趋势控件进行数据的显示和打印,但不能直接对过程归档数据进行访问和处理,且系统未激活时不能访问归档数据,使得变量记录不能满足复杂报表的要求“」。

WinCC的附加选件用户归档能连续保存过程数据,存储必要的文本,在图形编辑器中,可以组态WinCC用户归档表格元素来以表格形式显示运行系统中用户归档的在线数据。

WinCC在处理报表时能对用户归档的历史数据进行任意查询、过滤和导出,通过VBScript编程能将历史数据自动保存为Excel文件,使得用户可以用Excel来灵活处理数据巴本文采用用户归档和VBScript自定义复杂报表,为解决WinCC软件制作复杂报表问题提供了一条有效的途径。

1用户归档介绍用户归档编辑器提供2种数据库表格:(1)用户归档。

用户归档是用户可在其中创建自己的数据域的娜库表格。

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

(2)视图。

视图接收来自用户归档的数据并用于数据的相加。

用户归档利用4个控制变量来触发用户归档。

控制变量有用于记录编号的ID、进行读、写、删除的Job、归档域的数组Field和数值Value。

2用户归档实现报表2.1报表规划在本项目中,为了将桥式起重机每班的起重量、班次、桥机号、投料口、日期和日期与时间,在到达确切位置时就触发数据记录。

WinCC数据报表实现方法介绍

WinCC数据报表实现方法介绍

WinCC数据报表实现方法介绍WinCC是西门子公司开发的一款工业自动化软件,用于监控和控制工业过程。

它提供了丰富的功能和工具,使用户能够轻松地创建、配置和管理工业自动化系统。

其中一个重要的功能就是数据报表的生成和分析。

WinCC数据报表功能可以帮助用户对工业过程中的数据进行收集、存储和分析,从而提供决策支持和性能优化。

下面将介绍WinCC数据报表的实现方法。

1. 数据收集和存储:在WinCC中,数据报表的实现首先需要进行数据的收集和存储。

用户可以通过配置WinCC的数据采集功能,将需要监控和分析的数据从现场设备或控制系统中获取。

这些数据可以是温度、压力、流量等过程变量,也可以是设备状态、报警信息等。

WinCC提供了多种数据采集方式,如OPC、数据库连接、PLC通讯等,用户可以根据实际需求选择合适的方式。

2. 报表模板设计:在数据收集和存储完成后,用户需要设计报表模板,用于展示和分析数据。

WinCC提供了丰富的报表模板设计工具,用户可以根据自己的需求自定义报表的样式和布局。

用户可以选择添加表格、图表、图像等元素,还可以设置报表的标题、页眉、页脚等。

此外,WinCC还提供了多种数据处理和计算功能,如数据筛选、排序、求和、平均值计算等,用户可以根据实际需求对数据进行处理和分析。

3. 报表生成和导出:在设计好报表模板后,用户可以通过WinCC的报表生成功能生成报表。

用户可以选择生成实时报表或历史报表,实时报表可以实时展示当前的数据,而历史报表可以展示一段时间内的数据。

生成报表时,用户可以选择报表的时间范围、数据类型、数据筛选条件等。

生成的报表可以以各种格式导出,如PDF、Excel、Word 等,方便用户进行打印和共享。

4. 报表分析和优化:生成报表后,用户可以进行报表的分析和优化。

WinCC提供了丰富的数据分析工具,用户可以通过图表、图像等方式直观地展示和比较数据。

用户可以根据报表的分析结果,发现问题和改进措施,并进行性能优化。

搬家第四天-91.WinccV7.3使用用户归档实现报表1-用户归档+Activex控件

搬家第四天-91.WinccV7.3使用用户归档实现报表1-用户归档+Activex控件

搬家第四天-91.WinccV7.3使⽤⽤户归档实现报表1-⽤户归档+Activex控件曾经写过⼀篇博客,记录使⽤MSHFGrid控件⽣成报表以及导出到excel的⽅法,⾥⾯有⼀段VBS脚本是定期把变量值存⼊⼀个⾃定义的sql 数据表,然后在MSHFGrid显⽰查询到的记录集,最后把MSHFGrid结果导出到excel中。

使⽤⽤户归档后,实际上定期存⼊变量值这⼀步可以变得更加简单,不需要写那么多sql脚本了,重点控制好id=-1和job=6就⾏了。

本⽂简单介绍⽤户归档结合MSHFGrid控件实现报表的⽅法。

我们假设下位机已经设置完毕并且变量已经上载到Wincc。

1. 先定义和配置⼀个⽤户归档,具体⽅法参考其他博客。

2. 由于没有实际硬件,我们可以使⽤随机函数的⽅法模拟产⽣现场来的数据,随机函数可以写在项⽬模板⾥⾯,具体⽅法参考其他博客。

3. 新建vbs全局动作,把随机函数赋给各变量Option ExplicitFunction actionDim FT101,FT102,FT103,PT101,PT102,PT103,TT101,TT102,TT103,LT101,LT102,LT103Set FT101=HMIRuntime.Tags("S7$程序(1)/FT101")Set FT102=HMIRuntime.Tags("S7$程序(1)/FT102")Set FT103=HMIRuntime.Tags("S7$程序(1)/FT103")Set PT101=HMIRuntime.Tags("S7$程序(1)/PT101")Set PT102=HMIRuntime.Tags("S7$程序(1)/PT102")Set PT103=HMIRuntime.Tags("S7$程序(1)/PT103")Set TT101=HMIRuntime.Tags("S7$程序(1)/TT101")Set TT102=HMIRuntime.Tags("S7$程序(1)/TT102")Set TT103=HMIRuntime.Tags("S7$程序(1)/TT103")Set LT101=HMIRuntime.Tags("S7$程序(1)/LT101")Set LT102=HMIRuntime.Tags("S7$程序(1)/LT102")Set LT103=HMIRuntime.Tags("S7$程序(1)/LT103")FT101.Write MyRnd(100,200)FT102.Write MyRnd(110,220)FT103.Write MyRnd(120,230)PT101.Write MyRnd(100,200)PT102.Write MyRnd(110,220)PT103.Write MyRnd(120,230)TT101.Write MyRnd(100,200)TT102.Write MyRnd(110,220)TT103.Write MyRnd(120,230)LT101.Write MyRnd(100,200)LT102.Write MyRnd(110,220)LT103.Write MyRnd(120,230)End Function4. 新建全局动作,把数据定期存⼊⽤户归档数据表Option ExplicitFunction actionDim CurDate,CurTimeDim id,jobSet CurDate=HMIRuntime.Tags("CurDate")Set CurTime=HMIRuntime.Tags("CurTime")Set id=HMIRuntime.Tags("@UA_ID")Set JOB=HMIRuntime.Tags("@UA_JOB")CurDate.Write Date()CurTime.Write Time()id.Write -1job.Write 6End Function5. 画⾯上放⼀个DTPicker控件,名字修改为DTP,放⼀个MSHFGrid控件,名字修改为Report,放⼀个按钮,按钮⿏标点击VBS脚本为Sub OnClick(ByVal Item)Dim DT,Report,DBName,PCNameDim conn,ssql,ors,ocom,sconDim sYear,sMonth,sDay,sDateSet DT=ScreenItems("DTP")Set Report=ScreenItems("Report")Set DBName=HMIRuntime.Tags("@DatasourceNameRT")Set PCName=HMIRuntime.Tags("@LocalMachineName")sYear=Year(DTP.Value)sMonth=Month(DTP.Value)sDay=Day(DTP.Value)sDate=sYear & "/" & sMonth & "/" & sDay'Msgbox sDatescon="Provider = SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog ='" _& DBName.Read & "';Data Source = " & PCName.Read & "\WINCC"ssql="select Curdate as '⽇期',Curtime as '时间',FT101 as '流量1',FT102 as '流量2',FT103 as '流量3'," _& "PT101 as '压⼒1',PT102 as '压⼒2',PT103 as '压⼒3',TT101 as '温度1',TT102 as '温度2',TT103 as '温度3'," _ & "LT101 as '液位1',LT102 as '液位2',LT103 as '液位3' from UA#UA where Curdate='" & sDate & "'"Set conn=CreateObject("ADODB.Connection")conn.ConnectionString=sconconn.Cursorlocation=3conn.openSet ors=CreateObject("ADODB.RecordSet")Set ocom=CreateObject("mand")mandtype=1Set ocom.ActiveConnection=connmandText=ssqlSet ors=ocom.ExecuteSet Report.DataSource=orsReport.RefreshSet ors=Nothingconn.closeSet conn=NothingEnd Sub从MSHFGrid控件导出到Excel的脚本就不在这⾥写了,请参考其他的博客。

WinCC 归档报警报表

WinCC 归档报警报表

项目任务任务 : WinCC 归档/报警/报表1. 实验目的硬件及固件名称Name 订货号Order NumberPC 软件及版本名称Name 订货号Order Number STEP 7 Professional Edition6ES7 810-5CC08-0YA5 2004WinCC V6.0 SP3 6AV6 381-1BC06-0DV03. 实验流程与重点难点试验任务:4. 实验步骤之一:一.报警纪录和模拟量报警1.创建一个单用户2.创建若干内部变量。

3. 在变量管理中添加Simatic S7 Protocol suite,用于建立外部连接。

4. 外部连接中的MPI连接建立外部连接变量5.在报警纪录中,编辑系统块6.对消息类别编辑,定义不同级别的报警。

7.对于每个报警,指定消息变量和消息位(如消息位设为5),即当MW0的第五位(m0.4)置位为1时,引发报警,并出现相应的消息文本。

设置与WinCCflex同,可参考WinCCflex面板的报警文档。

而对于状态变量,是指引发报警时,对于指定的状态变量的第几个状态位的置位为1。

7.组态模拟量报警,工具_附加项_模拟量报警。

8.模拟量右键新建一个模拟量报警项目,然后编辑项目的属性,选择监视的变量,定义延迟时间。

延迟时间用于外部过程的扰动有可能使过程值瞬间超过限制值,设置延迟时间将使这一部分的报警不会产生。

注意延迟时间必须大于等于250ms。

“一条消息对应所有限制值”指所有限制值(上限还是下限,下面会设置)对应同一消息号。

号数可选9.对新建的模拟量报警项目建立上限和下限。

如图,点中项目右键新建。

定义上限或下限的值,当超过限制值,会引发模拟量报警。

10.在画面中编辑报警控制。

可以选择报警列表中显示的信息。

当WinCC运行时,报警的消息变量的位置位或模拟量报警的变量超过限制值时,报警窗口都会有相信显示。

具体设置如下11.使用Step7中的Simulation,模拟变量。

wincc如何归档备份?Wincc用户归档备份方法

wincc如何归档备份?Wincc用户归档备份方法

wincc如何归档备份?Wincc用户归档备份方法西门子的WINCC软件供应了便利的变量归档,报警归档备份功能。

但没想到的是Wincc用户归档没有自动备份功能。

配方数据及用户归档存储的报表记录数据确是生产的关键数据,需要定时定期备份。

当然,西门子也供应了标准的接口函数供应导出功能。

是的,一个表一个表的导出功能。

项目变了,配方多了一种重新编辑脚本重新导出。

基于项目实际状况,抛弃了西门子官方供应的方法,选择了其他的方法处理备份数据。

在此,供应三种昌晖仪表使用过的Wincc用户归档备份方法,欢迎大家一起争论!方法一:完整性备份为bak文件借用强大的SQL语法,通过VBS执行SQLCMD指令,执行已经测试完成的T-SQL备份指令。

由于需要使用cmdshell指令,SQL默认为关闭状态需要在T-SQL指令中开启,结束完成后记得关闭,否则SQL处于危急状态。

结合Wincc可以敏捷的定义重复执行的时间。

可以敏捷掌握备份的周期,备份文件的保留方式。

详细看现场实际要求,部分脚本如下:实际测试,备份速度基本是ms级别,截图如下。

方法二:导出表数据使用BCP指令BCP有用工具可以在Microsoft SQL Server实例和用户指定格式的数据文件间大容量复制数据。

使用BCP有用工具可以将大量新行导入SQL Server表,或将表数据导入数据文件。

除非与queryout选项一起使用,否则使用该有用工具不需要了解Transact-SQL学问。

BCP既可以在CMD提示符下运行,也可以在SSMS下执行。

如图所示:导出对应的表的数据,假如表名有固定的标签,可以敏捷的掌握表的数据导出,即使外部新建表单或者新加数据都无需调整脚本。

通过VBS执行SQLCMD,可以敏捷掌握表的名称。

方法三:使用WINCC供应的C指令WinCC ODK uaArchiveExport与uaArchiveImport函数具体的指令有爱好的可以查询西门子的官方关心手册。

WINCC+用户归档+VBS+EXCEL实时报表

WINCC+用户归档+VBS+EXCEL实时报表
ExcelApp.Workbooks.Close
ExcelApp.Quit
Set ExcelApp= Nothing
Exit For
End If
Next
End If
'************************Report waiting massgae***************************
Dim fso,folder
Dim type1
Dim patch,filename
Dim testposition,testnumber,startdate,printdate,brand,tyremodel,rim,tread,condition,load,speed,pressure,status
Dim objExcelApp,objExcelBook,objExcelSheet
On Error Resume Next
Dim ExcelApp,ExcelBook
Set ExcelApp = GetObject(,"Excel.Application")
If TypeName(ExcleApp) = "Application" Then
objExcelApp.Cells(n,10).Value=oRs.Fields(10).Value
objExcelApp.Cells(n,11).Value=oRs.Fields(11).Value
objExcelApp.Cells(n,12).Value=oRs.Fields(12).Value
startdate.Read
objExcelApp.cells(6,3).value=startdate.value

西门子wincc 报表

西门子wincc 报表

WinCC数据报表实现方法介绍 How use WinCC create data report摘要本文对数据报表的需求进行了分析,结合WinCC就复杂数据报表的实现进行了介绍。

关键词WinCC,报表Key Words WinCC, ReportIA&DT Service & Support Page 2-34目录WinCC数据报表实现方法介绍 (1)1.报表的需求分析 (4)1.1内容需求 (4)1.2报表样式和打印任务 (6)2.WinCC的报表系统 (7)2.1数据存储 (7)2.2数据分析和输出 (9)3.复杂报表的WinCC报表系统实现分析 (12)3.1普通归档结合Connectivity Pack实现报表 (12)3.2用户归档实现分总式报表 (19)4.WinCC报表功能总结 (24)5.使用脚本和EXCEL实现实时数据报表 (24)5.1在WINCC中使用VBS脚本通过EXCEL实现实时数据报表 (24)5.2如何使用EXCEL访问WinCC中的实时数据实现报表 (28)IA&DT Service & Support Page 3-34在工业生产中报表一直占有非常重要的部分,它一般用来记录现场的工艺参数和统计信息。

早期是由人工抄录然后统计出相关的报表。

进入计算机控制阶段,这份工作就需要工控软件来实现。

对于工控行业的工程师来说:如何开发适合用户需求的报表一直是个难题。

论坛上很多人都在寻求灵活高效的解决方法。

经过这段时间的网上讨论。

综合网友们的意见和建议,我们做了总结。

并结合WinCC 软件本身作了相关的说明。

希望能对大家在以后的报表开发中有所帮助。

接下来就从报表的需求分析、WinCC报表系统的应用、复杂报表的WinCC报表系统实现这几个部分来分别介绍。

最后总结出WinCC报表系统在应用的优缺点和常见的问题的解决方法。

1.报表的需求分析从需求上来讲报表一般分为:内容上的需求、样式上和任务上的需求。

(完整word版)wincc用户归档VB脚本与SQL使用说明

(完整word版)wincc用户归档VB脚本与SQL使用说明

一、报表建立本次项目要求:所有测量变量在一个工作周期结束后进行存储,也就是事件触发,不同与以往的周期触发。

1、要求能存储字符串类型的数据,所以本次报表使用用户归档来实现,因为变量记录工具是不能存储字符串类型数据的。

而且用户归档控件的事件触发比变量记录要灵活的多。

2、要求可以将数据导出到EXCEL表格中。

实现对数据的编辑。

具体实现方法如下:第1项不用过多在意,了解一下即可,从第2项起为主要内容。

第1项的作用就是讲解怎样触发用户归档存储数据的。

1、在建立报表前首先要新建两个系统变量,用于日期和时间的存储。

在WINCC组态环境内——右击变量管理——单击添加新的驱动程序——找到System Info.chn——单击打开如下图建立两个变量分别为riqi 和shijian——作为日期和时间的存储变量。

再建立两个控制变量,此变量需要与下位机程序进行连接。

分别为A_ID、A_JOP在下位机程序里进行编写,当自控程序运行完一边后将这两个变量分别赋值-1、6赋值结束后再将0赋给这两个变量。

程序如下图此目的是用于用户归档数据存储时事件触发条件,在后面用户归档建立会详细描写。

2、建立用户归档WINCC在第一次安装完后是没有用户归档控件的,需要再次将光盘插入重新安装一次,在选项中将用户归档添加进行安装。

单击下一步先点击创建,在创建变量完成后,将上面建立的两个变量A_ID/A_JOP分别添加到ID和指令内,方法:单击选择按钮——浏览变量添加即可。

此项是用于数据存储触发的。

也就是当ID和指令分别为-1和6时用户归档存储一次数据。

详细如下图单击完成实现对用户归档的创建。

3、创建VB脚本动作,是用于用户归档事件触发的动作,没有此动作用户归档将无法存储数据。

方法:打开VB脚本——单击文件——新建——动作。

然后将下面程序写入即可。

Function actionDim xiaoshiDim riqiDim flagSet flag = HMIRuntime.Tags("flag")flag.ReadIf flag.Value =1 Thenriqi=CStr(Year(Now))&"-"&CStr(Month(Now))&"-"&CStr(Day(Now))Dim A_IDSet A_ID = HMIRuntime.Tags("A_ID")Dim A_JOPSet A_JOP = HMIRuntime.Tags("A_JOP")A_ID.ReadA_ID.Write -1A_JOP.ReadA_JOP.Write 6End If输入完之后将其保存。

wincc用户归档步骤

wincc用户归档步骤

遇到麻烦1.安装时选择自定义,在安装过程中会出现选择,选项中选择用户归档2,打开用户归档无法新建!解决办法:删除http://oc文件。

即可新建3.每个归档可创建500域用户归档思路:要实现用户归档报表需要做到几点:1.怎样操作数据读写。

2.查询数据。

3.输出报表。

(以存入数据查询数据为例)实现方式:第一步存储数据Function action'----------------------------------------------------'以下注释均是在变量下方注释;'触发该动作的触发变量为@change(变量自建)'flag 变量为标志状态监测是否第一次启动WINCC'----------------------------------------------------Set flag = HMIRuntime.Tags("flag")flag.ReadIf flag.Value =1 ThenDim UA_Reportday_IDSet UA_Reportday_ID = HMIRuntime.Tags("@UA_Reportday_ID")Dim UA_Reportday_JobSet UA_Reportday_Job = HMIRuntime.Tags("@UA_Reportday_Job")UA_Reportday_ID.ReadUA_Reportday_ID.Write -1UA_Reportday_Job.Write 6End IfEnd Function在flag全局动作中脚本如下(该脚本由flag变量触发动作)Option ExplicitFunction actionDim flagSet flag = HMIRuntime.Tags("flag")flag.ReadIf flag.Value =0 Thenflag.Write 1End IfEnd Function第二步查询(该步骤可以根据条件省略,以查询用户归档中的TET3为例)在查询按钮动作中写入Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)Dim SQLlianjieSet SQLlianjie=HMIRuntime.Tags("SQLlianjie")SQLlianjie.ReadSQLlianjie.Write "select * from UA#Reportday where TET1=13"MsgBox"查询成功"End Sub第三步设计报表和配置报表打印(不清楚请参见西门子相关文档)报表编辑器中配置布局中插入 ODBC数据库数据库表,双击弹出对象属性表,再双击数据库连接。

WINCC数据报表实现办法

WINCC数据报表实现办法

WinCC数据报表实现方法介绍 How use WinCC create data report摘要 本文对数据报表的需求进行了分析,结合WinCC就复杂数据报表的实现进行了介绍。

关键词WinCC,报表Key Words WinCC, ReportIA&DT Service & Support Page 2-35目录1.报表的需求分析 (4)1.1内容需求 (4)1.2报表样式和打印任务 (6)2.WinCC的报表系统 (7)2.1数据存储 (7)2.2数据分析和输出 (9)3.复杂报表的WinCC报表系统实现分析 (12)3.1普通归档结合Connectivity Pack实现报表 (12)3.2用户归档实现分总式报表 (19)4.WinCC报表功能总结 (24)5.使用脚本和EXCEL实现实时数据报表 (24)5.1在WINCC中使用VBS脚本通过EXCEL实现实时数据报表 (24)5.2如何使用EXCEL访问WinCC中的实时数据实现报表 (29)IA&DT Service & Support Page 3-35在工业生产中报表一直占有非常重要的部分,它一般用来记录现场的工艺参数和统计信息。

早期是由人工抄录然后统计出相关的报表。

进入计算机控制阶段,这份工作就需要工控软件来实现。

对于工控行业的工程师来说:如何开发适合用户需求的报表一直是个难题。

论坛上很多人都在寻求灵活高效的解决方法。

经过这段时间的网上讨论。

综合网友们的意见和建议,我们做了总结。

并结合WinCC软件本身作了相关的说明。

希望能对大家在以后的报表开发中有所帮助。

接下来就从报表的需求分析、WinCC报表系统的应用、复杂报表的WinCC报表系统实现这几个部分来分别介绍。

最后总结出WinCC报表系统在应用的优缺点和常见的问题的解决方法。

1.报表的需求分析从需求上来讲报表一般分为:内容上的需求、样式上和任务上的需求。

西门子wincc数据报表的实现方式

西门子wincc数据报表的实现方式
针对 于一 些特 殊 归档要求 , 曲线 形 式的 归档可 能满 足不 了用户 的 时不可或缺的 一种程序设计 语言之一 , 可以使人机 操作界面 更加符合审 需求 , 往 往用 户需要生 成一种 支持 打印功能 并 以表格形 式 查询 的数据 美需 求。 也是设 计复杂 报表设 计时 , 不可缺 少的 元素 , 可 以使通过 自 带 归档报 表。 针对 于这类 复杂的报 表 , 可 以通 过用户 归档和 Wi n c c 报表编 插件实现 不了的功能得以实现 。 辑 器来 实现 此 类功能 。 用户归档 可以 用来在 工控机 上连 续 的保存来 自 另一种方法 就是通过 系统 自 身带的D D E 功能 来实现 数据交互 。 技术过 程中的数 据信息 , 在 图形 编辑 器中, 可 以组态用 户归档 表格元素 打开Wi n C C 项目 管理 器中, 在 Wi n C C E x p l o r e r 选项卡 中点击 “ 计 来显示 控制系统 中用户归档的在线 数据 。 根 据用户需要 , 数据支 持读取 算机 属性 一 > 启动” 后, 添加应 用程序 : D d e S e r v . e x e , 同时 添加命令行 和写入的 功能 , 并可在线 更改 数据 。 它 是一种用户 自己创建 的数 据库 的 参数 。 随后 会弹出D D E — S e r v e r对话框 , 左键点击 T a g L i s t按钮 , 在
据 实 际测量 值实时 改变数 值轴 的范 围。 应 用在 线趋势 曲线 的前提 条件 使用VB S 汇编语言制 作脚本 程序 是Wi n c c k  ̄ 较高级 的一种 语言格 是, 用户需 要在变 量记 录里设 置需 要 归档 的变 量 内容 和 归档周期等 一 式 , 同时还可 以 自 定义脚 本触 发周期来 实现 数据 采集或 处理 。 在 凰面编 系列参数 。 辑 器中结合V B S 脚本 , 可 以使 画面做 到动态化 效果 。 是在 日 常编 写程序

wincc使用用户归档实现报表

wincc使用用户归档实现报表

使用用户归档实现报表简介Use User Archive Create Report摘要 简单介绍了用户归档,介绍如何通过用户归档和WinCC报表编辑器实现复杂报表。

关键词 用户归档,报表Key Words User Archive ,ReportIA&DT Service & Support Page 2-17目录使用用户归档实现报表简介 (1)一.用户归档介绍 (4)二.用户归档的使用 (6)三.结合用户归档实现报表 (8)1.数据的存储 (9)2.报表布局的设计 (12)3.报表输出 (14)附录-推荐网址 (17)IA&DT Service & Support Page 3-17一.用户归档介绍用户归档编辑器是一个WinCC的附加选件,需要安装相应的授权才能使用,否则只能使用DEMO模式。

它可以用来在服务器 PC 上连续的保存来自技术过程的数据。

在图形编辑器中,可以组态 WinCC 用户归档表格元素来以表格显示运行系统中用户归档的在线数据。

用户归档还可用于准备自动化系统(例如 S5、S7)的数据。

如果必要,数据可以配方或设定值的形式从控制器读出。

用户归档编辑器提供两种数据库表格:用户归档: 用户归档是用户可在其中创建自己的数据域的数据库表格。

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

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

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

可以通过以下步骤安装。

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

图1 安装卸载IA&DT Service & Support Page 4-17图2选择组件安装好后打开WinCC项目编辑器在项目的树状结构里会看到用户归档选项。

wincc用户归档实例

wincc用户归档实例

wincc用户归档实例
以下是WinCC用户归档实例的一个示例:
假设一个工厂使用WinCC来监控和控制各个生产线上的设备。

该工厂希望能够定期将产生的历史数据归档,以便将来进行分析和报告。

以下是一个简化的 WinCC 用户归档实例:
1. 首先,在WinCC Configuration中创建一个用户归档配置,
包括选择要归档的标记和变量,以及归档的时间间隔和文件位置。

2. 在WinCC Runtime中,设置一个定时触发器,以便在指定
的时间间隔后触发归档过程。

3. 当触发器被触发时,WinCC将会自动将标记和变量的历史
数据保存到指定的归档文件中。

4. 用户可以使用WinCC Archive Viewer来查看和分析归档文
件中的数据,以便生成报告或进行其他分析。

这只是一个简单的WinCC用户归档实例,实际的应用可能会
更加复杂,具体的设置和配置会因实际需求而有所不同。

但是这个示例可以帮助理解如何使用WinCC来进行数据归档。

基于CScript实现WinCC过程数据归档及报表查询功能

基于CScript实现WinCC过程数据归档及报表查询功能

《工业控制计算机》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控件可以以趋势的形式显示在线过程数据,也可以表格的形式显示,但是用户不能对这些数据直接进行访问和处理。

基于WinCC用户归档的自定义报表实现

基于WinCC用户归档的自定义报表实现

基于WinCC用户归档的自定义报表实现
周登科
【期刊名称】《智慧工厂》
【年(卷),期】2017(0)3
【摘要】本文介绍一种在WinCCSCADA系统中实现自定义生产数据报表的方法,该方法首先利用WinCC集成的用户归档组件,实现生产过程数据的自动存储,然后利用用户归档控件或报表编辑器用户归档表格控件的SOL过滤器功能,实现生
产数据的自定义查询和显示,最后通过VBScript脚本程序,将用户归档数据导出到Excel工作表中,实现数据共享。

该方法为在中小型自动化系统上实现自定义生产数据报表,提供了一种简单、可靠、方便、低成本的解决方案。

【总页数】4页(P59-62)
【作者】周登科
【作者单位】中冶南方工程技术有限公司
【正文语种】中文
【中图分类】C37
【相关文献】
1.基于OPC技术实现Wincc归档数据的Excel报表自动生成
2.基于SQL数据库
的WinCC自定义报表的设计与实现3.基于C Script实现WinCC过程数据归档及报表查询功能4.锅炉自动抄表系统实现——一种用WinCC实现自定义报表的方法5.WinCC用户归档在报表中的应用
因版权原因,仅展示原文概要,查看原文内容请购买。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用用户归档实现报表简介Use User Archive Create Report摘要 简单介绍了用户归档,介绍如何通过用户归档和WinCC报表编辑器实现复杂报表。

关键词 用户归档,报表Key Words User Archive ,ReportIA&DT Service & Support Page 2-17目录使用用户归档实现报表简介 (1)一.用户归档介绍 (4)二.用户归档的使用 (6)三.结合用户归档实现报表 (8)1.数据的存储 (9)2.报表布局的设计 (12)3.报表输出 (14)附录-推荐网址 (17)IA&DT Service & Support Page 3-17一.用户归档介绍用户归档编辑器是一个WinCC的附加选件,需要安装相应的授权才能使用,否则只能使用DEMO模式。

它可以用来在服务器 PC 上连续的保存来自技术过程的数据。

在图形编辑器中,可以组态 WinCC 用户归档表格元素来以表格显示运行系统中用户归档的在线数据。

用户归档还可用于准备自动化系统(例如 S5、S7)的数据。

如果必要,数据可以配方或设定值的形式从控制器读出。

用户归档编辑器提供两种数据库表格:用户归档: 用户归档是用户可在其中创建自己的数据域的数据库表格。

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

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

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

可以通过以下步骤安装。

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

图1 安装卸载IA&DT Service & Support Page 4-17图2选择组件安装好后打开WinCC项目编辑器在项目的树状结构里会看到用户归档选项。

如下图:图3用户归档至此用户归档安装完毕。

IA&DT Service & Support Page 5-17二.用户归档的使用双击用户归档,打开如下界面:图4 用户归档操作界面右击归档弹出插入新归档菜单,点击就会打开新建归档的界面。

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

图5创建用户归档IA&DT Service & Support Page 6-17图6 设置控制变量点击下一步,完成创建工作。

控制变量是用户归档中很重要的概念,简单介绍如下:利用这四个控制变量,可以触发用户归档。

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

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

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

)IA&DT Service & Support Page 7-17图8控制变量的组合(说明:该图中ID=-1,job=6的操作是把变量的值写入用户归档。

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

)控制变量提供了两种访问用户归档的方法:通过输入控制变量“ID”和“Job”,可以写入或读取或删除数据记录中的目标值。

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

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

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

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

更详细的信息请参见WinCC的帮助系统—>选项—>用户归档。

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

下面以下图的报表为例作一个说明:IA&DT Service & Support Page 8-17图9报表样例该报表主要功能是小时量的记录和班平均值的计算。

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

1.数据的存储首先创建一个用户归档。

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

如下图:图10创建域IA&DT Service & Support Page 9-17图11 创建域名图12和WinCC变量建立连接点击下一步,按照提示完成操作。

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

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

创建的结果如下图:IA&DT Service & Support Page 10-17图13 创建好的归档在变量管理Æ SYSTEM INFO下创建变量用于取得系统小时值。

如下图:图14创建触发变量创建写入动作:在WinCC的全局脚本中创建一个动作,通过变量MyID1的变化来触发。

脚本如下: Dim riqiDim riqijiuSet riqijiu = HMIRuntime.Tags("riqijiu")Dim MyID1IA&DT Service & Support Page 11-17Set MyID1 = HMIRuntime.Tags("MyID1")Dim flagSet flag = HMIRuntime.Tags("flag")MyID1.Readflag.ReadIf flag.Value =1 Thenriqi=CStr(Year(Now))&"-"&CStr(Month(Now))&"-"&CStr(Day(Now))riqijiu.Readriqijiu.Write ""&riqi&""Dim UA_jiu_IDSet UA_jiu_ID = HMIRuntime.Tags("@UA_jiu_ID")Dim UA_jiu_JobSet UA_jiu_Job = HMIRuntime.Tags("@UA_jiu_Job")UA_jiu_ID.ReadUA_jiu_ID.Write -1UA_jiu_Job.ReadUA_jiu_Job.Write 6End if这样 一旦小时发生变化我们就完成了写入的动作。

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

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

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

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

2.报表布局的设计新建一个页面布局,在布局中作如下设置:IA&DT Service & Support Page 12-17图15布局设置该布局需要注意的是:在平均处放置的是静态文本,布局中放置了六个ODBC数据库表控件。

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

ODBC数据库表控件的参数设置如下图:图16 ODBC控件属性设置IA&DT Service & Support Page 13-17该设置中需要说明的是:在ODBC数据源处选择想要连接的数据库,在变量处连接一个文本变量8位字符集类型的变量。

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

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

图17 修改列宽至此完成了对页面的设计。

3.报表输出创建一个新的打印任务连接新建的布局。

IA&DT Service & Support Page 14-17图18 打印任务创建一个查询界面如下:图18 操作界面在查询测试按钮中写入如下脚本:Dim sqlriqijiuSet sqlriqijiu = HMIRuntime.Tags("sqlriqijiu")Dim sqljiuaSet sqljiua = HMIRuntime.Tags("sqljiua")Dim sqljiuaavgSet sqljiuaavg = HMIRuntime.Tags("sqljiuaavg")Dim sqljiubSet sqljiub = HMIRuntime.Tags("sqljiub")Dim sqljiubavgSet sqljiubavg = HMIRuntime.Tags("sqljiubavg")Dim sqljiucSet sqljiuc = HMIRuntime.Tags("sqljiuc")Dim sqljiucavgSet sqljiucavg = HMIRuntime.Tags("sqljiucavg")sqlriqijiu.Read ‘得到查询条件某一天如“2009-3-11”sqljiua.Read‘返回A班的统计值和平均值sqljiua.Write "selectshijianjiu,var1,var2,var3,var4,var5,var6,var7,var8,var9,var10 fromUA#DailyReport where riqijiu like '"&sqlriqijiu.Value&"%' and shijianjiu between 0 and 7 order by shijianjiu"sqljiuaavg.Readsqljiuaavg.Write "selectavg(var1),avg(var2),avg(var3),avg(var4),avg(var5),avg(var6),avg(var7),avg(var8),avg(var9),avg(var10) from UA#DailyReport where riqijiu like'"&sqlriqijiu.Value&"%' and shijianjiu between 0 and 7 "‘返回B班的统计值和平均值sqljiub.Readsqljiub.Write "selectshijianjiu,var1,var2,var3,var4,var5,var6,var7,var8,var9,var10 fromUA#DailyReport where riqijiu like '"&sqlriqijiu.Value&"%' and shijianjiu between 8 and 15 order by shijianjiu"sqljiubavg.ReadIA&DT Service & Support Page 15-17sqljiubavg.Write "selectavg(var1),avg(var2),avg(var3),avg(var4),avg(var5),avg(var6),avg(var7),avg(var8),avg(var9),avg(var10) from UA#DailyReport where riqijiu like'"&sqlriqijiu.Value&"%' and shijianjiu between 8 and 15 "‘返回C班的统计值和平均值sqljiuc.Readsqljiuc.Write "selectshijianjiu,var1,var2,var3,var4,var5,var6,var7,var8,var9,var10 fromUA#DailyReport where riqijiu like '"&sqlriqijiu.Value&"%' and shijianjiu between 16 and 23 order by shijianjiu"sqljiucavg.Readsqljiucavg.Write "selectavg(var1),avg(var2),avg(var3),avg(var4),avg(var5),avg(var6),avg(var7),avg(var8),avg(var9),avg(var10) from UA#DailyReport where riqijiu like'"&sqlriqijiu.Value&"%' and shijianjiu between 16 and 23 "其实这三个班的代码都是一样的。

相关文档
最新文档