引用
引用第15樓fengbingyuan于2010-07-29 22:21發(fā)表的 :
很感謝朋友的熱心幫助,但是,你的程序好象還不能實(shí)現(xiàn)我要的這個(gè)功能,因?yàn)镻LSY K2000 DXXX Y0中的DXXX脈沖數(shù)量應(yīng)該是根據(jù)前后兩個(gè)位置的會(huì)不斷變化的.不過很感謝你的指點(diǎn)!
再向你講解一下這個(gè)程序,例如:你的位置1=0,(步進(jìn)電機(jī)的原點(diǎn)要裝在此處)所以D8140=0
2=100,
3=200,4=300,5=400,6=500,7=600,8=700,意思是說你的每個(gè)打螺絲的位置是等距,當(dāng)然可以不是等距,
當(dāng)你在想在HMI上面設(shè)定位置流程比如是8,5,4,7,6,1,2,3這幾個(gè)位置時(shí),對(duì)應(yīng)輸入的數(shù)據(jù)為700,400,300,600,500,0,100,200,
當(dāng)M101接通時(shí), 首先D1取絕對(duì)值,D8> D8140,所以Y2接通步進(jìn)電機(jī)前進(jìn)到D1=700的位置,
這步完成后M102ON, 首先D2取絕對(duì)值,D5< D8 ,所以Y2斷電步進(jìn)電機(jī)后退到D2=300
這步完成后M103ON, 首先D3取絕對(duì)值,D4< D5 ,所以Y2斷電步進(jìn)電機(jī)后退到D3=100
這步完成后M104ON, 首先D4取絕對(duì)值,D7> D4 ,所以Y2接通步進(jìn)電機(jī)前進(jìn)到D4=300
這步完成后M105ON, 首先D5取絕對(duì)值,D6< D7 ,所以Y2斷電步進(jìn)電機(jī)后退到D5=100
這步完成后M106ON, 首先D6取絕對(duì)值,D1< D6 ,所以Y2斷電步進(jìn)電機(jī)前進(jìn)到D6=500
這步完成后M107ON, 首先D7取絕對(duì)值,D2< D1 ,所以Y2斷電步進(jìn)電機(jī)前進(jìn)到D7=100
這步完成后M106ON, 首先D8取絕對(duì)值,D3< D2 ,所以Y2斷電步進(jìn)電機(jī)前進(jìn)到D8=100
以上位置完成后步進(jìn)電機(jī)ZRN K2000 K200 X3 Y0回原點(diǎn),D8140清零。
程序剛剛幫你改過了,取絕對(duì)值行走的話不會(huì)有問題。