基于現(xiàn)場(chǎng)總線的電子清紗器網(wǎng)絡(luò)監(jiān)控系統(tǒng)的實(shí)現(xiàn)
其中:主程序主要完成上電自檢、消息巡檢、按照消息隊(duì)列組織通信信息體、數(shù)據(jù)發(fā)送、功能鍵散轉(zhuǎn)、驗(yàn)校設(shè)備等工作。為了保證系統(tǒng)的實(shí)時(shí)性,必須減少中斷服務(wù)的時(shí)間占用,因此在中斷程序中只做簡(jiǎn)短的消息標(biāo)志處理和必要工作。大量的消息響應(yīng)工作則利用中斷的間隙進(jìn)行處理。
T0中斷每0.5毫秒產(chǎn)生一次,該段程序是整個(gè)從機(jī)任務(wù)的管理員,是現(xiàn)場(chǎng)設(shè)備程序的核心。T0主要完成總線上數(shù)據(jù)的接收和判斷、采用時(shí)間片算法完成對(duì)紗線信號(hào)采集器的通信控制、車速的采集、產(chǎn)質(zhì)量記錄等任務(wù)。值得說(shuō)明的是,為了保證從機(jī)的實(shí)時(shí)性,沒(méi)有采用常規(guī)的中斷通信接收或等待查詢的接收編程方式,而是結(jié)合T0中斷時(shí)間的周期性和異步串行數(shù)據(jù)傳輸?shù)奶攸c(diǎn),定時(shí)做數(shù)據(jù)接收端的掃描,完成數(shù)據(jù)的接收(這部分程序占時(shí)不應(yīng)大于60個(gè)機(jī)器周期,否則影響主程響應(yīng)的實(shí)時(shí)性);當(dāng)主程監(jiān)測(cè)到有完整數(shù)據(jù)包到來(lái)標(biāo)志后,進(jìn)行數(shù)據(jù)包的流向、地址以及正確性分析并置欲發(fā)送信息的裝配標(biāo)志;同樣當(dāng)主程巡檢消息隊(duì)列時(shí)發(fā)現(xiàn)信息裝備標(biāo)志后,則分析主機(jī)命令、裝備信息、建立發(fā)送標(biāo)志,并以消息的形式通知主程用查詢方式發(fā)送數(shù)據(jù)包。這樣做不僅可以提高中斷的響應(yīng)速度,又不影響數(shù)據(jù)的處理和其他任務(wù)的執(zhí)行。很好的解決了多中斷實(shí)時(shí)數(shù)據(jù)響應(yīng)與數(shù)據(jù)處理耗時(shí)之間的矛盾,從而提高了系統(tǒng)的實(shí)時(shí)性。
由于8251 USART芯片沒(méi)有數(shù)據(jù)幀和地址幀的區(qū)分功能,也就是說(shuō)總線上的所有從機(jī)必須監(jiān)聽(tīng)所有在總線上的數(shù)據(jù),這樣會(huì)由于各從機(jī)時(shí)時(shí)監(jiān)聽(tīng)數(shù)據(jù),嚴(yán)重影響系統(tǒng)的實(shí)時(shí)性。為了解決這個(gè)矛盾,我們定義了完備的通信協(xié)議,其中加入了地址碼、數(shù)據(jù)流向標(biāo)志和雙幀長(zhǎng)等通信規(guī)約,以幫助主、從機(jī)迅速判斷數(shù)據(jù)包的流向,完整性以及是否做處理的標(biāo)志,當(dāng)從機(jī)接收到非自己的數(shù)據(jù)包或錯(cuò)包時(shí),根據(jù)各種消息標(biāo)志快速退出通信處理過(guò)程。同時(shí)T0中的數(shù)據(jù)掃描避免了簡(jiǎn)單利用多中斷機(jī)制在監(jiān)聽(tīng)大量隨機(jī)總線數(shù)據(jù)時(shí),頻繁的中斷對(duì)整個(gè)軟件時(shí)間片劃分的破壞,以及由于接收數(shù)據(jù)的隨機(jī)性使得查詢接收方式不可行的缺點(diǎn),從而最大限度的保證了系統(tǒng)實(shí)時(shí)性。
4 監(jiān)控層軟件設(shè)計(jì)
監(jiān)控層軟件作為現(xiàn)場(chǎng)總線系統(tǒng)監(jiān)控軟件是在Windows 2000 Sever 、Delphi 6.0 以及 SQL Sever 2000的環(huán)境下開(kāi)發(fā)而成。主要由通信組態(tài)模塊、權(quán)限管理模塊、系統(tǒng)動(dòng)態(tài)監(jiān)控模塊、報(bào)表管理模塊、現(xiàn)場(chǎng)LED條屏顯示管理模塊、Intranet/Internet接入模塊(預(yù)留模塊)六部分組成。由于這類監(jiān)控軟件編制方法趨于成熟規(guī)范,在此僅在建立該現(xiàn)場(chǎng)總線系統(tǒng)軟件參考模型的基礎(chǔ)上,對(duì)數(shù)據(jù)組織的核心模塊——通信組態(tài)模塊的一些特殊處理加以說(shuō)明。
眾所周知,現(xiàn)場(chǎng)總線技術(shù)的不斷發(fā)展,出現(xiàn)了多種現(xiàn)場(chǎng)總線,且各具特色;同時(shí)我們也看到不同的現(xiàn)場(chǎng)總線有著不同的應(yīng)用領(lǐng)域,尚不存在一種能解決所有工業(yè)問(wèn)題的現(xiàn)場(chǎng)總線;即便是同一類型產(chǎn)品,也存在著用不同的現(xiàn)場(chǎng)總線實(shí)現(xiàn)的可能性;同時(shí)多種現(xiàn)場(chǎng)總線集成在一個(gè)系統(tǒng)中,讓不同的總線充分發(fā)揮各自的優(yōu)勢(shì)可以更好地共同完成控制任務(wù)。因此,在工業(yè)系統(tǒng)中必然會(huì)出現(xiàn)多種現(xiàn)場(chǎng)總線并存的局面。這就為監(jiān)控層系統(tǒng)軟件對(duì)多種現(xiàn)場(chǎng)總線的兼容性、擴(kuò)充性提出了更高的要求。為了適應(yīng)這樣的發(fā)展趨勢(shì),我們?cè)谙到y(tǒng)軟件(監(jiān)控層軟件)設(shè)計(jì)時(shí)構(gòu)造如下的參考模型,一定程度上解決了多種現(xiàn)場(chǎng)總線并存于一個(gè)系統(tǒng)的問(wèn)題,使系統(tǒng)軟件具有了較好的可擴(kuò)展性。目前,該系統(tǒng)軟件主要是針對(duì)在紡織企業(yè)中廣泛使用的普通絡(luò)筒系列電子清紗器(RS-485現(xiàn)場(chǎng)總線,自定協(xié)議)設(shè)計(jì);考慮行業(yè)發(fā)展方向,軟件同時(shí)對(duì)自動(dòng)絡(luò)筒系列的電子清紗器(CAN現(xiàn)場(chǎng)總線)以及其他現(xiàn)場(chǎng)總線協(xié)議設(shè)備具有良好的兼容性。為監(jiān)控層系統(tǒng)軟件構(gòu)建的參考模型如圖5所示(圖中僅以兩種現(xiàn)場(chǎng)總線協(xié)議共存的情況舉例說(shuō)明和分析)。
在監(jiān)控層軟件參考模型中:表示層為主機(jī)構(gòu)建友好的人機(jī)監(jiān)控界面,向用戶提供絡(luò)紗車間的各種實(shí)時(shí)數(shù)據(jù),統(tǒng)計(jì)數(shù)據(jù);調(diào)度層是表示層和傳輸層連接的橋梁,該層根據(jù)上層的需求,向下層索取相關(guān)數(shù)據(jù);同時(shí)將下層上傳的各項(xiàng)數(shù)據(jù)分發(fā)給上層;傳輸層將識(shí)別調(diào)度層提交的數(shù)據(jù)所屬現(xiàn)場(chǎng)總線協(xié)議,打包、成幀,通過(guò)通信物理層硬件設(shè)備發(fā)送給從機(jī);并識(shí)別從機(jī)上傳數(shù)據(jù)幀的協(xié)議類型,解包,提交給數(shù)據(jù)調(diào)度層。
在這個(gè)模型中可以看出,普通絡(luò)筒機(jī)電子清紗器與自動(dòng)絡(luò)筒機(jī)的電子清紗器組網(wǎng)時(shí)二者之間的差異主要體現(xiàn)在數(shù)據(jù)傳輸層,而上面兩層則相對(duì)比較獨(dú)立。針對(duì)這種情況,我們?cè)谲浖O(shè)計(jì)中采用COM技術(shù)(The Component Object Model , 組件對(duì)象模型)來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸層,并定義其與數(shù)據(jù)調(diào)度層的接口。然后以此接口為普通絡(luò)筒機(jī)編寫(xiě)一個(gè)符合自定現(xiàn)場(chǎng)通信協(xié)議的組件類;為自動(dòng)絡(luò)筒機(jī)編寫(xiě)一個(gè)遵守CAN協(xié)議的組件類。在應(yīng)用程序中根據(jù)某個(gè)通信串口掛接的是普通絡(luò)筒機(jī)還是自動(dòng)絡(luò)筒機(jī)而使用不同的組件類。同樣利用該模型,對(duì)于遵守MODBUS協(xié)議的網(wǎng)絡(luò)溫濕度傳感器,也可以建立屬于自己協(xié)議的組件類實(shí)現(xiàn)與數(shù)據(jù)調(diào)度層的連接,實(shí)施對(duì)紡紗車間生產(chǎn)重要參數(shù)(溫、濕度)的定時(shí)采集。
監(jiān)控層軟件設(shè)計(jì)中采用COM技術(shù)為各通信端口建立通信組件類的一維數(shù)組CommObject,與現(xiàn)場(chǎng)設(shè)備地址一維數(shù)組之間形成的多對(duì)一的映射,實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備地址的動(dòng)態(tài)管理;采用時(shí)間片調(diào)度算法,使應(yīng)用程序后臺(tái)調(diào)度均勻合理(例如定時(shí)查詢每臺(tái)從機(jī)的電壓、系統(tǒng)校時(shí)等處理),且不影響其前臺(tái)程序的運(yùn)行;采用事務(wù)最小范圍化,保證數(shù)據(jù)與數(shù)據(jù)庫(kù)交互的一致性,同時(shí)增設(shè)布爾變量,跟蹤應(yīng)用程序與后臺(tái)數(shù)據(jù)庫(kù)的連接狀態(tài),當(dāng)兩者連接中斷時(shí),啟用后臺(tái)線程恢復(fù)應(yīng)用程序與數(shù)據(jù)庫(kù)的連接(非硬件故障情況下)。
5 抗干擾措施
紡織工業(yè)生產(chǎn)環(huán)境惡劣,為了增強(qiáng)系統(tǒng)的可靠性。對(duì)現(xiàn)場(chǎng)的干擾通過(guò)軟硬件的方法進(jìn)行了有效的抑制和處理。
5.1硬件抗干擾措施
紡織工業(yè)生產(chǎn)環(huán)境中,供電系統(tǒng)和空間電磁以及靜電干擾都很嚴(yán)重。因此,在系統(tǒng)規(guī)劃初期,就選用了具有良好抗干擾能力的工業(yè)級(jí)板卡和芯片。主機(jī)通信卡上選用PCI擴(kuò)展的MOXA CP114-IS異步多串口卡,該卡采用芯片硬件流量控制(數(shù)據(jù)流向自動(dòng)控制 ADDC (Automatic Data Direction Control) 功能)和內(nèi)建終端電阻保證了數(shù)據(jù)的完整性, 具有的光電隔離(2KV)和浪涌保護(hù)(25KV ESD)功能,為系統(tǒng)在惡劣的工業(yè)環(huán)境下運(yùn)行提供了可靠保證;從機(jī)通信驅(qū)動(dòng)芯片選用有完全絕緣接口的MAX1480E,這對(duì)于傳輸總線上的高壓尖峰信號(hào)和可能受到的靜電沖擊(紡織車間這種干擾很嚴(yán)重)具有很好的抑制作用;為防止干擾引起從機(jī)單片機(jī)系統(tǒng)死循環(huán),采用看門狗復(fù)位電路,使從機(jī)程序恢復(fù)正常運(yùn)行;通信線纜選用屏蔽雙絞線纜,以上選用的硬件有效的抑制了系統(tǒng)中輸入信號(hào)和現(xiàn)場(chǎng)電磁的干擾。
5.2軟件抗干擾措施
現(xiàn)場(chǎng)的干擾將會(huì)直接影響從機(jī)的運(yùn)行狀況,為了使這種干擾的影響減少,針對(duì)從機(jī)USART 8251芯片不具備地址幀和數(shù)據(jù)幀區(qū)分的現(xiàn)狀,為此制定了較為完備通信協(xié)議。數(shù)據(jù)包中含有的幀頭/幀尾,數(shù)據(jù)流向標(biāo)志,從機(jī)地址,雙幀長(zhǎng)和校驗(yàn)字等信息,為主從機(jī)準(zhǔn)確判斷數(shù)據(jù)包的完整性和正確性提供了可靠保證。
為了保護(hù)從機(jī)系統(tǒng)中的有效數(shù)據(jù),在單片機(jī)系統(tǒng)中對(duì)片外RAM和外部擴(kuò)展芯片(例如:8251、8253、8279等)的地址做了統(tǒng)一規(guī)劃。片外RAM單元采用16位地址,同時(shí)用P2.7做片外RAM的片選信號(hào),而外部擴(kuò)展芯片則采用8位地址。這樣,在程序中對(duì)外部擴(kuò)展芯片的操作時(shí),可以利用對(duì)P2.7的控制,有效保護(hù)RAM中的重要數(shù)據(jù)。
6 結(jié)束語(yǔ)
工業(yè)現(xiàn)代化的發(fā)展,對(duì)生產(chǎn)過(guò)程的自動(dòng)控制、信息整合提出了更高的要求?;诂F(xiàn)場(chǎng)總線的電子清紗器監(jiān)控系統(tǒng)在設(shè)計(jì)結(jié)構(gòu)上,以RS-485物理協(xié)議為基礎(chǔ),針對(duì)特殊現(xiàn)場(chǎng)設(shè)備自定通信協(xié)議,建構(gòu)了一個(gè)基于現(xiàn)場(chǎng)總線技術(shù)的數(shù)字通信網(wǎng)絡(luò),將各類分散的現(xiàn)場(chǎng)設(shè)備有機(jī)結(jié)合、實(shí)現(xiàn)了資源共享;同時(shí)提出的該現(xiàn)場(chǎng)總線系統(tǒng)軟件編寫(xiě)的參考模型,使該系統(tǒng)實(shí)現(xiàn)了多類協(xié)議共存,建構(gòu)了一個(gè)開(kāi)放的,標(biāo)準(zhǔn)總線與非標(biāo)準(zhǔn)多現(xiàn)場(chǎng)總線共存的系統(tǒng),從此整個(gè)車間范圍內(nèi)的信息溝通了起來(lái),為車間更好的進(jìn)行產(chǎn)、質(zhì)量管理以及人員、設(shè)備管理提供了條件。同時(shí)由于采用現(xiàn)場(chǎng)總線技術(shù),使現(xiàn)場(chǎng)設(shè)備具有數(shù)字通信功能,所有現(xiàn)場(chǎng)設(shè)備都可以方便的掛接在兩條串行通信線上,大大節(jié)約了資金,提高了可靠性,并具有良好的開(kāi)放性。
目前,該系統(tǒng)經(jīng)過(guò)反復(fù)實(shí)驗(yàn)調(diào)試,現(xiàn)已進(jìn)入現(xiàn)場(chǎng)試運(yùn)行階段,效果良好。該系統(tǒng)不僅適用于紡織工業(yè)中的電子清紗控制,也適用于各類大面積單機(jī)生產(chǎn)的信息化管理。因此,基于現(xiàn)場(chǎng)總線的電子清紗器網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計(jì)思路對(duì)于其它各類單機(jī)現(xiàn)場(chǎng)設(shè)備都有廣泛的適用性,同時(shí)對(duì)于多現(xiàn)場(chǎng)總線共存的系統(tǒng)監(jiān)控軟件的編寫(xiě)也具有一定的參考價(jià)值。
評(píng)論