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

要實現(xiàn)以上功能,我想在觸摸屏上放8個數(shù)據(jù)區(qū)D100,D101,D102,D103,D104,D105,D106,D107。分別用來存放這8個位置的螺絲號,PLC按這個指定的順序去控制打螺絲。
但是這個打螺絲的順序可以在觸摸屏任意設定,這樣組合有很多啊,不可能一個一個在程序里寫出來吧,如何編程實現(xiàn)這個任意指定順序的打螺絲的控制?
    望大家能指點一下這個編程的思路或方法,謝謝!!
[ 此帖被fengbingyuan在2010-07-28 21:44重新編輯 ]
fengbingyuan
合作共贏
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 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個按鍵驅(qū)動,西門子的我不太了解,你可以照這個思路去想一想吧!愿你早日成功!
可以具體點嗎?是不是要用變址(D100Z0)?編程思路是怎樣的?
[ 此帖被fengbingyuan在2010-07-28 21:49重新編輯 ]
fengbingyuan
合作共贏
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 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上設定任意位置來實現(xiàn)程序,那個所謂的傳說中的“冒泡程序”我還真寫不出來,所以剛剛看了以上版主所說的思路,馬上試了一下,這程序還算是比較簡單。有空多多交流

很感謝朋友的熱心幫助,但是,你的程序好象還不能實現(xiàn)我要的這個功能,因為PLSY K2000 DXXX Y0中的DXXX脈沖數(shù)量應該是根據(jù)前后兩個位置的會不斷變化的.不過很感謝你的指點!
[ 此帖被fengbingyuan在2010-07-29 22:28重新編輯 ]
fengbingyuan
合作共贏
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 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這幾個位置時,對應輸入的數(shù)據(jù)為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ā)帖數(shù)量: 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的值你都已經(jīng)在HMI上輸入等于300了,在執(zhí)行SUB D3 D2 D3前,D300應該是等于300才對啊,D3的值怎么會等于400了呢?哪里來D3-D2=400-300?