沈軍
摘 要:在MDF生產(chǎn)線中,熱磨機(jī)是整個(gè)生產(chǎn)線的關(guān)鍵設(shè)備。熱磨機(jī)的穩(wěn)定性,關(guān)系到整個(gè)工廠運(yùn)行,因此要求對熱磨機(jī)主機(jī)電流、蒸汽壓力、螺旋轉(zhuǎn)速等重要參數(shù)進(jìn)行定時(shí)記錄,歸檔,生成表報(bào),便于設(shè)備的維護(hù)及工藝調(diào)整,替代人工抄表。
關(guān)鍵詞:報(bào)表;wincc;歸檔
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2017)01-0042-02
在人造板生產(chǎn)線中,目前大多的MDF工廠對熱磨機(jī)的參數(shù)進(jìn)行,手動(dòng)記錄、存檔,部分參數(shù)的記錄由于人員的疏漏,導(dǎo)致記錄不及時(shí),不能充分反映熱磨機(jī)的早期故障,為了克服手動(dòng)抄表的不利因素,達(dá)到按時(shí)、準(zhǔn)確抄表,并且能夠便于查閱的目的,因此采用wincc組態(tài)軟件設(shè)計(jì)熱磨機(jī)報(bào)表采集系統(tǒng)。
1 報(bào)表設(shè)計(jì)的要求
設(shè)計(jì)一個(gè)日報(bào)表,按照具體的日期查詢,每個(gè)報(bào)表包含24條數(shù)據(jù),數(shù)據(jù)之間的時(shí)間間隔為1個(gè)小時(shí)。在報(bào)表設(shè)計(jì)的功能上要求具有數(shù)據(jù)自動(dòng)統(tǒng)計(jì),顯示相應(yīng)參數(shù)的最大值、最小值和平均值。
在報(bào)表的樣式上要求有表頭、報(bào)表的名稱、報(bào)表的時(shí)間,在報(bào)表的左側(cè)每過一個(gè)小時(shí)對應(yīng)一條數(shù)據(jù)記錄,要求報(bào)表的數(shù)據(jù)可以更改,當(dāng)某一時(shí)間段WINCC系統(tǒng)沒有運(yùn)行時(shí)(沒有數(shù)據(jù)記錄),用#號(hào)代替,可以打開報(bào)表存儲(chǔ)的位置。
2 報(bào)表的設(shè)計(jì)
在進(jìn)行報(bào)表設(shè)計(jì)的時(shí)候,首先要考慮的是變量的歸檔方式和查詢方式,以及實(shí)現(xiàn)某些特定功能的難易程度,本報(bào)表中有較多的浮點(diǎn)數(shù)型數(shù)據(jù),利用wincc的變量記錄可以實(shí)現(xiàn)一每個(gè)小時(shí)的數(shù)據(jù)歸檔,查詢數(shù)據(jù)和生成EXCEL文檔的過程可以在全局腳本中運(yùn)行。
3 報(bào)表的流程
為了實(shí)現(xiàn)報(bào)表的功能,首先利用變量記錄進(jìn)行數(shù)據(jù)歸檔,然后利用全局腳本查詢一天的數(shù)據(jù)并以日期為名稱存放在指定的文件夾中,利用EXCEL的表格公式進(jìn)行相關(guān)數(shù)據(jù)統(tǒng)計(jì),最后利用查詢按鈕的腳本將某一天的數(shù)據(jù)從EXCEL中調(diào)入到畫面中進(jìn)行顯示。
3.1 報(bào)表的組態(tài)過程
(1)新建工程并命名,保存在E盤根目錄下。
(2)設(shè)置工程的啟動(dòng)運(yùn)行參數(shù),打開變量記錄運(yùn)行。
(3)新建變量(變量的個(gè)數(shù)根據(jù)需要)。
(4)新建畫面,組態(tài)報(bào)表畫面,在畫面中添加相應(yīng)功能按鈕。
(5)打開變量記錄編輯器,對相應(yīng)的變量添加到過程變量中,并且設(shè)置歸檔時(shí)間。
3.2 代碼
(1)全局腳本代碼 (僅以讀取一個(gè)過程變量為例)。
'讀取前軸承溫度
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 "您現(xiàn)在可以編輯數(shù)據(jù)"
End Sub
4 結(jié)語
WINCC報(bào)表通過對原始數(shù)據(jù)的進(jìn)行整理歸檔,經(jīng)過一定的算法分析整合,能夠查詢的同時(shí)還能打印,將結(jié)果通過表格或文字等方式,這樣方便做成紙質(zhì)文檔進(jìn)行歸類存檔或給企業(yè)管理者。