<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

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

      西門子plc流量累積計算程序梯形圖實例

      作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2021/12/18

      plc做流量累積計算的程序

      如圖:
       


       


       
       

       

      二、plc計算流量累積

      流量計是4-20ma信號輸出,瞬時流量可以用S7200來做,但是累積流量的話,怎么編程才能使誤差最小,累積流量超范圍溢出問題,怎么解決?

      對這個流量進行固定頻率的采集,假如采集頻率為10hz,也就是每秒鐘采集10次,將每次采集的數(shù)據(jù)進行累加,再將累計的數(shù)除以10就是每秒流量,假如流量計工作在最大流量上,我們假定20ma對應的數(shù)值時65535(一般plc模擬量都沒這么高的精度,至于是多少要根據(jù)模塊來),那么用雙字運算就能滿足要求了,先將模擬量輸入數(shù)值轉(zhuǎn)換成雙字,再累加,到10次以后將累加值除以10再傳送給另一個寄存器(這個寄存器中才是真正的累計量)。

      累計范圍超出也好辦,只要將累計量單位換算一下就永遠也不可能超范圍了,比如開始累計的是升,每次達到1000升時,將一個立方為單位的累計值上加1,以升為單位的寄存器清零,單立方值到了1000后,將仟立方寄存器加1,再將立方累計值清零。這樣處理,再多的流量也可以累計。

      要減小累計誤差就是要減短采集時間,對于流量計采樣時間0.1秒應該是夠了。還有就是采集程序要用定時中斷,比較準確一點。

      三、plc在流量顯示和累積計量上的應用

      流量計輸出的信號一般是脈沖信號或4-20mA電流信號,這兩種信號輸出的都是瞬時流量(也有用繼電器輸出累積量信號,原理一樣,不再贅述),我們的目的是在PLC中計算和顯示瞬時流量值和計算累積量值,當輸入信號是脈沖信號是,在計算瞬時流量的時候,必須按照一個嚴格的時間間隔計算才能保證瞬時流量的準確性。

      因此,計算瞬時流量的時候必須用定時中斷來進行,而且,在PLC系統(tǒng)中只能運行這一個中斷程序,不允許再產(chǎn)生其它中斷(即使是低優(yōu)先級的中斷也不允許運行),以防止干擾定時中斷的時間間隔的準確性,計算瞬時流量就是將這個時間段的累計脈沖個數(shù)換算成累計流量,再除以時間就是瞬時流量,對于4-20mA輸入只需按照其對應的量程進行換算就可以直接得到瞬時流量,而累積流量就是將每個時間段內(nèi)的累積流量累加起來就是累積流量,在實際使用PLC編程的過程中必須注意以下幾個問題:

      1. 輸入脈沖頻率范圍是否超出PLC接收的范圍;
      2. PLC高速計數(shù)器在達到最大計數(shù)值時如何保證計算正確;
      3. 如何保證定時中斷不受干擾;
      4. 如何避免計算累積量的誤差;
      5. 累積量的最大累積位數(shù);
      6. 如何復位累積量;

      對于高速計數(shù)器是否達到最大計數(shù)值時需要判斷,S7-200CPU的高速計數(shù)器是可以周而復始的進行累計的,最高位為符號位,最小值為7FFFFFFF,由于計數(shù)器是一直累加的,不可能出現(xiàn)本次讀取的的計數(shù)值小于上次的計數(shù)值。

      因此判斷計數(shù)器當前值是否小于前一次的計數(shù)值,就可以判斷計數(shù)是否達到最大值的拐點(7FFFFFFF),如果達到,則執(zhí)行特殊的計算以便消除計算錯誤,如下列程序所示,當當前計數(shù)值大于等于上次計數(shù)值時,兩個計數(shù)值做差,就得到程序兩次掃描時間間隔內(nèi)的計數(shù)差值,同時將當前計數(shù)值賦值到上次計數(shù)值上;當當前計數(shù)值小于上次計數(shù)值時,計算上次計數(shù)值與7FFFFFFF之間的差值(用減法),以及當前計數(shù)值和7FFFFFFF之間的差值(用加法),然后將兩個結(jié)果相加就是程序兩次掃描時間間隔內(nèi)的計數(shù)差值,從而實現(xiàn)對對累計計數(shù)值達到拐點時的正確計算。

      注:此程序應放在定時中斷子程序中執(zhí)行。

      實際上,在現(xiàn)場應用中定時中斷子程序是采用250ms中斷一次執(zhí)行的,使用SMB34進行控制的,需要注意的是,系統(tǒng)中必須只保證這個中斷是唯一存在的,不會受到其他中斷的影響,否則可能會由于其他中斷的影響使周期性中斷不準時,從而影響精度。

      通過以上計算就得到了250ms內(nèi)流量計發(fā)過來的脈沖個數(shù),這個數(shù)值乘以脈沖當量就是250ms內(nèi)的流量值,再除以時間就是瞬時流量,另外,在250ms內(nèi)再執(zhí)行累加程序就可以計算累積流量了,在計算累積流量過程中需要避免累積過程的的計算誤差,流量累積量是一直累積的一個數(shù)值,一般會累積到8位數(shù),而PLC內(nèi)部的浮點數(shù)的有效位數(shù)是6位,當累積量數(shù)值很大的時候就會造成一個大數(shù)和一個小數(shù)相加,勢必導致小數(shù)的有效位數(shù)丟失,造成很大的累積誤差。

      因此,要避免大數(shù)和小數(shù)相加的情況出現(xiàn),解決方法是采用多個流量累積器,只允許同數(shù)量級的數(shù)值相加,從而避免數(shù)值有效位數(shù)損失,實際編程中采用了5個累積器,根據(jù)常用流量情況下,在周期中斷時間間隔(250ms)內(nèi)流過的流量乘以15作為第一個累積器的上限,當達到這個累積器的上限值后,將這個累積器的值累加到第2個累積器中,并把第一個累積器清零,對于第三個累積器也同樣處理,第4個累積器用于保存累積量小數(shù)部分數(shù)值,第5個累積器用于保存累積量整數(shù)部分數(shù)值,這樣在顯示總累積量時只需顯示整數(shù)部分和小樹部分就可以了,整個過程充分避免了累積過程中大數(shù)與小數(shù)相加的情況出現(xiàn)。

      在實際工程中,需根據(jù)流量的大小、周期中斷的時間間隔來確定所用累積器的個數(shù),而累積器的整數(shù)部分用雙整數(shù)來表示,雙整數(shù)的范圍是-2,147,483,648到+2,147,483,647,因此,可以使累積器的整數(shù)位數(shù)達到9位,這樣,在顯示累積量時就可以最多顯示9位整數(shù)的累積量和6位的小數(shù)累積量。總計15位,從而省略累積器倍乘系數(shù),使讀數(shù)更簡便。

      對累積器需要在一定條件下復位,累積到最大數(shù)值或手動復位,在中斷程序中判斷累積量是否達到超過最大位數(shù),當超過最大數(shù)值時,將各個累積器清零,另外清零的觸發(fā)信號也可以是手動觸發(fā)。

      如果是流量計本身也有累計量的話,二次輸出的瞬時量,在PLC中再做中斷,也會有一定的誤差的。最好用通訊或脈沖。

      PLC做累加總歸會有誤差,最好的方法是用通信,可以確保累積流量的準確。通用的HART-Profibus通信網(wǎng)關(guān)比較復雜,還需要定義解析HART消息。

      在對準確度有較高要求的場合建議用累積流量專用網(wǎng)關(guān),專用帶來簡潔,經(jīng)濟、簡單、可靠,不需要定義HART消息,不需要PLC是Profibus主站,即插即用免配置。

      四、西門子plc中如何解決流量累積問題
       
      現(xiàn)在上位機系統(tǒng)中很多要求具備流量計的流量累計功能,由此引出的幾個問題,期望與大家分享。

      問題1:自行編寫流量累計程序
      自行編寫流量累計程序的原理,其實就是積分的最原始算法概念,把單位小間隔時間內(nèi)的瞬時流量乘以單位間隔時間,得到單位小間隔時間內(nèi)的流量,再把這些小流量累加起來,就的到了累計流量。
      在流量累計編程中經(jīng)常會遇到實數(shù)加法問題,實數(shù)加法運算的注意事項也應當引起編程人員的重視,請看下例程序(假設其在OB35中被調(diào)用,目的為每隔一定時間間隔就累計一次流量)
      L MD0 //累計流量存儲值
      L MD4 //流量瞬時值
      +R
      T MD 0
      以上的程序是否存在問題?

      很多人會認為沒有問題,但實際情況是此程序在運行一段時間后就將出現(xiàn)錯誤。此程序在運行之初是正常的,因為累計流量初始值及流量瞬時值都為一個很小的浮點數(shù),兩數(shù)相加后,結(jié)果正確。但是當一段時間后,累計流量的數(shù)值逐漸增大,當它與瞬時流量的數(shù)值相差很遠的時候,兩者執(zhí)行加法操作后,瞬時流量的數(shù)值將被忽略掉(如9999990.0與0.2做加法操作)。其實具備計算機常識的人都應當清楚這一點,這是由于浮點數(shù)的存儲機制造成的,是所有計算機方面編程都需要考慮的問題。這個問題可以通過使用二次累加或多次累加的方法來解決。所以在編程時應避免數(shù)量級相差太多的浮點數(shù)之間進行運算。很多人反映“加法指令不好用了”,很有可能就是數(shù)量級相差很多的實數(shù)進行了加法運算。

      問題2:累計流量誤差問題
      對于積分算法,取小的矩形對流量進行累計,肯定是矩形劃分越細,誤差越小,不存在誤差是不可能的。

      問題3:流量計與PLC構(gòu)成的系統(tǒng)的誤差
      流量計有多種多樣,下面舉些例子:

      1、流量計本身沒有累計流量功能,但可以把瞬時流量以模擬量的方式(例如4-20mA)輸出。
      此時累計流量的最大誤差可以估算為:
      流量計本身誤差 * 流量計D/A誤差 * 模擬量模塊A/D誤差 * PLC流量累計算法誤差

      假設上面所有誤差都是1%,則最后的誤差約為:4.06%
      1.01*1.01*1.01*1.01=1.0406
      對于某些流量計,本身的瞬時流量誤差可能就是3%,所以這樣的系統(tǒng)累計流量的誤差可能還要大些。

      2、流量計本身沒有累計流量功能,但可以把瞬時流量以數(shù)字量的方式輸出。
      有些流量計提供數(shù)字量接口,可以連接PLC的數(shù)字量輸入模板,流量計每流過一定流量后(例如0.1噸),此輸入點就導通一次,PLC就把累計流量累加0.1噸即可。
      此類系統(tǒng)避免了A/D,D/A轉(zhuǎn)化的誤差,以及PLC累計算法誤差。但是會出現(xiàn)一定時間內(nèi)累計流量不變化的情況,實時性不好(每0.1噸累積的時間)。

      3、流量計本身有累計流量功能,同時可以把瞬時流量以模擬量的方式(例如4-20mA)輸出,但無法將累計流量數(shù)值送出。
      流量計本身累積流量的數(shù)值,最后很有可能與PLC的累計流量數(shù)值相差很大,原因可能是多方面造成的,除去系統(tǒng)累計流量誤差的因素,如果PLC系統(tǒng)檢修時,流量計還計量,則PLC無法累積這部分流量。

      4、流量計本身有累計流量功能,同時可以通過通信的方式,把瞬時流量及累計流量數(shù)值送給PLC。這種情況最理想,但系統(tǒng)的成本也最高。

      五、關(guān)于流量累積的程序

      需要關(guān)于流累累積的程序,只要流量計測到瞬時計量,需要求出某一時段的累積流量,需要成功的例子程序,LAD/STL都可以。

      在ob35中做,做一個小信號切除,太小的就不要了。
       

      復制代碼 代碼示例:
       a start//開始累計流量
       fp flg1
       =flg2
       a flg2
       jcn m2
       l 0.0
       t sum
       m2:nop 0
       a start
       jcn m1
       l pv//測量信號
       l pv_low_sp//小信號值
       >=r
       jcn m1
       l pv//以小時計
       l 7200.0//ob35的周期是500ms
       /r
       l sum//累計信號
       +r
       t sum
       m1:nop 0
       

       上面的程序啟動瞬間累計數(shù)據(jù)清零,然后開始累計,start=0停止累計。如果要求的精度高的話,需要減小ob35的周期,同時7200.0也需要相應的變化。如果周期是100ms了,那么7200.0需要變成36000.0。

       分析:
       以前用plc做過流量計算。首先的看你用什么計流量,如果是脈沖信號,因為PLC本身有運行周期,如果控制要求較高的場合,通過脈沖來計算出瞬時流量,計算出來實際上是不準的,而且控制上滯后比較嚴重。TI430單片機之類具有硬件脈沖捕捉功能的單片機,在通過脈沖計算流量上,有得天獨厚的優(yōu)勢。這個可以參考一些基本的測速概念。脈沖用來計算累積量很準。
       
       如果流量計本身反饋的是4~20ma的速度模擬信號,這個就直接采集,然后在OB35里邊用積分模塊進行流量累計。這個速度信號比較及時準確,但中斷模塊調(diào)用積分,也會有誤差,不如脈沖計量準。
       
       現(xiàn)在做皮帶秤時,一般都混合采用,直接采模擬速度,然后用脈沖累計流量。

      Tags:西門子plc,流量累積計算,梯形圖實例  
      責任編輯:admin
      相關(guān)文章列表
      西門子200SMART PLC編程通過指針輕松實現(xiàn)多個數(shù)據(jù)排列
      西門子S7-200SMART PLC如何實現(xiàn)星三角降壓啟動多次調(diào)用?子程序編
      西門子PLC子程序?qū)嵗琒7-200 SMART PLC帶參數(shù)子程序應用實例
      詳解步進電機與PLC的接線,西門子、三菱等PLC接線(總結(jié)篇)PLC和
      西門子PLC編程實例  4個基本控制電路設計方法
      S7-200smart 恒溫PID控制_STEP7中PID設置溫度自動控制編程
      西門子plc傳送帶操作控制,傳輸帶控制
      西門子PLC實現(xiàn)汽車涂裝前處理生產(chǎn)線中的磷化槽液位控制
      西門子200smart高速計數(shù)器指令向?qū)Ъ俺绦颍ㄊ詹兀┨菪螆D實例
      |分享| S7-200SMART常用指令(二)
      S7-200SMART PLC 模擬量輸入案例,AM06模擬量擴展模塊和SIT_R指令
      |實用|一文讓你讀懂使用中斷功能  ATCH和DTCH和RETI、DISI
      神級匯總,西門子PLC中斷指令及例程 ATCH和ENI
      STEP7【步驟詳解】西門子 PLC PID組態(tài)設置及PID常見問題解答
      西門子plc怎么產(chǎn)生PWM信號,脈沖輸出向?qū)WM輸出向?qū)?/a>
      西門子200SMART與眾辰變頻器的MODBUS通信實例40001和十六進制的轉(zhuǎn)
      西門子PLC控制的專用自動攻絲系統(tǒng)設計,運動控制伺服控制系統(tǒng)設計
      工廠中常見的精確運動控制,5分鐘后您就能使用PLC編程編碼器
      西門子S7-200 PLC使用高速脈沖輸入測量瞬時流量
      西門子S7-200脈沖輸出指令做電機正反轉(zhuǎn)控制,PLS指令,子程序和中
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      推薦文章
      最新推薦
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 日韩亚洲综合精品国产| 国产亚洲综合久久系列| 亚洲精品欧美综合四区| 国产精品国色综合久久| 久久综合九色综合欧洲| 亚洲综合精品网站在线观看| 色综合小说天天综合网| 狠狠色婷婷久久综合频道日韩| 人人狠狠综合久久亚洲88| 99sescom色综合| 一本久道久久综合狠狠爱| 亚洲综合无码一区二区痴汉| 激情五月激情综合网| 天天做天天爱天天综合网| 亚洲综合精品第一页| 色综合久久久久无码专区| 久久久久亚洲AV综合波多野结衣 | 国产成人久久综合热| 久久综合久久鬼色| 加勒比色综合久久久久久久久| 亚洲国产综合精品中文第一区| 九月婷婷综合婷婷| 区三区激情福利综合中文字幕在线一区| 狠狠色狠狠色综合久久| 伊人婷婷色香五月综合缴激情| 综合一区自拍亚洲综合图区| 久久婷婷五月综合色精品| 亚洲综合一区无码精品| 狠狠色综合TV久久久久久| 狠狠色丁香婷婷综合久久片| 丁香亚洲综合五月天婷婷| 九九综合九九综合| 久久婷婷五月综合色99啪ak| 青青草原综合久久| 国产精品天天影视久久综合网| 色综合久久中文综合网| 久久亚洲精品高潮综合色a片| 色综合天天综合网国产国产人| 香蕉国产综合久久猫咪| 伊人丁香狠狠色综合久久| 91精品婷婷国产综合久久|