limiju
級(jí)別: 家園常客
|
以下是家園朋友tianqiji的帖子,請(qǐng)各位大俠回答小弟的一個(gè)疑問(wèn),對(duì)各位是很簡(jiǎn)單的問(wèn)題,可卻纏繞著剛?cè)腴T的我 工件的實(shí)際位置通過(guò)什么方式得到? 原貼在: [url]http://le-linge.com/bbs/read-gktid-16251-keyword-%B2%BD%BD%F8.html[/url] 步進(jìn)電機(jī)的步距角為1.8度,驅(qū)動(dòng)器有細(xì)分的功能,考慮到精度和速度的問(wèn)題,我們選用了半步運(yùn)行的方式。絲桿的螺距為5mm,即步進(jìn)電機(jī)旋轉(zhuǎn)一周,它所拖動(dòng)的工件移動(dòng)5個(gè)mm,PLC則輸出400個(gè)脈沖,即每毫米需要輸出80個(gè)脈沖。5號(hào)腳高電平則電機(jī)正轉(zhuǎn),反之亦反。 設(shè)計(jì)的要求是這樣的:在人機(jī)界面上輸入工件要到的位置(以mm為單位),輸入完成后工件自動(dòng)運(yùn)行到指定位置停下。如果設(shè)定的位置大于實(shí)際的位置,則工件正向運(yùn)轉(zhuǎn)到位,反之亦反。 D200:人機(jī)界面輸入的工件要求位置 D202:工件的實(shí)際位置 D204:實(shí)際位置與設(shè)定位置之差值 程序如下: LDD> D200 D202 DSUBP D200 D202 D204 ;將差值送到D204 SET Y2 ;如果設(shè)定值大于實(shí)際值則正轉(zhuǎn) LDD<= D200 D202 DSUBP D202 D200 D204 ;將差值送到D204 RST Y2 ;如果設(shè)定值小于實(shí)際值則反轉(zhuǎn) LDD<> D200 D202 ;設(shè)定值與實(shí)際值不等 PLS M0 ANI M0 DPLSY K1000 D206 Y0 ;以1000赫茲的頻率輸出脈沖所需的脈沖數(shù) LD M0 DMUL D204 K80 D206 ;所需輸出的脈沖數(shù) LD M8029 DADDP D202 D204 D202 ;脈沖輸出完成后實(shí)際位置與設(shè)定位置一樣 END |
---|---|
|
limiju
級(jí)別: 家園常客
|
我現(xiàn)有PLC一臺(tái),步進(jìn)電機(jī)及驅(qū)動(dòng)器(可半步細(xì)分),文本顯示器,我能實(shí)現(xiàn)上述程序嗎,可是如何給D202賦值讓我束手無(wú)策,如果有個(gè)旋轉(zhuǎn)編碼器我會(huì)想法試試,沒(méi)有編碼器我能實(shí)現(xiàn)嗎,請(qǐng)各位大哥給新手答疑,謝謝 |
---|---|
|
fjqz00
級(jí)別: 論壇先鋒
|
可以用限位開關(guān)之類的做一個(gè)原點(diǎn)位,系統(tǒng)首次啟動(dòng)時(shí),讓其在原點(diǎn)啟動(dòng),以后再運(yùn)行的位置就能通過(guò)步進(jìn)電機(jī)運(yùn)行的圈數(shù)知道當(dāng)前的工件位置了。 可以不用編碼器,上面不是有“即每毫米需要輸出80個(gè)脈沖”,我們只要知道驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)轉(zhuǎn)時(shí),發(fā)送了多少個(gè)脈沖,按“發(fā)送的脈沖數(shù)目÷80=工件移動(dòng)的距離”這樣來(lái)?yè)Q算就知道了。 |
---|---|
|