qiyun0528
級(jí)別: *
![]() |
是這樣的,假設(shè)一臺(tái)設(shè)備,現(xiàn)在位置是10米,我設(shè)置它為15米,也就是還要升高5米,如果現(xiàn)在高度是19米,也就是還要降低4米,是正反轉(zhuǎn)的那種,有5根線,電源與ABC三相,但我們只用AB兩相,就是假如高度增加數(shù)值越小就把AB換個(gè)相,編碼器是每轉(zhuǎn)一圈發(fā)出600個(gè)脈沖,螺距為7公分,也就是轉(zhuǎn)一圈升高或降低7公分,我的程序是先計(jì)算出脈沖總的有多少個(gè) 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ù) 不知道這個(gè)程序是否正確,還有怎么知道是正轉(zhuǎn)或者反轉(zhuǎn),假如正轉(zhuǎn)是計(jì)A相的脈沖,把反轉(zhuǎn)是不是就計(jì)B相的脈沖,編碼器的A接X(jué)1 B接X(jué)2 希望大家有知道的可以寫一段程序過(guò)來(lái),小女子再次感謝大家了 |
---|---|
|
lfpcxc
級(jí)別: 略有小成
![]() |
向你這種以位置作為控制的系統(tǒng),最好使用絕對(duì)值編碼器,增量編碼器不是很適合,首先要計(jì)算出脈沖當(dāng)量,也就是1圈600個(gè)脈沖走7mm(7/600),然后建立數(shù)學(xué)模型,比如走5米需要多少個(gè)脈沖,計(jì)算出總的脈沖數(shù),根據(jù)總脈沖數(shù)計(jì)算出高速的脈沖數(shù)、低速的脈沖數(shù)和停車時(shí)的脈沖數(shù),可以用比較指令做,一定要有速度變化,否則停的位置不準(zhǔn)。 |
---|---|
|