基于單片機的電子清紗器網(wǎng)絡(luò)監(jiān)控系統(tǒng)的實現(xiàn)
3 現(xiàn)場設(shè)備層設(shè)計
3.1現(xiàn)場設(shè)備層硬件設(shè)計
現(xiàn)場設(shè)備層每臺現(xiàn)場設(shè)備均由16個前級數(shù)據(jù)采集處理器(實時采集120路紗線信號,采用RS-422全雙共總線與后級單片機通信)和1個后級單片機構(gòu)成監(jiān)控裝置。為了實現(xiàn)與上位監(jiān)控層的數(shù)字通信,加入RS-485通信驅(qū)動電路。硬件原理框圖如圖3所示。
圖3 現(xiàn)場設(shè)備層硬件原理框圖
3.2現(xiàn)場設(shè)備層軟件設(shè)計
作為現(xiàn)場設(shè)備的電子清紗器是一個24小時不間斷運行的多任務(wù)實時監(jiān)控裝置。由于該裝置要檢測跑紗平均速度為600m/min,共120路紗線的紗線截面變化信號,使其具有很高的實時性要求;同時還要實現(xiàn)相應(yīng)的動作控制(如對有害紗疵的切除等)以及后級單片機系統(tǒng)的實時處理,顯示、統(tǒng)計等功能,又決定了該裝置的多任務(wù)性。這樣在保證原系統(tǒng)的實時性和多任務(wù)性的同時,加入現(xiàn)場設(shè)備層的通信軟件在編寫時就有了一定的特殊性。我們借鑒Windows編程的原理,在單片機編程中進入消息概念,進行基于消息的多任務(wù)機制編程。從機的監(jiān)控軟件主要流程如圖4所示(主要對通信部分說明)。
圖4 從機監(jiān)控軟件主要流程圖(左—主程序 ,右—T0中斷程序通信部分)
其中:主程序主要完成上電自檢、消息巡檢、按照消息隊列組織通信信息體、數(shù)據(jù)發(fā)送、功能鍵散轉(zhuǎn)、驗校設(shè)備等工作。為了保證系統(tǒng)的實時性,必須減少中斷服務(wù)的時間占用,因此在中斷程序中只做簡短的消息標(biāo)志處理和必要工作。大量的消息響應(yīng)工作則利用中斷的間隙進行處理。
T0中斷每0.5毫秒產(chǎn)生一次,該段程序是整個從機任務(wù)的管理員,是現(xiàn)場設(shè)備程序的核心。T0主要完成總線上數(shù)據(jù)的接收和判斷、采用時間片算法完成對紗線信號采集器的通信控制、車速的采集、產(chǎn)質(zhì)量記錄等任務(wù)。值得說明的是,為了保證從機的實時性,沒有采用常規(guī)的中斷通信接收或等待查詢的接收編程方式,而是結(jié)合T0中斷時間的周期性和異步串行數(shù)據(jù)傳輸?shù)奶攸c,定時做數(shù)據(jù)接收端的掃描,完成數(shù)據(jù)的接收(這部分程序占時不應(yīng)大于60個機器周期,否則影響主程響應(yīng)的實時性);當(dāng)主程監(jiān)測到有完整數(shù)據(jù)包到來標(biāo)志后,進行數(shù)據(jù)包的流向、地址以及正確性分析并置欲發(fā)送信息的裝配標(biāo)志;同樣當(dāng)主程巡檢消息隊列時發(fā)現(xiàn)信息裝備標(biāo)志后,則分析主機命令、裝備信息、建立發(fā)送標(biāo)志,并以消息的形式通知主程用查詢方式發(fā)送數(shù)據(jù)包。這樣做不僅可以提高中斷的響應(yīng)速度,又不影響數(shù)據(jù)的處理和其他任務(wù)的執(zhí)行。很好的解決了多中斷實時數(shù)據(jù)響應(yīng)與數(shù)據(jù)處理耗時之間的矛盾,從而提高了系統(tǒng)的實時性。
由于8251 USART芯片沒有數(shù)據(jù)幀和地址幀的區(qū)分功能,也就是說總線上的所有從機必須監(jiān)聽所有在總線上的數(shù)據(jù),這樣會由于各從機時時監(jiān)聽數(shù)據(jù),嚴(yán)重影響系統(tǒng)的實時性。為了解決這個矛盾,我們定義了完備的通信協(xié)議,其中加入了地址碼、數(shù)據(jù)流向標(biāo)志和雙幀長等通信規(guī)約,以幫助主、從機迅速判斷數(shù)據(jù)包的流向,完整性以及是否做處理的標(biāo)志,當(dāng)從機接收到非自己的數(shù)據(jù)包或錯包時,根據(jù)各種消息標(biāo)志快速退出通信處理過程。同時T0中的數(shù)據(jù)掃描避免了簡單利用多中斷機制在監(jiān)聽大量隨機總線數(shù)據(jù)時,頻繁的中斷對整個軟件時間片劃分的破壞,以及由于接收數(shù)據(jù)的隨機性使得查詢接收方式不可行的缺點,從而最大限度的保證了系統(tǒng)實時性。
4 監(jiān)控層軟件設(shè)計
監(jiān)控層軟件作為現(xiàn)場總線系統(tǒng)監(jiān)控軟件是在Windows 2000 Sever 、Delphi 6.0 以及 SQL Sever 2000的環(huán)境下開發(fā)而成。主要由通信組態(tài)模塊、權(quán)限管理模塊、系統(tǒng)動態(tài)監(jiān)控模塊、報表管理模塊、現(xiàn)場LED條屏顯示管理模塊、Intranet/Internet接入模塊(預(yù)留模塊)六部分組成。由于這類監(jiān)控軟件編制方法趨于成熟規(guī)范,在此僅在建立該現(xiàn)場總線系統(tǒng)軟件參考模型的基礎(chǔ)上,對數(shù)據(jù)組織的核心模塊——通信組態(tài)模塊的一些特殊處理加以說明。
眾所周知,現(xiàn)場總線技術(shù)的不斷發(fā)展,出現(xiàn)了多種現(xiàn)場總線,且各具特色;同時我們也看到不同的現(xiàn)場總線有著不同的應(yīng)用領(lǐng)域,尚不存在一種能解決所有工業(yè)問題的現(xiàn)場總線;即便是同一類型產(chǎn)品,也存在著用不同的現(xiàn)場總線實現(xiàn)的可能性;同時多種現(xiàn)場總線集成在一個系統(tǒng)中,讓不同的總線充分發(fā)揮各自的優(yōu)勢可以更好地共同完成控制任務(wù)。因此,在工業(yè)系統(tǒng)中必然會出現(xiàn)多種現(xiàn)場總線并存的局面。這就為監(jiān)控層系統(tǒng)軟件對多種現(xiàn)場總線的兼容性、擴充性提出了更高的要求。為了適應(yīng)這樣的發(fā)展趨勢,我們在系統(tǒng)軟件(監(jiān)控層軟件)設(shè)計時構(gòu)造如下的參考模型,一定程度上解決了多種現(xiàn)場總線并存于一個系統(tǒng)的問題,使系統(tǒng)軟件具有了較好的可擴展性。目前,該系統(tǒng)軟件主要是針對在紡織企業(yè)中廣泛使用的普通絡(luò)筒系列電子清紗器(RS-485現(xiàn)場總線,自定協(xié)議)設(shè)計;考慮行業(yè)發(fā)展方向,軟件同時對自動絡(luò)筒系列的電子清紗器(CAN現(xiàn)場總線)以及其他現(xiàn)場總線協(xié)議設(shè)備具有良好的兼容性。
評論