?引言
橡塑機械是現代制造技術中一類重要工具,是一種由數控裝置、伺服驅動裝置、機床主體和其他輔助裝置構成的機電一體化產品,它被廣泛應用在橡塑產品加工制造領域。隨著科技的進步,橡塑機械正朝著高速度、智能化、多功能化、高可靠性的方向發展。在監控系統方面,尤其是近年來,也發展得更為集成化、網絡化。作為提升橡塑機械性能的一個重要組成部分,其監控系統也得到了長足的發展。本文設計了一款基于ARM9、嵌入式Linux以及CAN總線技術的應用于橡塑機械的雙層網絡.,并介紹了成功應用于橡塑機械的實例。
1 雙層網絡系統整體設計
系統基于工業現場監控集成化、自動化的理念設計了下層CAN總線結構。在現場監控部分,.所需要完成的工作包括:通過CAN總線與底層控制器交互,讀取并顯示橡塑機械當前工作的狀態,配置并發送需要修改的運行參數。
在CAN現場總線的基礎上,基于遠程維護監控的理念,設計了上層的網絡支持。在上層網絡部分,.提供WEB服務器,根據遠程PC的請求發送相應的數據。網絡結構如圖1所示。
?
?
?
2 硬件系統設計
硬件系統采用了以ARM9內核CPU為主體的組織體結構。選擇了S3C2410為核心,擴展了64M SDRAM和64M NAND FLASH的硬件系統。由于該CPU內部并未集成CAN總線控制器以及以太網控制器,因此通過MCP2510以及CS8900A分別擴展了CAN總線功能和以太網功能。以下對兩個擴展部分做重點介紹。
2.1 CAN總線擴展
MCP2510完全支持CAN總線V2.0A/B技術規范,能夠發送和接收標準和擴展報文,同時具備驗收過濾以及報文管理功能。該器件包含三個發送緩沖器和兩個接收緩沖器,能夠減少S3C241O芯片的管理負擔和軟件設計的負擔。
接口中使用了總中斷引腳INT,處理器在響應總中斷后,通過SPI通道訪問MCP2510內部相應寄存器來確定具體的中斷事件,并對其做出處理。
如圖2所示,S3C2410通過SPI總線發送MCP2510控制命令以及需要傳輸的數據,通過MCP2510控制轉換以后生成總線報文,并通過光電隔離器6N137以及總線驅動器8C250之后發送到CAN總線上。
?
?
?
2.2 以太網擴展
以太網和CAN現場總線的集合,大大加速了工業控制集成化、信息化的進度。采用了CS8900A芯片以完成以太網擴展。其主要包括802.3介質訪問控制塊,支持全雙工操作,完全依照IEEE 802.3以太網標準(ISO/IEC8802-3,1993),負責處理有關以太網數據幀的發送和接收。
在硬件連接上,通過外部中斷EINT9來響應通信,通過ADDR24以及其他片選讀寫信號來控制網卡芯片的工作以及地址空間位置。
在收到由CPU發來的數據報后,CS8900A將開始偵聽網絡線路。如果線路忙,就等待線路空閑,否則立即發送數據。發送過程中,需要添加以太網幀頭,產生CRC校驗碼,最后將此數據幀發送出去。接收數據時,接收到數據幀后,還需要經過解碼、剝除幀頭和地址檢驗等步驟后存于CS8900A片內的緩存區。并還需要通過CRC校驗,便會產生外部中斷,通知主機收到了數據幀,最后,再根據CPU的指令,將數據傳輸給CPU。
網絡的擴展對于橡塑機械的整體化集成化管理起著極為關鍵的作用,作為一個高速、開放的通信接口,網絡給系統帶來了很大的靈活性和可擴展性。同時,在監控系統的調試過程中網絡也發揮著不可替代的作用。
3 軟件系統設計
整個.的軟件設計建立于嵌入式Linux操作系統的基礎之上,因此軟件設計分為系統軟件設計和應用軟件設計兩大部分。系統軟件主要為對應設備的驅動程序設備,CS8900A為常用的典型網絡擴展設備,已經有既成的驅動程序;而CAN總線擴展則需要根據應用中所需要的網絡協議來自定義實現。應用軟件設計部分主要包括CAN服務器端的開發和WEB Server的移植。
3.1 系統軟件設計
本設計采用外部中斷EINT3連接MCP2510的總中斷,配置控制器始終處于喚醒模式,發送器處于正常模式,并使能接收、發送、錯誤中斷,以中斷方式處理CAN總線數據收發。具體流程如圖3所示。
?
?
?
對中斷的處理主要包括以下三種模式:
(1)發送處理。在滿足下述兩種條件時會啟動發送處理:其一發送中斷響應中,如果當前有發送任務,通過發送緩沖區記錄標志確定空的發生緩沖區并向其中填發送幀,然后啟動發送;其二在接收中斷響應中,在接收處理完后如果有發送任務且有發送緩沖區空閑,同樣會處理發送任務。采用兩種發送處理方式可充分利用MCP2510的多個發送、接收緩沖區,以提高通信效率。
(2)接收處理。首先需根據ICOD的值來確定當前準備好數據的接收緩沖區。接收幀處理過程中首先讀取幀的ID值,確定當前幀的數據是哪個節點發送來的,并據此把幀中數據字段的數據存放在相應的位置。
(3)錯誤處理。由于引起錯誤處理的原因很多,在產生錯誤中斷之后,需訪問錯誤標志寄存器確定具體錯誤類型,并據此做相應的處理。
最后在所有的處理中都需更新發送緩沖區使用記錄,以便于發送和接收中斷響應中據此判斷發送緩沖區的使用情況,從而確定當前是否可以做發送處理。
?
?
?
3.2 應用軟件設計
3.2.1 CAN服務器端設計
CAN服務器端需要完成兩大部分的工作。一是和底層控制器交互,二是處理并存儲好相應的數據,以提供給人機界面和WEB服務器使用。
CAN總線默認的調度方式為CAMA/CD協議,該協議原理比較簡單,技術上易實現,網絡中各節點處于平等地位,不需集中控制,不提供優先級控制。但在網絡負載增大時,發送時間增長,發送效率急劇下降,即會永遠優先發送優先級高的節點而阻塞優先級低的節點,因此考慮到對該協議進行改進。為了自定義協議,因此我們的CAN數據采用了擴展幀。
針對橡塑機械需要的通信數據類型設計了如下的通信協議。主要具備以下幾點特點:
(1)下位機根據仲裁段優先級來確定該段數據的優先級;
(2)優先級的分配由服務器端進行,讀取初始化配置文件(包括節點編號和優先級碼兩個部分)+頁面設定;
(3)優先級根據傳輸數據的截止時間決定(DM)。要求的時間越短,其優先級越高。
(4)通信數據的命令格式如圖4所示,其中所有字節均為ASCII字符。
開始位必須放@,以示命令的開始。標題碼為命令的代碼;用”*”和回車(ASCII碼為13)作為命令結束。
一次通訊的流程如圖5所示。
?
?
?
設計了兩個隊列,分別為發送隊列和接收隊列,以處理大量數據的發送問題。在隊列中的數據按照其優先級排序(DM判定)。
3.2.2 WEB服務器的移植
Boa是一個運行在類Unix系統中的小型Web Server,特別適合在嵌入式的場合中使用,其優點在于快速性和可靠性。
Boa網絡服務器的移植主要有兩個部分:src下的文件修改和config文件修改。Src部分需要修改應用的硬件平臺配置,指定交叉編譯器等。config文件需要針對.設備所處網絡環境來配置端口號等。
根據移植好的Boa,設計了圖6所示結構的遠程橡塑機械WEB Server。
?
?
?
Boa服務器用以處理用戶請求,并返回數據給瀏覽器。當瀏覽器需要訪問.上動態的監控數據時,Boa服務器將調用存儲在服務器中的CGI(公用網關接口)程序。首先瀏覽器提交請求,Boa接收網絡數據后進行解析,再根據請求數據調用相關的CGI程序,CGI生成相關頁面數據向屏幕輸出,此時這個輸出被定義為到Boa的輸入,Boa再返回數據給瀏覽器客戶端。上述CGI程序中實現了對實時更新的數據文件/tmp/currentData的調用,并輸出給瀏覽器端。
?
?
?
4 在橡塑機械上的應用實例
本網絡.配合相應的圖形用戶界面程序已經成功應用于抽真空平板硫化機上,目前已經實現了雙機的同時監控。通過本.可實時監控抽真空平板硫化機在運行當中的各工序,配置硫化機的各項生產工藝參數。遠程的計算機也可通過局域網讀取到.上的運行設備。
5 結束語
ARM9、嵌入式Linux操作系統、以及CAN總線和網絡技術在本.上的應用將結構簡單、功能局限的一對一的橡塑機械.擴展到了網絡化、信息化的集成系統當中。CAN總線數據的按優先級調度能適應多任務、大容量數據的處理,可有效提高.的實時性能,而嵌入式WEB服務器的成功移植實現了遠程的監測和維護,可大大縮短維護時間開銷,減少維護成本。
同樣,本控制器不僅僅局限于現今應用中的抽真空平板硫化機,其網絡的架構理念使得只需要將具體通信數據協議以及與人機界面程序的接口稍作修改即可應用于其他的橡塑機械乃至于其他工業控制應用場合。
評論
查看更多