高麗穎,胡彩豐,王 達(dá),李建國(guó),楊 浩,王青松,曹志剛,李 凡
(北京七星華創(chuàng)電子股份有限公司,北京 100015)
在線式多晶制絨清洗設(shè)備是晶體硅太陽(yáng)能電池生產(chǎn)線上用于硅片表面形成絨面,提高光電轉(zhuǎn)換效率,并進(jìn)行表面清洗,去除表面顆粒和金屬離子污染的關(guān)鍵技術(shù)設(shè)備。本文主要介紹在線式多晶制絨清洗設(shè)備軟件控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),該軟件控制系統(tǒng)可以實(shí)現(xiàn)對(duì)在線式多晶制絨清洗設(shè)備的手動(dòng)和自動(dòng)控制、工藝藥液配方、數(shù)據(jù)實(shí)時(shí)和歷史曲線、實(shí)時(shí)監(jiān)控、報(bào)警處理、設(shè)備維護(hù)、用戶權(quán)限管理等功能。下面將具體介紹設(shè)計(jì)中采用的四層軟件設(shè)計(jì)框架、各個(gè)功能模塊的功能和與底層通信的開(kāi)發(fā)。
在線式多晶制絨清洗設(shè)備整體結(jié)構(gòu)復(fù)雜,從設(shè)備功能上可分為9個(gè)工位用以實(shí)現(xiàn)制絨工藝,各個(gè)工位在機(jī)械結(jié)構(gòu)設(shè)計(jì)和功能相對(duì)獨(dú)立,彼此耦合性低。據(jù)此特點(diǎn),在線式多晶制絨清洗設(shè)備的硬件平臺(tái)搭建采用如圖1所示。
圖1 在線式多晶制絨清洗設(shè)備硬件平臺(tái)
在線式多晶制絨清洗設(shè)備上位機(jī)采用BECKHOFF的C系列工控機(jī)配19英寸觸摸顯示器作為管理操作平臺(tái),PLC邏輯處理單元采用施耐德PLC。整個(gè)控制系統(tǒng)共有11個(gè)從站(3臺(tái)施耐德的伺服驅(qū)動(dòng)器,6臺(tái)施耐德的變頻調(diào)速器,2個(gè)閥島),30余個(gè)遠(yuǎn)程I/O模塊。為保證系統(tǒng)反應(yīng)及時(shí)迅速、運(yùn)行穩(wěn)定可靠,具有遠(yuǎn)程調(diào)試診斷功能,并為工廠自動(dòng)化預(yù)留標(biāo)準(zhǔn)接口,系統(tǒng)采用了CANopen的高速現(xiàn)場(chǎng)總線通訊網(wǎng)絡(luò)來(lái)構(gòu)建整個(gè)控制系統(tǒng),上位機(jī)與PLC連接采用工業(yè)以太網(wǎng)Ethernet接口。
在線式多晶制絨清洗設(shè)備軟件控制系統(tǒng)安裝于上位機(jī),完成對(duì)整個(gè)在線式多晶制絨清洗設(shè)備各個(gè)功能工位的任務(wù)調(diào)度、參數(shù)顯示與控制、實(shí)時(shí)監(jiān)控、報(bào)警處理、設(shè)備維護(hù)等功能,保證系統(tǒng)的安全性、穩(wěn)定性和可擴(kuò)充性。
軟件控制系統(tǒng)以Visual C++的MFC為開(kāi)發(fā)平臺(tái),根據(jù)設(shè)備自身特點(diǎn),該軟件系統(tǒng)采用四層結(jié)構(gòu)、八大功能模塊,設(shè)計(jì)開(kāi)發(fā)了適用于工業(yè)以太網(wǎng)接口的MODBUS底層通訊協(xié)議。實(shí)現(xiàn)了對(duì)整個(gè)設(shè)備各個(gè)功能工位的手動(dòng)、自動(dòng)控制、實(shí)時(shí)監(jiān)控、用戶權(quán)限管理、歷史實(shí)時(shí)曲線顯示等功能,實(shí)現(xiàn)了大量數(shù)據(jù)的采集、設(shè)定、各種控制命令的協(xié)調(diào)和處理,保證設(shè)備穩(wěn)定可靠運(yùn)行。
在線式多晶制絨清洗設(shè)備軟件控制系統(tǒng)的層次結(jié)構(gòu)設(shè)計(jì)如圖2所示,整個(gè)軟件控制系統(tǒng)采用四層結(jié)構(gòu):
(1)界面顯示層:人機(jī)交互界面,用戶通過(guò)此界面能夠?qū)崿F(xiàn)對(duì)整臺(tái)設(shè)備的監(jiān)控、操作、查看設(shè)備報(bào)警、報(bào)警歷史記錄和用戶操作日志,查閱設(shè)備重要數(shù)據(jù)的歷史記錄(歷史記錄可以圖形化的方式顯示),對(duì)設(shè)備用戶操作權(quán)限進(jìn)行設(shè)置等功能。
(2)中間控制層:主要包括八大功能模塊:總監(jiān)控模塊、系統(tǒng)監(jiān)控模塊、手動(dòng)維護(hù)模塊、配方設(shè)置模塊、曲線模塊、報(bào)警模塊、日志管理模塊和用戶權(quán)限管理模塊。
(3)數(shù)據(jù)解析交換層:用于分析處理從設(shè)備硬件采集的所有數(shù)據(jù),解析中間控制層命令信息。
(4)底層通訊:負(fù)責(zé)上位機(jī)軟件控制系統(tǒng)與PLC邏輯處理單元通訊。
圖2 軟件控制系統(tǒng)結(jié)構(gòu)圖
本軟件控制系統(tǒng)主要由8個(gè)主要功能模塊組成。其中,總監(jiān)控模塊、系統(tǒng)監(jiān)控模塊、手動(dòng)維護(hù)模塊、配方設(shè)置模塊需要調(diào)用資源管理器來(lái)實(shí)現(xiàn)軟件系統(tǒng)界面的顯示,資源管理器主要實(shí)現(xiàn)對(duì)軟件系統(tǒng)界面的初始化和更新操作;總監(jiān)控模塊、系統(tǒng)監(jiān)控模塊、手動(dòng)維護(hù)模塊、配方設(shè)置模塊、曲線模塊、報(bào)警模塊都需要對(duì)數(shù)據(jù)解析交換層交互數(shù)據(jù);日志管理模塊和用戶權(quán)限管理模塊需要與數(shù)據(jù)庫(kù)進(jìn)行交互;配方設(shè)置模塊、曲線模塊和日志管理模塊需要對(duì)文件管理器操作,文件管理器主要實(shí)現(xiàn)文件(配方文件、初始化參數(shù)文件、歷史記錄文件、報(bào)警記錄文件、操作日志記錄文件)的維護(hù)。
(1)總監(jiān)控模塊:顯示設(shè)備整體信息,實(shí)時(shí)顯示九個(gè)工位模塊工作狀態(tài)及重要信息,以便用戶把握設(shè)備整體狀態(tài)。
(2)系統(tǒng)監(jiān)控模塊:系統(tǒng)監(jiān)控模塊用于分別顯示每個(gè)工位的詳細(xì)信息,在此可以查看每個(gè)工位的運(yùn)行狀態(tài)、電機(jī)速度、溫度、流量計(jì)和電導(dǎo)率等各類(lèi)信息;查看每個(gè)工位模塊的實(shí)時(shí)報(bào)警,實(shí)時(shí)曲線。
(3)手動(dòng)維護(hù)模塊:手動(dòng)維護(hù)模塊用于用戶手動(dòng)操作每個(gè)工位,對(duì)每個(gè)工位模塊需要控制的信息進(jìn)行設(shè)定。
(4)配方設(shè)置模塊:負(fù)責(zé)對(duì)配方文件和用戶命令進(jìn)行檢查、解釋、執(zhí)行,同時(shí)返回配方執(zhí)行狀態(tài)信息。用戶通過(guò)配方設(shè)置模塊可以新建、編輯、修改、下載、重載、保存、另存配方功能,并對(duì)用戶對(duì)配方的操作予以記錄。
(5)曲線模塊:曲線模塊用于以圖形化的方式顯示設(shè)備運(yùn)行過(guò)程中的重要數(shù)據(jù),可以按選定時(shí)間段顯示數(shù)據(jù),并可實(shí)現(xiàn)曲線的放大功能。
(6)報(bào)警模塊:報(bào)警模塊用于顯示設(shè)備所有報(bào)警信息及歷史報(bào)警信息。
(7)日志管理模塊:日志管理模塊用于記錄用戶對(duì)設(shè)備進(jìn)行的操作,主要記錄用戶對(duì)設(shè)備配方的操作及重要操作信息。
(8)用戶權(quán)限管理模塊:用戶權(quán)限管理模塊用于登陸、退出系統(tǒng)和管理設(shè)備操作人員的權(quán)限,用戶權(quán)限分級(jí)和功能分配開(kāi)放給管理員,由用戶根據(jù)需要任意定義管理。
在線式多晶制絨清洗設(shè)備采用施耐德PLC為邏輯處理單元,該P(yáng)LC具有32位CPU中央處理器,具有響應(yīng)時(shí)間快,邏輯程序開(kāi)發(fā)簡(jiǎn)單易用,運(yùn)行穩(wěn)定,多種內(nèi)置通訊端口,可擴(kuò)展性強(qiáng)等特點(diǎn)。本系統(tǒng)外圍硬件多,結(jié)構(gòu)復(fù)雜,需要采集控制的對(duì)象多且種類(lèi)廣泛:如流量、溫度、速度、傳導(dǎo)、電機(jī)、閥門(mén)、泵等,需分析處理的數(shù)據(jù)量多達(dá)上千個(gè),并能夠?qū)崟r(shí)響應(yīng)復(fù)雜及大量的指令,故對(duì)上位機(jī)軟件控制系統(tǒng)與PLC邏輯處理單元通信的速度和準(zhǔn)確度有極高要求,通信的設(shè)計(jì)在此尤為重要。本軟件系統(tǒng)與PLC通訊的程序流程如圖3所示。
圖3 軟件系統(tǒng)與底層PLC通訊程序流程圖
該系統(tǒng)將對(duì)PLC數(shù)據(jù)發(fā)送和采集的操作放入同一線程,內(nèi)部互鎖,以避免對(duì)PLC同時(shí)進(jìn)行讀寫(xiě)操作時(shí)出現(xiàn)不可預(yù)知錯(cuò)誤。
系統(tǒng)上位機(jī)與PLC連接采用工業(yè)以太網(wǎng)Ethernet接口,設(shè)計(jì)開(kāi)發(fā)了適用于工業(yè)以太網(wǎng)Ethernet接口的Modbus協(xié)議軟件。該協(xié)議軟件運(yùn)行在W indows XP操作系統(tǒng),以動(dòng)態(tài)鏈接庫(kù)的形式提供給軟件控制系統(tǒng)調(diào)用。其主要特征:
●支持基于Ethernet接口的Modbus通訊協(xié)議應(yīng)用。
●RTU傳輸模式。
●支持Modbus功能碼操作,包括對(duì)離散開(kāi)關(guān)量的位操作、對(duì)單個(gè)及連續(xù)寄存器的字節(jié)操作。
●適用于實(shí)時(shí)的工業(yè)應(yīng)用。
本軟件控制系統(tǒng)在設(shè)計(jì)過(guò)程中遇到如下問(wèn)題:軟件需要控制采集來(lái)自PLC邏輯處理單元外接設(shè)備的數(shù)字和模擬量數(shù)據(jù)量大,種類(lèi)多,PLC寄存器地址分配較為分散;同時(shí),軟件需要實(shí)時(shí)更新所有數(shù)據(jù)及響應(yīng)設(shè)備各類(lèi)輸出信號(hào),底層通訊讀取大量PLC寄存器地址值,而有效數(shù)據(jù)僅占采集數(shù)據(jù)的1/3,冗余數(shù)據(jù)的合理處理成為關(guān)鍵[3]。本系統(tǒng)利用數(shù)據(jù)挖掘中的聚類(lèi)技術(shù)[4-6],建立以與任務(wù)相關(guān)的屬性歸納為歸納關(guān)系,設(shè)計(jì)了對(duì)有效數(shù)據(jù)的索引映射,將映射關(guān)系以文件的形式存儲(chǔ)于硬盤(pán)文件中,進(jìn)入本系統(tǒng)軟件后,將映射關(guān)系文件內(nèi)容讀入內(nèi)存,以此分析過(guò)濾所有實(shí)時(shí)采集自PLC的數(shù)據(jù)。實(shí)踐證明,該方法有效地過(guò)濾了冗余數(shù)據(jù),提高了程序的運(yùn)行效率和準(zhǔn)確性。
本文介紹了在線式多晶制絨清洗設(shè)備軟件控制系統(tǒng)的設(shè)計(jì)過(guò)程。層次化和模塊化的設(shè)計(jì)思想使軟件控制系統(tǒng)具有很好的擴(kuò)展性和富用性。實(shí)踐證明,該軟件控制系統(tǒng)工作性能穩(wěn)定、交互界面友好、易于操作、具有較強(qiáng)的可擴(kuò)展性。
[1]可編程控制器編程手冊(cè)[Z].施耐德公司,2010.
[2]張晶,張?jiān)粕?,向風(fēng)紅.分層異構(gòu)控制軟件的構(gòu)件化建模和設(shè)計(jì)[J]. 計(jì)算機(jī)工程,2008,34(4):93-95.
[3]包陽(yáng),齊璇,李海龍.大型軟件系統(tǒng)數(shù)據(jù)質(zhì)量問(wèn)題研究[J].計(jì)算機(jī)工程與設(shè)計(jì).2011,32(3):963-967.
[4]劉云,溫曉霓,趙瑋.硬-軟件系統(tǒng)冗余結(jié)構(gòu)最優(yōu)化研究[J].西安電子科技大學(xué)學(xué)報(bào),2005,32(2):304-306.
[5]鐘智,尹云飛,張師超.軟件系統(tǒng)層次的數(shù)據(jù)挖掘方法[J].計(jì)算機(jī)科學(xué),2005,32(2):202-205
[6]FeldmanR.HirshR.Finding AssociationsinCollections of text. Machine Learning and Data M ining:M ethods and Applications[M].John Wiley Sons,1998.223-240.