基於MODBUS總線伺服電機運動控制方案

2021-01-15 電子產品世界

  引言

  現代工業自動控制系統朝智能化、網絡化和開放式結構的方向發展。利用現場總線技 術,將符合同一標準的各種智能設備統一起來,徹底實現整個監測系統的分散控制,將提高系統集成度和數據傳輸效率、延長有效控制距離,並有利於提高系統抗幹 擾性能和擴展系統功能。在運動控制中,伺服電機以其響應速度快,控制精準等優點以被更多的客戶所選用。如果把總線通信與伺服控制技術統一起來,將推動運動控制技術以及設備遠程監控技術的發展。MODBUS作為一種通用的現場總線,已經得到很廣泛的應用,很多廠商PLC、智能I/O與A/D模塊具備MODBUS通訊接口。本文在闡述MODBUS通信協議的基礎上,構建了基於MODBUS的伺服電機運動控制。

  1 MODBUS總線控系統的技術特徵

  MODBUS通訊協議是一種工業現場總線通訊協議,它定義的是一種設備控制器可以識別和使用的信息幀結構,獨立於物理層介質,可以承載於多種網絡類型 中。MODBUS協議把通信參與者規定為「主站」(Master)和「從站」(Slave),數據和信息的通信遵從主/從模式,當它應用於標準 MODBUS網絡時,信息被直接傳送。MODBUS總線網絡中的各個智能設備通過異步串行總線連接起來,只允許一個控制器作為主站,其餘智能設備作為從 站。採用命令/應答的通信方式,主站發出請求,從站應答請求並送回數據或狀態信息,從站不能夠自己發送信息。MODBUS協議定義的各種信息幀格式,描述 了主站控制器訪問從站設備的過程,規定從站怎樣做出應答響應,以及檢查和報告傳輸錯誤等。網絡中的每個從設備都必須分配給一個唯一的地址,只有符合地址要 求的從設備才會響應主設備發出的命令。

  由於MODBUS總線系統開發成本低,簡單易用,並且現在已有很多工控器、PLC、顯示屏等都具有MODBUS通信接口,所以它已經成為一種公認的通信標準。通過MODBUS總線,可以很方便地將不同廠商生產的控制設備連成工業網絡,進行集中監控。

  MODBUS最初為PLC通信而設計,它通過24種總線命令實現PLC與外界的信息交換。這些總線命令對應的通信功能主要包括AI/AO、DI/DO的數據傳送。但不是很多MODBUS設備的控制只使用其中的幾條命令,對其餘命令不做反應。

  1.1 MODBUS通信格式

  MODBUS協議定義了兩種傳輸模式,即RTU(Remote Terminal Unit)和ASCII。在RTU模式中,1位元組的信息作為一個8位字符被發送,而在ASCII模式中則作為兩個ASCII字符被發送,如發送字符 「20」時,採用RTU模式時為「00100000」,然而採用ASCII模式則成為「00110010」+「00110000」(ASCII字符的 「2」和「0」)。可見,發送同樣的數據時,RTU模式的效率大約為ASCII模式的兩倍。一般來說,數據量少而且主要是文本時採用ASCII;通信數據 量大而且是二進位數值時,多採用RTU模式。

  

  主站一次可向一個或所有從站發送通信請求(或指令),主設備通過消息幀的地址域來選通從設備。主站發送的消息幀的內容和順序為:從站地址、功能碼、 數據域(數據起始地址、數據量、數據內容)、CRC校驗碼;從站應答的信息內容和順序與主站信息幀基本相同。MODBUS除了定義通信功能碼之外,同時還 定義了出錯碼,標誌出錯信息。主站接收到錯誤碼後,根據錯誤的原因採取相應的措施。從站應答的數據內容依據功能碼進行響應,例如功能代碼03要求讀取從站 設備中保持寄存器的內容。

  MODBUS部分功能碼

  

  1.2 CRC校驗的實現

  MODBUS通信的RTU模式中,規定信息幀的最後兩個字節用於傳遞CRC(Cyclic Redundancy Check,循環冗餘校驗)碼。發送方將信息幀中地址域、功能碼、數據域的所有字節按規定的方式進行位移並進行XOR(異或)計算,即可得到2位元組的 CRC碼,並把包含CRC校驗碼的信息幀作為一連續的流進行傳輸。接收方在收到該信息幀時按同樣的方式進行計算,並將結果同收到的CRC碼的雙字節比較, 如果一致就認為通信正確,否則認為通信有誤,從站將發送CRC錯誤應答。

  RTU模式一般採用CRC-16冗餘校驗方法,CRC-16的 校驗碼為16位(2位元組),其中低字節在前,高字節在後。實現CRC校驗有兩種方法:根據CRC校驗的定義公式進行計算,或者在程序中建立CRC校驗值 表。在程序中使用前者更容易實現,這裡需要使用CRC生成多項式X16+X15+X2+1。該多項式對應的碼組係數為18005H(16進位),去除最高 位,對應的16位餘數為8005H,即為CRC-16常數。CRC-16校驗過程如下:將CRC寄存器的每一位預置為1;把該寄存器值與8bit的信息幀 數據進行異或,結果存於該寄存器;對CRC寄存器從高到低進行移位,在最高位(MSB)的位置補零,而最低位(LSB,移位後已經被移出CRC寄存器)如 果為1,則把寄存器與CRC-16常數進行異或,否則如果LSB為零,則無需進行異或。重複上述的由高至低的移位8次,第一個8bit數據處理完畢,用此 時寄存器的值與下一個8bit數據異或並進行如前一樣的8次移位。所有的字符處理完成後CRC寄存器內的值即為最終的CRC值。CRC添加到消息中時,先 加入低字節,然後高字節。

