閱讀 | 訂閱
閱讀 | 訂閱
測試測量

現場總線運動控製模塊的設計及其在PLC係統中的應用

星之球激光 來源:電子技術應用2011-10-17 我要評論(0 )   

數控係統廣泛應用於(yu) 現代製造加工業(ye) 、機器人、電子機械、辦公設備等,是21世紀最有發展前景的技術之一。本文使用2個(ge) Cortex-M3內(nei) 核單片機STM32進行G代碼解釋和電機運動控...

數控係統廣泛應用於(yu) 現代製造加工業(ye) 、機器人、電子機械、辦公設備等,是21世紀最有發展前景的技術之一。本文使用2個(ge) Cortex-M3內(nei) 核單片機STM32進行G代碼解釋和電機運動控製,研發了極低成本的運動控製模塊,並通過PLC現場總線對多塊運動控製模塊進行全局管理控製,形成高效可靠的機床控製網絡。
1 運動控製模塊的研製
  本設計中,運動控製模塊負責電機的驅動、多軸聯動、G代碼解釋等工作,是數控係統的“大腦”。因此運動控製器的性能直接關(guan) 係到整個(ge) 機床的性能。
1.1 總體(ti) 結構
  為(wei) 實現高性能數控計算,係統采用雙MCU結構,主控MCU負責G代碼讀寫(xie) 與(yu) 解釋、人機界麵、網絡通信等任務;NC運動控製MCU(即運動控製芯片)作為(wei) 一個(ge) 專(zhuan) 用數字芯片,負責三軸電機的速度控製、定位、多軸直線和圓弧插補等任務,以保證運動控製模塊在完成複雜的工作時仍能提供良好的性能。運動控製模塊結構如圖1所示。


  模塊采用SD卡作為(wei) G代碼文件的存儲(chu) 器。SD卡具有大容量、小體(ti) 積、支持熱插拔等特點,尤其是其兼容SPI總線讀寫(xie) ,省去了主控製器作為(wei) USB盤讀寫(xie) 的硬件,降低了成本。
  運動控製模塊具有現場總線通信功能,支持RS-485和CAN總線2種現場總線物理層規範。以可靠性為(wei) 設計原則,總線接口與(yu) 主控製器進行了電氣隔離,並加入保護元件提高其抗瞬態幹擾能力。圖2、圖3分別是模塊RS-485和CAN總線的隔離接口原理圖。其中使用了TI公司的高速數字隔離器ISO7221進行數字信號的電氣隔離,同時在接口端設置了瞬態抑製二極管(TVS管)進行保護,確保了硬件在各種環境下的可靠性。


1.2 Cortex-M3與(yu) STM32簡介
  ARM Cortex-M3是一種基於(yu) ARM7架構的最新ARM嵌入式內(nei) 核,它采用哈佛結構,使用分離的指令和數據總線(馮(feng) 諾伊曼結構下,數據和指令共用1條總線),在成本和功耗方麵,Cortex-M3具有相當好的性能。
  基於(yu) Cortex-M3核的STM32F103係列MCU,運行於(yu) 最高72 MHz的總線頻率,可以獲得1.25 DMIPS/MHz的運算性能、單周期乘法指令、硬件除法器,帶有容量至少為(wei) 32 KB的Flash及6 KB的SRAM、2個(ge) 12位A/D、7通道DMA、6路16位定時器及PWM、SPI、I2C、USART、USB、CAN等高性能模塊,並具有最高18 MHz輸出頻率的高速GPIO。在電機和運動控製的應用中,可以充分發揮其先進內(nei) 核的性能和豐(feng) 富的模塊資源特性。
1.3 工作流程
  運動控製器工作流程總體(ti) 示意圖如圖4所示。

1.3.1 G代碼解碼
  運動控製模塊接收到工作指令後,開始進行G代碼的解釋執行任務。G代碼存放在SD卡中,主控製器集成FAT文件係統,支持SD卡的文件讀寫(xie) 。G代碼讀入後,逐行進行第一遍掃描(即指令預處理),期間將注釋、空格、非法字符去除,小寫(xie) 字符轉換成大寫(xie) ,以方便解碼程序進行識別。
