由于前段時(shí)間提供給客戶的一個(gè)2000線增量A/B/Z編碼器出現(xiàn)丟脈沖的情況,所以現(xiàn)在對(duì)新采購的編碼器都要逐一測(cè)試。
測(cè)試的思路是這樣的:A/B接計(jì)數(shù)器,Z接中斷,當(dāng)Z中斷時(shí)把A/B計(jì)數(shù)器的值讀出來,并且復(fù)位A/B計(jì)數(shù)器,這樣編碼器每轉(zhuǎn)一圈計(jì)數(shù)器讀出的數(shù)據(jù)就應(yīng)該是編碼器的分辨率,如果編碼器丟脈沖,計(jì)數(shù)器讀出的值就會(huì)比編碼器分辨率小。
最開始使用西門子S7-200,使用A/B接硬件計(jì)數(shù)器,Z接外部中斷,但外部中斷受輸入濾波時(shí)間影響,編碼器速度稍快就出現(xiàn)數(shù)據(jù)不準(zhǔn)確,用手旋轉(zhuǎn)編碼器。
改為Z接另外一個(gè)編碼器,計(jì)數(shù)到1中斷,在中斷程序中讀A/B計(jì)數(shù)器,復(fù)位A/B計(jì)數(shù)器,復(fù)位Z計(jì)數(shù)器。這樣編碼器速度會(huì)稍快些(大約2轉(zhuǎn)/秒),就出現(xiàn)數(shù)據(jù)不準(zhǔn)確。
再換臺(tái)達(dá)ES2,用同樣的A/B硬件計(jì)數(shù)器,Z接硬件計(jì)數(shù)器中斷,編碼器速度稍快(大約2轉(zhuǎn)/秒),同樣出現(xiàn)計(jì)數(shù)不準(zhǔn)確的情況,大多數(shù)是丟脈沖。
計(jì)數(shù)器的速度是沒有問題的,按道理,Z計(jì)數(shù)中斷到復(fù)位A/B計(jì)數(shù)器速度會(huì)很快,數(shù)條指令而已。出現(xiàn)計(jì)數(shù)不準(zhǔn),估計(jì)是Z計(jì)數(shù)中斷——A/B計(jì)數(shù)器復(fù)位用時(shí)過長(zhǎng)。
大家看看這是怎么個(gè)情況!
[ 此帖被lvpretend在2018-09-27 17:04重新編輯 ]