cyh1986
級別: 家園常客
|
以前使用三菱的時候,直接讀取C251的數(shù)值,然后換成成距離。C251過零之后應(yīng)該是繼續(xù)減計數(shù)變成負值。現(xiàn)在手頭有個工控板,防三菱的那種。他的C251是循環(huán)計數(shù)的,當C251超過65535的時,又繼續(xù)從0開始計數(shù)。當減計數(shù)超過0的時候,在繼續(xù)從65535開始減計數(shù)。編碼器是增量編碼器 請問大家這個在編程時怎么處理呢? 以前用過絕對值編碼,感覺意思上差不多。之前用的是單圈的絕對值編碼器,在做多圈用的時候,比較麻煩,后來是找的某一個點,判斷是正過圈還是反過圈,然后設(shè)置一個圈數(shù),最后來計算距離的。感覺好麻煩,不知道大家只怎么處理這種的。 |
---|---|
|
1421448580
級別: 略有小成
|
說一個思路: 高速記數(shù)轉(zhuǎn)移到一個寄存器,然后除以一個數(shù)字(或者直接用原始數(shù)據(jù)),確保這個商值在PLC的每個運行周期間的變化不會太大,然后取相鄰周期商值 變化 類似求導(dǎo) 如果結(jié)果是負值,位置直接減這個負值表示的距離 得到當前位置,如果結(jié)果是相當大的一個正數(shù) 那么 也是反轉(zhuǎn) 直接把這個正數(shù)減一個寄存器里可能的最大值 得到一個負數(shù),當前位置減這個負數(shù)表示的距離為當前位置。 類似有正轉(zhuǎn)的的判斷和處理 |
---|---|
|