陳 凱
摘要:本文提出了一套基于Modbus協議的總線控制系統,分析了Modbus協議的特點,介紹了Modbus協議的內容及通信過程,給出了系統的軟件實現方法。文中試圖將現場總線理論應用于電火花加工機床,并最終通過使用Modbus協議實現各設備之間的互聯。
關鍵詞:Modbus 現場總線 電火花 RTU
中圖分類號:G201文獻標識碼:A文章編號:1006-8937(2009)03-0074-01
國內的大多數電火花設備由于實時性等方面的要求,控制系統均是基于dos環境設計,這種系統能滿足電加工的基本要求,但也大大影響了人機交互的改進以及遠程通信等現代控制的要求。模塊化結構可裁減性強,便于滿足不同用戶的需求,是系統深入發展的良好基礎。專業化的信號采集設備及檢測裝置成為系統穩定和可靠運行的保障。應用網絡技術,可做到信息處理綜合化、智能化。與此同時,VB、VC以及各種組態軟件的發展為人機界面及總線控制的發展的提供了良好的開發環境,使我們能夠設計出更為合理及人性化的系統。
1控制系統結構
現場總線控制系統一般采用上位計算機結合下位智能儀表來實現控制功能。在本系統中,由于系統的檢測裝置簡單易用,因此采用微控制器來讀取信號并最終傳輸給上位機。一般來說,總線系統主要包括變送器,總線和檢測站。在本套系統中,微控制器和檢測裝置成為智能儀表即變送器,它作為從機使用,但確是系統的核心部件,而上位機即檢測站主要完成人機交互的任務以及一些優化、復雜計算和控制的功能。個性化的人機界面以及標準化的總線結構設計,可方便的擴展系統的控制功能。
整套系統結構圖如圖1所示,系統最主要包括一個服務器,一臺pc機,三個微控制器及相關檢測設備。

2 Modbus協議
Modbus協議是OSI模型第七層上的應用層報文傳輸協議,它在連接至不同類型總線或網絡的設備之間提供客戶機/服務器通信。互聯網組中已經保留TCP/IP系統端口502用以訪問Modbus,Modbus協議已經成為一種流行的工業控制傳輸標準。
2.1協議內容
Modbus協議定義了消息與格式和內容的公共格式,主要采用命令/應答方式,每一種命令報文都對應著一種應答報文,命令報文由主站發出,當從站收到后,就發出相應的應答報文進行相應。Modbus的信息幀包括站點、字節長度、功能碼、操作地址、操作數據、CRC校驗值等。
2.2通信過程
Modbus主從節點之間通信過程大致為:
從節點通過特定的端口與主節點建立連接,等待接收主節點發送的請求幀信號。
主節點根據實際需要達到的目的選擇合適的功能,將其對應的功能代碼保存在ADU的功能代碼域,把必要的參數和子功能代碼保存在數據域中,并將傳輸標志、協議標志、數據長度等存放在標志域中,從而組成一個完整的數據幀發送到從節點。
從節點對收到的請求幀經過錯誤檢測后,根據協議的規定將其分解成基本功能單元,并按照功能代碼的要求完成特定的操作,最后還要返回一個功能回應信號。如果請求幀或某一步操作出錯,就返回一個錯誤報告。完備的出錯應答是Modbus的一個特點,這有利于通信主節點判斷通信的錯誤原因,從保證通信可靠進行,提高通信成功率。
3 軟件實現
軟件實現時包括:初始化關鍵字,包括波特率設置,數據位數,停止位數,奇偶校驗模式等,總線上所有的master及slave的以上設置應完全一致,Modbus編程主要需處理好校驗碼的生成及數據包開始標志的檢測。
3.1地址定義
通信程序必須處理好數據報開始的標志,因為每次主機發送數據時,所有的從機都會接收到信息,但只有地址相同的從機才會響應,因此地址的判別至關重要。在兩個數據包之間Modbus協議將提供3.5幀的空閑時間,此時,總線上所有的從機要做好接收準備,一旦主機有數據包發出,從機立刻接受此數據。這當中的第1幀即為地址幀。從機記錄該地址并判斷是否執行該功能。通常,程序中會設置一個3.5幀計時器,當線路上有數據時計時器不計數,一旦線路空閑則計時器計數開始,直至該計時器停止計數,這時線路上開始有數據包發出,這第一幀數據即為地址幀。值得注意的是,3.5幀時間并非常數,應根據傳輸速率及幀校驗方式而定。
3.2功能碼定義
客戶所請求的服務和服務器所提供的服務均通過功能碼(Function Code)標識。Modbus 功能碼分三種,即公共功能碼、用戶自定義功能碼和保留功能碼,公共功能碼是已定義的功能碼,保證其唯一性,包含現存已定義的公共指配功能碼和未來使用的未指配保留功能碼。用戶定義功能碼有兩個定義范圍,即65至72和十進制100至110,用戶沒有Modbus組織的任何批準就可以選擇和實現一個功能碼。保留功能碼是一些公司對傳統產品通常使用的功能碼,并且對公共使用是無效的功能碼。
3.3校驗碼的生成
根據傳輸模式的不同,系統需要產生不同的校驗碼(check sum),ASCII模式采用LRC校驗(Longitudinal Redundancy Check)而RTU采用CRC校驗(Cyclical Redundancy Check),實現這兩種方法的函數均可以在相關資料中找到。
4總結
通過上述系統,希望能與先進控制設備實現對接,從而提高系統的改進速度,使機床整體性能得到提升。Modbus這項協議在電火花加工機床的廣泛應用,并在加工中取得了很好的效果,提高了整體機床的自動化程度。
參考文獻:
[1] 仲吉武.電火花精密整形與ELID精密磨削試驗研究[D].天津大學,2006.
[2] 朱小襄.Modbus通信協議及編程[J].電子工程師,2005.
[3]宗福來.電火花線切割變厚度加工自適應控制技術的研究[D].哈爾濱工業大學,2006.
[4] 楊大勇.電火花成形加工數控系統的研究[J].電加工與模具,2003,(1).
[5] 鮑吉龍,葉平.工業監控系統的網絡化發展[J].微計算機信息,2006,(6).
[6] 陽憲惠.現場總線技術及其應用[M].北京:清華大學出版社,2000.