位置抓取功能 (Touch Probe)

位置抓取功能在觸發事件發生時記錄軸的位置,當數位輸入 (Digital Input,DI) 的數據發送到伺服驅動器時,驅動器或 KINGSTAR 將記錄軸的位置。若欲使用硬體位置抓取功能,則該軸需要連接驅動器上的位置抓取功能針腳,對於支援此功能的軸,驅動器本身可以記錄以 Z 相訊號或外部 DI 觸發當時的位置數值,因此值將會更為準確,KINGSTAR homingLatch 模式即是仰賴此功能。我們亦提供軟體位置抓取功能,其使用基於 EtherCAT 總線上任何可用輸入的位置。

使用方式

首先,發送 SetAxisTouchProbe,接著再發送 MoveHomeAxis 以移動軸,在接收到輸入的觸發訊號(上升邊緣或下降邊緣)或 Z 相觸發訊號後,軸的位置將被記錄,若需記錄新的位置,需先使用 SetAxisTouchProbe 來解除之前的位置抓取功能的控制,請注意,在 KINGSTAR 3.8 (含)更舊版本中,需在啟動位置抓取功能後等待一個週期後再呼叫 HomeAxis (在 3.x 版本中為 MC_Home),如此才能偵測到已啟動的位置抓取功能。

配置

欲使用硬體(驅動器內)位置抓取功能,需設定三項參數:a. 位置抓取功能 ID:決定使用通道 ID 0 或 1;b. IndexPulse:選定 Z 相訊號而不是外部 DI;c. Edge:選定偵測訊號上升或下降邊緣,非所有驅動器接支援此功能,因此請查詢您的硬體支援項目。

欲使用軟體位置抓取功能(由 KINGSTAR 計算),需選定使用輸入訊號的來源類型(軸或模組)、索引偏移量 (Offset),亦需選定使用的訊號邊緣。

使用硬體位置抓取功能:

  1. McProbeTrigger 結構定義為以下:
  2. 位置抓取功能 ID (TouchProbeID):0=>選擇第一個通道。

    軟體 (Software):FALSE

    邊緣 (Edge):TRUE=>上升邊緣

    IndexPulse:TRUE=> Z 相訊號

    軸 (Axix):FALSE=> 忽略

    索引 (Index):0=> 忽略

    偏移 (Offset):0=> 忽略

  3. 發送 SetAxisTouchProbe

使用軟體位置抓取功能:

  1. McProbeTrigger 結構定義為以下:
  2. 位置抓取功能 ID (TouchProbeID): 0

    軟體 (Software):TRUE

    邊緣 (Edge):TRUE=>上升邊緣

    IndexPulse:FALSE=> 忽略

    軸 (Axis):FALSE→ 若欲使用從軸輸入的數位輸入,將此設為 TRUE

    索引 (Index):0→ 模組的索引

    偏移 (Offset):0→ 模組輸入偏移量

  3. 發送 SetAxisTouchProbe

記錄與讀取位置

首次發送 SetAxisTouchProbe 時,它將依照觸發訊號狀態記錄軸的位置;若第二次發送 SetAxisTouchProbe 時,它可讀取 SetAxisTouchProbe 之狀態。若需要伺服馬達移動到新的位置時記錄數值,則必須先使用 GetCommandStatus 來解除先前 Touch probe 的控制,再發送 SetAxisTouchProbe 命令,否則 SetAxisTouchProbe 不會記錄伺服馬達新的位置數值,而仍是首次記錄的位置數值。

驅動訊號範圍

SetAxisTouchProbe 中的 WindowOnly 參數是一可限定觸發訊號發生位置的範圍來記錄軸位置的功能,超出此範圍的任何位置都不會觸發訊號。FirstPosition LastPosition 為範圍的起始與結束位置,例如,若 Z 相觸發訊號發生的位置在 20000,FirstPosition LastPosition 分別在 40000 和 60000,則此 Z 相觸發訊號對應的軸位置將永遠不會被記錄;若 Z 相觸發訊號發生的位置在 50000,則軸到達 50000 時將會記錄此軸位置。若一 DI 觸發訊號發生在 40000 至 60000 之間,當 DI 訊號觸發時,SetAxisTouchProbe 也會記錄此軸位置。

參見

RT 與 Win32 - KINGSTAR 運動 - 軸控制

SetAxisTouchProbe

.NET API - 運動類別 - 軸控制

SetAxisTouchProbe

.NET 類別 - IAxis 介面 - 方法

IAxis.TouchProbe

PLC 功能塊 - 位置抓取功能

MC_TouchProbe