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