歡迎回到技成培訓(xùn)網(wǎng)
技成培訓(xùn)網(wǎng)
電工題庫(kù)寶典
技成電工課堂
PLC練習(xí)題
技成PLC課堂
變頻器故障查詢
技成PLC學(xué)吧
伺服驅(qū)動(dòng)故障查詢
技成PLC網(wǎng)校
一、流程描述
1. 一個(gè)200SMART模擬量輸入模塊采集流量瞬時(shí)值,通過(guò)模擬量轉(zhuǎn)換指令轉(zhuǎn)換為工程量;
2. 初始化相關(guān)變量地址并啟用定時(shí)器中斷;
3. 中斷程序內(nèi)實(shí)現(xiàn)流量累計(jì)計(jì)算;
4. 累積到一定值后,復(fù)位清空所有數(shù)據(jù),重新開始累計(jì)。
1. 西門子PLC :S7-200SMART CPUSR30 6ES7 288-1SR30-0AA1;
2. 模擬量輸入模塊:EMAE04(4AI)6ES7 288-1AE04-0AA0。
西門子200SMART plc編程軟件:STEP7-MicroWIN SMART V2.7版。
V區(qū)地址 |
注釋 |
其它地址 |
注釋 |
VD0 |
工程瞬時(shí)值 |
M0.0 |
工程量轉(zhuǎn)換允許信號(hào) |
VD4 |
流量/每分鐘 |
M0.1 |
復(fù)位信號(hào) |
VD8 |
流量整數(shù)部分 |
AIW16 |
模擬量通道 |
VD12 |
流量小數(shù)部分 |
|
|
VD100 |
整數(shù)和 |
|
|
VD104 |
小數(shù)和 |
|
|
VD108 |
累積和 |
|
|
1. 因有的十進(jìn)制小數(shù)轉(zhuǎn)化為二進(jìn)制存儲(chǔ)時(shí)會(huì)無(wú)限循環(huán),而200SMART只能存儲(chǔ)23位單精度浮點(diǎn)數(shù)的小數(shù)位,當(dāng)前一個(gè)累積值比較大,而現(xiàn)時(shí)流量瞬時(shí)值較小時(shí),兩者相加會(huì)因舍棄小數(shù)值造成誤差,累積次數(shù)越多,誤差越大。為減小誤差,可采用將采集的瞬時(shí)值分解成整數(shù)和小數(shù)兩部分,整數(shù)部分相加,小數(shù)部分相加,兩者的和再相加即為累積值,這樣可極大的減小累積誤差。
2. 首先調(diào)用模擬量轉(zhuǎn)換指令將采集到的模擬量通道值轉(zhuǎn)換為實(shí)際工程值,假設(shè)工程值的上下限分別為0.0、50.0,如圖1所示:
圖1
3. 接下來(lái)調(diào)用初始化指令,目的是每200MS采集一次瞬時(shí)流量值,因此需要建立定時(shí)中斷,還需清空所有存儲(chǔ)數(shù)據(jù)的變量地址,如圖2所示:
圖2
4. 在定時(shí)中斷程序中做數(shù)據(jù)的處理,先將瞬時(shí)流量分解為整數(shù)和小數(shù),然后整數(shù)與前一次的整數(shù)累計(jì)和相加,小數(shù)和前一次的小數(shù)累積和相加,再將兩者的和相加即為當(dāng)前流量的累積值,需注意整數(shù)即整數(shù)和也需轉(zhuǎn)化為浮點(diǎn)數(shù),以便于和小數(shù)和相加,如圖3所示:
圖3
5. 為不使累積值超出變量地址的存儲(chǔ)范圍,過(guò)一段時(shí)間后需將存儲(chǔ)數(shù)據(jù)的地址清零,再?gòu)念^開始累計(jì),具體時(shí)間可根據(jù)現(xiàn)場(chǎng)實(shí)際要求而定,如圖4所示:
圖4
該程序采用將浮點(diǎn)數(shù)分離為整數(shù)和小數(shù)兩部分,各自求和后再分別相加,得出當(dāng)前流量累積值,大大減小了累積誤差,適用于要求精度不是很高的場(chǎng)合。
若有收獲,就點(diǎn)個(gè)贊吧!
微信掃一掃分享
閱讀與本文標(biāo)簽相同的文章