purshro
級別: 略有小成
![]() |
圖片:
![]() 今天試了下臺達的,程序和上次信捷的類(lèi)似。編碼器400線(xiàn),1倍頻。轉一圈400個(gè)脈沖。8000個(gè)進(jìn)入中斷剛好20圈,復位高速計數器,F在的問(wèn)題是進(jìn)入中斷復位高速計數器的時(shí)間是多少?在復位到0到重新計數的這段時(shí)間編碼器一直在轉,丟脈沖不知道該如何避免了。從監控上看知道一共是進(jìn)了10次中斷再加一圈整的也就是400個(gè)脈沖。實(shí)際上編碼器已經(jīng)走了一圈多一點(diǎn)了。也就是說(shuō)RST C251這段時(shí)間沒(méi)有計數。 這個(gè)程序是定長(cháng)用的。設定長(cháng)度轉成脈沖數,當到達設定脈沖(長(cháng)度)時(shí)進(jìn)入中斷復位高速計數器,同時(shí)輸出動(dòng)作。設備高速運轉不停機的。低速誤差還可以,高速較大。用單片機(STC12c5a60s2 或者stm32f103)情況比用PLC好些。 麻煩各位高手指點(diǎn)下這樣的思路有沒(méi)有問(wèn)題;蛘哂懈玫姆椒。 [ 此帖被purshro在2014-06-14 21:41重新編輯 ] |
---|---|
|
sicsuilyijun
工控路上學(xué)習中
級別: 略有小成
![]() |
這么復雜,如果你定長(cháng)都是8千的話(huà)。你就把C251設為8千。當計到8千時(shí),由C251給自己復位。試一下看如何,我這么搞過(guò),誤差不大,當然不知道你的速度有好高。 |
---|---|
|
無(wú)人值班
級別: 探索解密
![]() |
我不是做機械控制的 但這個(gè)問(wèn)題在過(guò)程控制中不是問(wèn)題啊 高速計數不存在什么補償 復位漏計的問(wèn)題 高速計數模塊本身就是帶寄存器的 我們用的PLC是這樣 比如設400次進(jìn)一個(gè)高位給PLC處理器計數 處理器收到的數據就是高位計數圈+計數器中地位脈沖數 不會(huì )有什么誤差 當然行業(yè)不同 不知道硬件有沒(méi)有區別 但是高低端PLC原理應該都是一樣的 |
---|---|
|
無(wú)人值班
級別: 探索解密
![]() |
就是說(shuō) 你復位的是PLC處理器中的高位 而計數器一直是0-400計數著(zhù) 不存在復位漏計的問(wèn)題 |
---|---|
|
purshro
級別: 略有小成
![]() |
主要是機器速度變化太大20-120米/分。難以把握。 |
---|---|
|
purshro
級別: 略有小成
![]() |
謝謝指點(diǎn)!c251的計數值到8000還是會(huì )一直加啊,要復位還是要dhscr吧。原來(lái)在機器上試時(shí)低速誤差還算可以,高速差點(diǎn)。后來(lái)沒(méi)在機器上,單獨拿編碼器試才發(fā)現編碼器在轉整圈后回標記點(diǎn)脈沖數不對。 |
---|---|
|
purshro
級別: 略有小成
![]() |
謝謝指點(diǎn)!就是覺(jué)得比如400進(jìn)入中斷處理的時(shí)候,編碼器實(shí)際已經(jīng)到了401才復位的。所以才有累計誤差。還好機器誤差也不算大。 |
---|---|
|