欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> 梯形圖實(shí)例 >> 正文

模擬量采集運(yùn)算,S7-200SMART 如何減少流量累計(jì)誤差?

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2024/8/25

一、流程描述
1.使用一個(gè)西門(mén)子200SMART模擬量輸入模塊采集流量瞬時(shí)值,通過(guò)模擬量轉(zhuǎn)換指令S_ITR轉(zhuǎn)換為工程量;

2.初始化相關(guān)變量地址并啟用定時(shí)器中斷;

3.中斷程序內(nèi)實(shí)現(xiàn)流量累計(jì)計(jì)算;

4.累積到一定值后,復(fù)位清空所有數(shù)據(jù),重新開(kāi)始累計(jì)。


二、硬件設(shè)備
1.西門(mén)子PLC :S7-200SMART CPUSR30 6ES7 288-1SR30-0AA1;
2.模擬量輸入模塊:EMAE04(4AI)6ES7 288-1AE04-0AA0。


三、軟件
西門(mén)子200SMARTplc編程軟件:STEP7-MicroWINSMART V2.7版。


四、地址分配


五、程序思路及編寫(xiě)
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)念^開(kāi)始累計(jì),具體時(shí)間可根據(jù)現(xiàn)場(chǎng)實(shí)際要求而定,如圖4所示:

 

圖4

總結(jié)

該梯形圖程序采用將浮點(diǎn)數(shù)分離為整數(shù)和小數(shù)兩部分,各自求和后再分別相加,得出當(dāng)前流量累積值,大大減小了累積誤差,適用于要求精度不是很高的場(chǎng)合。

 

Tags:累計(jì)流量,模擬量采集,S7-200SMART  
責(zé)任編輯:admin
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
主站蜘蛛池模板: 洛阳市| 米林县| 常熟市| 扶风县| 龙里县| 双桥区| 明水县| 井研县| 那曲县| 普宁市| 伽师县| 永清县| 九寨沟县| 额尔古纳市| 昌吉市| 启东市| 抚松县| 西盟| 松原市| 胶南市| 澎湖县| 敦煌市| 梁山县| 武平县| 禹城市| 乌拉特前旗| 榆林市| 偃师市| 东光县| 桃江县| 盐亭县| 旺苍县| 鄂州市| 宜君县| 上杭县| 太仆寺旗| 辽阳市| 田阳县| 中宁县| 西吉县| 贵南县|