MC_CamTableSelect

功能塊 MC_CamTableSelect
透過設置與相關表的連接來選擇凸輪表。
VAR_IN_OUT
V CamIn CAM_REF 凸輪表的索引,索引以零為起點。
VAR_INPUT
B Execute BOOL 上升邊緣處的選擇。
E 週期性 (Periodic) BOOL

決定是否重複凸輪曲線,1 = 週期性;0 = 非週期性(單次)。

週期性:即使在凸輪曲線與模數不相容的情況下仍連續性地重複執行凸輪曲線,意指當模數軸的模數為 360 度,而軸曲線指定為 90 度,則此軸將會在模數中執行四次。在反向模式下,曲線以相反的方式運行。

非週期性:僅執行一次凸輪曲線,若主軸移出範圍外,從軸即停止跟隨並停止在凸輪表中的最後一個位置,而從軸狀態將回到靜止 (StandStill)。在反向模式中,凸輪曲線在到達 “EndOfProfile” 位置後不執行,若以上述指定 90 度凸輪曲線為例,僅會執行一次凸輪曲線。

E MasterAbsolute BOOL 選擇主軸的絕對或相對座標,1 = 絕對座標;0 = 相對座標,預設值為 0。
E SlaveAbsolute BOOL 選擇從軸的絕對或相對座標,1 = 絕對座標;0 = 相對座標,預設值為 0。
V Length DINT MasterPositions 與 SlavePositions 陣列之長度。
V MasterPositions ARRAY [0..2047] OF LREAL 凸輪表中儲存主軸位置的陣列。
V SlavePositions ARRAY [0..2047] OF LREAL 凸輪表中儲存從軸位置的陣列。
V PointParameters ARRAY [0..2047] OF LREAL

表點的附加參數,取決於其插補類型。

直線插補:null。

Poly5 插補:有四個點類型,"!=" 表示 "不等於"。

  • StopPoint: Vel = 0; Acc = 0;
  • VelocityPoint: Vel != 0; Acc = 0;
  • AccelerationPoint: Vel = 0; Acc != 0;
  • MovePoint: Vel != 0; Acc != 0;
V InterpolationType MC_CamInterpolationType 目前此提供直線插補類型。
VAR_OUTPUT
B Done BOOL 凸輪表設定已完成。
E Busy BOOL 功能塊尚未完成且預期將有新的輸出值。
E CommandAborted BOOL 命令被另一個命令中止。
B Error BOOL 功能塊中出現錯誤的訊號。
E ErrorID MC_Error 錯誤識別。
  • 更多關於凸輪表的運作方式之資訊請見 凸輪
  • 模擬軸可用作主軸。
  • 凸輪表的索引為供應商特定的資料類型。
  • MC_CamTableSelect 允許選擇包含資料的凸輪表以進行凸輪移動,包含:
    1. 下載凸輪曲線的起點。
    2. 開始生成凸輪曲線。
  • Done 輸出已設定,凸輪表的索引即在 MC_CamIn 中隨時可用。

 

  MC_CamTableSelect  
CAM_REF   CamIn   Cam   CAM_REF
BOOL   Execute   Done   BOOL
BOOL   Periodic   Busy   BOOL
BOOL   MasterAbsolute   CommandAborted   BOOL
BOOL   SlaveAbsolute   Error   BOOL
DINT   Length   ErrorID   MC_Error
ARRAY [0..2047] OF LREAL   MasterPositions        
ARRAY [0..2047] OF LREAL   SlavePositions        
ARRAY [0..2047] OF LREAL   PointParameters        
MC_CamInterpolationType   InterpolationType