現在的工控行業(yè)中,編碼器的應用越來越廣泛,故在此講述一下旋轉編碼器的一般應用,歡迎大家踴躍提意見,如有疑問也歡迎大家與我聯系。
旋轉編碼器的一般介紹
其主要有兩種,一種是增量型,另一種是絕對型。增量型的特征是只有在旋轉期間會輸出對應旋轉角度脈沖,停止是不會輸出。它是利用計數來測量旋轉的方式;價格比較便宜。絕對型的的特征是不論是否旋轉,可以將對應旋轉角度進行平行輸出的類型,不需要計數器可確認旋轉位置;它還有不受機械的晃動或震動以及開關等電器干擾的功能,價格貴。在選擇使用時,可參考以下幾點。包括成本、分辨率、外形尺寸、軸負荷及機械壽命、輸出頻率、環(huán)境、軸旋轉力矩、輸出回路等等。
應用舉例
它一般應用在對機器的動作控制。我那一個實例詳細說明一下。我剛剛改造一臺機器,機器在運行過程中先要對工件進行處理,然后加工。它以前是用光電開關做的,機器的電路就比較復雜,而且成本增加,維護調校麻煩。于是我就對機器的電路進行改造,主要是用一個編碼器來代替以前的光電開關。此套系統(tǒng)由OMRON的PLC與編碼器組成。下面是PLC程序。
I/O 及數據
檢測是否有工件開關:00007 變頻器零速輸出:00008
處理工序1:開(DM100) 關(DM101) 10100
處理工序2:開(DM102) 關(DM103) 10101
處理工序3:開(DM104) 關(DM105) 10102
加工工序1:開(DM106) 關(DM107) 10103
加工工序2:開(DM108) 關(DM109) 10104
加工工序3:開(DM110) 關(DM111) 10105
PLC程序
Name= Initialize
[STATEMENTLIST]
LD 253.13 //On
OUT TR0
OUT 252.00 //Encoder software reset
TIM 000 #0100 //System initialize delay
AND 253.15 //PLC First scan on
INI 000 002 DM0000 //Control Encoder mode
LD TR0
AND TIM000
PRV 000 000 DM0000 //Encoder PV read
DIV DM0000 #0004 DM0002 //1440 Change 360
BCMP DM0002 DM0100 HR01 //Block compare for operation
Name= Shift
[STATEMENTLIST]
LD 000.07 //Part on
LD HR01.08 //Shift degree
LD 253.14 //Off
SFT HR60 HR62 // the rightmost word of the shift register
Name= Treat 1
[STATEMENTLIST]
LD TIM000
AND HR60.08 //Shift to action 1 operate position
AND NOT 00008 //Inverter zero speed output
AND HR01.00 //Degree of action 1
OUT 101.00 //Output Treat 1
Name= Treat 2
[STATEMENTLIST]
LD TIM000
AND HR60.10 //Shift to action 2 operate position
AND NOT 00008
AND HR01.01 //Degree of action 2
OUT 101.01 //Output Treat 2
Name= Treat 3
[STATEMENTLIST]
LD TIM000
AND HR60.15 //Shift to action 3 operate position
AND NOT 00008
AND HR01.02 //Degree of action 3
OUT 101.02 //Output Treat 3
Name= Process 1
[STATEMENTLIST]
LD TIM000
AND HR62.03 //Shift to Print 1 operate position
AND NOT 00008
AND HR01.03 //Degree of print 1
OUT 101.03 //Output Process 1
Name= Process 2
[STATEMENTLIST]
LD TIM000
AND HR62.05 //Shift to Print 2 operate position
AND NOT 00008
AND HR01.04 //Degree of print 2
OUT 101.04 //Output Process 2
Name= Process 3
[STATEMENTLIST]
LD TIM000
AND HR62.08 //Shift to Print 3 operate position
AND NOT 00008
AND HR01.04 //Degree of print 3
OUT 101.04 //Output Process 3