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