s7-200控制步進電機正反轉(zhuǎn)
112.95.251.214
發(fā)布于2014-04-28 17:51
8
0
標簽:
用pto怎么才能讓步進電機走完一段距離后自動反轉(zhuǎn)回來?外部沒有開關(guān)
佳答案
1、主程序先正轉(zhuǎn),等到正轉(zhuǎn)完了就中斷,中斷中接通個輔助觸點(m0.x),當m.0x閉合,住程序中的反轉(zhuǎn)開始運做.這樣子就ok了。
2、用pto指令讓q0.0orq0.1高速脈沖,另一個點如q0.2做方向信號,就可以控制正反轉(zhuǎn)了,速度快慢就要控制輸出脈沖周期了,周期越短速度越快,如果速度很快的話請考慮緩慢加速,不然它是啟動不了的,如果方向也變的快的話就要還做一個緩慢減速,不然它振動會蠻厲害,而且也會失步。
3、程network1//用于單段脈沖串操作的主程序(pto)
//首次掃描時,將映像寄存器位設為低
//并調(diào)用子程序0
ldsm0.1
rq0.01
callsbr_0
network1//子程序0開始
ldsm0.0
movb16#8dsmb67//設置控制字節(jié):
//-選擇pto操作
//-選擇單段操作
//-選擇毫秒增加
//-設置脈沖計數(shù)和周期數(shù)值
//-啟用pto功能
movw+500smw68//將周期設為500毫秒。
movd+4smd72//將脈沖計數(shù)設為4次脈沖。
atchint_019//將中斷例行程序0定義為
//處理pto完成中斷的中斷。
eni//全局中斷啟用
pls0//激活pto操作,pls0=>q0.0
movb16#89smb67//預載控制字節(jié),用于隨后的
//周期改動。
network1//中斷0開始
//如果當前周期為500毫秒:
//將周期設為1000毫秒,并生成4次脈沖
ldw=smw68+500
movw+1000smw68
pls0
creti
network2
//如果當前周期為1000毫秒:
//將周期設為500毫秒,并生成4次脈沖
ldw=smw68+1000
movw+500smw68
pls0序注釋