purshro
級(jí)別: 略有小成
|
高速中斷的問題請(qǐng)教各位。信捷XC3高速定長(zhǎng)切斷。最高速120米每分鐘。用的400線的編碼器計(jì)數(shù),1倍頻。高速計(jì)數(shù)中斷方式切斷。當(dāng)?shù)竭_(dá)設(shè)定長(zhǎng)度脈沖后,立刻進(jìn)入中斷,復(fù)位高速數(shù)器C630,F(xiàn)在的問題是發(fā)現(xiàn)復(fù)位C630時(shí),丟脈沖導(dǎo)致計(jì)數(shù)不準(zhǔn)。感覺復(fù)位時(shí)間太長(zhǎng)導(dǎo)致編碼器在走了不少距離才又歸的零。幾試過1024線的也差不多。低速誤差還好,高速相差較大。編碼器沒問題,只要復(fù)位就有誤差。 |
---|---|
|
purshro
級(jí)別: 略有小成
|
再說一下檢測(cè)思路。編碼器400線,1倍頻。在編碼器上設(shè)置一標(biāo)志位,那么轉(zhuǎn)一周剛好轉(zhuǎn)回標(biāo)志位對(duì)齊。比如80000個(gè)脈沖,那么剛好20轉(zhuǎn)對(duì)齊標(biāo)志位。但當(dāng)設(shè)置比如40000個(gè)脈沖進(jìn)入中斷時(shí),應(yīng)該就是轉(zhuǎn)10圈進(jìn)入中斷。立即對(duì)C630復(fù)位。第二個(gè)也40000個(gè)脈沖進(jìn)入第二次中斷,當(dāng)?shù)诙,第三個(gè)……中斷來的時(shí)候,就越來越偏離標(biāo)志位了。按理說應(yīng)該每轉(zhuǎn)一圈400個(gè)脈沖都應(yīng)該對(duì)得上標(biāo)志位置,實(shí)際上復(fù)位就不行。不復(fù)位怎么都行,標(biāo)志位上監(jiān)控的數(shù)也都是400的整倍數(shù)。 |
---|---|
|
purshro
級(jí)別: 略有小成
|
機(jī)械沒有問題的,PLC速度應(yīng)該也不是問題。中斷不就是立即處理不受掃描周期影響的么?就算是最高速度1ms也才是運(yùn)行2mm而已。我現(xiàn)在關(guān)心的是C630進(jìn)入中斷后立刻復(fù)位C630,那么它是不是馬上復(fù)位。復(fù)位后又是否馬上計(jì)數(shù)。因?yàn)槌绦虻乃悸肪褪荂630到達(dá)設(shè)定的脈沖數(shù)(長(zhǎng)度)后進(jìn)入中斷,復(fù)位C630。那么C630應(yīng)該立即從0開始計(jì)數(shù)。到達(dá)設(shè)定脈沖數(shù)后進(jìn)入中斷,復(fù)位C630……如此循環(huán)。 |
---|---|
|
purshro
級(jí)別: 略有小成
|
r 謝謝指導(dǎo)。信捷好象沒有類似HSCS,HSCR 這類指令。它的HSCR只是讀取高速計(jì)數(shù)的值。所以才用的中斷處理,所以第一根總是準(zhǔn)的。當(dāng)C630到達(dá)指定長(zhǎng)度后進(jìn)入中斷。RST -C630,問題是只要一復(fù)位C630計(jì)數(shù)器,就不準(zhǔn)了。RST是非高速指令,不知道會(huì)不會(huì)是這個(gè)問題。信捷好象也沒有高速計(jì)數(shù)器比較復(fù)位HSCR這樣的指令。 |
---|---|
|