cyh1986
級(jí)別: 家園常客
|
現(xiàn)在有一個(gè)11位的單圈絕對(duì)值編碼器,輸出是格雷碼并行輸出。請(qǐng)問在PLC的程序中,有沒有辦法判斷編碼器是不是有斷線的故障?伺服有斷線檢測(cè)的功能,他是用什么原理來實(shí)現(xiàn)的呢? |
---|---|
|
東華數(shù)字
級(jí)別: 家園常客
|
沒試過...不過絕對(duì)值編碼器的數(shù)值,數(shù)據(jù)一但有變動(dòng)與之前的值相減取絕對(duì)值都是1,可以在這基礎(chǔ)上去想想... |
---|---|
|
cyh1986
級(jí)別: 家園常客
|
利用差值的辦法我想過了,但是我這個(gè)絕對(duì)值編碼器是單圈的,現(xiàn)在是把他當(dāng)做多圈在用,判斷圈數(shù)就是通過差值來判斷的,當(dāng)差值大于2000的時(shí)候,程序認(rèn)為過零了,從來實(shí)現(xiàn)圈數(shù)的加減。所以這個(gè)地方就有一個(gè)矛盾的地方了 |
---|---|
|
東華數(shù)字
級(jí)別: 家園常客
|
11位是2048吧...你可以設(shè)定下數(shù)狀況時(shí),前值為0,次值為2047時(shí)例外處理;上數(shù)狀況時(shí)當(dāng)前一個(gè)值為2047,次值為0時(shí)例外處理。 |
---|---|
|
walkman
級(jí)別: 探索解密
|
當(dāng)電機(jī)運(yùn)行的時(shí)候每隔0.1s把編碼器數(shù)據(jù)暫存到一個(gè)數(shù)據(jù)寄存器D0,當(dāng)電機(jī)運(yùn)行開始延時(shí)0.05s后每隔0.1s把編碼器數(shù)據(jù)暫存到數(shù)據(jù)寄存器D2,比較D0和D2,說明編碼器并未旋轉(zhuǎn),存在故障 |
---|---|
|
cyh1986
級(jí)別: 家園常客
|
他的執(zhí)行機(jī)構(gòu)是液壓的,估計(jì)0.05S的反應(yīng)速度,液壓跟不上 |
---|---|
|
hafatahaha
臺(tái)達(dá)代理
級(jí)別: 論壇先鋒
|
個(gè)人觀點(diǎn)哦,可以設(shè)置假設(shè)編碼11111111111時(shí)置位一個(gè)時(shí)間繼電器,并開始計(jì)時(shí),然后編碼00000000000時(shí)復(fù)位這個(gè)時(shí)間繼電器,當(dāng)然我這個(gè)編碼不一定正確,原理就是這樣了。 |
|
---|---|---|
|