趙建新
(哈爾濱華德學院,黑龍江 哈爾濱150025)
自動化設備遠程監控系統的總體結構如圖1 所示。

圖1 遠程監控系統總體結構
遠程監控系統結構主要分為三個部分:遠程監控平臺、嵌入式服務器、智能CAN節點。其中現場層主要是指智能CAN節點與嵌入式服務器。智能CAN節點的主要功能是對現場數據進行采集,并完成監控端所發的指令,從而能夠順利進行有效的通信傳遞,并與嵌入式服務器完成實時信息交流;嵌入式服務器在能夠實現CAN總線通信功能的基礎上,還建立了遠程監控端通信系統,做到網上實時監控,從而實現CAN與Internet 報文之間的轉換,即CAN協議與TCP 協議的轉換。
現場層中的智能CAN 節點主要負責對自動化設備運行狀態進行數據采集,智能CAN節點需要以單片機為中心進行控制系統設計,通過設備傳感器對運行狀態進行信號采集,接著由單片機負責數據處理,并運用CAN總線嵌入式服務器來滿足通信功能。具體CAN節點結構如圖2 所示。

圖2 CAN 節點結構圖
在進行CAN節點的軟件編寫環節時,需要采用匯編語言,并結合模塊化設計思維進行處理,實際操作環節主要包含以下三種功能模塊:
2.1 節點初始化模塊。該模塊具體涉及節點控制器初始化及CAN控制器初始化兩個環節。自動化設備在系統上電后,就能夠完成節點控制器的初始化,而且可以自主進行工作狀態的設定及判斷。CAN控制器需要設備進行上電復位后才能實現初始化環節,而且必須在復位狀態下才能進行后續設置,CAN 控制器的初始化設置主要涉及模塊設置、時鐘輸出寄存器設置、接收碼寄存器(ACR)設置、接收屏蔽碼寄存器(AMR)設置、總線定時器設置和輸出控制寄存器的設置。CAN控制器初始化流程如圖3 所示。
2.2 數據采集處理模塊。該模塊的功能是進行數據讀取,具體是對AD 轉換后的數據進行讀取及處理。數據采集處理環節會受到多種外界干擾因素,因此在進行硬件設計環節選用了屏蔽線,使得信號線寄生電容耦合信號過程中所產生的交流干擾得到有效屏蔽,再加上采取串聯電阻、以及添加旁路電容等一系列方法,也能夠有效降低隨機信號的影響。還有在進行電路設計環節時需要注意模數轉換器的選擇,一般需要選擇共模抑制較高的,能夠避免一些共模干擾。除去以上幾種抑制干擾的情況外,針對尖脈沖干擾、工頻干擾和其他隨機干擾,需要通過軟件濾波的方式進行削弱。

圖3 CAN 控制器初始化流程圖
2.3 CAN通信模塊。(1)CAN用戶協議的制定。CAN通信模塊首先是進行用戶協議制定,該環節的CAN 報文一般是選用11字節的標準幀,其中表頭需要占用前3 個字節來表示,數據區則需要占用后8 個字節來表示。自動化設備在進行遠程監控環節能夠接收四組表頭信息,每組表頭信息的標識符占11 位,這四組表頭所含信息均不同,前三組主要負責對信息狀態進行描述,第四組為點對點信息,其功能主要是進行網絡設備配置,并實現對長數據塊信息的傳輸。設備之間可以通過這些表頭信息自由進行數據交換,而且可以實現一對多和多對一的接收方式。如果其中某一設備發生故障時,便可通過表頭數據傳輸主動向嵌入式服務器提交信息,從而將信息裝換成實際故障情況轉發至監控平臺,并進一步進行報警及糾錯處理。(2)CAN報文的發送。在制定完用戶協議后,需要進行CAN報文發送,該環節需要通過用戶協議由控制器完成。首選需要選取發送內容,命令節點控制器將設定好幀格式的內容發送到緩沖器待命;其次需要判斷置位命令寄存器中發送請求的標志位,根據實際情況進行狀態分析及命令判斷。一般情況CAN 報文的發送需要在程序中進行定時設定,數據的發送頻率為1 次/10ms,數據需要在緩沖區待命。(3)CAN報文的接收。對于CAN報文的接收環節,需要運用中斷方式,而且能夠實現數據的接收中斷及全局中斷,其中中斷接收是指數據暫時存儲在智能寄存器,通過CAN控制器來完成該操作,實現報文從總線到接收緩沖區的過度。報文正式接收需要進行相關數據的合格檢驗,主要是運用接收濾波器進行檢測。如果需要承認報文接收,則必須滿足標識位與濾波器定義位值相等的情況,然后才能將報文存入緩沖區。CAN中斷程序在判斷中斷情況時,需要對中斷寄存器進行讀取,接著進行分類,根據實際情況給出接收中斷、總線錯誤中斷、數據超載中斷的結果。
3.1 嵌入式服務器硬件設計。在對嵌入式服務器進行硬件設計時,需要劃分處理器、存儲器及外圍設備。針對不用的用途及具體情況,需要合理設置硬件設施,并結合環境進行后續的配置和調試工作。通常情況下嵌入式服務器需要滿足經濟性及實用性,因此可以將核心板及擴展板分開設計,從而降低故障幾率,具體結構設計如下圖4 所示。

