18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 梯形圖實例 >> 正文

模擬量采集運算,S7-200SMART 如何減少流量累計誤差?

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2024/8/25

一、流程描述
1.使用一個(ge) 西門子200SMART模擬量輸入模塊采集流量瞬時值,通過模擬量轉換指令S_ITR轉換為(wei) 工程量;

2.初始化相關(guan) 變量地址並啟用定時器中斷;

3.中斷程序內(nei) 實現流量累計計算;

4.累積到一定值後,複位清空所有數據,重新開始累計。


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


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


四、地址分配


五、程序思路及編寫(xie)
1.因有的十進製小數轉化為(wei) 二進製存儲(chu) 時會(hui) 無限循環,而200SMART隻能存儲(chu) 23位單精度浮點數的小數位,當前一個(ge) 累積值比較大,而現時流量瞬時值較小時,兩(liang) 者相加會(hui) 因舍棄小數值造成誤差,累積次數越多,誤差越大。為(wei) 減小誤差,可采用將采集的瞬時值分解成整數和小數兩(liang) 部分,整數部分相加,小數部分相加,兩(liang) 者的和再相加即為(wei) 累積值,這樣可極大的減小累積誤差。

 

2.首先調用模擬量轉換指令將采集到的模擬量通道值轉換為(wei) 實際工程值,假設工程值的上下限分別為(wei) 0.0、50.0,如圖1所示:

圖1


3.接下來調用初始化指令,目的是每200MS采集一次瞬時流量值,因此需要建立定時中斷,還需清空所有存儲(chu) 數據的變量地址,如圖2所示:

圖2


4.在定時中斷程序中做數據的處理,先將瞬時流量分解為(wei) 整數和小數,然後整數與(yu) 前一次的整數累計和相加,小數和前一次的小數累積和相加,再將兩(liang) 者的和相加即為(wei) 當前流量的累積值,需注意整數即整數和也需轉化為(wei) 浮點數,以便於(yu) 和小數和相加,如圖3所示:

 

 

 

圖3


5.為(wei) 不使累積值超出變量地址的存儲(chu) 範圍,過一段時間後需將存儲(chu) 數據的地址清零,再從(cong) 頭開始累計,具體(ti) 時間可根據現場實際要求而定,如圖4所示:

 

圖4

總結

該梯形圖程序采用將浮點數分離為(wei) 整數和小數兩(liang) 部分,各自求和後再分別相加,得出當前流量累積值,大大減小了累積誤差,適用於(yu) 要求精度不是很高的場合。

 

Tags:累計流量,模擬量采集,S7-200SMART  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