牟海闊 張紅剛 譚里民 黃弋蘅 史章潞 陳太波 馬庭堯
摘 要:介紹了涂裝車間能源管理的現(xiàn)狀,目前的管理方法無法有效的應(yīng)對精細化的節(jié)能降耗的需求。詳細描述了通過自主編程實現(xiàn)能源管理信息系統(tǒng)的過程,包括數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)可視化過程,并且給出了每一步的配置方案。探討了在自主開發(fā)的能源管理系統(tǒng)的監(jiān)控過程中所發(fā)現(xiàn)的節(jié)能案例,并且構(gòu)建了相應(yīng)的能源管理體系,為節(jié)能降耗提供了豐富的案例支撐。
關(guān)鍵詞:汽車涂裝;能源管理;節(jié)能減排
中圖分類號:TP315 ?文獻標識碼:A ?文章編號:1671-7988(2020)20-151-05
Abstract: The current situation of energy management in painting workshop is introduced. The current management method can not effectively meet the demand of refined energy saving and consumption reduction. The process of realizing energy management information system through independent programming is described in detail, including data collection, data storage, data visualization process, and the configuration scheme of each step is given. This paper discusses the energy- saving cases found in the monitoring process of self-developed energy management system, and constructs the corresponding energy management system, which provides rich case support for energy conservation and consumption reduction.
Keywords: Automobile coating; Energy management; Energy saving and emission reduction
CLC NO.: TP315 ?Document Code: A ?Article ID: 1671-7988(2020)20-151-05
1 能源管理系統(tǒng)背景
2018年一汽-大眾成都分公司總能耗金額達到2.3億元,其中沖壓、焊裝、涂裝、總裝車間累計能耗達到1.5億元。在四大車間中題注總能耗費用為0.89億元,占到了四大車間中的58.6%,是生產(chǎn)中能耗最高的過程。在2019年上半年實際生產(chǎn)中,電能6次、燃氣3次、工業(yè)水2次未完成月度能源單耗目標,如圖1所示。目前的車間能源管理缺乏有效的監(jiān)控手段,無法回答具體如下的問題:“在什么時間,哪個功能組的哪一個電柜,由于何種原因?qū)е铝硕嗌倌茉吹漠惓O摹薄R虼藶榱诉_到精細管理的目的,開發(fā)一個能源管理信息系統(tǒng)就顯得尤為必要。
2 能源管理系統(tǒng)架構(gòu)
能源管理系統(tǒng)的技術(shù)路線是:利用Wincc完成現(xiàn)場58個PLC能耗數(shù)據(jù)的采集;利用MS SQL server作為數(shù)據(jù)庫進行數(shù)據(jù)存儲;利用Excel VBA進行數(shù)據(jù)的讀取、歸類及可視化。系統(tǒng)架構(gòu)設(shè)計如圖2所示。
2.1 數(shù)據(jù)采集
使用Wincc配置了與現(xiàn)場PLC的連接,在此基礎(chǔ)上建立與每一個計量表通訊的變量,以每秒一次的頻率對現(xiàn)場的158塊計量表進行信息采集。并且利用VBS腳本通過ODBC(Open Database Connectivity開放數(shù)據(jù)庫互連)這個API建立與數(shù)據(jù)庫的通訊如圖3所示。通過編寫VBS腳本將現(xiàn)場所有儀表的實時能耗數(shù)據(jù)寫入到SQL server數(shù)據(jù)庫中,如圖4所示。
2.2 數(shù)據(jù)存儲
建立了能源管理的數(shù)據(jù)庫,在該數(shù)據(jù)庫中不僅保存了每一個能源表的歷史數(shù)據(jù),還保存了該計量表的屬性數(shù)據(jù),例如該表所屬的功能組、區(qū)域、以及所計量的能源類型等,為下一步的數(shù)據(jù)切片、分類匯總等提供基礎(chǔ)信息。如圖5所示。
2.3 數(shù)據(jù)可視化
利用Excel VBA中的ADO(Active Data Objects)方式訪問數(shù)據(jù)庫。通過調(diào)用SQL server中預(yù)先定義的存儲函數(shù),實現(xiàn)了以能源類型、功能組、區(qū)域,生產(chǎn)線為區(qū)分維度的數(shù)據(jù)透視功能。如圖6所示。
以上的技術(shù)架構(gòu)由于采用的是現(xiàn)場已有的軟件實現(xiàn)了整個通訊過程,零成本,經(jīng)濟性好。而且預(yù)留了相應(yīng)的數(shù)據(jù)接口,可以快速的實現(xiàn)功能拓展。
3 核心技術(shù)方案
3.1 S7連接的建立
將PLC的以太網(wǎng)口開放,并且配置功能組之間的S7連接,通過調(diào)用通訊功能塊BSEND/BRCV實現(xiàn)能源數(shù)據(jù)的匯總。
3.2 Wincc及VBS腳本配置
Wincc及VBS腳本配置是實現(xiàn)現(xiàn)場數(shù)據(jù)采集的核心,其控制框架如下圖7所示:
(1)利用wincc中的“連接”功能,實現(xiàn)wincc與每一個功能組PLC的通訊配置
(2)為每一個功能組PLC的計量表建立一個變量,設(shè)置采集時間為1s。此處需要設(shè)置采集模式為“循環(huán)連續(xù)”。該模式下,無論HMI畫面是否選擇該變量,均會在后臺進行連續(xù)更新。
(3)通過建立一個ADODB的連接對象來實現(xiàn)wincc與SQL server的通訊,關(guān)鍵代碼為:
==================
Set conn = CreateObject("ADODB.Connection")
conn. Open "Provider = MSDASQL; Initial Catalog="&" mhk" & "; DSN=Wincc2SQL"
=====================
(4)因為每個PLC下所連接的計量表數(shù)量及類型不完全一樣,要想對現(xiàn)場所有的功能組變量進行遍歷就必須建立一個字典的數(shù)據(jù)結(jié)構(gòu),字典的鍵為每個PLC的名稱,字典的鍵值為每個功能組下的計量表名,以面漆一線工藝空調(diào)功能組為例,關(guān)鍵代碼為:
==================
Dim LV0241
LV0241=Array("10S2-A1","10S3-A1","10S4-A1","10S5-A1","10S6-A1", "10S7-A1","10S8-A1","S9WH114-F12")
其中LV0241是PLC名稱,數(shù)組中的元素為每個計量表的名稱
Dim FGSensor ' Create a variable.
Set FGSensor = CreateObject("Scripting.Dictionary")
FGSensor.Add "LV0241", LV0241
==================
其中FGSensor屬于字典數(shù)據(jù)類型,其中定義了相應(yīng)的鍵與鍵值
(5)通過一個While True的循環(huán)實現(xiàn)一個死循環(huán),在循環(huán)中判斷當(dāng)前系統(tǒng)時間是否為59秒。如果是則記錄當(dāng)前的時間作為此次所有計量表的時間并且執(zhí)行雙重for循環(huán)語句。首先遍歷所有的PLC,然后遍歷該PLC中所有的計量表變量,最后在最里層循環(huán)中構(gòu)造了相應(yīng)的變量名的規(guī)則,實現(xiàn)了對Wincc runtime中變量名的索引,并且利用SmarTags功能實現(xiàn)了數(shù)據(jù)寫入。
==================
While True
Do While (Second(Now) Mod 59 = 0)
mydatetime = SmartTags("date1")
For i=0 To FGSensor.Count ' ergodic all the function group
SensorLength=arraylen(FGSensor.Item(FGKeys(i)))
For j=0 To SensorLength 'ergodic all the sensors
SensorName = FGKeys(i) + "-" + FGSensor.Item (FGKeys (i))(j)
SensorValue = FGKeys(i) + "-" + "Value-"+FGSensor. Item (FGKeys(i))(j)
SQL_Table="INSERT INTO"&"AllValue Table"&" VAL UES ('" & SmartTags(SensorName) & "' , '" & mydatetime & "', '" & HmiRuntime.SmartTags(SensorValue) & "')"
Set rst = conn.Execute(SQL_Table)
Next
Next
Loop
Wend
==================
3.3 SQL server配置
數(shù)據(jù)庫中表結(jié)構(gòu)的設(shè)計是影響后期查詢結(jié)果輸出的關(guān)鍵因素。整個數(shù)據(jù)庫設(shè)計過程中的表結(jié)構(gòu)及主外鍵關(guān)系如圖所示。在該數(shù)據(jù)庫系統(tǒng)中我們只采集當(dāng)前時刻的變量名、時間、讀數(shù)等三個信息并將其寫入到AllValueTable中,后續(xù)的數(shù)據(jù)分類匯總功能則通過AllValueTable和TagInfo表的內(nèi)聯(lián)查詢實現(xiàn),如圖8所示。
3.4 Excel VBA腳本配置
為了實現(xiàn)Excel VBA與SQL server的數(shù)據(jù)通訊,必須啟用ADO對象
定義VBA與數(shù)據(jù)庫的連接字符串
==================
Public Const Conn As String = "Provider= SQLOLEDB; Initial Catalog=" & "mhk" & "; Data Source=" &"LAPTOP- JVIRUAF2\SQLEXPRESS" & "; Integrated Security=SSPI; Persist Security Info=True;"
==================
本機用其中Catalog需要填寫對應(yīng)的數(shù)據(jù)庫名稱,Data Source為服務(wù)器名稱;
定義數(shù)據(jù)庫連接函數(shù)
==================
Public Sub Connect() ? ? '連接數(shù)據(jù)庫
If IsConnect = True Then ?'如果連接標記為真,則返回。否則會出錯
Exit Sub
End If
Set cnn = New ADODB.Connection '關(guān)鍵New用于創(chuàng)建新對象cnn
cnn.ConnectionString= Conn '設(shè)置連接字符串Connection String屬性
cnn.CommandTimeout = 300 '設(shè)置連接超時時間
cnn.Open '打開到數(shù)據(jù)庫的連接
If cnn.State <> adStateOpen Then '判斷連接的狀態(tài)
MsgBox "數(shù)據(jù)庫連接失敗" '如果連接不成功,則顯示提示信息,退出程序
End
End If
IsConnect = True '設(shè)置連接標記,表示已經(jīng)連接到數(shù)據(jù)庫
End Sub
==================
定義斷開連接函數(shù)
==================
Public Sub Disconnect() ?'斷開與數(shù)據(jù)庫的連接
If IsConnect = False Then '如果連接標記為假,標明已經(jīng)斷開連接,則直接返回
Exit Sub
End If
cnn.Close ? ? ? ? '關(guān)閉連接
Set cnn = Nothing ? '釋放cnn
IsConnect = False ? '設(shè)置連接標記,表示已經(jīng)斷開與數(shù)據(jù)庫的連接
End Sub
==================
定義數(shù)據(jù)庫查詢函數(shù)
==================
Public Function QueryExt(ByVal TmpSQLstmt As String) As ADODB.Recordset
Dim rst As New ADODB.Recordset '創(chuàng)建Recordset對象rst
Connect '連接到數(shù)據(jù)庫
Set rst.ActiveConnection = cnn '設(shè)置rst的Active Connec -tion屬性,指定與其關(guān)聯(lián)的數(shù)據(jù)庫連接
rst.CursorType = adOpenKeyset ?'設(shè)置游標類型
rst.LockType = adLockOptimistic '設(shè)置鎖定類型
rst.Open TmpSQLstmt ? ? ? ? '打開記錄集
Set QueryExt = rst ? ? ? ? ? ?'返回記錄集
End Function
==================
通過調(diào)用數(shù)據(jù)庫查詢函數(shù)QueryExt即可實現(xiàn)對數(shù)據(jù)庫的訪問并且將結(jié)果集返回到Excel中進行數(shù)據(jù)可視化,最終的呈現(xiàn)結(jié)果如下圖9所示。
4 能源管理系統(tǒng)發(fā)現(xiàn)的節(jié)能潛力點
涂裝車間的生產(chǎn)工藝中存在大量的大型高能耗工藝設(shè)備(例如前處理電泳、電泳/面漆烘干爐、面漆工藝空調(diào)、室體通風(fēng)等),占整個車間能源消耗的80%以上。
此類設(shè)備能源消耗體現(xiàn)為大功率電機、燃燒器、循環(huán)泵等。通過自主開發(fā)的能源管理信息系統(tǒng),在生產(chǎn)工藝中找到了18個節(jié)能潛力點,累計節(jié)約費用超過150萬/年,下面介紹2個典型案例。
(1)案例1:凌晨0-5點沒有生產(chǎn),電泳漆烘房LV0128 S2/S3每小時消耗100度電能,如圖10所示。
電泳烘房循環(huán)風(fēng)機設(shè)定溫度低于40度時才能夠停機,按照目前的單班次生產(chǎn)安排,即使早晨八點依然無法滿足40的條件,造成電能的浪費。預(yù)計該能潛力點每日節(jié)約電量= 130*5*2 = 1300度,如圖11所示。
(2)案例2:車間18點下班后噴漆室工藝空調(diào)天然氣仍然有消耗,如圖12所示。
下班后噴房進入清潔模式,噴房噴房溫度仍然控制在23℃,需要通過天然氣加熱來進行升溫。而此時只有部分保潔工作,僅需供新風(fēng)即可。該節(jié)能潛力測算: 每日節(jié)約天然氣 = 6*30*2 = 360m?,如圖13所示。
5 展望與總結(jié)
涂裝車間是四大工藝中能耗占比最高的環(huán)節(jié),對涂裝過程中的關(guān)鍵能耗設(shè)備開展節(jié)能管理將會大幅的降低能源消耗。通過能源管理系統(tǒng)的開發(fā),能夠依據(jù)統(tǒng)計數(shù)據(jù)對能源消耗開展精細管理。
在以往的管理過程中由于沒有相應(yīng)的歷史信息記錄,無法為每個設(shè)備分配相應(yīng)的能耗指標。通過該系統(tǒng)能為設(shè)備負責(zé)人設(shè)定能耗目標值,強化責(zé)任意識,真正將降耗目標落實到基層執(zhí)行層面。通過每日、每月報表的輸出,分析、整改現(xiàn)場浪費點,并且將類似經(jīng)驗進行橫展。
以電泳強冷風(fēng)機為例,在2019年10月的能耗與產(chǎn)量的相關(guān)系數(shù)只有0.5左右,通過優(yōu)化在2019年11月能耗與產(chǎn)量的相關(guān)系數(shù)已經(jīng)達到0.9,意味著該設(shè)備達到了能耗能夠很好的跟隨產(chǎn)量的變化趨勢,減少了大量的空運行時間。通過技術(shù)手段與管理手段相結(jié)合,目前涂裝車間已經(jīng)形成了一定的節(jié)能意識,為進一步深入優(yōu)化節(jié)能潛力提供了堅實的基礎(chǔ)。