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