今天給大家分享一篇兩軸定位案例分析
注意:此程序非完整運行程序,主要是想讓大家理解定位指令配合變址節(jié)約程序步,簡化程序內(nèi)容用。且兩軸是在同時運行,如是十字滑臺,請設(shè)定兩軸相同頻率脈沖輸出.
開機初始化回原點部分
-
使用開機脈沖【M8002】和外部輸入觸點【X11】的脈沖信號來置位【M0】,保持住開機信號或回原點信號;
-
再使用【M0】的常開觸點驅(qū)動【ZRN】原點回歸指令;
-
其中K5000表示回歸的速度為5000HZ,K200表示爬行速度,當(dāng)X1或X0觸點接通時,即開始以爬行速度回原點。
-
【M8029】脈沖結(jié)束標(biāo)志位,當(dāng)【Y0】和【Y1】脈沖口不再發(fā)送脈沖,就復(fù)位掉【M0】,以便下次驅(qū)動原點回歸指令。
點位采集部分
1.使用外部常開輸入觸點【x3】【x4】【x6】【x7】驅(qū)動【DDRVI】32位相對定位指令,達到軸的正反方向運行目的,其中【K999999】表示正向運行,【K-999999】表示反向運行,數(shù)值均發(fā)送的脈沖數(shù),K999999表示無數(shù)脈沖。
2.使用外部輸入觸點【X5】的脈沖信號,利用【DMOV】32位傳送指令把【Y0】脈沖輸出總數(shù)寄存器【D8141、D8140】和【Y1】脈沖輸出總數(shù)寄存器【D8143、D8142】的當(dāng)前脈沖數(shù)傳送給【D100Z0】【D200Z1】。同時使用【ADD】加法指令把變址寄存器【Z0、Z1】的值不斷加【2】,實現(xiàn)把不同點位所需脈沖數(shù)值存放給不同的寄存器
3.注意:每按一次按鈕,就代表存儲一個點的數(shù)值,固定的框架內(nèi),原點到每次按按鈕的脈沖數(shù),由【D8141、D8140】【D8143、D8142】提供。
兩軸運行部分
1.使用外部輸入觸點【X10】的脈沖信號驅(qū)動【MOV】傳送指令把變址寄存器【Z0、Z1】的數(shù)值清零,同時驅(qū)動【DDRVA】絕對定位指令。其中【D100Z0】【D200z1】為上面采集到的脈沖數(shù),K5000表示兩軸使用同一頻率發(fā)送脈沖;
2.使用【M8029】脈沖結(jié)束標(biāo)志位,脈沖發(fā)送完成復(fù)位【M10】【M12】,使兩軸停止,同時驅(qū)動【ADD】加法指令改變變址寄存器【Z0、Z1】的數(shù)值,從而實現(xiàn)下一次運行時脈沖數(shù)的改變;
3.置位【M13、M14】表示兩軸都停止的時候,驅(qū)動一個定時器【T0】,停止一秒,一秒后重新驅(qū)動定位指令。
注意:此處兩軸都停止后,可以實現(xiàn)例如:器材切割、鉆孔、或者夾物放物等內(nèi)容,程序需自己編寫添加。
電子開發(fā)網(wǎng),一個電子技術(shù)和工控網(wǎng)站。評論處大家可以補充文章解釋不對或欠缺的部分,這樣下一個看到的人會學(xué)到更多,你知道的正是大家需要的。。。