技術領域
本發明涉及伺服電機領域,具體的涉及一種多軸伺服驅動器同步控制領域。
背景技術:
伺服驅動器(servo drives)又稱為“伺服控制器”、“伺服放大器”,是用來控制伺服電機的一種控制器,主要應用于高精度的定位系統。一般是通過位置、速度和力矩三種方式對伺服馬達進行控制,實現高精度的傳動系統定位,目前是傳動技術的高端產品,是機械裝備實現高精度數控化的重要核心零部件。
近年來,誕生了實時工業以太網技術。該技術不僅傳輸速度快,數據包容量大,傳輸距離長,拓撲結構靈活,而且能保障較高的實時和同步性能,因而成為解決上述問題的新方案。由于廠商選擇的傳輸介質和通訊協議的不同,形成了多個技術路線,目前主流的工業以太網協議包括POWERLINK、EtherCAT、SERCOS III、PROFINET等。
為保證網絡的實時性和同步性,各工業以太網協議都會提供一種同步機制,通過產生一個精確的同步信號用于同步網絡中各從站節點。大體上,各工業以太網的從站同步模式可以歸結為以下兩種:
第1種:如圖1所示,主站按照同步周期間隔性的產生同步信號。從站接收到同步信號后,首先需要將主站下發的數據存儲到本地接收緩存區,此為T1時間;接著對本地接收緩存數據按照應用層協議進行解析,獲得本地命令數據,此為T2時間;然后鎖存主站索取的反饋數據至本地發送緩存區,供主站讀取,此為T3時間。
第2種:如圖2所示,主站在產生同步信號之前會產生一個數據幀到達信號,從站在接收到數據幀到達信號之后,將主站下發的數據存儲到本地接收緩存區,然后等待同步信號的到來。當同步信號到達后,從站對本地接收緩存數據按照應用層協議進行解析,獲得本地命令數據,然后鎖存主站索取的反饋數據至本地發送緩存區,供主站讀取。這種做法可以減少同步信號到達之后至命令數據有效之間的時間,從而進一步提高同步性能。
對于多軸伺服驅動器而言,在上述兩種模式中,現有技術中通常采用應用層控制模塊在第一次進入同步中斷時計算多軸伺服驅動器的Tset,之后在每次進入同步中斷時計算中斷響應延時Δt1并根據Tset調整伺服程序定時周期,然而Tset是參考伺服時鐘工作,而伺服時鐘和從站時鐘沒有同步,隨著時間的推移,各軸的Tset將發生不同的變化。因此,各軸的伺服中斷程序之間是沒有同步的。
技術實現要素:
針對現有技術中的這些缺點,本發明的目的在于提供了一種多軸伺服驅動器同步系統控制方法,應用該方法可以確保在各軸伺服驅動器同步通信的過程中,同步過程中各周期互不干擾,且不會隨著時間的推移導致各軸伺服中斷程序之間依然同步,從而保證了數據和執行同步的準確性。
該方法為各軸伺服驅動器在同步信號SYNCEVT到達的同時,均重置伺服時鐘,使得各軸伺服時鐘在經過時間Tsync_off后才觸發伺服中斷程序;
其中時間Tsync_off滿足下列條件:Tcycle-Tjitter-Tservo>Tsync_off,Tcycle為伺服控制周期(即電流環周期),Tservo為伺服中斷程序執行時間,Tjitter為同步信號SYNCEVT抖動時間;
其中時間Tsync_off滿足下列條件:Tsync_off>Texchange+Tjitter,Texchange為伺服驅動器主控模塊和工業以太網協議模塊進行數據交互,Tjitter為同步信號SYNCEVT抖動時間;
Texchange=T1+T2+T3,主站下發的數據存儲到伺服驅動器本地接收緩存區,此為T1時間;接著對本地接收緩存數據按照應用層協議進行解析,獲得本地命令數據,此為T2時間;然后鎖存主站索取的反饋數據至本地發送緩存區,供主站讀取,此為T3時間;
Texchange=T2+T3,對伺服驅動器本地接收緩存數據按照應用層協議進行解析,獲得本地命令數據,此為T2時間;然后鎖存主站索取的反饋數據至伺服驅動器本地發送緩存區,供主站讀取,此為T3時間;
本發明的優點在于通過合理設置伺服時鐘重置后的間斷時間,實現主站時鐘、各軸從站時鐘以及各軸伺服時鐘的同步,即各軸的同步中斷程序和伺服中斷程序之間都是同步的,使得伺服中斷程序和同步中斷程序互不干擾,從而保證了調整后的各軸伺服中斷程序也是同步的。
附圖說明
圖1 現有技術中數據同步周期內的一種階段構成。
圖2現有技術中數據同步周期內的另一種階段構成。
圖3 本發明的一種多軸伺服驅動器同步控制系統的組成框圖。
具體實施方式
結合具體實施例對本發明進行具體說明如下:
本發明的多軸伺服驅動器同步控制方法中,共有3種時鐘,分別為主站時鐘,從站時鐘和伺服時鐘。主站時鐘和從站時鐘都服務于工業以太網協議,具體地,主站時鐘服務于上位控制器,從站時鐘服務于伺服驅動器的工業以太網協議處理模塊,伺服時鐘則服務于伺服驅動器的主控模塊。在伺服驅動器主控模塊中,存在兩個中斷程序,分別為伺服中斷程序和同步中斷程序。
如圖3所示,伺服驅動器主控模塊在接收到伺服驅動器的同步控制模塊產生的同步信號SYNCEVT后,觸發同步中斷程序。在同步中斷程序中,主控模塊和工業以太網協議模塊進行數據交互,此段時間記為Texchange。在同步信號SYNCEVT到達之后的時間Toffset后,伺服中斷程序觸發。由于時間Toffset是參考伺服時鐘計算的,而伺服時鐘和從站時鐘沒有同步,隨著時間的推移,各軸的時間Toffset將發生不同的變化。因此各軸的伺服中斷程序之間是沒有同步的。
為了達到各軸伺服中斷程序之間同步的目的,在同步信號SYNCEVT到達的同時,重置伺服時鐘,使得伺服時鐘在經過時間Tsync_off后產生伺服中斷程序。時間Tsync_off為預先設定的常量,時間Tsync_off需滿足以下條件:
Tcycle-Tjitter-Tservo>Tsync_off>Texchange+Tjitter
式中,Tcycle為伺服控制周期(即電流環周期),Tservo為伺服中斷程序執行時間,Tjitter為SYNCEVT抖動時間(此時間由具體的工業以太網協議決定,一般數值較小)。如果采用圖1所示的同步模式時,Texchange=T1+T2+T3,如果采用圖2所示的同步模式時,Texchange=T2+T3。
滿足Tsync_off>Texchange+Tjitter的條件,是為了保證在伺服中斷程序到來時,來自上位控制器的命令數據已經有效,伺服驅動器主控模塊可以立即使用并進行控制;滿足Tcycle-Tjitter-Tservo>Tsync_off的條件,是為了保證在SYNCEVT信號到達時,伺服中斷程序已經執行完畢,主控模塊可以立即響應同步中斷程序。
本發明的上述技術方案實現了主站時鐘、各軸從站時鐘以及各軸伺服時鐘的同步,即各軸的同步中斷程序和伺服中斷程序之間都是同步的,使得伺服中斷程序和同步中斷程序互不干擾,從而保證了調整后(或稱為同步后)的各軸伺服中斷程序也是同步的。
盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。