qiyun0528
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點(diǎn)
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看qiyun0528的 主題 / 回貼
樓主  發(fā)表于: 2011-04-18 20:24
是這樣的,假設(shè)一臺設(shè)備,現(xiàn)在位置是10米,我設(shè)置它為15米,也就是還要升高5米,如果現(xiàn)在高度是19米,也就是還要降低4米,是正反轉(zhuǎn)的那種,有5根線,電源與ABC三相,但我們只用AB兩相,就是假如高度增加數(shù)值越小就把AB換個相,編碼器是每轉(zhuǎn)一圈發(fā)出600個脈沖,螺距為7公分,也就是轉(zhuǎn)一圈升高或降低7公分,我的程序是先計(jì)算出脈沖總的有多少個  
LD  X1 0UT C251 ( X1接編碼器A相)
LD M8012  MOVP C2  D20 (把編碼器收到的脈沖放到D20中)
MOVP K7 D21
MOVP K600 D22
MULP  D21 D20 D24
DIVP  D24 D22 D25
(升高或者降低的高度等于螺距*總脈沖數(shù)/每一圈的脈沖數(shù)
不知道這個程序是否正確,還有怎么知道是正轉(zhuǎn)或者反轉(zhuǎn),假如正轉(zhuǎn)是計(jì)A相的脈沖,把反轉(zhuǎn)是不是就計(jì)B相的脈沖,編碼器的A接X1 B接X2

希望大家有知道的可以寫一段程序過來,小女子再次感謝大家了
lfpcxc
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 170 個
工控威望: 263 點(diǎn)
下載積分: 839 分
在線時間: 98(小時)
注冊時間: 2008-10-03
最后登錄: 2024-04-09
查看lfpcxc的 主題 / 回貼
1樓  發(fā)表于: 2011-04-19 21:42
向你這種以位置作為控制的系統(tǒng),最好使用絕對值編碼器,增量編碼器不是很適合,首先要計(jì)算出脈沖當(dāng)量,也就是1圈600個脈沖走7mm(7/600),然后建立數(shù)學(xué)模型,比如走5米需要多少個脈沖,計(jì)算出總的脈沖數(shù),根據(jù)總脈沖數(shù)計(jì)算出高速的脈沖數(shù)、低速的脈沖數(shù)和停車時的脈沖數(shù),可以用比較指令做,一定要有速度變化,否則停的位置不準(zhǔn)。