purshro
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 228 點(diǎn)
下載積分: 8583 分
在線時間: 227(小時)
注冊時間: 2014-05-07
最后登錄: 2018-01-29
查看purshro的 主題 / 回貼
樓主  發(fā)表于: 2014-06-14 21:27
圖片:
        
          今天試了下臺達(dá)的,程序和上次信捷的類似。編碼器400線,1倍頻。轉(zhuǎn)一圈400個脈沖。8000個進(jìn)入中斷剛好20圈,復(fù)位高速計數(shù)器,F(xiàn)在的問題是進(jìn)入中斷復(fù)位高速計數(shù)器的時間是多少?在復(fù)位到0到重新計數(shù)的這段時間編碼器一直在轉(zhuǎn),丟脈沖不知道該如何避免了。從監(jiān)控上看知道一共是進(jìn)了10次中斷再加一圈整的也就是400個脈沖。實(shí)際上編碼器已經(jīng)走了一圈多一點(diǎn)了。也就是說RST C251這段時間沒有計數(shù)。       
          這個程序是定長用的。設(shè)定長度轉(zhuǎn)成脈沖數(shù),當(dāng)?shù)竭_(dá)設(shè)定脈沖(長度)時進(jìn)入中斷復(fù)位高速計數(shù)器,同時輸出動作。設(shè)備高速運(yùn)轉(zhuǎn)不停機(jī)的。低速誤差還可以,高速較大。用單片機(jī)(STC12c5a60s2 或者stm32f103)情況比用PLC好些。     
         麻煩各位高手指點(diǎn)下這樣的思路有沒有問題。或者有更好的方法。
     
[ 此帖被purshro在2014-06-14 21:41重新編輯 ]
cmsn
      
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 275 個
工控威望: 451 點(diǎn)
下載積分: 1027 分
在線時間: 278(小時)
注冊時間: 2012-09-10
最后登錄: 2024-10-27
查看cmsn的 主題 / 回貼
1樓  發(fā)表于: 2014-06-15 12:44
進(jìn)行脈沖補(bǔ)償
sicsuilyijun
工控路上學(xué)習(xí)中
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 163 個
工控威望: 355 點(diǎn)
下載積分: 773 分
在線時間: 373(小時)
注冊時間: 2009-05-17
最后登錄: 2024-10-22
查看sicsuilyijun的 主題 / 回貼
2樓  發(fā)表于: 2014-06-18 10:56
這么復(fù)雜,如果你定長都是8千的話。你就把C251設(shè)為8千。當(dāng)計到8千時,由C251給自己復(fù)位。試一下看如何,我這么搞過,誤差不大,當(dāng)然不知道你的速度有好高。
無人值班
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 13 個
工控威望: 134 點(diǎn)
下載積分: 751 分
在線時間: 5(小時)
注冊時間: 2014-06-13
最后登錄: 2014-06-19
查看無人值班的 主題 / 回貼
3樓  發(fā)表于: 2014-06-18 15:14
我不是做機(jī)械控制的 但這個問題在過程控制中不是問題啊 高速計數(shù)不存在什么補(bǔ)償 復(fù)位漏計的問題 高速計數(shù)模塊本身就是帶寄存器的 我們用的PLC是這樣 比如設(shè)400次進(jìn)一個高位給PLC處理器計數(shù) 處理器收到的數(shù)據(jù)就是高位計數(shù)圈+計數(shù)器中地位脈沖數(shù) 不會有什么誤差 當(dāng)然行業(yè)不同 不知道硬件有沒有區(qū)別 但是高低端PLC原理應(yīng)該都是一樣的
無人值班
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 13 個
工控威望: 134 點(diǎn)
下載積分: 751 分
在線時間: 5(小時)
注冊時間: 2014-06-13
最后登錄: 2014-06-19
查看無人值班的 主題 / 回貼
4樓  發(fā)表于: 2014-06-18 15:16
就是說 你復(fù)位的是PLC處理器中的高位 而計數(shù)器一直是0-400計數(shù)著 不存在復(fù)位漏計的問題
purshro
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 228 點(diǎn)
下載積分: 8583 分
在線時間: 227(小時)
注冊時間: 2014-05-07
最后登錄: 2018-01-29
查看purshro的 主題 / 回貼
5樓  發(fā)表于: 2014-06-18 22:08
引用
引用第1樓cmsn于2014-06-15 12:44發(fā)表的  :
進(jìn)行脈沖補(bǔ)償

主要是機(jī)器速度變化太大20-120米/分。難以把握。
purshro
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 228 點(diǎn)
下載積分: 8583 分
在線時間: 227(小時)
注冊時間: 2014-05-07
最后登錄: 2018-01-29
查看purshro的 主題 / 回貼
6樓  發(fā)表于: 2014-06-18 22:17
引用
引用第2樓sicsuilyijun于2014-06-18 10:56發(fā)表的  :
這么復(fù)雜,如果你定長都是8千的話。你就把C251設(shè)為8千。當(dāng)計到8千時,由C251給自己復(fù)位。試一下看如何,我這么搞過,誤差不大,當(dāng)然不知道你的速度有好高。

謝謝指點(diǎn)!c251的計數(shù)值到8000還是會一直加啊,要復(fù)位還是要dhscr吧。原來在機(jī)器上試時低速誤差還算可以,高速差點(diǎn)。后來沒在機(jī)器上,單獨(dú)拿編碼器試才發(fā)現(xiàn)編碼器在轉(zhuǎn)整圈后回標(biāo)記點(diǎn)脈沖數(shù)不對。
purshro
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 228 點(diǎn)
下載積分: 8583 分
在線時間: 227(小時)
注冊時間: 2014-05-07
最后登錄: 2018-01-29
查看purshro的 主題 / 回貼
7樓  發(fā)表于: 2014-06-18 22:21
引用
引用第4樓無人值班于2014-06-18 15:16發(fā)表的  :
就是說 你復(fù)位的是PLC處理器中的高位 而計數(shù)器一直是0-400計數(shù)著 不存在復(fù)位漏計的問題

謝謝指點(diǎn)!就是覺得比如400進(jìn)入中斷處理的時候,編碼器實(shí)際已經(jīng)到了401才復(fù)位的。所以才有累計誤差。還好機(jī)器誤差也不算大。
sicsuilyijun
工控路上學(xué)習(xí)中
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 163 個
工控威望: 355 點(diǎn)
下載積分: 773 分
在線時間: 373(小時)
注冊時間: 2009-05-17
最后登錄: 2024-10-22
查看sicsuilyijun的 主題 / 回貼
8樓  發(fā)表于: 2014-06-19 13:41
你試下C253,把Z接進(jìn)X5。只是程序等各方面比較麻煩,需要找0點(diǎn)及Z相脈沖,定長就要計Z相脈沖幾次了,我的想法不一定很得當(dāng)。