伺服電機相關文章:伺服電機工作原理


相關焦點

  • 基於CPLD的編碼器解碼接口、PWM輸出方案及其在運動控制卡和伺服...
    因此在接收這個信號時就需要專門的解碼接口電路,將所得的數據也就是實際運動位置/位置信息傳遞給處理單元,或通過總線(比如PCI)傳遞給數控設備的中央控制系統中,讓控制系統的軟硬體根據測來的實際信息與理想(邏輯)信息進行對比,然後根據比較的誤差結果再去調節運動部件的位置和速度,或做其他中斷、開關性的輸出動作以達到控制機械運動的目的。
  • 多伺服電機同步控制如何實現?
    在印刷機械行業中,多電機的同步控制是一個非常重要的問題。由於印刷產品的特殊工藝要求,尤其是對於多色印刷,為了保證印刷套印精度(一般≤0.05mm),要求各個電機位置轉差率很高(一般≤0.02%)。在傳統的印刷機械中,以往大都採用以機械長軸作為動力源的同步控制方案,但機械長軸同步控制方案易出現振蕩現象,各個機組互相干擾,而且系統中有許多機械零件,不方便系統維護和使用。
  • 如何實現伺服電機上位控制?
    但是,伺服驅動器,伺服電機是不可分割的一套系統,聯繫它們的是編碼器線纜和我動力線纜。通常,伺服驅動器接受控制器的控制指令,然後通過動力線纜驅動伺服電機,而伺服電機的實時位置,通過編碼器線纜反饋至伺服驅動器,形成閉環控制。很顯然,這種模式下,伺服驅動器僅僅上充當了放大器的角色,這是絕大部分伺服的工作模式,比如安川,富士,松下,三菱,臺達等等。
  • 四個方法簡化運動控制系統設計——降低伺服電機成本
    使用基於PC的控制軟體、EtherCAT網絡、集成驅動器和單電纜技術進行配置,可簡化運動控制系統設計,並降低伺服電機成本。無論是改造項目還是新應用,選擇和安裝最佳伺服電機,都不是一項簡單的任務。任何升級通常都需要調整驅動器、變速箱、編碼器以及與電機接觸的其它部件。為每個伺服驅動器單獨編程和配置,也會增加調試時間和不必要的成本。
  • 直流伺服電機、交流伺服電機和步進電機的優缺點
    為了適應數字控制的發展趨勢,運動控制系統中大多採用步進電機、直流電機或全數字式交流伺服電機作為執行電動機。雖然三者在控制方式上相似,但在使用性能和應用場合上存在著的差異。現大蘭電機小編就三者的優點用途作一比較。  交流伺服電機  優點:  ⑴無電刷和換向器,因此工作可靠,對維護和保養要求低。
  • 國外知名伺服電機/系統製造商盤點
    、可編程型及多軸運動控制型伺服驅動產品及相關解決方案的生產和貿易性企業。(目前的高速伺服總線雖大多為開放標準,但技術都被國際化大公司所掌控。尤其是基於工業乙太網技術,如EtherCAT、 Profinet、 EtherNet/IP、SERCOS III等,在提升工業機器人專用交流伺服系統的高性能方面起到了舉足輕重的作用。
  • Trinamic推出首款閉環PANdrive,可實現可靠的電機和運動控制
    協議棧,可以比任何基於軟體的解決方案都更快地處理實時關鍵任務。 2018年8月13日,德國漢堡,TRINAMIC 運動控制公司結合了TMC8670的所有優勢:它集成了所有算法,可實現高端,快速的磁場定向控制和高性能實時現場總線接口。 TMC8670適用於三相BLDC和BLAC電機以及兩相步進電機,融合了數十年的電機控制經驗。
  • 拓達伺服電機部分應用案例
    拓達伺服電機可以應用在哪些領域呢,今天為大家分享拓達部分應用案例。拓達伺服電機具有大過載能力,低銅耗,良好的溫度保護功能,可用於要求大過載的壓力機上。電源容量從幾十千瓦到幾百千瓦,可配合各種不同壓力要求的壓力機,還可為伺服壓力機、衝壓剪切機提供伺服驅動系統,實現精密運動控制及確定軌跡運動,極大地提高了系統效率,達到高效節能的目的。拓達低慣量高動態特性伺服電機可為高速包裝自動化設備提供多種功率等級的應用。
  • 運動控制有哪些方法
    所謂「運動控制(Motion Control)」,是指利用伺服系統對機械傳動的位置、速度等物理量進行控制的過程。比如,控制工具機的傳送帶及刀具以完成準確的工件切割。運動控制系統主要包括:運動控制器、伺服驅動器、伺服電機及編碼器等部件。
  • ADI伺服電機控制解決方案
    打開APP ADI伺服電機控制解決方案 發表於 2019-01-25 15:39:46 針對電機控制解決方案,ADI 公司提供了門類齊全的產品組合,其中包括了模數/數模轉換器、放大器、嵌入式處理器、 iCoupler®數字隔離器、電源管理器件和實時乙太網解決方案;這些高性能的器件和增加系統集成度有助於實現更新型的拓撲 結構設計,為客戶實現系統的差異化設計帶來價值,比如,更快主頻的處理器可以運行更加複雜的算法,高性能的 ADC 可以支持更高性能的電流環控制等等
  • 基於無刷直流電機的驅動及各種控制系統實現
    基於dsPIC30F3010實現無刷直流電機的無傳感器控制本文給出一種基於反電動勢過零點檢測法控制無刷直流電機的實現方法,該方法所需硬體簡單。軟體功能強大。基於TMS320F2812無刷直流電機控制系統設計以TMS320F2812為核心的全數字電機控制系統極大地簡化了硬體設計,提高了系統的可靠性,降低了成本,並對無刷直流電機的普及應用具有良好的前景。為此,提出了一種基於TMS320F2812的全數字永磁無刷直流電機控制方案。
  • 新型AC伺服電機/驅動器(08-100)
    伺服和運動控制技術作為數控工具機、工業機器人及其它產業機械控制的關鍵技術之一,在國內外普遍受到關注。在伺服與運動控制產品領域,多樣化一直是個鮮明的特點,包括從直流伺服驅動技術到交流伺服驅動技術,從模擬化到全數位化、智能化、網絡化,從單軸伺服到多軸伺服,從單機化到總線產品。本文引用地址:http://www.eepw.com.cn/article/91911.htm  眾所周知,先進的伺服運動控制技術與解決方案的應用正是提升機器設備性能與檔次及市場競爭力的一個重要途徑。
  • 基於交流永磁同步電機的全數字伺服控制系統
    摘要:根據永磁同步電機的數學模型和矢量控制原理,通過仿真和實驗研究,開發出一套基於DSP控制的伺服系統,並給出了相應的實驗結果驗證該系統的可行性。
  • 音圈電機伺服驅動器與運動機構設計
    編者按:為滿足一類音圈直流伺服電機的高速振動定位精度工作的精度需求,研發了一種高性能的音圈電機高精度位置定位設備。基於ARMCortex M3系列的STM32F103VCT6處理器設計了音圈直流伺服電機控制系統。
  • 基於STM32的永磁同步電機伺服控制器設計
    在伺服控制器中,為了保證伺服控制良好的實時性、準確性及靈活性,常採用專用於電機控制的DSP(DSC)或FPGA作為控制核心,這些晶片都針對電機控制做了大量的優化,如:帶死區的互補型PWM,多種觸發、同步方式的快速ADC,高可靠性和抗幹擾性。但它們都不約而同地將晶片的設計重心偏向了電機控制本身,而少了對網絡化的支持。
  • 伺服電機控制能否代替步進電機控制,交流伺服電機與步進電機的區別...
    伺服電機(servo motor )是指在伺服系統中控制機械元件運轉的發動機,是一種補助馬達間接變速裝置。伺服電機可使控制速度,位置精度非常準確,可以將電壓信號轉化為轉矩和轉速以驅動控制對象。  1、為了保證控制系統改變不大,應選用數字式伺服系統,可仍採用原來的脈衝控制方式;  2、由於伺服電機的過載能力強,可以參照原步進電機額定輸出扭矩的1/3來確定伺服電機的額定扭矩;  3、因為伺服電機的額定轉速比步進電機要高得多,最好增加減速裝置,讓伺服電機工作在接近額定轉速下, 這樣也可以選擇功率更小的電機,以降低成本。
  • 臺達綠色技術 引領伺服電機發展潮流
    A2系列產品主要從三個方面進行了加強,一是加強內置運動控制功能,內部位置寄存器增加至64組,電子凸輪功能,內置追剪、同步控制等等;二是解析度提高值20bit大大提高其性能指標;三是高速總線,不僅有CANOPEN,還增加DMCnet高速總線接口。
  • 基於Arduino UNO開發板無線連接伺服電機方案設計
    基於Arduino UNO開發板無線連接伺服電機方案設計 風箏 發表於 2021-01-09 11:47:36 在機器人中使用伺服電機進行精確控制很常見。
  • 伺服電機與步進電機的區別差異,步進電機控制能否用伺服電機控制代替
    步進電機是一種離散運動的裝置,它和現代數字控制技術有著本質的聯繫。在目前國內的數字控制系統中,步進電機的應用十分廣泛。隨著全數字式交流伺服系統的出現,交流伺服電機也越來越多地應用於數字控制系統中。為了適應數字控制的發展趨勢,運動控制系統中大多採用步進電機或全數字式交流伺服電機作為執行電動機。雖然兩者在控制方式上相似(脈衝串和方向信號),但在使用性能和應用場合上存在著較大的差異。現就伺服電機與步進電機二者的使用性能及區別作一比較。
  • 如何實現多伺服電機同步控制?
    綜合考慮,本文的時鐘同步方案採用的是硬體時鐘同步,各節點根據系統中指定的主時鐘來調整它們的時鐘,具體實現方法是:添加硬體時鐘同步信號線CONCLK用來傳輸時間同步信號,同步控制信號周期為2ms,以同步信號的上升沿作為同步點。在控制器中設置同步信號發生器,並在各個驅動器內部設置同步接受單元。驅動器從站的同步接受單元檢測到主戰的CONCLK上升沿後,各從站時鐘同時清零。