ECAM物件,為一種虛擬軸,設計架構與A2相同,差異是物件可程式化,提供更靈活的E-Cam運動控制,主要應用於路徑疊加、分散式運動控制。
|
框架流程 |
詳解 |
|
宣告ECAM元件實體 |
在全域符號中宣告物件實體。例如宣告名為ECM1的ECAM物件:
|
|
設定參數 |
設定主軸來源→設定ECAM表→設定嚙合條件→設定脫離條件→設定凸輪倍率→啟動凸輪。 CALL_OBJ_FUN ECM1:setMasterSource(X,Timer,NO_CARE,RCODE) CALL_OBJ_FUN
ECM1:configECAMTable(50,5,1,1000,1.0,RCODE) CALL_OBJ_FUN
ECM1:configEngage(immediate,0,RCODE) CALL_OBJ_FUN
ECM1:configDisEngage(0,YES,0,0,RCODE) CALL_OBJ_FUN ECM1:start() |
|
配置執行方式 |
在"工作_0"中撰寫執行條件為ON的MSM程式,令ECAM高速計算,並將結果輸出到實體軸。 CALL_OBJ_FUN
ECM1:calculateY() LACCL
@ECM1.Y_Inc LOOP_CMD 0x20,X_AXIS |
|
配置停止運動 |
在"工作_背景"中撰寫執行條件為PLS或PLF的MSM程式,來執行停止運動。ECAM的停止運動只會停止ECAM本身,若實體軸有其他運動命令,不會被影響。 CALL_OBJ_FUN ECM1:end() |
|
屬性名稱 |
型態 |
屬性 |
預設值 |
說明 |
單位 |
|
DINT |
R/W |
0 |
凸輪表倍率 |
1000000 = 1.0倍 |
|
|
DINT |
R |
0 |
主軸累積量 |
PUU |
|
|
DINT |
R |
0 |
主軸增量 |
PUU |
|
|
DINT |
R |
0 |
凸輪位置 |
PUU |
|
|
DINT |
R |
0 |
凸輪增量 |
PUU |
功能
凸輪計算Y相關變數一次。
功能
啟動凸輪,calculateY之前必須先啟動凸輪。
功能
關閉凸輪。
功能
設定運動速度。
參數
|
屬性名稱 |
型態 |
說明 |
|
axis |
INT |
主軸來源1 |
|
category |
INT |
主軸來源2 |
|
id |
INT |
主軸來源2參數 |
|
exeStatus |
INT |
執行狀態 |
功能
設定凸輪表。
參數
|
屬性名稱 |
型態 |
說明 |
|
ArrStartIdx |
INT |
陣列初始位置 |
|
N |
INT |
凸輪區域數目N(至少>=5),仿P5-82 |
|
M |
INT |
Master齒輪比設定M,仿P5-83 |
|
P |
DINT |
Master齒輪比設定P,仿P5-84 |
|
scale |
REAL48 |
電子凸輪的曲線表格倍率設定,仿P5-19 |
|
exeStatus |
INT |
執行結果 |
功能
設定嚙合條件。
參數
|
屬性名稱 |
型態 |
說明 |
|
criteria |
INT |
嚙合方式 |
|
leadCnt |
DINT |
前置量 |
|
exeStatus |
INT |
執行結果 |
功能
設定脫離條件。
參數
|
屬性名稱 |
型態 |
說明 |
|
criteria |
INT |
脫離方式 |
|
stopWhenDisEgg |
INT |
脫離後是否停止 |
|
disEngageCnt |
DINT |
脫離位置 |
|
reLeadCnt |
DINT |
脫離前置量 |
|
exeStatus |
INT |
執行結果 |