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