使用異步通信的運動控制系統和控制器及其方法
【技術領域】
[0001]本發明涉及運動控制系統領域,特別是使用異步通信的運動控制系統及其方法的領域。
【背景技術】
[0002]在傳統的運動控制系統中,完整系統被分為多個互相通信并需要彼此協調作用的子系統。對時間特性有限制的系統,交互必須以受控方式在給定時間間隔內完成。當系統中的設備數量增加時,問題將變得更加復雜;一個實際解決方案是使系統的最快部件具有最小時間段并使較慢部件具有多個最小時間段作為它們自己的周期。
[0003]通常情況下,上述策略是起作用的,但其具有至少以下這些缺點。如果具有不同周期的單元數量增加,其增加了系統的復雜性。尤其是,因為必須考慮歷史記錄,向系統中增加新的部件將變得更加困難。例如,在自動化機器中,對于該過程可能具有一合適的調整期,但不只是幾分之一秒,如85微秒。能夠以一周期相對較低的頻率計算設定值,該周期是調整期的多倍,如170、340、680微秒或更大。傳輸位置數據的與驅動系統的通信應當服從這些時刻安排。只要整個系統是專有的,將不會產生任何問題,一旦系統期望同其它系統交互,這將成為問題。
[0004]可選擇的解決方案是使得系統中斷驅動。這當然可以解決這一問題,但是給系統增加了其它類型的復雜度。中斷優先權的選擇必須非常的仔細,并且運算能力必須保證沒有功能失效的情況下解決最糟糕的情況,即所有的中斷同時發生。這導致出對系統的超越規范和對系統時間特性的更少控制的需求。
[0005]進一步地,系統必須被設計成一列數據的丟失不會導致整個系統故障。這就需要像舊數據的外推法或是相同數據的再使用等策略。
【發明內容】
[0006]因此,本發明的目的是提供一種使用異步通信的運動控制系統、控制器及其方法。
[0007]該運動控制系統包括:第一控制器,適于在一系列第一時鐘順序地準備多個數據并在一系列第二時鐘持續傳輸數據直到其接到確認;第二控制器,適于接收數據并通過返回確認來回應所述數據的正確接收;其中,一系列第一時鐘之間的間隔長于一系列第二時鐘之間的間隔。
[0008]用于異步通信的第一控制器包括:第一應用模塊,適于在一系列第一時鐘順序地準備多個數據并傳輸數據以響應于所述數據準備;第一通信模塊,適于接收來自第一應用模塊的數據并在一系列第二時鐘持續傳輸數據直到其接到確認;其中,一系列第一時鐘之間的間隔長于一系列第二時鐘之間的間隔。
[0009]用于異步通信的第二控制器包括:第二通信模塊,適于接收在一系列第二時鐘傳輸的數據,并通過返回確認來回應所述數據的正確接收,其中數據在一系列第一時鐘順序地準備;其中,一系列第一時鐘之間的間隔長于一系列第二時鐘之間的間隔。
[0010]遙控設備的異步通信方法包括以下步驟:(a)在一系列第一時鐘順序地準備多個數據并在一系列第二時鐘持續傳輸數據直到其接到確認;及(b)接收數據并通過返回確認來回應所述數據的正確接收;其中,一系列第一時鐘之間的間隔長于一系列第二時鐘之間的間隔。
[0011]通過以上設置,其能夠提供至少以下一種技術效果:1.第一控制器和第二控制器之間的異步通信;2.具有不同時鐘速率的兩個控制器可以相互通信;3.通過以高于準備或使用數據所用頻率的頻率重新傳輸數據以避免丟失數據;4.重復使用第一時鐘之間的間隔以一系列第二時鐘傳輸數據。
【附圖說明】
[0012]下面將參照下文中的附圖描述的優選實施方案詳細地描述本發明的主題,其中:
[0013]圖1示出根據本發明實施例的使用異步通信的運動控制系統的框圖;
[0014]圖2示出根據圖1的第一控制器和第二控制器之間通信的調度方案;
[0015]圖3示出根據圖1的運動控制系統的模塊級別的框圖;及
[0016]圖4示出根據本發明的實施例的用于過程的示例性調度方案。
[0017]附圖中使用的附圖標記及其意義被列在附圖標記列表的總結表中。一般而言,附圖中相同的部件具有相同的附圖標記。
【具體實施方式】
[0018]圖1示出根據本發明的實施例的使用異步通信的運動控制系統的框圖。如圖1所示,所述運動控制系統I包括第一控制器10和第二控制器11。例如,第一控制器10和第二控制器11可通過可編程芯片實現,如現場可編程門陣列(FPGA)或是專用集成電路(ASIC)或是兩者與中央處理器的組合。這樣的硬件被設計成由使用者或是設計者在制造后進行配置的集成電路,因此是“現場可編程的”,這樣其能夠執行期望的功能,如控制、通信、傳感、數據處理等。第一控制器10和第二控制器11通過網絡12 (如現場總線)進行連接。現場總線是這里用于實時分散控制的工業通信網絡協議的一種。
[0019]圖2示出根據圖1的第一控制器和第二控制器之間通信的調度方案。如圖2所示,第一控制器10適于在一系列的第一時鐘CLKl順序地準備多個數據,并在一系列的第二時鐘CLK2持續向第二控制器11傳輸數據,直到第一控制器10接收到由第二控制器11發出的確認;第二控制器11適于接收由第一控制器10傳輸的數據并通過向第一控制器10返回確認來回應所述數據的正確接收;一系列第一時鐘CLKl之間的間隔長于一系列第二時鐘CLK2之間的間隔,并短于或是等于數據使用所用的間隔。第一控制器10還適于傳輸下一數據以響應于第一控制器10接收第二控制器對當前數據的正確接收的確認。在第一時鐘之間的間隔中,數據由第一控制器10在一系列的第二時鐘傳輸,直到所述數據被第二控制器11正確接收。通過以上設置,其能夠提供至少以下一種技術效果:1.第一控制器和第二控制器之間的異步通信;2.具有不同時鐘速率的兩個控制器可以相互通信;3.以高于準備或待使用所述數據所用頻率的頻率重新傳輸所述數據以避免丟失數據;4.重復使用第一時鐘之間的間隔以一系列的第二時鐘傳輸數據。
[0020]圖3示出根據圖1的運動控制系統的模塊級別的框圖。如圖3所示,第一控制器10包括第一應用模塊100和第一通信模塊101 ;第二控制器11包括第二通信模塊110。第一控制器10和第二控制器11的硬件,如現場可編程門陣列(FPGA)或是專用集成電路(ASIC)或是兩者與中央處理器的組合,能夠通過將程序的功能分離到獨立的、可互換的模塊中來進行模塊化編程,這樣每個都包含僅執行期望功能的一個方面所必需的所有東西。第一控制器10進行模塊化編程使得:第一應用模塊100適于數據準備并將數據發送給第一通信模塊101以響應于數據準備,第一通信模塊101適于接收數據并在一系列第二時鐘傳輸數據。第二控制器11被模塊化編程為使得第二通信模塊110適于數據的接收并回應所述數據的正確接收。
[0021]例如,第一應用模塊能夠適于在一系列第一時鐘的CLKl (i)順序地準備數據Data(i),其中i是表示范圍從O到N的標引的自然數。第一應用模塊100能夠適于將Data(i)發送給第一通信模塊101以響應Data(i)的準備,例如在相應的數據準備完成時/之后。第一通信模塊能夠適于在一系列的第二時鐘CLK2向第二通信模塊110傳輸數據Data(i)。第二通信模塊110能夠適于接收Data(i)并回應Data(i)的正確接收。響應于第一通信模塊101接收第二通信模塊110正確接收Data(i)的確認,第一通信模塊101適于停止發送Data (i)直到其接收到第一應用模塊100發送的Data(i+1),并對Data(i+1)執行同樣的過程。通過將控制器模塊化程序,特別是將通信模塊從應用模塊中分離,有助于產生有效的且時間準確的通信和同步。
[0022]進一步參照圖3,通過模塊化