龐海亮,潘 豐
(輕工過程先進控制教育部重點實驗室 江南大學,江蘇無錫 214122)
?
液洗機配料控制系統設計
龐海亮1,潘 豐2
(輕工過程先進控制教育部重點實驗室 江南大學,江蘇無錫 214122)
文中通過對液洗機配料過程的分析,設計具有上位機、下位機、人機界面的控制系統,為了兼顧配料過程的高效和高精度,在配料方式上,采取大料原料快速自動配料和小料原料掃碼確認高精度手動配料的解決方案;在配料參數組態(tài)上,通過WinCC的腳本工具編寫腳本,實現配方管理功能并采用下載配方的方式進行快速參數組態(tài);在系統報表生成上,通過編寫腳本和數據庫語句實現將變量運行數據導出到Excel表格文件中進行報表統計的功能。
組態(tài)軟件;液洗機;配料過程;配方
液狀洗滌用品生產設備簡稱液洗機,是以均質為原理的物料混合設備,一般用于液狀、油脂性物料的均質混合,在化妝品、化工、食品等行業(yè)中應用廣泛。液洗機的生產分為四個環(huán)節(jié):清洗環(huán)節(jié)、配料環(huán)節(jié)、均質生產環(huán)節(jié)、成品出料環(huán)節(jié)。其中配料環(huán)節(jié)中配料精度和原料配比對產品影響較大,同時配料速度對整個生產效率也有著很大的影響,所以需要解決配料速度和配料精度協調的問題,在保證配料精度前提下提高配料速度。
本文設計了由上位機、人機界面、下位機、掃碼器組成的液洗機配料控制系統,通過上位機的配方功能進行快速配料參數組態(tài);在配料方式上,對大料原料按配方進行自動稱量投料,小料原料通過掃碼確認手動稱量投料。在數據報表方面,通過監(jiān)控軟件腳本控件編寫功能腳本,將變量運行的歷史數據導出到外部Excel表格文件中,實現報表統計功能。
液洗機生產產品的原料可分為,大料原料:投料量較多的原料,存儲于原料儲罐,配料時采取稱重控制自動配料方式;小料原料:投料量較小的原料(一般為一些特殊添加物等原料),配料精度要求很高,在配料間由工人掃碼確認后手動稱量投料。
在啟動配料前,首先通過WinCC監(jiān)控系統調用存儲于工控機磁盤中的配方文件,將各個原料進料設定值讀取到監(jiān)控系統參數設置控件中并下載到對應PLC中以完成生產參數組態(tài)。參數設置好后啟動配料系統開始進料,以當前所進原料為A原料為例。
(1) 先對A原料的進料設定值進行判斷,如果A原料進料設定值為0則所選產品配方中不需要A原料;如果A原料進料設定值不為0則所選產品配方中需要A原料。
(2)假設A原料的進料設定值為100kg,程序將對A原料儲罐中原料儲量值進行判斷,如果儲量值小于進料設定值則系統會進行報警提示;如果儲量值大于進料設定值則打開相應的輸料閥門進行輸料。
(3)進料過程是由液洗鍋稱重模塊進行測量控制,并通過對原料儲罐加壓進行快速排料,在進料過程中要對液洗鍋內料體的稱重值進行實時采集,以判斷進料量是否達到設定值,并采用PID控制算法調節(jié)比例調節(jié)閥開度來控制不同階段的進料流速,以提高大料配料精度。
(4)當A原料進料量達到設定值時關閉原料儲罐輸料閥停止配料,A原料自動配料完成,并開始下一種大料原料的循環(huán)進料過程。
在結束大料原料自動配料流程后,開始小料原料的配料,由于小料原料進料量小、配料精度要求高,所以采取人工稱量投料的方式。同時由于小料原料種類較多,進料量設定值各不相同,為防止人工誤操作,通過掃碼器采集原料代號和配方對比來確認是否為配方所需小料,如果經掃碼確認后是配方所需原料,則在配料車間人機界面上會顯示該料進料量設定值,并對該原料做已投放標記;如果不是配方所需原料或者有已投放標記,則會報警提示。配料流程如圖1所示。
圖1 液洗機配料工藝流程
2.1 液洗機配料系統硬件結構
液洗機配料控制系統以S7-200 PLC作為控制器、研華工控機預裝WinCC監(jiān)控系統作為上位機、Smart Line觸摸屏作為人機界面和掃碼器共同組成硬件環(huán)境。
原料儲罐存儲大料原料,以稱重感器對原料存儲量進行采集。原料為油脂性物料,為避免硬化、結塊,需攪拌電機進行攪拌。為保證配料時原料能快速從儲罐中排出,除依靠原料自重排料,還通過加壓進行排料。
每個原料儲罐出口處有開關量閥門控制原料的流通,所有原料儲罐輸料管匯聚到一個主輸料管上與液洗鍋連接,在主輸料管上配置有比例調節(jié)閥,用于控制不同階段的進料速度,以提高進料精度。設備結構如圖2所示。
圖2 液洗機配料系統結構
2.2 配料控制系統軟件框架
WinCC是Windows Control Center(視窗控制中心)的簡稱,它是集數據采集與過程控制于一體的專用組態(tài)軟件。WinCC集成了SCADA、組態(tài)、腳本(Script)語言和OPC等技術,除提供用于過程可視化和操作的全部基本功能之外還提供寬范圍的編輯功能和接口為用戶使用各種通用軟件的功能,特別適合與PLC連接共同使用,作為工業(yè)控制過程中上位機的人機接口[1]。
WinCC監(jiān)控系統是配料控制系統的監(jiān)控管理層,集成了設備運行狀態(tài)顯示、運行數據顯示、生產參數組態(tài)、配方管理、數據歸檔記錄、報警提示等功能。
設備運行狀態(tài)和數據的動態(tài)實時顯示,通過WinCC畫面編輯器組態(tài)設備運行畫面和數據顯示窗口,并將畫面控件、數據顯示窗口與WinCC變量連接,通過變量值改變實現數據顯示和畫面動態(tài)顯示功能。
數據記錄功能是對溫度、壓力、稱重值、產品名稱、生產批次等重要生產數據進行歸檔記錄,WinCC自帶數據歸檔控件,能對歸檔變量進行快速數據歸檔記錄[1]。
生產參數組態(tài)是在WinCC參數組態(tài)畫面中進行生產參數設置,通過配方管理功能對配方文件進行調用、讀取,實現按配方自動進行參數組態(tài)。同時,在參數自動組態(tài)完成后也可在通過手動輸入數據進行參數微調。
配方管理是配料參數組態(tài)時對產品配方的調用和新建,通過WinCC腳本工具編寫腳本實現。液洗機生產所需原料種類較多,不同產品配料參數各不相同,為了能夠快速完成配料參數組態(tài),采取具有腳本功能的按鈕來實現配方管理功能,將配方文件中的數據自動讀取到WinCC組態(tài)畫面中,并且可將當前參數保存為新的配方文件。
報警功能是對設備的故障、大料存儲量不足、小料配料誤操作進行報警提示。系統的報警信號主要是閥門、電機故障和大料原料存儲量不足、小料配料誤操作,通過向PLC發(fā)送報警信號,啟動蜂鳴器和報警畫面來報警提示。
人機界面是工人操作的平臺,采用西門子觸摸屏組態(tài)軟件WinCCFlexible進行開發(fā),集成可視化操作界面、報警畫面、生產參數組態(tài)畫面、配方調用畫面;配料車間的人機界面用于顯示掃碼器采集的小料原料的進料量設定值、已投放標記和誤操作提示等功能。
下位機程序以梯形圖為編程語言,采用模塊化的編程思想,編寫配料主程序、稱重采集子程序、壓力采集子程序、PID子程序、通訊子程序。主程序完成配料流程的邏輯控制、故障報警和對子程序的調用;稱重子程序和壓力采集子程序對各個罐體的稱重值和壓力值進行采集;PID子程序用于控制比例調節(jié)閥的開度;通訊子程序主要完成PLC和掃碼器、WinCC監(jiān)控系統的通訊。
手動配料掃碼功能,通過掃碼器采集原料條形碼代號,所有的小料原料有唯一的條形碼,經掃碼器采集為一組數字,并以字符串類型存儲于變量中傳送給PLC,通過字符串轉換指令轉換為整數數據,以這些整數數據代替原料名稱,在程序中通過與配方中的原料代號作比較,判斷是否為所需原料或者已投放過的原料??刂葡到y軟件架構如圖3所示。
圖3 配料控制系統功能框架
3.1 WinCC監(jiān)控系統與PLC的通訊
PC Access軟件是專用于S7-200 PLC的OPC Server軟件,向OPC客戶端提供數據信息,可以與任何標準的OPC Client通訊,集成了PPI、MPI、Profibus-DP、西門子以太網通訊協議、Modems等通訊協議[2-3]。
PC Access和PLC的通訊連接,采用以太網通訊協議,建立變量連接,進行數據交換。
(1)將工控機的以太網卡和PLC的以太網通訊模塊CP243-1建立物理連接。
(2)對CP243-1以太網通訊模塊進行配置,設置IP地址、模塊連接數目、TSAP地址等參數屬性。
(3)在PC Access中建立Siemens TCP/IP Ethernet通道。
(4)在通道中建立對應PLC TSAP地址和IP地址的站點。
(5)在站點中建立對應PLC寄存器地址的變量。
WinCC監(jiān)控系統和PC Access的通訊連接,采用PC Access作為OPC服務器,WinCC監(jiān)控系統作為OPC客戶機,通過建立通訊通道、導入變量來實現[2-3]。
(1)在WinCC監(jiān)控系統的變量管理界面中,添加OPC.CN數據通訊驅動,建立OPC通訊通道。
(2)在OPC通訊通道中添加系統參數,在彈出的目錄中選擇S7200 OPC Server,將PC Access中的變量導入到WinCC變量管理的OPC通訊通道中。
最終實現WinCC上位機監(jiān)控系統和下位機PLC的通訊。
3.2 人機界面與PLC的通訊
S7-200 CPU226共有兩個PORT通訊口,本文設計的人機界面共兩個:一個放置在生產車間,一個放置在小料原料配料車間。在小料配料車間配置一個串口通訊的掃碼器,通過通訊纜線和PLC的PORT通訊口連接。針對這樣的硬件環(huán)境,本文采用兩個觸摸屏并聯在1個PORT通訊口上通過多主站PPI通訊協議實現與PLC的通訊,掃碼器和PLC的另一個PORT通訊口通過自由通訊口模式進行通訊的方案。
PPI(Point-to-Point Interface)通信方式是一種主—從協議,是專門為S7-200開發(fā)的通信協議,是S7-200 CPU默認的最基本的通信方式[4]。它通過S7-200 CPU內置的接口Port0或Port1采用通用RS-485雙絞線電纜進行聯網通信,網絡中的所有S7-200 CPU都默認為PPI從站,主站可以是S7-300/400、SIMATIC編程器、觸摸屏等。
通過PPI可實現多主站與從站的通訊,將觸摸屏設為主站、PLC設置為從站,各個站點地址互不相同[4]。兩個觸摸屏用RS-485雙絞線電纜和PLC并聯,設置統一的傳輸波特率,實現2個觸摸屏共用1個Port通訊口和PLC進行通訊。
3.3 掃碼器與PLC的通訊
S7-200PLC CPU226的通訊口,一般用于PPI /MPI 或自由口通訊,在自由口通訊模式下,它允許用戶自己定義字符通訊格式,如數據長度和奇偶校驗等,因此它可以實現多種自定義通訊協議,用戶通過編寫程序對一些特殊的通訊寄存器進行配置來實現自定義通訊協議[5-6]。
掃碼器具有RS232串口通訊接口,通過RS232/RS485轉換器與PLC的通訊口連接,在PLC中編寫自定義通訊程序,將掃碼器采集到的數據傳輸到PLC指定的變量地址中,以完成掃碼器對小料原料代號的采集功能。
從WINCC6.0開始采用SQL2000SP3做為WinCC的后臺數據,并由SIEMENS為WinCC做了二次開發(fā)。WinCC的內部數據庫分為兩類,組態(tài)數據庫和運行數據庫,WinCC在運行時根據WinCC的設置,數據歸檔以時間為基準形成數據片段存儲于運行數據庫中的數據表中,主要為3個數據表,ARCHIVE(用戶歸檔記錄)、TAGPRESSED (TAGUNPRESSED)(壓縮/非壓縮變量歸檔記錄)、MSARCLONG(報警記錄)[7-9]。通過建立和WinCC數據庫的連接,可實現對變量運行的歷史數據進行訪問,并編寫腳本將數據導出到外部Excel表格文件中進行報表統計和數據處理操作。
4.1 腳本實現報表功能
WinCC自帶的WinCC Online Trend Control控件可以以趨勢形式、表格形式顯示在線過程數據,但用戶不能對這些數據直接進行訪問與處理,且當WinCC不在運行狀態(tài)時,WinCC控件就不能訪問已經記錄的過程數據,所以在對數據記錄和處理上存在局限性[8-9]。
編寫腳本和SQL語句通過OLE-DB方式連接WinCC運行數據庫,對歸檔數據按條件進行篩選并導出到Excel表格文件中,以實現將生產數據生成報表并進行后期數據統計等操作。在使用OLE-DB方式連接數據庫時,需要提供正確的數據庫連接字符串,連接字符串主要包括:Provider, 連接數據庫的類型;Catalog,所連接數據庫名稱;DataSource,服務器名稱。
通過WinCC OLE-DB連接WinCC運行數據庫后,并使用SQL查詢語句將數據篩選后存儲在RecordSet數據集中,根據數據在RecordSet數據集中的存儲格式編寫VBS腳本將數據導出到Excel文件中。數據導出界面如圖4所示。
圖4 數據報表功能界面
實現Excel報表功能的主要步驟:
(1)在WinCC中創(chuàng)建過程值歸檔記錄,將需要記錄運行數據的變量通過WinCC歸檔組件建立歸檔,在WinCC的運行數據庫中保存歸檔值。
(2)在WinCC按鈕控件中編寫腳本,定義正確的數據庫連接字符串,建立和WinCC運行數據庫的連接。
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=" &tagDSNName.Value& ";"
sSer = "Data Source=.WinCC"http://定義連接字符串,其中數據庫名稱為WinCC運行后自動生成,其余為固定格式
sCon = sPro + sDsn + sSer
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
conn.CursorLocation = 3
conn.Open//利用連接字符串連接WinCC運行數據庫
(3)創(chuàng)建Excel模板,在特定的路徑下創(chuàng)建Excel文件作為模板,控制數據輸出格式。
Set objExcelApp = CreateObject("Excel.Application")//建立Excel對象
objExcelApp.Visible=False //Excel不顯示界面,后臺運行方式
objExcelApp.Workbooks.Open"D:WinCCWriteExcelabc.xlsx" //創(chuàng)建“D:WinCCWriteExcel”路徑下的abc.xlsx表格
objExcelApp.Worksheets(sheetname).Activate //將表格置為活動表格
(4)組態(tài)數據篩選界面,在WinCC畫面中添加控件,通過SQL語句對WinCC運行數據庫中的數據進行篩選并保存到RecordSet數據集中。
sSql="Tag:R,(A1,A2,A3),'"&BeginTime&"','"&EndTime& "',"http://通過開始時間和結束時間對數據庫Achieve表中的歸檔變量A1,A2,A3的記錄值進行篩選
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
oCom.CommandText = sSql//定義SQL數據查詢語句并執(zhí)行
(5)編寫VBS腳本,在查詢界面的控件中編寫腳本,將數據導出到所創(chuàng)建的Excel表格中。
Set oRs = oCom.Execute
m = oRs.RecordCount
i=2,j=1,n=0
If (m > 0) Then//數據集中的記錄條目不為零
objExcelApp.Worksheets(sheetname).cells(i,j).value=oRs.Fields(n).Name //往表格中相應位置填充變量名稱
oRs.MoveFirst
i=i+1
Do While Not oRs.EOF//是否到記錄末尾,循環(huán)填寫表格
objExcelApp.Worksheets(sheetname).cells(i,j).value= oRs.Fields(n).Value//在對應變量名稱下填充變量值
oRs.MoveNext
i=i+1,j=j+1,n=n+1
Loop
oRs.Close
Else
MsgBox "沒有所需數據"
Exit Sub
End If
4.2 配方功能
配方功能中包括配方下載和配方新建,通過腳本來實現。配方文件存儲在工控機磁盤中,在下載配方時,通過編寫腳本的按鈕控件調用Windows文件選擇窗口,并將所選配方文件的路徑存儲于WinCC變量"path"中。在獲得所選配方路徑后,通過點擊編寫腳本的按鈕打開"path"路徑下的配方文件并將數據讀取到WinCC組態(tài)畫面的參數設置控件中。配方下載功能流程如圖5所示。
圖5 配方下載流程
新建配方的原理和配方下載類似,通過兩個編寫腳本的按鈕和一個輸入輸出域組成。其中一個按鈕通過調用Windows路徑窗口來選擇保存配方文件的路徑,輸入輸出域完成配方名稱的輸入,并將保存配方文件的路徑值和配方名稱值進行字符串連接,并賦值給WinCC變量“path”;另一個按鈕的功能是創(chuàng)建以“path”為路徑和名稱的Excel文件,并將WinCC組態(tài)畫面中參數設置控件中的數值寫入到Excel文件中。配方新建功能流程如圖6所示。
圖6 配方新建流程
本文針對液洗機配料過程設計控制系統,通過對原料進料量和進料精度的分析,將配料過程分為大料原料的自動進料和小料原料的掃碼確認手動稱量投料,既保證了配料過程的高效,也保證了小料原料的高精度要求。
為了能快速組態(tài)配料參數,采用了WinCC腳本工具編寫配方管理功能的腳本,在WinCC組態(tài)畫面中組態(tài)具有腳本功能的按鈕,實現讀取配方文件進行自動組態(tài)的功能,對于當前的生產參數也可通過腳本按鈕保存為新的配方文件。同時在分析了WinCC自帶數據歸檔控件對處理數據方面的局限性后,通過開發(fā)具有腳本功能的按鈕控件實現對WinCC歸檔數據導出到外部Excel文件中的功能,進行生產報表統計。
[1] 劉曉明.深入淺出西門子WinCC V6.北京:北京航空航天大學出版社,2004.
[2] 張始榮,楊曉青.西門子PCAccess在高速彈力絲機上的應用.紡織機械,2010,13(4):58-61.
[3] 李偉,朱釩,邵新宇.基于組態(tài)軟件WINCC的配料監(jiān)控系統開發(fā)與設計能實現.儀表技術與傳感器,2010(4):41-44
[4] 李敏.基于PPI協議的PLC通信控制設計.自動化與儀器儀表,2013(2):66-68.
[5] 李如甲,程武山,董林.基于RS485的智能儀表與PLC串行通訊.儀表技術與傳感器,2011(8):34-36.
[6] 謝明磊.PLC自由口通信在特殊量監(jiān)測中的應用.儀表技術與傳感器,2010(10):69-71.
[7] 呂麗平,白鑫,張娟.WinCCVBS腳本在PU夾芯板連續(xù)生產線的應用與研究.制造業(yè)自動化,2012(1):18-20.
[8] 朱建軍.基于WinCC的配料監(jiān)控系統復雜報表的實現.化工自動化及儀表,2013,40(12):1153-1155.
[9] 趙雪梅.WinCCVBS腳本在聚氨酯板生產線訂單和報表管理系統中的應用.現代制造工程,2013(3):39-42.
Design of Blending System for Liquid Washing Machine
PANG Hai-liang1,PAN Feng2
(Key Laboratory of Advanced Process Control for Light Industry (Ministry of Education) ,Jiangnan University,Wuxi 214122,China)
In the paper,by analyzing the blending process of liquid washing machine,we designed its control system which consists of upper computer,lower computer and interface.and took the scheme of automatic blending for big material and manual blending for small material with the confirmation by scanning code in order to combine efficient with high-precision in blending process.In the configuration of blending parameters,through WinCC scripting tool scripting,we realized the management function of formula and parameters quickly configuration by downloading formula.On the generation of system reports,we also realized the function of exporting the runtime data of variables into excel to make statement by writing the scripts?and?database statements.
WinCC; liquid washing machine; blending process; formula
國家自然科學基金資助項目(61273131);江蘇省產學研聯合創(chuàng)新資金項目(BY2013015-39)
2014-09-09 收修改稿日期:2015-02-11
TP319
A
1002-1841(2015)07-0081-05
龐海亮(1989—),碩士,主要研究方向:工業(yè)過程優(yōu)化控制。E-mail:phlahut@foxmail.com