經過預處理的G代碼指令逐行送入G代碼解碼程序,解釋程序再逐字檢查其是否為(wei) G代碼的指令字符,若是,則提取關(guan) 鍵字的後續數值,作為(wei) 該指令的操作數,將其提取出來。其中用到了ANSI C的標準庫函數sscanf( )(位於(yu) stdio.h中),可以方便地提取字符串中指定的信息,支持類正則表達式的格式字符串,非常靈活。同時因為(wei) 使用了ANSI C的標準庫函數,程序移植簡單。
以下是G代碼解碼程序的部分代碼:
/*遍曆整個(ge) s字符串,找到字符後,提取後續數字,並存入中間代碼中*/

 


  其中,CurrentGMidCode是預定義(yi) 的結構體(ti) 變量,用於(yu) 保存每行G代碼提取出來的指令及其操作數,結構如下:

  提取到每行G代碼的關(guan) 鍵信息後進行相關(guan) 處理,計算出每行代碼的運動起止坐標,將其通過SPI總線發送至NC控製芯片,控製電機運動。
1.3.2 插補進給
  電機的插補運算、加減速和進給控製,由一個(ge) 獨立STM32微控製器完成,並稱為(wei) NC運動控製芯片。
  目前市場上的運動控製芯片主要是日本和歐美公司的專(zhuan) 用ASIC和各數控廠家自行開發的FPGA芯片,雖然性能優(you) 越,但價(jia) 格不低。相對於(yu) 使用ASIC芯片或FPGA芯片,完成同樣的任務使用MCU方案,硬件生產(chan) 成本和開發成本均具有明顯優(you) 勢,當STM32微控製器運行在其最高頻率為(wei) 72 MHz下時,性能完全可以滿足中低端數控係統應用的要求。
  在三軸數控銑係統中,NC運動控製芯片需要實現三軸快速定位、二軸直線插補、二軸圓弧插補、三軸直線插補的功能。
  插補是在組成軌跡的直線段或曲線段的起點和終點之間,按一定的算法進行數據點的密化工作,以確定一些中間點,從(cong) 而為(wei) 軌跡控製的每一步提供逼近目標。在本控製器中,選用逐點比較法作為(wei) 基本的插補算法,具有算法簡單高效、進給速度均勻的特點,同時支持三軸的直線插補[1],滿足本控製器對插補算法的要求。
  逐點比較直線插補,就是執行機構每走一步都要和給定運動軌跡上相應的坐標值相比較,比較的結果稱為(wei) 偏差函數F,根據偏差的正、負決(jue) 定下一步的進給方向。實質上這是一種用階梯折線來逼近直線的一種算法,它與(yu) 規定運動軌跡之間的最大誤差為(wei) 1個(ge) 脈衝(chong) 當量(每走1步移動的距離)。因此,隻要把脈衝(chong) 當量設計得足夠小,就可以達到運動精度的要求[2]。
1.4 Modbus-RTU協議的實現
  Modbus-RTU是Modicon公司開發的一種通信協議。它采用主從(cong) 應答方式工作,其規範已公布在互聯網上,是一種在工業(ye) 領域被廣為(wei) 應用的真正開放的標準網絡通信協議。由於(yu) 它具有免收許可費用,易於(yu) 集成不同的設備、簡單易用、開發成本低、有著廣泛的知識資源支持等特點,已經成為(wei) 一種公認的通用工業(ye) 標準。有了這個(ge) 標準,不同廠商生產(chan) 的控製設備可以連成工業(ye) 網絡,進行集中監控。Modbus PTU協議有2種傳(chuan) 輸模式:RTU模式和ASCII模式。其中RTU模式信息幀中的8 bit數據包括2個(ge) 4 bit十六進製字符,相對於(yu) ASCII模式,RTU模式表達相同的信息需要較少的位數,且在相同通信速率下具有更大的數據流量。因此通常情況下,一般工業(ye) 智能儀(yi) 器儀(yi) 表都是采用RTU模式的Modbus規約。
  Modbus-RTU協議以幀為(wei) 通信的基本單位,幀格式為(wei) :地址碼1 B;功能碼1 B;數據區N B;錯誤校驗2 B CRC碼。
  本運動控製器在其RS-485接口上實現了Modbus-RTU協議,使用了當今流行的免費開源協議棧FreeModbus-RTU,從(cong) 而保證了可靠的通信、節約了開發成本。
  FreeModbus是針對通用的Modbus協議棧在嵌入式係統中應用的實現,其遵循BSD開放源代碼協議,並可以免費用於(yu) 商業(ye) 用途,成熟可靠。移植FreeModbus到STM32處理器隻需要少量資源,除了1個(ge) 雙工USART外,隻需要配置1個(ge) 定時器進行超時判斷即可。#p#分頁標題#e#
