然後,妳的硬件上最好能夠達到 轉壹圈有4個脈沖信號 進來這樣測速比較準確分辨率高。
妳可以編寫壹個子程序,在OB35裏調用,做壹個脈沖輸入點(Pulse_In),當然也需要 速度的計算周期(Speed_Cal_Period單位秒INT型),和每圈多少脈沖(PulsePerLap)以及速度(Speed)
其中速度計算周期以秒為單位是20毫秒的整數倍。
在程序內部首先計算出,速度計算周期 ,需要多少個OB35循環,每次脈沖點來之後,脈沖計數值加1,當計算周期到達後,開始計算速度,簡單程序如下。
L Speed_Cal_Period
L 20 //Ob35中斷周期
/I
T OB35Cycles//FC裏某個臨時變量,INT型
L OB35Cycles
L MW102
==I
JCN SPC
L 60.0
L Speed_Cal_Period
ITD
DTR
/R
L MW100
ITD
DTR
*R
L PulsePerLap
ITD
DTR
/R
T Speed
L 0
T MW100
T MW102
SPC:NOP 0
A Pulse_In
fp m20.0
jcn PC
L MW100//脈沖累積值
L 1
+I
T MW100
PC:NOP 0
L MW 102
L 1
+I
T MW102
以上是最基本算法,在壹定時間內 累積的脈沖數,除以計算周期,就得到了,每秒多少脈沖,乘以60得到每分鐘多少脈沖,再除以 沒轉壹圈有多少脈沖進PLC,這樣就得到了 轉速 沒分鐘多少圈。
為了 提高通用型,盡量做IN_OUT接口 來代替裏面的MW100,MW102和M20.0