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