fengbingyuan
合作共贏
級別: 略有小成
精華主題: 0
發(fā)帖數量: 219 個
工控威望: 269 點
下載積分: 857 分
在線時間: 430(小時)
注冊時間: 2008-04-03
最后登錄: 2024-10-21
查看fengbingyuan的 主題 / 回貼
樓主  發(fā)表于: 2010-07-28 21:18
[attachment=43416] [attachment=43417]
如圖所示,在一個工件上有8個螺絲要打,圓圈位置是要打螺絲的位置,由一臺步進電機帶著螺桿控制打螺絲的機構左右移動至各個打螺絲的位置進行打螺絲。
    要求:打螺絲的順序可以在觸摸屏任意設定,如在觸摸屏上設定順序為23146758,即表示打螺絲順序為:2#螺絲——3#螺絲——1#螺絲——4#螺絲——6#螺絲——7#螺絲——5#螺絲——8#螺絲;如果設定順序為86134275,即表示打螺絲順序為:8#螺絲——6#螺絲——1#螺絲——3#螺絲——4#螺絲——2#螺絲——7#螺絲——5#螺絲。

要實現以上功能,我想在觸摸屏上放8個數據區(qū)D100,D101,D102,D103,D104,D105,D106,D107。分別用來存放這8個位置的螺絲號,PLC按這個指定的順序去控制打螺絲。
但是這個打螺絲的順序可以在觸摸屏任意設定,這樣組合有很多啊,不可能一個一個在程序里寫出來吧,如何編程實現這個任意指定順序的打螺絲的控制?
    望大家能指點一下這個編程的思路或方法,謝謝。
[ 此帖被fengbingyuan在2010-07-28 21:44重新編輯 ]
fengbingyuan
合作共贏
級別: 略有小成
精華主題: 0
發(fā)帖數量: 219 個
工控威望: 269 點
下載積分: 857 分
在線時間: 430(小時)
注冊時間: 2008-04-03
最后登錄: 2024-10-21
查看fengbingyuan的 主題 / 回貼
1樓  發(fā)表于: 2010-07-28 21:40

引用
引用第1樓lamborzhou于2010-07-28 21:30發(fā)表的  :
如果是三菱的話可以用絕對位置控制,8個號對應8個絕對位置值,在觸摸屏上放8個按鍵驅動,西門子的我不太了解,你可以照這個思路去想一想吧!愿你早日成功!
可以具體點嗎?是不是要用變址(D100Z0)?編程思路是怎樣的?
[ 此帖被fengbingyuan在2010-07-28 21:49重新編輯 ]
fengbingyuan
合作共贏
級別: 略有小成
精華主題: 0
發(fā)帖數量: 219 個
工控威望: 269 點
下載積分: 857 分
在線時間: 430(小時)
注冊時間: 2008-04-03
最后登錄: 2024-10-21
查看fengbingyuan的 主題 / 回貼
2樓  發(fā)表于: 2010-07-29 22:21
引用
引用第13樓xqx666于2010-07-29 21:42發(fā)表的  :
其實你說的要在HMI上設定任意位置來實現程序,那個所謂的傳說中的“冒泡程序”我還真寫不出來,所以剛剛看了以上版主所說的思路,馬上試了一下,這程序還算是比較簡單。有空多多交流

很感謝朋友的熱心幫助,但是,你的程序好象還不能實現我要的這個功能,因為PLSY K2000 DXXX Y0中的DXXX脈沖數量應該是根據前后兩個位置的會不斷變化的.不過很感謝你的指點!
[ 此帖被fengbingyuan在2010-07-29 22:28重新編輯 ]
fengbingyuan
合作共贏
級別: 略有小成
精華主題: 0
發(fā)帖數量: 219 個
工控威望: 269 點
下載積分: 857 分
在線時間: 430(小時)
注冊時間: 2008-04-03
最后登錄: 2024-10-21
查看fengbingyuan的 主題 / 回貼
3樓  發(fā)表于: 2010-07-31 10:24
引用
引用第16樓xqx666于2010-07-30 09:14發(fā)表的  :

再向你講解一下這個程序,例如:你的位置1=0,(步進電機的原點要裝在此處)所以D8140=0
                                       2=100,
                                        3=200,4=300,5=400,6=500,7=600,8=700,意思是說你的每個打螺絲的位置是等距,當然可以不是等距,
當你在想在HMI上面設定位置流程比如是8,5,4,7,6,1,2,3這幾個位置時,對應輸入的數據為700,400,300,600,500,0,100,200,
.......

打完第2個螺絲(即5號螺絲)的時候,D2=700-400=300,下一步打第3個螺絲(即4號螺絲)的時候,4號螺絲的絕對距離D3=300,執(zhí)行SUB D3 D2 D3后,發(fā)脈沖PLSY K2000 D3 Y0中的D3=0啊,那怎么會跑到打4號螺絲位呢?請教……
fengbingyuan
合作共贏
級別: 略有小成
精華主題: 0
發(fā)帖數量: 219 個
工控威望: 269 點
下載積分: 857 分
在線時間: 430(小時)
注冊時間: 2008-04-03
最后登錄: 2024-10-21
查看fengbingyuan的 主題 / 回貼
4樓  發(fā)表于: 2010-07-31 20:49
引用
引用第21樓xqx666于2010-07-31 20:10發(fā)表的  :

打完第2個螺絲(即5號螺絲)的時候,D2=700-400=300,下一步打第3個螺絲(即4號螺絲)的時候,因為第3個螺絲與第2個螺絲的相對位置等于D3-D2=400-300=100,所以執(zhí)行SUB D3 D2 D3后,發(fā)脈沖PLSY K2000 D3 Y0中的D3=100,所以后退100個脈沖,記住是相對位置,只是打第一個螺絲才是絕對位置。

只是打第一個螺絲才是絕對位置是沒錯。但是,D3的值你都已經在HMI上輸入等于300了,在執(zhí)行SUB D3 D2 D3前,D300應該是等于300才對啊,D3的值怎么會等于400了呢?哪里來D3-D2=400-300?