西門子S7-300模塊總代理
西門子S7-300模塊總代理
西門子S7-300模塊總代理
運動控制指令使用準則
必須確保在同一時間僅有一條運動指令激活。
可在中斷例程中執(zhí)行 AXISx_RUN 和 AXISx_GOTO。 但是,如果運動軸正在處理另一命令時,不要嘗試在中斷例程中啟動指令。 如果在中斷程序中啟動指令,則可使用 AXISx_CTRL 指令的輸出來監(jiān)視運動軸是否完成移動。
運動向導根據(jù)所選的度量系統(tǒng)自動組態(tài)速度參數(shù)(Speed 和 C_Speed)和位置參數(shù)(Pos 或 C_Pos)的值。 對于脈沖,這些參數(shù)為 DINT 值。 對于工程單位,這些參數(shù)是所選單位類型對應的 REAL 值。例如: 如果選擇厘米 (cm),則以厘米為單位將位置參數(shù)存儲為 REAL 值并以厘米/秒 (cm/sec) 為單位將速度參數(shù)存儲為 REAL 值。
有些特定位置控制任務需要以下運動指令:
要在每次掃描時執(zhí)行指令,請在程序中插入 AXISx_CTRL 指令并使用 SM0.0 觸點。
要運動到位置,必須首先使用 AXISx_RSEEK 或 AXISx_LDPOS 指令建立零位置。
要根據(jù)程序輸入移動到特定位置,請使用 AXISx_GOTO 指令。
要運行通過位置控制向導組態(tài)的運動包絡,請使用 AXISx_RUN 指令。
其它位置指令為可選項。
常用運動控制指令介紹
- AXISx_CTRL
功能:啟用和初始化運動軸,方法是自動命令運動軸每次 CPU 更改為 RUN 模式時加載組態(tài)/包絡表。
圖 1. AXISx_CTRL指令注意:
在您的項目中只對每條運動軸使用此子例程一次,并確保程序會在每次掃描時調用此子例程。使用 SM0.0(始終開啟)作為 EN 參數(shù)的輸入。
MOD_EN 參數(shù)必須開啟,才能啟用其它運動控制子例程向運動軸發(fā)送命令。 如果 MOD_EN 參數(shù)關閉,運動軸會中止所有正在進行的命令;
Done 參數(shù)會在運動軸完成任何一個子例程時開啟;
Error 參數(shù)存儲該子程序運行時的錯誤代碼;
C_Pos 參數(shù)表示運動軸的當前位置。 根據(jù)測量單位,該值是脈沖數(shù) (DINT) 或工程單位數(shù) (REAL);
C_Speed 參數(shù)提供運動軸的當前速度。 如果您針對脈沖組態(tài)運動軸的測量系統(tǒng),C_Speed 是一個 DINT 數(shù)值,其中包含脈沖數(shù)/每秒。如果您針對工程單位組態(tài)測量系統(tǒng),C_Speed 是一個 REAL 數(shù)值,其中包含選擇的工程單位數(shù)/每秒 (REAL)。
C_Dir 參數(shù)表示電機的當前方向:信號狀態(tài) 0 = 正向;信號狀態(tài) 1 = 反向;
- AXISx_DIS
功能:運動軸的 DIS 輸出打開或關閉。這允許您將 DIS 輸出用于禁用或啟用電機控制器。
圖 2. AXISx_DIS指令
EN 位打開以啟用子例程時,DIS_ON 參數(shù)控制運動軸的 DIS 輸出。注意:
如果您在運動軸中使用 DIS 輸出,可以在每次掃描時調用該子例程,或者僅在您需要更改 DIS 輸出值時進行調用。若實際DIS連接了電機驅動器的DIS輸入,如果不使能則可能導致電機不運轉。
- AXISx_MAN
功能:將運動軸置為手動模式。 這允許電機按不同的速度運行,或沿正向或負向慢進。
圖 3. AXISx_MAN指令
RUN 參數(shù)會命令運動軸加速至的速度(Speed 參數(shù))和方向(Dir 參數(shù))。 您可以在電機運行時更改 Speed 參數(shù),但 Dir 參數(shù)必須保持為常數(shù)。 禁用 RUN 參數(shù)會命令運動軸減速,直至電機停止;
JOG_P(點動正向旋轉)或 JOG_N(點動反向旋轉)參數(shù)會命令運動軸正向或反向點動。 如果 JOG_P 或 JOG_N 參數(shù)保持啟用的時間短于 0.5秒,則運動軸將通過脈沖指示移動 JOG_INCREMENT 中的距離。 如果 JOG_P 或 JOG_N 參數(shù)保持啟用的時間為 0.5秒或更長,則運動軸將開始加速至的 JOG_SPEED;
Speed 參數(shù)決定啟用 RUN 時的速度。 如果您針對脈沖組態(tài)運動軸的測量系統(tǒng),則速度為 DINT 值(脈沖數(shù)/每秒)。 如果您針對工程單位組態(tài)運動軸的測量系統(tǒng),則速度為 REAL 值(單位數(shù)/每秒)。注意:同一時間僅能啟用 RUN、JOG_P 或 JOG_N 輸入之一。
- AXISx_RSEEK
功能:使用組態(tài)/包絡表中的搜索方法啟動參考點搜索操作。當運動軸找到參考點且移動停止時,運動軸將 RP_OFFSET 參數(shù)值載入當前位置。
圖 4. AXISx_RSEEK指令
RP_OFFSET 的默認值為 0。 可使用運動控制向導、運動控制面板或 AXISx_LDOFF(加載偏移量)子例程來更改 RP_OFFSET 值;
EN 位開啟會啟用此子例程。確保 EN 位保持開啟,直至 Done 位指示子例程執(zhí)行已經完成;
START 參數(shù)開啟將向運動軸發(fā)出 RSEEK 命令。 對于在 START 參數(shù)開啟且運動軸當前不繁忙時執(zhí)行的每次掃描,該子例程向運動軸發(fā)送一個 RSEEK 命令。為了確保僅發(fā)送了一個命令,請使用邊沿檢測元素用脈沖方式開啟 START 參數(shù)。
- AXISx_GOTO
功能:命令運動軸轉到所需位置。
圖 5. AXISx_GOTO指令
START 參數(shù)開啟會向運動軸發(fā)出 GOTO 命令。 對于在 START 參數(shù)開啟且運動軸當前不繁忙時執(zhí)行的每次掃描,該子例程向運動軸發(fā)送一個 GOTO 命令。為了確保僅發(fā)送了一個 GOTO 命令,請使用邊沿檢測元素用脈沖方式開啟 START 參數(shù);
Pos 參數(shù)包含一個數(shù)值,指示要移動的位置(移動)或要移動的距離(相對移動)。 根據(jù)所選的測量單位,該值是脈沖數(shù) (DINT) 或工程單位數(shù) (REAL);
Speed 參數(shù)確定該移動的速度。 根據(jù)所選的測量單位,該值是脈沖數(shù)/每秒 (DINT) 或工程單位數(shù)/每秒 (REAL);
Mode 參數(shù)選擇移動的類型:
0:位置
1:相對位置
2:單速連續(xù)正向旋轉
3:單速連續(xù)反向旋轉
Abort 參數(shù)啟動會命令運動軸停止當前包絡并減速,直至電機停止。注意:若 Mode 參數(shù)設置為 0,則必須首先使用 AXISx_RSEEK 或 AXISx_LDPOS 指令建立零位置。
AXISx_RUN
功能:命令運動軸按照存儲在組態(tài)/包絡表的特定包絡執(zhí)行運動操作。
圖 6. AXISx_RUN指令
START 參數(shù)開啟將向運動軸發(fā)出 RUN 命令。 對于在 START 參數(shù)開啟且運動軸當前不繁忙時執(zhí)行的每次掃描,該子例程向運動軸發(fā)送一個 RUN 命令。為了確保僅發(fā)送了一個命令,請使用邊沿檢測元素用脈沖方式開啟 START 參數(shù);
Profile 參數(shù)包含運動包絡的編號或符號名稱。 “Profile”輸入必須介于 0 - 31。否則子例程將返回錯誤;
Abort 參數(shù)會命令運動軸停止當前包絡并減速,直至電機停止;
C_Profile 參數(shù)包含運動軸當前執(zhí)行的包絡;
C_Step 參數(shù)包含目前正在執(zhí)行的包絡步。AXISx_LDOFF
功能:建立一個與參考點處于不同位置的新的零位置。
圖 7. AXISx_LDOFF指令
開啟 START 參數(shù)將向運動軸發(fā)出 LDOFF 命令。 對于在 START 參數(shù)開啟且運動軸當前不繁忙時執(zhí)行的每次掃描,該子例程向運動軸發(fā)送一個 LDOFF 命令。為了確保僅發(fā)送了一個命令,請使用邊沿檢測元素用脈沖方式開啟 START 參數(shù)。注意:
在執(zhí)行該子例程之前,您必須首先確定參考點的位置。您還必須將機器移至起始位置。 當子例程發(fā)送 LDOFF 命令時,運動軸計算起始位置(當前位置)與參考點位置之間的偏移量。 運動軸然后將算出的偏移量存儲到 RP_OFFSET 參數(shù)并將當前位置設為 0。這將起始位置建立為零位置。
如果電機失去對位置的追蹤(例如斷電或手動更換電機的位置),您可以使用 AXISx_RSEEK 子例程自動重新建立零位置。- AXISx_LDPOS
功能:將運動軸中的當前位置值更改為新值。您還可以使用本子例程為任何移動命令建立一個新的零位置。
圖 8. AXISx_LDPOS指令
START 參數(shù)開啟將向運動軸發(fā)出 LDPOS 命令。 對于在 START 參數(shù)開啟且運動軸當前不繁忙時執(zhí)行的每次掃描,該子例程向運動軸發(fā)送一個 LDPOS 命令。為了確保僅發(fā)送了一個命令,請使用邊沿檢測元素用脈沖方式開啟 START 參數(shù);
New_Pos 參數(shù)提供新值,用于取代運動軸報告和用于移動的當前位置值。 根據(jù)測量單位,該值是脈沖數(shù) (DINT) 或工程單位數(shù) (REAL)