2 基於(yu) C200HE型PLC的運動控製網絡實驗平台設計
2.1網絡結構
  歐姆龍(OMRON)公司的C200HE-CPU42型PLC帶有RS-232口和通信板。通信板支持各種通信協議,如上位鏈接、RS-232通信、1:1鏈接、NT鏈接(1:1、1:N)以及協議宏功能等,並能根據需要進行切換。通過協議宏功能,用PMCR指令,通過指定按標準設置的順序,就能設置成Modbus協議。
  運動控製係統的網絡結構體(ti) 係分為(wei) 3個(ge) 層次:管理層、控製層和器件層,如圖5所示。

 


  (1) 管理層:是最高層,負責係統的管理與(yu) 決(jue) 策。其中PLC是整個(ge) 控製網絡的核心,它作為(wei) Modbus網絡的主設備,通過Modbus網絡與(yu) 各運動控製器之間傳(chuan) 輸生產(chan) 管理信息、質量管理信息及CNC的運行情況等數據。上位計算機運行組態軟件,通過RS-232串行通信口與(yu) PLC通信,實時監控係統的運行。
  (2) 控製層:是整個(ge) 網絡係統的中間層,各運動控製模塊掛接在Modbus網絡上成為(wei) 其從(cong) 節點,負責下麵CNC運行過程的監控、協調和優(you) 化。
  (3) 器件層:雕刻機是整個(ge) 網絡的最低層,是現場總線網絡中直接麵對現場的器件和設備,為(wei) 網絡的終端執行機構。
2.2 用協議宏功能實現Modbus協議
  在協議宏軟件CX-Protocol上創建工程,選擇正確的設備名稱、型號及網絡類型。然後創建通信序列和接收序列,並下載到PLC通信板中。在PLC中編寫(xie) 程序,用PMCR指令調用指定的通信序列,實現與(yu) 運動控製模塊的通信。通信協議宏主要由發送/接收數據程序構成,每個(ge) 通信協議最多包含0~999個(ge) 發送/接收數據程序,每個(ge) 發送/接收程序最多由16步構成。協議宏結構如圖6所示[3]。


2.2.1創建通信序列
  將通信序列號設為(wei) “000”,在通信序列中要設置PLC與(yu) 通信板鏈接字、傳(chuan) 輸控製參數、響應接收方式、數據接收監控時間、數據接收完成監控時間、數據發送完成監控時間等內(nei) 容。
  (1) 創建通信步(Step)
  在通信序列“000”中創建Step00和Step01 2個(ge) 通信步。Step00用於(yu) 控製運動控製模塊的運行,Step01用於(yu) 查詢運行狀態。在每一個(ge) 通信步中包括步號(Step)、重複計數器(Repeat)、命令(Command)、重試次數(Retry)、發送信息(Send Message)、接收信息(Recv Message)、是否響應(Response)、出錯處理方式(Error)等內(nei) 容。
  (2)創建發送和接收信息
  發送信息與(yu) 接收信息必須嚴(yan) 格按照Modbus協議格式編寫(xie) ,需要設置校驗碼(Check Code)、數據長度(Length)、地址(Address)和數據(Data)等信息。
  (3)創建接收陣列
  PLC向運動控製模塊發送指令時,模塊可能返回運行正常或錯誤響應信息,在接收數據時,使用陣列的形式加以區分。係統創建了2種可能接收的信息“Run Normal”和“Error”,並針對每一種情況設定不同的處理方法(Next Process),用於(yu) 可能出現的各種響應信息的處理。
2.2.2  通信實現
  (1) 通信設置
  PLC的通信參數設定必須與(yu) 運動控製模塊的參數一致。對通信板上的開關(guan) 做調整時,設SW1置於(yu) ON側(ce) ,使用RS-485方式;SW2設定為(wei) ON,接入120 Ω的終端電阻;設定通信板端口A為(wei) 通信協議宏方式。
  (2) 編寫(xie) 通信程序
  通信協議宏的調用程序段如圖7所示,圖中:289.08為(wei) 通信板端口A操作標誌,當289.08為(wei) OFF時,表示可以使用端口A進行通信。通信過程中289.08置為(wei) ON,通信結束後,289.08置為(wei) OFF狀態;當2.00由OFF變為(wei) ON、且289.08為(wei) OFF時,調用通信板上的通信序列,通過端口A發送和接收數據。通信序列號、發送和接收數據的存放區由PMCR指令的3個(ge) 操作數指定,其梯形圖見圖7。


  使用2片32位高性能單片機組成雙核係統實現運動控製模塊的功能,兼顧了性能和價(jia) 格。同時因為(wei) 使用了ANSI C的標準庫函數,程序移植性好,數控解釋程序中的關(guan) 鍵技術G代碼解釋器的開發難度大大降低。在運動控製模塊中移植Modbus協議,從(cong) 而使其能簡單地與(yu) PLC係統組成運動控製網絡。采用歐姆龍通信協議宏實現控製多台運動控製模塊,簡化了現場布線,達到了設計要求,取得了很好的效果。

轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