圖4 嵌入式服務器硬件結構圖
3.2 嵌入式服務器軟件設計的技術創新要求。(1)嵌入式操作系統移植。嵌入式服務器的系統移植必須滿足可裝卸方便,而且軟件所占空間較小的要求。系統移植需要實時性較強,在各種設備控制中能夠自如應用。設計環節需要注意接口的統一性,當接入設備后安裝圖標及內部圖形界面清晰易懂,而且系統移植過程需要設計好各種設備的預留接口,系統安裝后需要能夠支持TCP/IP 協議及相關常見協議,并且需要提供TCP/UDP/IP/PPP 協議,支持及統一的MAC訪問層接口。嵌入式操作系統設計還需要注意,移植后的管理及維護操作需要盡量簡單,不需要用戶過多進行干預,接口的設計不用向用戶提供操作命令,直接由系統指令從而更便捷地提供服務。在進行嵌入系統設計時還需注意系統及應用軟件應固化在計算機的ROM中,實現代碼固化處理。軟件系統應適應硬件系統,滿足移植性良好的要求,而且結合新的Linux2.6 內核特性,需要針對性的進行軟件系統設計。(2)設備驅動程序設計。自動化設備的驅動程序設計要求應滿足驅動底層硬件設備的實際運行需求,驅動程序的讀寫環節需結合實際環境及硬件需求,從而進一步實現寄存器信息的提取,待加載驅動后,指令設備各項硬件完成各自功能。一般驅動程序采用的是Linux操作系統,該系統下分為字符設備和塊設備。在對字符設備進行讀寫時,因其屬于順序的數據流設備,因此讀寫環節保證字符連續從而形成一個數據流。針對塊設備的讀寫需要注意的是,由于其不是順序流模式,而是隨機的的存取數據,所以讀寫環節是需要按塊的模式進行,需要將待讀取數據放入緩沖區后進行識別。驅動程序運行需要對硬件設備形式進行區分,在訪問硬件設備時如果出現的是字符流形式,則屬于字符設備。如果訪問硬件時發現設備數據是無需的狀態,則為塊設備。經常用的Linux 操作系統中涉及的驅動設備主要有串口、JTAG、網絡等。(3)CAN/TCP 網關程序設計。網關程序設計是最后一步連接各項程序的樞紐,設備間數據的傳輸需要通過網關程序設計來進行,其中扮演溝通角色的是嵌入式服務器,負責接收工作的是異性協議網絡。CAN/TCP 網關程序設計中主要涉及的是CAN總線網絡及Internet 網絡轉換,該轉換環節主要有兩種形式:第一種是實現CAN協議轉換到TCP 協議,由于最終的轉換格式要求是以太網數據,因此需要嵌入式服務器將CAN 接收到的報文轉換成以太網數據包格式。第二種是實現TCP 協議轉換到CAN協議,這個環節同樣需要嵌入式服務器處理TCP 發來的協議,并在遠程監控平臺的控制命令配合下將數據傳輸到CAN節點上。
這其中的遠程監控平臺必須滿足現階段新的技術要求,統一應用C/S實現網關程序設計,而這其中涉及到的嵌入式網關需要滿足多臺服務器端同時對接及控制請求。其次還需要設置權限驗證,對需要對接的監控端設置好登錄限制,用戶名及密碼正確才能登錄,連續錯誤輸入一定次數則需限制登錄。嵌入式網關應做到最高識別要求,必須比CAN總線基本ID高出6 位,才能和符合IP 要求的終端對接。并且網關程序的設計需要滿足多個環節的對接及數據傳輸要求,必須隨時對CAN 總線波特率、接收路徑及濾波器ID值進行修改及完善,以滿足樞紐的中心職責。現階段針對自動化設備遠程監控系統的設計,需要保證系統上電后,能夠自動加載mcp2510.ko 模塊,從而進一步實現程序的啟動環節,由于設備的復雜性及實際遠程監控系統的環境要求,需要網關程序同時滿足較多功能,因此最好使用多線程方式來完成程序的設計環節,就是運用多個連接對多個監控設置相應的線程,并將所有線程連接到主線程。例如要實現手機的實時監控,就應滿足手機接入端口的要求。
網絡自動化遠程監控系統的現場層主要為智能CAN 節點與嵌入式服務器,因此在實際設計環節,應重點分析實際監控環境,根據環境需求設置相應功能。硬件設備應及時更新以便降低維護成本、提升運行效率,軟件設計應及時完善系統,以滿足其他對接設備的版本要求,從而提升監控系統的實際應用范圍。