purshro
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 228 點
下載積分: 8583 分
在線時間: 227(小時)
注冊時間: 2014-05-07
最后登錄: 2018-01-29
查看purshro的 主題 / 回貼
樓主  發(fā)表于: 2014-06-06 22:10
高速中斷的問題請教各位。信捷XC3高速定長切斷。最高速120米每分鐘。用的400線的編碼器計數(shù),1倍頻。高速計數(shù)中斷方式切斷。當?shù)竭_設(shè)定長度脈沖后,立刻進入中斷,復位高速數(shù)器C630,F(xiàn)在的問題是發(fā)現(xiàn)復位C630時,丟脈沖導致計數(shù)不準。感覺復位時間太長導致編碼器在走了不少距離才又歸的零。幾試過1024線的也差不多。低速誤差還好,高速相差較大。編碼器沒問題,只要復位就有誤差。
purshro
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 228 點
下載積分: 8583 分
在線時間: 227(小時)
注冊時間: 2014-05-07
最后登錄: 2018-01-29
查看purshro的 主題 / 回貼
1樓  發(fā)表于: 2014-06-07 08:19
再說一下檢測思路。編碼器400線,1倍頻。在編碼器上設(shè)置一標志位,那么轉(zhuǎn)一周剛好轉(zhuǎn)回標志位對齊。比如80000個脈沖,那么剛好20轉(zhuǎn)對齊標志位。但當設(shè)置比如40000個脈沖進入中斷時,應(yīng)該就是轉(zhuǎn)10圈進入中斷。立即對C630復位。第二個也40000個脈沖進入第二次中斷,當?shù)诙,第三個……中斷來的時候,就越來越偏離標志位了。按理說應(yīng)該每轉(zhuǎn)一圈400個脈沖都應(yīng)該對得上標志位置,實際上復位就不行。不復位怎么都行,標志位上監(jiān)控的數(shù)也都是400的整倍數(shù)。
purshro
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 228 點
下載積分: 8583 分
在線時間: 227(小時)
注冊時間: 2014-05-07
最后登錄: 2018-01-29
查看purshro的 主題 / 回貼
2樓  發(fā)表于: 2014-06-07 18:27
機械沒有問題的,PLC速度應(yīng)該也不是問題。中斷不就是立即處理不受掃描周期影響的么?就算是最高速度1ms也才是運行2mm而已。我現(xiàn)在關(guān)心的是C630進入中斷后立刻復位C630,那么它是不是馬上復位。復位后又是否馬上計數(shù)。因為程序的思路就是C630到達設(shè)定的脈沖數(shù)(長度)后進入中斷,復位C630。那么C630應(yīng)該立即從0開始計數(shù)。到達設(shè)定脈沖數(shù)后進入中斷,復位C630……如此循環(huán)。
purshro
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 228 點
下載積分: 8583 分
在線時間: 227(小時)
注冊時間: 2014-05-07
最后登錄: 2018-01-29
查看purshro的 主題 / 回貼
3樓  發(fā)表于: 2014-06-08 19:03
引用
引用第8樓niningtt于2014-06-08 15:42發(fā)表的  :
首先你要知道PLC的掃描周期。你使用的高速計數(shù)器計數(shù)不會丟(相信一般的PLC都可以做得到),那么就是你的程序的問題了,在告訴處理的程序,應(yīng)該避免因為掃描周期造成的誤差。比如本次掃描,讀取告訴計數(shù)器值,小于目標值哪怕是1,也不會輸出。但是當下一個掃描周期,這一個周期有可能過了數(shù)個,數(shù)十個,脈沖。原因大多是你這個指令用的不對。信捷的沒用過,但是應(yīng)該有個高速比較指令。這個就是高速計數(shù)器達到指定值就直接進入中斷,就像高速計數(shù)后臺處理,這樣就可以避免一個掃描周期內(nèi)的不確定性
r
謝謝指導。信捷好象沒有類似HSCS,HSCR 這類指令。它的HSCR只是讀取高速計數(shù)的值。所以才用的中斷處理,所以第一根總是準的。當C630到達指定長度后進入中斷。RST -C630,問題是只要一復位C630計數(shù)器,就不準了。RST是非高速指令,不知道會不會是這個問題。信捷好象也沒有高速計數(shù)器比較復位HSCR這樣的指令。