用PLC高速計(jì)數(shù)器和電壓/頻率傳感器測量模擬電壓信號的方法
主程序
LD SM0.1 //用初次掃描存儲器位(SM0.1)調(diào)用執(zhí)行初始化操作的子程序。由于采用這樣的子程序調(diào)用,后續(xù)掃描不會再調(diào)用這個(gè)子程序,從而減少了掃描時(shí)間,也提供了一個(gè)結(jié)構(gòu)優(yōu)化的程序。
CALL SBR_0 //調(diào)用初始化子程序SBR_0
子程序
SBR0 SM0.0 //啟動子程序0
LD SM0.0 //SM0.0總是1
MOVB 16#FC,SMB47 //設(shè)置高速計(jì)數(shù)器HSC1控制字節(jié):上升沿復(fù)位,上升沿啟動,1X計(jì)數(shù)速率,正向計(jì)數(shù),可改變方向,可更新PV(預(yù)置值),可CV(當(dāng)前值),激活HSC1。
HDEF 1,0 //定義高速計(jì)數(shù)器,選用HSC1工作于模式0
MOVO 0,SM048 //HSC1當(dāng)前值清0
MOVD 16#FFFF,SMD52 //將預(yù)置值裝入SMD52
MOVB 100,SMB34 //設(shè)置定時(shí)中斷0間隔時(shí)間為100ms
ATCH 0,10 //中斷連接指令,中斷程序?yàn)镮NT_0,事件號為10
EN 1 //允許所有中斷
HSC 1 //編程計(jì)數(shù)器SHC1,使設(shè)置生效
中斷程序0
INT 0 //啟動中斷程序
LD SM0.0 //SM00總是1
MOVD HSC1,AC0 //把HSC1的計(jì)數(shù)值存入累加器AC0
MOVD AC0,VD100 //把計(jì)數(shù)值存入VD100
MOVD 0,SM048 //HSC1當(dāng)前值清0
MOVB 16#C0,SMB47 //重新設(shè)置HSC1控制字節(jié):上升沿復(fù)位,上升沿啟動,4X計(jì)數(shù)速率;反向計(jì)數(shù),不改變計(jì)數(shù)方向,不更新PV,可更新CV,激活HSC1。
HSC 1 //啟動高速計(jì)數(shù)器HSC1
MUL 5,VD100 //把HSC1的計(jì)數(shù)值乘以5
MOVB VB103,QB0 //在輸出端Q00至Q0.7顯示10倍被測控母電壓值
4 結(jié)語
以上方法已用于GZS2智能型高頻開關(guān)直流電源等控制系統(tǒng)(變電站、發(fā)電廠用直流電源),實(shí)踐證明,該方法進(jìn)行模擬電壓信號測量,具有精度高(最高可達(dá)5/1000V),抗騷擾性強(qiáng),運(yùn)行可靠等優(yōu)點(diǎn),具有較大的實(shí)用價(jià)值和廣泛的應(yīng)用前景。
模擬信號相關(guān)文章:什么是模擬信號
西門子plc相關(guān)文章:西門子plc視頻教程
傳感器相關(guān)文章:傳感器工作原理
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理 脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
評論