通过WinCC 的Global Script 实现报表功能
西门子wincc数据报表的实现方式
西门子wincc数据报表的实现方式【摘要】随着工业领域的不断发展,用户需求一种以人机界面为控制主体的视窗控制体系的过程监控系统,以此来取代原来的以现场操作按钮和仪表为主的操作体系。
通过开放性、灵活性的可视化界面,迅速并直接的处理生产过程中的事件信息。
凭借这种战略思想,WINCC,运行于Windows系统下的控制中心,已发展成为工业市场领域的领导者,乃至业界遵循的标准。
Wincc集生产自动化和过程自动化于一体,应用于各种工业自动化领域,是提高工厂生产效率的上乘之选,并支持多种语言。
工业生产中,报表系统通常是控制系统中非常重要的一部分,是企业管理的基本措施和途径,它通常用来记录重要的现场工艺参数和统计信息。
早期,都是由人工记录的方式进行统计汇总,数据也只能有一种几乎只有记录员才能理解的表现形式,且这种形式难于更改。
当进入计算机时代后,报表这部分工作完全可以由计算机软件来实现,数据动态化,格式多样化,用户可以自己修改数据或格式。
针对自动化工程师而言,如何利用wincc软件来开发适合用户需求的报表,并且高效灵活的解决统计数据是自动化工程师必须掌握的一门技术,也是企业日常生产维护和管理中不可或缺的管理手段之一。
报表的变现形式分为许多种,大体上可分为两种形式:曲线格式和表格格式。
曲线形式主要是利用WINCC自带控件来实现,在控件属性中,可对趋势、常规、字体、趋势窗口、时间轴、数值轴、工具栏、状态栏、在线组态、导出中具体参数进行设置,以符合用户的生产需求和审美要求。
例如,时间轴可设成1分钟,1小时或者1天的形式,数值轴可以设置成根据实际测量值实时改变数值轴的范围。
应用在线趋势曲线的前提条件是,用户需要在变量记录里设置需要归档的变量内容和归档周期等一系列参数。
针对于一些特殊归档要求,曲线形式的归档可能满足不了用户的需求,往往用户需要生成一种支持打印功能并以表格形式查询的数据归档报表。
针对于这类复杂的报表,可以通过用户归档和Wincc报表编辑器来实现此类功能。
WinCC数据报表实现方法介绍
WinCC数据报表实现方法介绍在工业生产中报表一直占有非常重要的部分,它一般用来记录现场的工艺参数和统计信息。
早期是由人工抄录然后统计出相关的报表。
进入计算机控制阶段,这份工作就需要工控软件来实现。
对于工控行业的工程师来说:如何开发适合用户需求的报表一直是个难题。
接下来就从报表的需求分析、WinCC报表系统的应用、复杂报表的WinCC报表系统实现这几个部分来分别介绍。
最后总结出WinCC报表系统在应用的优缺点和常见的问题的解决方法。
1.报表的需求分析从需求上来讲报表一般分为:内容上的需求、样式上和任务上的需求。
内容需求内容上一般涉及到数据的求和、平均、最大值、最小值等计算,同时也会涉及到关系的处理,比如班组相关对应信息的统计分析等。
下面是一个很典型的报表需求,就很能说明这样的问题:图1. 月报表分析此报表是典型的工业现场应用,在数据采集没有难度。
唯一的难度在于四班三倒后,每个月班的出勤日是不一样的,这样对于月报来说,计算出本月每个班的出勤日是需要些算法。
此类报表在连续生产的行业需求很广泛。
比如:钢铁冶金行业需要一天24小时不停运转的系统。
还有一种内容上是分总的关系,就是一部分是简单的数据记录,另一部分是对上一部分数据的统计,比如汇总、求和、平均等。
如下图也是很典型的应用:图2. 总分报表另外一种就是涉及到混合排列的问题,一张表上既有分项数据,中间也涉及到统计信息,同时也会添加一些实时的信息在上面。
如下图:图3. 复杂报表这是一个复杂的报表,中间涉及到分项的记录,数据求平均,和一些操作信息的记录。
既有历史数据也有实时信息。
当然更复杂的报表需求也是有的,比如说涉及到一张报表上既有实时信息又有历史信息同时还涉及趋势视图、报警信息等。
用户自己可以灵活的定义报表的内容和样式。
比如下图:图4.用户定制报表样式内容上的需求就本质来讲是对客户关心信息的总结和整理。
内容的需求也就决定了报表的样式和可能采用的数据处理方式。
在WinCC中利用C-Script实现复杂生产报表
在 WiC 中 ,直接 访 问 数 据 库 的方 法 有 很 多 种 , 如使 用 nC A O/ E B、 用 WiC / E B 接 口 ( 以 访 问压 缩 归 档 D OL D 使 n C OL D 可 的数 据 )使 用 Mi o otAD / E D 访 问 非 压 缩 归 档 的 数 、 c sf r O OL B( 据) 、使 用 OP C、 使 用 C— P/ A I ODK 等 , 本 文 以 使 用 A O/ D
8 0
在 W i C 中利 用 C S r t 现 复 杂生 产报 表 n C — ci 实 p
在 Wi C中利用 C S r t n C — ci 实现复杂生产报表 p
Ge e a in o mpe t p r B s d o — r t i W iCC n r t fCo o lx Daa Re o t a e n C— Sc i n p n
高奇凌 王文祥 刘 鳞 ( 甘肃金桥水科技集团设计院电气与自 动化所, 甘肃 兰 ・ 703 ) 1 30 0 i .
摘 要
为 了解 决 WiC . 中不 能 直接 生成 复 杂 生 产报 表 及 查 询 打 印 的 问题 , 出 了利 用 C— cit 过 OL B 和 AD n C 62 提 Sr 通 p ED O 对 生 产 数 据在 A c s c e s归档 、 查询 及 打 印 的 方 法 。很 好 地 解 决 了污 水 厂 生 产 中对 复 杂报 表 的要 求 , 实现 了报 表 的 定 时 归档
及 后 台的 打 印 。
关 键 词 : n c ,— ci , L B A O,c esE c l 产报 表 , 水 厂 wi 6 C S rtO ED ,D A c s ,xe, C 2 p 生 污
WinCC中全局脚本VBS归档到Excel
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。
基于C Script实现WinCC过程数据归档及报表查询功能
关 键 词 : ci , n C, C S r t C 日志 文件 , p Wi 查询 , 表 报
Ab ta t s rc
Th r t na i e tadio lW hCC e d i Tr n Co tolca n c s ec r d n r n otac es r o de pr e t en W i oc ss da a wh nCC i oti u i s n n r n tme. Be i s he sde t c lc i cy l o pr es da a s i td ol t e on ce f oc s t i l e by ompin pe i i W iCC. mi c lg i r od n n A me h d o d t sor e to f a a t ag an a e s s d cc s i de l ve— o d hrugh sn prce s at t pe t o u ig o s d a o s o ̄ te olc i c cl The h en h c l t e on y e. me h d f sl cr aes h C Sc it o a t by to it r y e t t e rp glbal c i on u ig sn C t d f n i l ar fW I edi an u ct or on i br y o NCC. en i h gl l c i .h oc s Th n t e oba a t t e pr es daa s e or d n t e 0 m f ea—t on t i r c de i h fr o r l i me l i nd t e te qu r d e  ̄ f c i i ral ed. og fe a h n h e an r po un t l y on s e i z Key wors: Scr tW iCC, g i , er , o ̄ d C i 。 n p l fequ y r o l ep
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");
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脚本中的函数不做解释。
西门子wincc数据报表的实现方式
据 实 际测量 值实时 改变数 值轴 的范 围。 应 用在 线趋势 曲线 的前提 条件 使用VB S 汇编语言制 作脚本 程序 是Wi n c c k  ̄ 较高级 的一种 语言格 是, 用户需 要在变 量记 录里设 置需 要 归档 的变 量 内容 和 归档周期等 一 式 , 同时还可 以 自 定义脚 本触 发周期来 实现 数据 采集或 处理 。 在 凰面编 系列参数 。 辑 器中结合V B S 脚本 , 可 以使 画面做 到动态化 效果 。 是在 日 常编 写程序
基于高级编程语言的WINCC复杂报表管理实现
基于高级编程语言的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等,可以很方便的与其他应用程序交换数据。
基于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平台的数据报表应用
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用VBS做报表
tagDSNName.Read
Set LocalBeginTime = HMIRuntime.Tags("strBeginTime")ﻫLocalBeginTi.Read
Set LocalEndTime = HMIRuntime.Tags("strEndTime")
当使用 OLE-DB方式访问数据库时关键需要注意连接字符串的写法和查询语句的格式。连接字符串格式为“Provider=WinCCOLEDBProvider.1; Catalog= ***; Data Source= ***;”,其中Catalog为WinCC运行数据库的名称, 当修改项目名称或在其它计算机上打开原项目时, Catalog会发生变化。建议使用WinCC内部变量 “@DatasourceNameRT” 获得当前项目的Catalog。Data Source 为服务器名称,格式为“<计算机名称>\WinCC”。
ValueName>,<TimeBegin>,<TimeEnd>[,<SQL_clause>][,<TimeStep>]ﻫ其中:
ValueID:过程值归档变量的唯一标识符。
ValueName:过程值归档变量的名称,格式为“ArchiveName\Value_Name”,可以使用多个名称。
TimeBegin,TimeEnd:时间范围,格式 “YYYY-MM-DD hh:mm:ss.msc”。
2软件环境ﻫWindows XP SP3中文版、WinCC7.0 SP2 ASIA、Microsoft office Excel 2007
WinCC数据报表实现方法介绍
WinCC数据报表实现方法介绍WinCC是西门子公司开发的一款工业自动化软件,用于监控和控制工业过程。
它提供了丰富的功能和工具,使用户能够轻松地创建、配置和管理工业自动化系统。
其中一个重要的功能就是数据报表的生成和分析。
WinCC数据报表功能可以帮助用户对工业过程中的数据进行收集、存储和分析,从而提供决策支持和性能优化。
下面将介绍WinCC数据报表的实现方法。
1. 数据收集和存储:在WinCC中,数据报表的实现首先需要进行数据的收集和存储。
用户可以通过配置WinCC的数据采集功能,将需要监控和分析的数据从现场设备或控制系统中获取。
这些数据可以是温度、压力、流量等过程变量,也可以是设备状态、报警信息等。
WinCC提供了多种数据采集方式,如OPC、数据库连接、PLC通讯等,用户可以根据实际需求选择合适的方式。
2. 报表模板设计:在数据收集和存储完成后,用户需要设计报表模板,用于展示和分析数据。
WinCC提供了丰富的报表模板设计工具,用户可以根据自己的需求自定义报表的样式和布局。
用户可以选择添加表格、图表、图像等元素,还可以设置报表的标题、页眉、页脚等。
此外,WinCC还提供了多种数据处理和计算功能,如数据筛选、排序、求和、平均值计算等,用户可以根据实际需求对数据进行处理和分析。
3. 报表生成和导出:在设计好报表模板后,用户可以通过WinCC的报表生成功能生成报表。
用户可以选择生成实时报表或历史报表,实时报表可以实时展示当前的数据,而历史报表可以展示一段时间内的数据。
生成报表时,用户可以选择报表的时间范围、数据类型、数据筛选条件等。
生成的报表可以以各种格式导出,如PDF、Excel、Word 等,方便用户进行打印和共享。
4. 报表分析和优化:生成报表后,用户可以进行报表的分析和优化。
WinCC提供了丰富的数据分析工具,用户可以通过图表、图像等方式直观地展示和比较数据。
用户可以根据报表的分析结果,发现问题和改进措施,并进行性能优化。
基于WinCCC_Script的水压机报表系统开发
要 的 参考 依 据 , 所以 在 此 次 300MN 模 锻 水 压 机 机 改 造 项 目 中 ,
报表系统的开发成为了水压机计算机监控系统研制中的一项
重要内容。
以往的水压机数据报表与运行日志, 通常是由工作人员花
费 大 量 的时 间 和 精力 , 从 各 类表 计 上 抄录 , 并 进 行统 计 、累 加后
WinCC 自 带 报 表 系 统 的 局 限 性 主 要 表 现 在 以 下 两 个 方 面: (1)WinCC 处 理 报 表 时 不 能 在 其 运 行 模 式 下 进 行 任 意 的 查 询 和 过滤。该操作是在 WinCC 编辑模式下的报表编辑器中完成的, 每次打印作业都需要在编辑状态中进行相应的设定, 这要求操 作 人员 熟 悉 组 态 软 件 的 操 作 , 具 备 使 用 WinCC 的 实 际 组 态 经 验, 且操作较麻烦, 不直观。为方便工人操作, 系统要求直接在 WinCC 运 行 模 式 下 实 现 报 表 打 印 时 间 、任 务 、格 式 的 选 择 。(2) WinCC 没有提供实现操作人员操作日志报表的控件或工具。操 作日志报表属于文本文件, 它的表述较复杂, 往往不同的系统 和 工 矿下 表 述 不 同 , 但 WinCC 归 档 数 据 库 只 能 用 于 工 业 过 程 数据的存储, 且存储格式相对固定, 不支持存储字符串类型的 文本数据, 不能满足操作日志报表的存储要求。
汇总而完成, 工作繁琐且易发生错误。近年来随着计算机监控
系统的推广应用, 自带报表功能的工业自动化软件在工业生产
中 得 到 了广 泛 的 应用 。WinCC 就 是 SIEMENS 公司 推 出 的 一 个
面向工业自动化的工控软件, 它界面友好, 直观方便, 可与多种
在WinCC中利用C-Script实现复杂生产报表
在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如何做外部报表
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需要。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对报表程序及相应的监控画面设计结构如下图:
5
生产程序执行操作画面如下图:
6
通过 ADO(ActiveX Data Objects)数据库接口访问 WinCC SQL Anywhere 数据库并将查询信息 写入用户文件的代码如下: void GET_MESSAGE() { #include "apdefap.h" __object *cn, *rs; char cConnString[100]; char cSQLString[100]; char cTime[30], cRecord[60],TEXT[55][20]="",User_name[55][10]=""; FILE* stream; cn = __object_create("ADODB.Connection"); rs = __object_create("ADODB.Recordset"); sprintf(cConnString, "DSN=%s;UID=dba;PWD=sql", GetTagChar("dsnname")); cn->ConnectionString = cConnString; cn->Open; sprintf(cSQLString,"select * from MSArcShort where DateTime between '%19s' and '%19s'",GetTagChar("start_time_2"),GetTagChar("stop_time_2")); printf("%s",cSQLString); rs = cn->Execute(cSQLString); stream=fopen("D:\\SSPC_WinccData\\RT_message","w+"); while(!rs->eof) { strcpy(cTime, rs->Fields(0)); num = rs->Fields(2); strcpy(User_name[num], rs->Fields(8)); sprintf(cRecord, "%s %2d %20s %10s\n", cTime,num,TEXT[num],User_name[num]); fprintf( stream, "%s", cRecord ); rs->MoveNext; } fclose( stream ); rs->Close; cn->Close; __object_delete(rs); __object_delete(cn); }
4
四.
报表功能的实现 实现一个完整的工控报表系统,一般可分为两部分完成: 一、 数据处理单元,实现数据采集及相关工艺经济管理指标计算。完成数据处理常用
的方法有三种:API接口,一般讲对具体设备有较好的性能,没有统一的规范,需要对设备专 门开发接口程序,通用性差 ; ODBC接口,通用的HMI、SCADA等监控系统一般都支持ODBC规 范,在需要大数据量,多样化数据应用中,有很重要的应用,而且现在有不少基于ODBC开发 的第三方控件可供使用。 另外也可使用Microsoft的基于COM的OLE-DB接口,其优点是对数据 库的访问速度更快; OPC接口,PC的特点是有统一的接口规范,通用性好,若在OPC SERVER 端能实现历史数据服务,数据采集程序也能够获得各种历史信息,而且WinCC本身就是一个双 向的OPC应用程序。 二、 报表处理单元,实现报表格式生成,报表存储查询系统,报表打印等功能。目前 还没有通用的支持工控系统组态报表的工具。自行开发一般常用Excel电子表格完成数据处理 和报表格式制作,用开发软件如VB来控制Excel的应用,(一般是将Excel作为OLE Automation Server)能弥补其在工控应用中的不足,但是系统开发复杂,成本高。还可以利用现成的第三 方报表控件如CrystalReport等来完成报表处理。 在本项目中根据用户的要求,我们对报表部分做了充分的分析研究,用户报表对格式 要求严格,报表数据复杂,记录长度不确定,但是报表格式相对固定,这个控制系统只有一 台 PC670 做操作站,即要承担监控任务还要完成数据的存档及报表打印功能,如果在运行 WinCCRT 的同时还要在后台运行 Excel 软件,系统的负荷会比较大,容易造成系统响应时间增 大,性能下降,死机及中断程序。根据以上特点,我们对本次报表功能的开发采取了以 OLEDB 关系及非关系型数据库接口为基础的方式, 用 Global Script 编程通过 ADO(ActiveX Data Objects)接口访问 WinCC SOL Anywhere 数据库,利用 WinCC 的 C Script 的强大功能在 WinCC 的应用环境下编写数据采集处理单元,通过数据文件与外部的报表打印程序交换数据。 用 VC 直接编程开发具体的报表格式,通过数据文件,生成实时报表。好处是:首先报表程序只负 责报表打印,通过数据文件与 WinCC 应用系统交换数据,对系统的影响最小;其次报表系统 只在打印报表的时候由 WinCC 系统调用,打印完成后,自动退出,不常驻系统内,并且可以 实现用户的特殊要求。
1
华瑞制药有限公司厂房外观
华瑞制药有限公司工厂鸟瞰图
华瑞制药有限公司厂房内景
2
二.
系统介绍 华瑞制药旋转灭菌设备原使用的是西门子的 S5-110UPLC 控制系统,由于此型号的
PLC 是属于老型的 PLC,现备品困难,因此必需升级到 S7 系列。此次升级改造为 S73152DP,同时监控系统使用了一个 PC670 及 TP170B,组态软件为 Step7,ProTool V6.0 和 WinCC V5.1。 产品灭菌过程主要包括四个工艺流程,包括透明安瓿的灭菌流程,棕色安瓿的检测 流程,染色流程,及真空测试流程等。其灭菌工艺流程比较复杂,例如透明安瓿流程包括 三十多个步骤:三次分步真空 ---- 五步加热 ----灭菌 ---- 五步蒸馏水喷淋冷却 ---抽真空 ---- 染色 ----腔室加压 ----保持 ----腔室过压排水 ---- 排空 ---- 氯水清 洁 ---- 腔室鼓泡 ---- 腔室过压排水 ---- 排空 ---- 二次氯水清洁 ---- 鼓泡 ---过压排水 ---- 蒸馏水淋洗 ---- 加热 ---- 抽真空 ----加热 ---- 干燥 ---- 排空 --- 结束。 该旋转灭菌釜控制系统的主要功能有: • • • • • • • • • 灭菌釜真空检测自动控制 灭菌流程控制 对灭菌过程步骤的手动中断及跳步功能 灭菌工艺步骤的跳转条件可选择(时间,温度,压力,F0 值) 腔室温度、压力、灭菌时间的自动调节 根据实时生产温度与湿热灭菌参比温度计算灭菌过程的关键参数 F0 值 对系统的操作实行三级密码保护 历史数据及报警的保存及查看等 每批产品的相关报表
控制系统结构如下图:
3
TP170B
PC670
三.
ቤተ መጻሕፍቲ ባይዱ
监控系统及生产报表的要求 根据国家对药品生产管理的要求,药品的生产管理及出厂必须具备详细的可查询的
信息,这些信息的内容包括操作信息,生产批次信息,生产参数及配方信息,生产过程信 息及报警记录等。根据国家药品生产管理规定及 GMP 认证规则, 华瑞制药公司对升级的 S7 灭菌系统的监控和批次报表部分提出以下要求: • • • • • 所有操作数据和报警信息与过程数据的归档,历史数据的查看 人机界面给出一个接口,可以对所有生产程序步骤进行跳步、中断操作 人机界面给出对重要设备进行强制操作的接口 报表格式必须按照其他经过 GMP 认证的系统的报表格式来完成 报表中操作信息包括批号,程序模式,生产日期,该批次起始时间,操作者姓 名,批次终止时间;批次参数信息包括所选择的灭菌程序的设定参数;过程及 报警信息包括腔室温度及压力,LOAD1、LOAD2 和排出口的温度及实时 F0 计算 值,最大最小灭菌温度,最大最小 F0 计算值,操作员登陆信息,生产操作及 报警信息等 • • 批次参数信息存档 报表存档并可追溯(追溯打印报表要求和当班打印报表格式完全相同)
7
部分打印报表如下:
8
五.
结束语 本项目于 2004 年 7 月 8 日通过了系统 SAT,各项功能都达到了预期目标,用户对
监控部分的功能及报表表示满意,并且该项目已经进入投产运行阶段。 六. 开发体会 本系统仅使用 WinCC 来完成报表功能,这种方式对单机项目非常实用,不会过多地 占用系统资源,也不需要购买其它的 WinCC option 和应用软件,即能满足用户的功能需 求,又方便灵活。
一.
项目简介 无锡华瑞制药有限公司位于江苏省无锡市马山镇,该公司(SSPC)系中国和瑞典两国
第一家合资企业,也是目前中国制药行业最大的合资企业之一,公司注册资本 2790 万美元, 总投资额 4510 万美元。公司于 1982 年签订合资合同,1987 年开始经营生产,1999 年外方股 份转让给德国费森尤斯卡比公司(Fresenius Kabi)。华瑞公司作是中国第一家临床营养的专 业公司,目前主要生产外方股东德国费森尤斯卡比公司的专利产品—肠外营养和肠内营养系 列产品,年生产能力达到 1300 万瓶大输液、1590 万瓶/支小针和 600 万瓶肠内营养产品,是 国内唯一能够提供全套临床营养产品的厂家,也是亚太地区最大的肠外和肠内营养产品生产 基地。 华瑞公司是国内实施 GMP 的先行者和典范, 公司的生产工厂严格按照欧盟 GMP 的标准 设计和建造,拥有现代化的 GMP 硬件设备,其新型的通风系统、现代化的水系统、智能化的 配制系统、独特的灭菌系统、严密的药用条码系统等,均达到同行业国际先进水平。公司在 此硬件环境下严格实施制药领域标准最高、要求最严格的欧盟 GMP 标准,并顺利通过国家和 欧盟的 GMP 认证检查。公司是目前国内唯一获得欧盟 GMP 证书并获准向欧洲市场出口产品的 制药企业。