目錄
前麵詳細講述了運動控製向導的配置和運動控製指令的使用方法,接下來要講的是簡單程序的編寫(xie) 和調試。
在編寫(xie) 程序時,需要注意的是自定義(yi) 的符號和地址不能與(yu) 運動控製向導分配的存儲(chu) 器衝(chong) 突。
一、軟硬件組成
1、軟件:STEP-7-Micro/WIN SMART軟件;
2、硬件:西門子S7-200 SMART ST40 PLC、57步進電機和驅動器(DM542)。
二、手動控製步進電機旋轉方向和速度
具體(ti) 步驟如下:
1、為(wei) 手動控製模式寫(xie) 入運動速度(在程序運動過程中也可通過狀態圖標進行修改);
2、調用“AXISx_CTRL”指令啟用和初始化運動軸;
“AXISx_CTRL”指令的“MOD_EN”參數必須開啟,才能啟用其他運動控製指令向運動軸發送命令,如果參數關(guan) 閉,運動軸會(hui) 中止所有正在進行的命令,因此在程序使用始終接通的“SM0.0”使能該指令。
3、調用“AXISx_MAN”指令將運動軸配置為(wei) 手動控製,使用該指令允許步進電機按照不同的速度運行,或沿正向或負向慢進。
在使用該指令時同一時間僅(jin) 能啟用RUN、JOG_P、JOG_N輸入之一。
在電機運行時可以通過更改Speed(速度)參數修改步進電機的運行速度,但Dir(方向)參數,必須保持為(wei) 常數,即步進電機停止後才能調整旋轉方向。
特別需要注意的是,在整個(ge) 程序中,“AXISx_MAN”指令隻能出現一次,當需要多次調用該指令時,可以通過子程序進行調用。
梯形圖程序如圖1所示。 AXIS0_MAN指令
圖1 程序1
三、命令運動軸轉以指定的速度運動到所需的位置
具體(ti) 步驟如下:
1、調用“AXISx_CTRL”指令啟用和初始化運動軸;
“AXISx_CTRL”指令的“MOD_EN”參數必須開啟,才能啟用其他運動控製指令向運動軸發送命令,如果參數關(guan) 閉,運動軸會(hui) 中止所有正在進行的命令,因此在程序使用始終接通的“SM0.0”使能該指令。
2、調用“AXISx_GOTO”指令命令運動軸以指定速度運動到所需位置。
通過Pos和Speed參數設置運動的速度和位置,可以為(wei) 定值或變量,使用變量可在調試時進行修改。在該模式下,步進電機的旋轉方向由Pos參數的正負確定。
Mode參數選擇移動的類型:
0:絕對位置
1:相對位置
2:單速連續正向旋轉
3:單速連續反向旋轉
若Mode參數設置為(wei) 0,則必須首先使用AXISx_RSEEK或AXISx_LDPOS指令建立零位置。
梯形圖程序如圖2所示。
圖2 程序2
四、CPU掉電重啟後保持運動控製的當前位置
因為(wei) 西門子S7-200 SMART PLC掉電重啟後用於(yu) 初始化指令的執行,當前位置會(hui) 複位為(wei) 0,因此需要通過程序使CPU掉電重啟後保持運動控製的當前位置,具體(ti) 步驟如下:
1、在項目樹中雙擊CPU,在彈出的係統塊中選擇“保持範圍”,設置兩(liang) 個(ge) 斷電保持區域:VD1000、VD1004,如圖3和圖4所示;
圖3 選擇CPU係統塊
圖4 設置斷電保持區域
2、將當前位置值在第一個(ge) 掃描周期內(nei) 傳(chuan) 送到保持位置VD1004內(nei) ,在除第一個(ge) 掃描周期外將當前位置值傳(chuan) 送到保持位置VD1000內(nei) ,如圖5所示;
圖5 對變量進行處理
3、用初始化指令"AXIS0_CTRL"對運動軸進行初始化,如圖6所示;
圖6 運動軸初始化
4、用"AXIS0_MAN"指令對運動軸進行手動控製,如圖7所示;
圖7 運動軸手動控製
5、用初始化指令"AXIS0_CTRL"的DONE位來觸發修改位置指令"AXIS0_LDPOS",將保持位置VD1000裝載到當前位置VD200,如圖8所示;
圖8 “AXIS0_LDPOS”初始化
6、將程序編譯並下載到CPU中運行;
7、在狀態圖標中輸入地址VD200、VD300、VD1000、VD1004、V100.0、V100.2、V100.7,開始持續監視狀態圖表中的變量,如圖9所示;
圖9 狀態圖表
8、修改運動軸手動控製速度,將V100.2置位,使步進電機旋轉一定的角度,觀察VD200和VD1000兩(liang) 個(ge) 地址當前值的變化,如圖10所示;
圖10 使步進電機開始運動
9、停止監視狀態圖表中的變量,PLC斷電後重新運行,再開始持續監視狀態圖表中的變量,對比VD1004地址的當前值和步驟8中VD200與(yu) VD1000地址對應值的關(guan) 係,如圖11所示;
圖11 斷電重新運行後變量狀態