基于WINCC实现热磨机报表系统
2017-03-10沈军
沈军
摘 要:在MDF生产线中,热磨机是整个生产线的关键设备。热磨机的稳定性,关系到整个工厂运行,因此要求对热磨机主机电流、蒸汽压力、螺旋转速等重要参数进行定时记录,归档,生成表报,便于设备的维护及工艺调整,替代人工抄表。
关键词:报表;wincc;归档
中图分类号:TP311 文献标识码:A 文章编号:1671-2064(2017)01-0042-02
在人造板生产线中,目前大多的MDF工厂对热磨机的参数进行,手动记录、存档,部分参数的记录由于人员的疏漏,导致记录不及时,不能充分反映热磨机的早期故障,为了克服手动抄表的不利因素,达到按时、准确抄表,并且能够便于查阅的目的,因此采用wincc组态软件设计热磨机报表采集系统。
1 报表设计的要求
设计一个日报表,按照具体的日期查询,每个报表包含24条数据,数据之间的时间间隔为1个小时。在报表设计的功能上要求具有数据自动统计,显示相应参数的最大值、最小值和平均值。
在报表的样式上要求有表头、报表的名称、报表的时间,在报表的左侧每过一个小时对应一条数据记录,要求报表的数据可以更改,当某一时间段WINCC系统没有运行时(没有数据记录),用#号代替,可以打开报表存储的位置。
2 报表的设计
在进行报表设计的时候,首先要考虑的是变量的归档方式和查询方式,以及实现某些特定功能的难易程度,本报表中有较多的浮点数型数据,利用wincc的变量记录可以实现一每个小时的数据归档,查询数据和生成EXCEL文档的过程可以在全局脚本中运行。
3 报表的流程
为了实现报表的功能,首先利用变量记录进行数据归档,然后利用全局脚本查询一天的数据并以日期为名称存放在指定的文件夹中,利用EXCEL的表格公式进行相关数据统计,最后利用查询按钮的脚本将某一天的数据从EXCEL中调入到画面中进行显示。
3.1 报表的组态过程
(1)新建工程并命名,保存在E盘根目录下。
(2)设置工程的启动运行参数,打开变量记录运行。
(3)新建变量(变量的个数根据需要)。
(4)新建画面,组态报表画面,在画面中添加相应功能按钮。
(5)打开变量记录编辑器,对相应的变量添加到过程变量中,并且设置归档时间。
3.2 代码
(1)全局脚本代码 (仅以读取一个过程变量为例)。
'读取前轴承温度
sSql = "Tag:R,('ProcessValueArchive\refiner_fore_bearing_ouput_oil_
temperature'),'" & sStart & "','" & sStop & "'"
oCom.CommandText = sSql
Set oRs = oCom.Execute
m = oRs.recordCount
If m > 0 Then
EL1=1
oRs.MoveFirst
i = 0
k = 0
Do While Not oRs.EOF
tim=GetLocalDate(oRs.Fields(1).Value)
If Hour(tim)=k Then
objExcelApp.Worksheets(sheetname).cells(i+8,2).value = Round(oRs.Fields(2).Value,2)
oRs.MoveNext
Else
objExcelApp.Worksheets(sheetname).cells(i+8,2).value = "#"
End If
' objExcelApp.Worksheets(sheetname).cells(i+8,8).value=Hour(tim)
' objExcelApp.Worksheets(sheetname).cells(i+8,2).value = oRs.Fields(2).Value
i = i + 1
k = k + 1
Loop
k=24-k
For j=0 To k-1
objExcelApp.Worksheets(sheetname).cells(24-k+8+j,2).value = "#"
Next
Else
EL1=0
End If
oRs.Close
Set oRs = Nothing
Set conn = Nothing
Dim EL
EL=EL1&EL2&EL3&EL4&EL5&EL6&EL7&EL8&EL9&
EL1&EL10&EL11&EL12&EL13&EL14
If EL<>0 Then
Dim patch,filename
filename=CStr(Year(Now))&"-"&CStr(Month(Now))&"-"&CStr(Day(Now))
patch= "E:\HMI\excel\"&filename&".xls"
objExcelApp.ActiveWorkbook.SaveAs patch
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp= Nothing
item.Enabled = False
Else
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp= Nothing
End If
End Function
(2)更改按鈕代码。
Sub OnClick(Byval Item)
Dim sheet1
Set sheet1=ScreenItems("sheet1")
sheet1.ActiveSheet.Protection.Enabled = False
MsgBox "您现在可以编辑数据"
End Sub
4 结语
WINCC报表通过对原始数据的进行整理归档,经过一定的算法分析整合,能够查询的同时还能打印,将结果通过表格或文字等方式,这样方便做成纸质文档进行归类存档或给企业管理者。