xqx666
深圳中級電工
級別: 家園?
![]() |
看了半天都沒(méi)人肯上程序,樓主,不好意思,小弟來(lái)晚了,請看程序 給我加點(diǎn)分吧 |
|
---|---|---|
本帖最近評分記錄:
|
xqx666
深圳中級電工
級別: 家園?
![]() |
其實(shí)你說(shuō)的要在HMI上設定任意位置來(lái)實(shí)現程序,那個(gè)所謂的傳說(shuō)中的“冒泡程序”我還真寫(xiě)不出來(lái),所以剛剛看了以上版主所說(shuō)的思路,馬上試了一下,這程序還算是比較簡(jiǎn)單。有空多多交流 |
|
---|---|---|
|
fengbingyuan
合作共贏(yíng)
級別: 略有小成
![]() |
很感謝朋友的熱心幫助,但是,你的程序好象還不能實(shí)現我要的這個(gè)功能,因為PLSY K2000 DXXX Y0中的DXXX脈沖數量應該是根據前后兩個(gè)位置的會(huì )不斷變化的.不過(guò)很感謝你的指點(diǎn)! [ 此帖被fengbingyuan在2010-07-29 22:28重新編輯 ] |
---|---|
|
xqx666
深圳中級電工
級別: 家園?
![]() |
再向你講解一下這個(gè)程序,例如:你的位置1=0,(步進(jìn)電機的原點(diǎn)要裝在此處)所以D8140=0 2=100, 3=200,4=300,5=400,6=500,7=600,8=700,意思是說(shuō)你的每個(gè)打螺絲的位置是等距,當然可以不是等距, 當你在想在HMI上面設定位置流程比如是8,5,4,7,6,1,2,3這幾個(gè)位置時(shí),對應輸入的數據為700,400,300,600,500,0,100,200, 當M101接通時(shí), 首先D1取絕對值,D8> D8140,所以Y2接通步進(jìn)電機前進(jìn)到D1=700的位置, 這步完成后M102ON, 首先D2取絕對值,D5< D8 ,所以Y2斷電步進(jìn)電機后退到D2=300 這步完成后M103ON, 首先D3取絕對值,D4< D5 ,所以Y2斷電步進(jìn)電機后退到D3=100 這步完成后M104ON, 首先D4取絕對值,D7> D4 ,所以Y2接通步進(jìn)電機前進(jìn)到D4=300 這步完成后M105ON, 首先D5取絕對值,D6< D7 ,所以Y2斷電步進(jìn)電機后退到D5=100 這步完成后M106ON, 首先D6取絕對值,D1< D6 ,所以Y2斷電步進(jìn)電機前進(jìn)到D6=500 這步完成后M107ON, 首先D7取絕對值,D2< D1 ,所以Y2斷電步進(jìn)電機前進(jìn)到D7=100 這步完成后M106ON, 首先D8取絕對值,D3< D2 ,所以Y2斷電步進(jìn)電機前進(jìn)到D8=100 以上位置完成后步進(jìn)電機ZRN K2000 K200 X3 Y0回原點(diǎn),D8140清零。 程序剛剛幫你改過(guò)了,取絕對值行走的話(huà)不會(huì )有問(wèn)題。 |
|
---|---|---|
|
xqx666
深圳中級電工
級別: 家園?
![]() |
再向你講解一下這個(gè)程序,例如:你的位置1=0,(步進(jìn)電機的原點(diǎn)要裝在此處)所以D8140=0 2=100, 3=200,4=300,5=400,6=500,7=600,8=700,意思是說(shuō)你的每個(gè)打螺絲的位置是等距,當然可以不是等距, 當你在想在HMI上面設定位置流程比如是8,5,4,7,6,1,2,3這幾個(gè)位置時(shí),對應輸入的數據為700,400,300,600,500,0,100,200, 當M101接通時(shí), 首先D1取絕對值,D1> D8140,所以Y2接通步進(jìn)電機前進(jìn)到D1=700的位置, 這步完成后M102ON, 首先D2取絕對值,D2< D1 ,所以Y2斷電步進(jìn)電機后退到D2=300 這步完成后M103ON, 首先D3取絕對值,D3< D2 ,所以Y2斷電步進(jìn)電機后退到D3=100 這步完成后M104ON, 首先D4取絕對值,D4> D3 ,所以Y2接通步進(jìn)電機前進(jìn)到D4=300 這步完成后M105ON, 首先D5取絕對值,D5< D4 ,所以Y2斷電步進(jìn)電機后退到D5=100 這步完成后M106ON, 首先D6取絕對值,D6< D5 ,所以Y2斷電步進(jìn)電機前進(jìn)到D6=500 這步完成后M107ON, 首先D7取絕對值,D7< D6 ,所以Y2斷電步進(jìn)電機前進(jìn)到D7=100 這步完成后M106ON, 首先D8取絕對值,D8< D7 ,所以Y2斷電步進(jìn)電機前進(jìn)到D8=100 以上位置完成后步進(jìn)電機ZRN K2000 K200 X3 Y0回原點(diǎn),D8140清零。 程序剛剛幫你改過(guò)了,取絕對值行走的話(huà)不會(huì )有問(wèn)題。 |
|
---|---|---|
本帖最近評分記錄:
|
張平全
為國出力的時(shí)候到了
級別: 家園?
![]() |
這種結構當然是非常理想,每打一個(gè)產(chǎn)品,就有一個(gè)效驗原點(diǎn)的機會(huì ),我用松下FPG,FPX都做過(guò)類(lèi)似的東西,是用在自動(dòng)分選系統上的,但我的現場(chǎng)是有可能運行大半天,也只有一個(gè)機會(huì )會(huì )出現在"原點(diǎn)"上,這就會(huì )造成累計誤差的增大風(fēng)險 樓上XQX666是精華! |
---|---|
|
fengbingyuan
合作共贏(yíng)
級別: 略有小成
![]() |
打完第2個(gè)螺絲(即5號螺絲)的時(shí)候,D2=700-400=300,下一步打第3個(gè)螺絲(即4號螺絲)的時(shí)候,4號螺絲的絕對距離D3=300,執行SUB D3 D2 D3后,發(fā)脈沖PLSY K2000 D3 Y0中的D3=0啊,那怎么會(huì )跑到打4號螺絲位呢?請教…… |
---|---|
|
xqx666
深圳中級電工
級別: 家園?
![]() |
打完第2個(gè)螺絲(即5號螺絲)的時(shí)候,D2=700-400=300,下一步打第3個(gè)螺絲(即4號螺絲)的時(shí)候,因為第3個(gè)螺絲與第2個(gè)螺絲的相對位置等于D3-D2=400-300=100,所以執行SUB D3 D2 D3后,發(fā)脈沖PLSY K2000 D3 Y0中的D3=100,所以后退100個(gè)脈沖,記住是相對位置,只是打第一個(gè)螺絲才是絕對位置。 |
|
---|---|---|
本帖最近評分記錄:
|
fengbingyuan
合作共贏(yíng)
級別: 略有小成
![]() |
只是打第一個(gè)螺絲才是絕對位置是沒(méi)錯。但是,D3的值你都已經(jīng)在HMI上輸入等于300了,在執行SUB D3 D2 D3前,D300應該是等于300才對啊,D3的值怎么會(huì )等于400了呢?哪里來(lái)D3-D2=400-300? |
---|---|
|