技術文章

Part-Speed PSO | 在複雜運動學系統上實現以指令速度為基礎的位置同步輸出

Part-Speed 位置同步輸出 (PSO):為複雜運動學系統解放高精度製程觸發能力

Part-Speed 位置同步輸出 (Position Synchronized Output, PSO) 是 Aerotech PSO 先進控制器功能的一種高效追蹤模式,Part-Speed PSO 能夠依據指令的向量速度,下達高速、低延遲的輸出脈衝。

擴展 PSO 的功能性

長期以來,無論是工業界還是學術研究領域的使用者,都廣泛運用 Aerotech 的 PSO 控制器功能來對其製程工具(如雷射、感測器、相機或其他裝置)下達指令,實現極高的重複率與極低的延遲,這種製程與運動控制的無縫整合,正是 Aerotech 控制器備受青睞的因素之一。

標準的 PSO 通常需要直接存取最多三個軸向的編碼器回饋,以便計算移動的向量距離,雖然要求存取實際位置有其優點,但這也成為某些應用導入 PSO 的限制因素,由於計算 PSO 觸發事件間距時,需使用平方和的開根號公式,傳統上只有 X/Y/Z 直角座標系統才能使用 PSO。

Part-Speed PSO 讓使用者即使在編碼器回饋為非線性或無法存取的情況下,也能運用 PSO 的強大功能,透過 Aerotech 的 Automation1 控制器與 Part-Speed PSO,PSO 輸出的控制可以改為依據您的製程工具相對於待加工零件的速度指令,此功能讓 PSO 得以應用於數種新的情境,例如:

  1. 工件空間(程式設計)的座標系與機台空間(運動軸)的座標系不一致,這可能出於以下原因:
    • X/Y/Z 位置指令經過運動學轉換(例如四軸系統、五軸系統、三軸雷射掃描振鏡史都華六軸平台等)進行修正。
    • 透過旋轉軸來達成刀具垂直度控制。
    • 使用非線性軸向來完成線性移動(圖 1 描繪了一個系統,其中 Y 方向的運動可透過平移 Y 軸及旋轉 A 軸來達成)。
  2. PSO 硬體電路所需的編碼器回饋類型無法取得,這可能因為:
    • 使用了不相容於 PSO 的回饋裝置(如絕對式編碼器)。
    • 期望減少佈線的複雜性。

圖 1. 此圖展示了一個五軸機台的配置,在此配置中,使用者在 X/Y/Z「工件」空間進行程式設計,而運動指令則下達給 X、Y、Z、A 和 B 等「實體」軸,A 軸和 C 軸通常用於維持製程工具與待加工零件表面之間的垂直度。

Part-Speed PSO 程式設計

以下的程式設計範例採用了這些軸向配置:

  • X 和 Y 是工作空間內的虛擬軸
  • x 是一個實體軸(換句話說,是一個連接到 Automation1 控制器網路的實際驅動器)。
  • 另請注意,x 可能不是唯一被下達指令的實體軸,但它是包含實體 PSO 輸出與硬體的軸。

Part-Speed PSO 的配置是透過擴展現有的 Automation1 指令來完成:

  • PsoDistanceConfigureInputs 可以被設定為依據一個內部脈衝產生器來追蹤距離。
  • 脈衝是根據 DrivePulseStreamConfigure 函式中宣告的軸向輸入來產生。
  • DrivePulseStreamConfigure 函式用於設定將用來產生被追蹤速度指令的軸向,此速度指令隨後會透過計算所指定各軸向分量的平方和再開根號得出,在範例程式中,被追蹤的是虛擬軸 X 和 Y,PsoDistanceConfigureInputs 函式也用於決定哪個實體驅動器將接收此速度指令,在此範例中,接收者是「實體」x 軸,因此,「實體」x 軸是接收所有 PSO 指令的軸,包括 PsoDistanceConfigureInputs 函式。

設定 Part-Speed PSO 的範例程式


圖 2. 設定 Part-Speed PSO 的 AeroScript 程式檔案範例


Aerotech 最近的另一篇白皮書《使用 StatusGetAxisItemFast() 實現客製化關聯與協調運動》中,討論了 Automation1 控制器如何快速實現先進的運動學關聯,雖然本白皮書未深入探討,但將運動學程式(通常在獨立的控制器程式設計「任務」中運行)與 Part-Speed PSO 結合使用,展示了此項新控制器功能最先進的實作方式,當您對虛擬軸進行程式設計,並使用虛擬軸的指令向量速度作為 PsoDistanceConfigureInputs 函式的輸入時,獨立的運動學程式會對實體軸下達指令,從而有效地移動您的工作點,正如您對虛擬軸所下達的指令一樣。

技術考量

在實作 Part-Speed PSO 時,應考量以下幾點。

首先,DrivePulseStreamOn 函式脈衝產生器的輸出速率上限為 95 MHz,虛擬軸的 CountsPerUnit 參數和程式設計的速度(進給率)將決定脈衝流的資料速率,最大允許的程式設計速度,即「進給率」(FeedRate),可由以下公式確定: FeedRate=EncoderCountFreq/CountsPerUnit 其中 EncoderCountFreq=95 MHz。

其次,CountsPerUnit 參數的選擇應確保工作空間中虛擬軸的解析度小於程式配置中指定的 PsoDistanceConfigureFixedDistance(參考範例程式碼的第 14 行)。

第三,Aerotech 驅動器上的 PSO 輸出對於 PSO 輸出脈衝有其輸出頻率限制,利用此參考頻率限制,脈衝之間的最小間距可由以下公式確定: MinSpacing=FeedRate/LaserOutputFreq 其中 LaserOutputFreq 是根據適用的驅動器硬體手冊所確定的值。

延伸閱讀

相關產品