ARM嵌入式控制器應用于印染設備監控中
3 上位機和變頻器
PC機與變頻器的通信采用USS協議。該協議由SIEMENS AG定義,主要以RS-485總線方式將多臺西門子公司生產的變頻器、直流調速器或PLC等終端設備與工業控制計算機相連,實現遠程監控。USS協議是開放的,所以為用戶開發自己的基于該協議的軟件產品提供了可行性。這樣不僅有利于降低開發成本,而且能充分滿足特定項目的需要,方便日常的工控網絡維護。
USS協議支持多點聯接,支持主一從存取方式,用于單主站系統,最多可鏈接32個站。USS協議支持可變和固定報文長度,報文格式簡單,通信字符格式為:1位起始位、1位停止位、1位校驗位、8位數據位,波特率最高可達18715Kbps。
圖2為變頻器MM440的通信報文結構,對報文的具體字符含義不做過多解釋,強調一點MM440支持BiCo(二進制互聯連接)技術,用戶可更方便的對它進行參數的控制。
圖2 變頻器通信報文結構
在變頻器與PC機進行485通信前,對于MM440的參數設置至關重要。首先將所有參數復位到出廠設置:
P0010(調試參數過濾器):30,表示為工廠的設定值;
P970(工廠復位)=1,表示所有參數都復位到它們的缺省值;
設置參數:P0700(選擇命令源)=5,表示C0M 鏈路的USS設置;
PIO00(頻率設定值的選擇)=5,表示可通過USS對變頻器進行控制;
P2010(USS波特率)=6,表示通信波特率選9600;
P2011(USS地址號)=1,表示變頻器1的地址為1;
P2009(USS規格化)=1,表示數值是以絕對十進制數的形式發送[即4000(十進制)(=0FA0hex)等于40.00Hz];
P2012(USS協議的PZD(過程數據)長度):2,表示PZD傳輸的是控制字和設定值,共2個;
P1013(USS協議的PKW 長度)=4,表示用4個字節讀寫各個參數的數值;
P2014(USS的停止傳輸時間(ms))=X,表示允許用戶設定一個時間X,在經過這個時間以后,如果USS通道接收不到報文,就將產生故障信號F07O。
上位機和變頻器通信采用VB6.0編程,程序編制上采用事件驅動的通信方式。串口每接收16個字符便激活一個OnComm()事件,在On-Comm()消息處理函數中,加入相應的處理代碼,實現對變頻器參數的在線修改。
4 上位機和ARM
嵌入式控制器采用三星公司的32位微處理器S3C44B0,芯片的內核是16/32位ARM7TDMI精簡指令結構處理器,是一種低功耗,通用微處理器內核,特別適合于對價格比較敏感產品的設計[4]。S3C44B0芯片除了微處理器內核外,在芯片中還集成了許多外圍設備,如8通道10位ADC,1個I2C-BUS控制器,LCD控制器,2通道UART。最重要的是它可以移植操作系統uClinux進行管理。uClinux是一個優秀的嵌入式操作系統,它很適合那些沒有MMU(Memory Management Unit)的處理器。沒有MMU 的處理器在嵌入式領域中應用相當普遍。針對uClinux內核的二進制代碼和源代碼都經過重新編寫,以緊縮和裁剪基本的代碼。這就使uClinux和標準Linux 2.0內核相比非常小,但它仍然保持了Linux操作系統主要優點。
本系統中,我們用帶uClinux操作系統的S3C44BOX控制器,用它自帶的一路10位ADC,方便的對拉幅熱定型機的烘房溫度進行較高精度的數據采集;通過I2C總線和外圍計數芯片實現兩路電機轉速的采集。一個UART用作485總線接口,與PC機通信;一個LCD控制器直接接3.5寸的STN液晶器,方便觀察。由于uClinux本身已經做好網絡的移植,本系統采用網絡芯片RTL8019AS把嵌入式接入以太網,用戶可以通過瀏覽器訪問該控制系統的運行數據,實現對系統的遠程監控。
在拉幅熱定型機中,作為主傳動,帶動布鋏的主、從電機的線速度同步,是保證加工質量的關鍵,控制算法通常在PC機中完成,由于本系統采用32位微處理器,所以完全可以在作為下位機的ARM控制器中完成。PC機僅用于監測和變頻器通信,大大減輕了負擔。而且S3C44B0具有很好的移植性,可以作為模塊方便的掛在485總線上。嵌入式控制器S3C44B0和PC機之間,我們定義了下面的收發協議,如圖3所示。其中命令包括復位命令和發送命令,若接收方在約定時間內未收到發送命令幀,則發送復位幀,雙方回到通信程序的開始,清空緩沖區,然后重新同步,具體流程如圖4所示。
圖3 控制器和PC機通信協議
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論