薛迪杰 ,陳 軍 ,陳景召 ,2
(1.鄭州西亞斯學(xué)院電子信息工程學(xué)院,河南鄭州451150;2.武漢科技大學(xué)冶金自動(dòng)化與檢測(cè)技術(shù)教育部工程研究中心,湖北武漢430081)
在電鍍生產(chǎn)過(guò)程中,要經(jīng)過(guò)除油、水洗、酸洗浸蝕、電鍍、烘干等步驟,這些步驟往往都需要對(duì)溫度進(jìn)行監(jiān)測(cè)和控制,溫度甚至是影響電鍍質(zhì)量和表面處理效率的重要因素[1]。目前,對(duì)于電鍍生產(chǎn)過(guò)程中需要溫度控制的部位,多數(shù)企業(yè)仍采用人工對(duì)溫度進(jìn)行獨(dú)立調(diào)控的生產(chǎn)模式,由于溫度具有時(shí)變性、非線性和滯后性的特點(diǎn),人工調(diào)控模式不僅很難實(shí)現(xiàn)溫度精準(zhǔn)控制,而且電鍍過(guò)程中鍍液也會(huì)對(duì)人的身體造成一定程度的傷害;另外,每個(gè)需要監(jiān)控溫度的槽位,都需要鋪設(shè)線纜,尤其對(duì)于規(guī)模較大的龍門式電鍍生產(chǎn)線,需要監(jiān)控溫度的槽位較多,距離較遠(yuǎn),如果布置有線網(wǎng)絡(luò),會(huì)造成現(xiàn)場(chǎng)線纜較多,布線較為混亂的問(wèn)題,并且鋪設(shè)成本往往較高,后期可維護(hù)性和可擴(kuò)展性較差[2]。
針對(duì)電鍍生產(chǎn)有線溫度測(cè)控網(wǎng)絡(luò)存在的以上問(wèn)題,利用ZigBee 技術(shù)和MCGS 組態(tài)軟件對(duì)傳統(tǒng)測(cè)溫方式進(jìn)行了改進(jìn),設(shè)計(jì)了一種基于ZigBee 的電鍍生產(chǎn)線無(wú)線溫度集中監(jiān)測(cè)和控制系統(tǒng),可以實(shí)現(xiàn)在主控制室通過(guò)計(jì)算機(jī)組態(tài)系統(tǒng)實(shí)時(shí)監(jiān)測(cè)和控制相應(yīng)槽位的溫度。
課題基于河南省科技攻關(guān)與校企合作項(xiàng)目,針對(duì)河南省焦作市某五金鎖具電鍍生產(chǎn)線的設(shè)備改造工程,進(jìn)行了無(wú)線傳感器網(wǎng)絡(luò)與遠(yuǎn)程組態(tài)技術(shù)的應(yīng)用研究,分別完成了實(shí)驗(yàn)室初試與小規(guī)模中試,并達(dá)到了預(yù)期效果。
電鍍生產(chǎn)線無(wú)線溫度監(jiān)測(cè)和控制系統(tǒng)結(jié)構(gòu)如圖1 所示。系統(tǒng)分上位機(jī)組態(tài)監(jiān)控系統(tǒng)、網(wǎng)絡(luò)協(xié)調(diào)器和溫度測(cè)控終端。各溫度測(cè)控終端均與網(wǎng)絡(luò)協(xié)調(diào)器通過(guò)ZigBee 建立無(wú)線網(wǎng)絡(luò),并進(jìn)行通信,將測(cè)控終端數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)協(xié)調(diào)器,網(wǎng)絡(luò)協(xié)調(diào)器再采用Modbus 協(xié)議,通過(guò)RS-485 總線,將數(shù)據(jù)發(fā)送給上位機(jī),顯示各個(gè)測(cè)控終端的溫度[3]。用戶也可以在上位機(jī)組態(tài)系統(tǒng)上,設(shè)置各測(cè)控終端溫度,通過(guò)網(wǎng)絡(luò)協(xié)調(diào)器發(fā)送至各溫度測(cè)控終端,控制現(xiàn)場(chǎng)溫度,從而實(shí)現(xiàn)對(duì)各節(jié)點(diǎn)溫度的監(jiān)測(cè)和控制。
圖1 系統(tǒng)整體框圖Fig.1 System block diagram
采用昆侖通態(tài)MCGS 組態(tài)軟件組建系統(tǒng)的人機(jī)交互界面。由于MCGS 中沒(méi)有預(yù)置單片機(jī)設(shè)備驅(qū)動(dòng),為了MCGS 和網(wǎng)絡(luò)協(xié)調(diào)器中的單片機(jī)可以正常進(jìn)行通信,需要對(duì)MCGS 進(jìn)行配置。系統(tǒng)選用MCGS 中的莫迪康ModBusRTU 設(shè)備構(gòu)件,在MCGS中添加“串口通信父設(shè)備”,設(shè)置串口通訊端口為COM1,通訊采用9600的波特率,采用8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn)功能,數(shù)據(jù)采集模式設(shè)為異步[4]。在組態(tài)系統(tǒng)界面上分別添加相關(guān)按鈕元件、指示元件、數(shù)據(jù)曲線顯示模塊、報(bào)警信息顯示模塊等,組建成一個(gè)較為完善的人機(jī)交互界面。在人機(jī)界面上可以實(shí)時(shí)顯示各個(gè)電鍍槽位的溫度,通過(guò)曲線顯示溫度的變化過(guò)程,并將這些溫度數(shù)據(jù)存儲(chǔ)到計(jì)算機(jī)數(shù)據(jù)庫(kù)中,方便后期查閱歷史數(shù)據(jù)。在組態(tài)系統(tǒng)中還加入了溫度設(shè)置功能,可以設(shè)置各溫度測(cè)控終端的溫度,并將設(shè)置指令和數(shù)據(jù)通過(guò)網(wǎng)絡(luò)協(xié)調(diào)器發(fā)送至溫度測(cè)控終端,終端接收到指令后,對(duì)溫度實(shí)施恒溫控制。界面還設(shè)置有超溫度閾值報(bào)警功能,當(dāng)溫度誤差超出閾值范圍,對(duì)應(yīng)槽位下邊的報(bào)警指示燈會(huì)閃爍。上位機(jī)組態(tài)系統(tǒng)界面如圖2所示。
圖2 上位機(jī)組態(tài)系統(tǒng)界面Fig.2 Configuration system interface of host computer
網(wǎng)絡(luò)協(xié)調(diào)器是系統(tǒng)中網(wǎng)絡(luò)的核心,是整個(gè)系統(tǒng)數(shù)據(jù)傳輸?shù)年P(guān)鍵節(jié)點(diǎn),連接著上位機(jī)和溫度測(cè)控終端。網(wǎng)絡(luò)協(xié)調(diào)器由控制芯片STM32F103ZET6 和無(wú)線ZigBee模塊CC2420組成,其主要作用是依據(jù)RS-485 總線模式,采用Modbus 協(xié)議與上位機(jī)計(jì)算機(jī)通信,接收指令發(fā)送數(shù)據(jù)。同時(shí)通過(guò)ZigBee 模塊CC2420 與溫度測(cè)控終端進(jìn)行通信,接收和發(fā)送數(shù)據(jù)。
網(wǎng)絡(luò)協(xié)調(diào)器利用STM32F103ZET6 單片機(jī)的串口實(shí)現(xiàn)與上位機(jī)的通信。由于上位機(jī)MCGS 系統(tǒng)采用的是Modbus 協(xié)議,因此單片機(jī)需要設(shè)置與上位機(jī)相兼容的Modbus 通訊協(xié)議。設(shè)計(jì)中采用STM32F103ZET6 串口的8 位異步通信方式,通訊的波特率與上位機(jī)保持一致,故設(shè)置為9600 的波特率。依據(jù)ModBus 協(xié)議,單片機(jī)在接收到上位機(jī)發(fā)出的查詢指令后,需要應(yīng)答,且應(yīng)答的數(shù)據(jù)幀也需要符合ModBus 的協(xié)議要求。上位機(jī)在接收到應(yīng)答數(shù)據(jù)幀后,會(huì)對(duì)數(shù)據(jù)進(jìn)行CRC-16 校驗(yàn),若上位機(jī)計(jì)算得到的校驗(yàn)碼和單片機(jī)應(yīng)答的校驗(yàn)碼一致,則表示數(shù)據(jù)傳輸正確,否則上位機(jī)會(huì)請(qǐng)求單片機(jī)重新應(yīng)答發(fā)送數(shù)據(jù)。設(shè)計(jì)中采用查表的方式驗(yàn)證循環(huán)冗余校驗(yàn)碼。單片機(jī)返回?cái)?shù)據(jù)幀格式如表1所示。
表1 單片機(jī)返回?cái)?shù)據(jù)幀Tab.1 Data frame returned by MCU
溫度測(cè)控終端主要對(duì)現(xiàn)場(chǎng)溫度進(jìn)行采集和控制,并通過(guò)無(wú)線模塊發(fā)送和接收數(shù)據(jù),主要由STM32F103ZET6 單片機(jī)、溫度傳感器和CC2420 模塊組成。
溫度的采集使用Dallas 公司的DS18B20 溫度傳感器,其測(cè)量溫度的精度可達(dá)到±0.5 ℃,測(cè)量溫度的范圍在?55 ℃~+125 ℃,分辨率達(dá)到0.0625 ℃,完全可以滿足所有鍍種鍍液溫度的監(jiān)測(cè)要求[5]。由于DS18B20 在工作時(shí),芯片內(nèi)部直接進(jìn)行A/D 轉(zhuǎn)換,輸出的是數(shù)字量,因此不需要復(fù)雜的A/D 轉(zhuǎn)換電路,單片機(jī)就可以對(duì)數(shù)據(jù)讀取和采集。DS18B20 采用單總線方式,只需要一條數(shù)據(jù)線就可以與單片機(jī)進(jìn)行通訊。實(shí)際使用中,在數(shù)據(jù)線上加一個(gè)4.7 kΩ的上拉電阻,供電采用5.0 V。
由于終端既要采集控制溫度,還要通過(guò)CC2420 與上位機(jī)通信,故要求單片機(jī)有較快的處理速度,且還要有豐富的片上資源。因此系統(tǒng)采用STM32F103ZET6 單片機(jī)作為終端的控制芯片,STM32F103ZET6 是基于Cortex-M3 ARM 內(nèi)核的32位微處理器,具有性能高、功耗低、成本低的特點(diǎn)[6]。 STM32F103ZET6 最 高 工 作 頻 率 可 達(dá) 72 MHz,芯片自帶串口和SPI接口,非常便于組建本系統(tǒng)控制電路,運(yùn)算速度也完全滿足本電路設(shè)計(jì)要求。STM32F103ZET6 控制芯片一方面通過(guò)單總線和DS18B20 溫度傳感器通信,讀取數(shù)據(jù),采集現(xiàn)場(chǎng)溫度,并根據(jù)PID 算法,計(jì)算溫度偏差,通過(guò)PWM接口控制可控硅加熱,實(shí)現(xiàn)恒溫控制。另一方面通過(guò)SPI 協(xié)議和CC2420 通信,與網(wǎng)絡(luò)協(xié)調(diào)器組成Zig-Bee網(wǎng)絡(luò),并通過(guò)CC2420接收和發(fā)送數(shù)據(jù)。
終端上電后,先進(jìn)行系統(tǒng)的初始化,然后發(fā)出加入ZigBee 網(wǎng)絡(luò)請(qǐng)求,若請(qǐng)求不成功,則繼續(xù)循環(huán)請(qǐng)求。若請(qǐng)求加入成功,則與網(wǎng)絡(luò)協(xié)調(diào)器組成Zig-Bee網(wǎng)絡(luò),根據(jù)上位機(jī)發(fā)出的指令,采集鍍液溫度數(shù)據(jù),然后結(jié)合PID 算法,通過(guò)調(diào)整PWM 控制可控硅,利用加熱棒,對(duì)鍍液溫度進(jìn)行恒溫控制,并將采集的鍍液溫度數(shù)據(jù)再發(fā)送給上位機(jī),最后進(jìn)行掃描檢測(cè),判斷發(fā)送是否成功,若不成功則繼續(xù)發(fā)送。程序流程圖如圖3所示。
圖3 溫度測(cè)控終端程序流程圖Fig.3 Program flow chart of temperature measurement and control terminal
系統(tǒng)采用兼容IEEE 802.15.4 協(xié)議的Zigbee CC2420 無(wú)線收發(fā)模塊搭建和組網(wǎng),具有低成本、低功耗、抗干擾能力強(qiáng)的特點(diǎn),CC2420 內(nèi)部設(shè)置有標(biāo)準(zhǔn) 8051 內(nèi)核,片內(nèi)設(shè)有 ROM 和 RAM,預(yù)置了 SPI 接口,可方便組網(wǎng)與拓展,實(shí)現(xiàn)遠(yuǎn)程通信和自動(dòng)控制[7]。 ZigBee 的 開(kāi) 發(fā) 采 用 IAR Embedded Work-bench 7.51平臺(tái),使用C語(yǔ)言進(jìn)行編程。
ZigBee 無(wú)線網(wǎng)絡(luò)通信模塊應(yīng)用于本系統(tǒng)中的網(wǎng)絡(luò)協(xié)調(diào)器和溫度測(cè)控終端兩部分。系統(tǒng)利用ZStack 協(xié)議棧進(jìn)行組網(wǎng),組成星型結(jié)構(gòu)。系統(tǒng)上電開(kāi)始運(yùn)行后,網(wǎng)絡(luò)協(xié)調(diào)器先進(jìn)行初始化,配置網(wǎng)絡(luò)參數(shù),接著進(jìn)行信道的掃描,掃描到信道后,組建網(wǎng)絡(luò)并監(jiān)測(cè)是否有網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求加入網(wǎng)絡(luò),收到請(qǐng)求加入網(wǎng)絡(luò)后,根據(jù)地址空間的大小,決定是否允許節(jié)點(diǎn)加入網(wǎng)絡(luò);如果允許,網(wǎng)絡(luò)協(xié)調(diào)器將分配16 位的網(wǎng)絡(luò)地址給測(cè)控節(jié)點(diǎn),形成自組織網(wǎng)絡(luò)。當(dāng)以上網(wǎng)絡(luò)搭建全部完成后,網(wǎng)絡(luò)協(xié)調(diào)器根據(jù)上位機(jī)的指令,向溫度測(cè)控節(jié)點(diǎn)發(fā)送溫度設(shè)置和采集指令,并接收來(lái)自溫度測(cè)控終端節(jié)點(diǎn)的數(shù)據(jù),通過(guò)RS-485總線,傳送給上位機(jī)計(jì)算機(jī),數(shù)據(jù)處理后,顯示在組態(tài)系統(tǒng)上。網(wǎng)絡(luò)協(xié)調(diào)器工作流程圖如圖4所示。
圖4 網(wǎng)絡(luò)協(xié)調(diào)器工作流程圖Fig.4 Program flow chart of network coordinator
該系統(tǒng)已完成了實(shí)驗(yàn)室初試及現(xiàn)場(chǎng)的小規(guī)模中試,在中試階段,系統(tǒng)部署于河南省焦作市某公司的12 及56 系列U 型鎖組件的電鍍生產(chǎn)線上。具體的操作為在原有設(shè)備的基礎(chǔ)上,增設(shè)了中控室,其中部署了上位機(jī)與網(wǎng)絡(luò)協(xié)調(diào)器,二者通過(guò)RS-485進(jìn)行連接并實(shí)時(shí)交互數(shù)據(jù)。此外,設(shè)置了5 個(gè)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),對(duì)電鍍生產(chǎn)線上需要恒溫控制的1 個(gè)水洗槽、1 個(gè)除油槽、3 個(gè)電鍍槽進(jìn)行監(jiān)測(cè)和控制,每個(gè)節(jié)點(diǎn)距離網(wǎng)絡(luò)協(xié)調(diào)器均在40 m以上。開(kāi)機(jī)10 min 后現(xiàn)場(chǎng)對(duì)溫度進(jìn)行實(shí)際測(cè)量,并與設(shè)置溫度和組態(tài)上采集到的溫度相對(duì)比,測(cè)試結(jié)果如表2 所示。經(jīng)測(cè)試,ZigBee 無(wú)線網(wǎng)絡(luò)通信良好,溫度測(cè)控終端對(duì)各槽位恒溫控制穩(wěn)定,計(jì)算機(jī)組態(tài)系統(tǒng)顯示的溫度與實(shí)際鍍槽鍍液溫度一致。
表2 系統(tǒng)測(cè)試結(jié)果Tab.2 System test results
根據(jù)電鍍生產(chǎn)工藝和工廠生產(chǎn)需求,使上述系統(tǒng)長(zhǎng)期工作于電鍍生產(chǎn)線上,測(cè)試結(jié)果表明,相比于傳統(tǒng)的現(xiàn)場(chǎng)分布式溫度測(cè)量和控制方案,由于該系統(tǒng)溫度測(cè)控終端引入了PID 控制算法,溫度監(jiān)測(cè)及控制的準(zhǔn)確度較之前大幅度提高。該系統(tǒng)在現(xiàn)場(chǎng)長(zhǎng)期運(yùn)行表現(xiàn)穩(wěn)定,Zigbee 網(wǎng)絡(luò)通信可靠,未出現(xiàn)數(shù)據(jù)錯(cuò)誤。
為了解決電鍍生產(chǎn)線溫度有線監(jiān)控系統(tǒng),布線存在的局限、復(fù)雜、分散問(wèn)題,采用ZigBee 無(wú)線技術(shù),構(gòu)建了無(wú)線通信網(wǎng)絡(luò),實(shí)現(xiàn)了電鍍生產(chǎn)線上多部位溫度的集中監(jiān)測(cè)控制。該系統(tǒng)硬件成本較低,溫度測(cè)控終端及網(wǎng)絡(luò)協(xié)調(diào)器單套成本在三十元左右。由于測(cè)控終端采用無(wú)線傳輸數(shù)據(jù),不受空間位置約束,可靈活變換槽位,因此無(wú)需每個(gè)槽位都設(shè)置終端。使用過(guò)程中,可根據(jù)不同鍍種的工藝要求,僅在需要測(cè)溫的槽位設(shè)置測(cè)控終端,減少了終端設(shè)置的數(shù)量,一定程度上也降低了改造成本。整個(gè)系統(tǒng)在運(yùn)行過(guò)程中功耗較低,運(yùn)行成本較低,后期易于維護(hù)。該系統(tǒng)目前已在實(shí)際電鍍生產(chǎn)線上完成了小規(guī)模中試,運(yùn)行效果良好,提高了電鍍表面處理效率,為電鍍提供了更加有利的條件,保障了電鍍質(zhì)量,待進(jìn)一步測(cè)試后,可大規(guī)模應(yīng)用至電鍍生產(chǎn)中。該系統(tǒng)還可加入電流、電壓檢測(cè)傳感器,對(duì)電鍍過(guò)程中電流和電壓的相關(guān)數(shù)據(jù)進(jìn)行監(jiān)控,從而實(shí)現(xiàn)多參數(shù)的監(jiān)控。