<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于PLC的實時測量技術(shù)在遠程污水監(jiān)控系統(tǒng)中的應(yīng)用

          基于PLC的實時測量技術(shù)在遠程污水監(jiān)控系統(tǒng)中的應(yīng)用

          作者: 時間:2010-04-12 來源:網(wǎng)絡(luò) 收藏
          3.2 數(shù)據(jù)采樣和報警部分程序
           該部分程序由3個子程序組成:CheckRealTimeData子程序、Ana_Alarm子程序和Dig_Alarm子程序。其中CheckRealTimeData子程序負責定時對數(shù)據(jù)進行采樣、存儲;Ana_Alarm和Dig_Alarm子程序在CheckRealTimeData子程序中調(diào)用,負責判斷采集到的數(shù)據(jù)是否超過報警閾值。如果連續(xù)超過閾值的時間大于設(shè)定值,則置位報警標志位,使自發(fā)地向嵌入式數(shù)據(jù)采集模塊發(fā)送報警信息,觸發(fā)報警設(shè)備;如果采樣值恢復(fù)正常則將報警計時器清零,重新計時。Ana_Alarm子程序設(shè)定Adata、Uplevel和Lowlevel 3個入口參數(shù),分別表示所測模擬量數(shù)據(jù)、數(shù)據(jù)上限和數(shù)據(jù)下限;Dig_Alarm子程序設(shè)定Ddata、Status 2個入口參數(shù),分別表示所測數(shù)字量數(shù)據(jù)和報警狀態(tài)值。調(diào)用子程序時設(shè)置好正確的參數(shù)就可完成的報警功能,模擬量報警子程序和數(shù)字量報警子程序的流程圖如圖4所示。

          本文引用地址:http://www.ex-cimer.com/article/195459.htm

          3.3 PLC數(shù)據(jù)存儲部分程序
          PLC程序要有一定的數(shù)據(jù)存儲功能,防止因通信錯誤而出現(xiàn)數(shù)據(jù)丟失的情況。因為224XP PLC的數(shù)據(jù)存儲區(qū)僅為10 240 B,所以僅使PLC在每小時內(nèi)的15 min、30 min、45 min和60 min時各保存一次數(shù)據(jù),連續(xù)保存最近3天的數(shù)據(jù)。另外在電源掉電或內(nèi)存丟失后,PLC的系統(tǒng)時間會被初始化,這會使數(shù)據(jù)保存時間與實際時間不符,因此在建立了嵌入式通信采集模塊和PLC的通信聯(lián)系后,需發(fā)送命令對PLC的系統(tǒng)時間進行設(shè)置。
          3.4 PLC通信部分程序
           通信部分程序是整個PLC程序的核心。它包含4個中斷程序(串行通信口0發(fā)送、接收完成中斷和串行通信口1發(fā)送、接收完成中斷)及6個子程序:(1)Precheck子程序,負責按照HART協(xié)議格式向電磁流量計發(fā)送0#命令,獲得流量計地址;(2)PackandSend子程序,負責按照通信協(xié)議格式向嵌入式數(shù)據(jù)采集模塊發(fā)送報警數(shù)據(jù)、巡檢數(shù)據(jù)和補調(diào)數(shù)據(jù)3種不同的數(shù)據(jù)包,它有6個入口參數(shù),分別為CW、Data1Address~Data5Address,表示返回數(shù)據(jù)的命令字和5個測量數(shù)據(jù)的寄存器地址;(3)KeepConnect子程序,負責定時發(fā)送保持連接信號,確保嵌入式模塊和PLC通信正常,它有一個入口參數(shù)Time,表示定時時間;(4)CheckFlow子程序,負責按照HART協(xié)議命令格式向電磁流量計發(fā)送返回測量數(shù)據(jù)請求;(5)Port1CS子程序,在串行通信口1接收完成中斷程序中調(diào)用,負責對流量計返回的數(shù)據(jù)進行異或檢校,如果檢校錯誤,則丟棄數(shù)據(jù)包,如果檢校正確則進行解包分析,將返回的流量計地址或測量數(shù)據(jù)分別存儲在不同的寄存器中,以便其他子程序也可調(diào)用;(6)Port0CS子程序,在串行通信口0接收完成中斷程序中調(diào)用,負責對串口0接收的數(shù)據(jù)進行異或檢校。
           因為HART協(xié)議是主/從式協(xié)議,故PLC與流量計進行通信時需先向流量計發(fā)送命令,才能獲得相應(yīng)的返回數(shù)據(jù)。系統(tǒng)中PLC向流量計發(fā)送的命令有兩種:一種是要求流量計返回地址的0#命令,另一種是要求流量計返回測量數(shù)據(jù)的33#命令。0#命令在每次PLC重啟時發(fā)送一次,33#命令定時成每隔6 s發(fā)送一次。發(fā)送前要先拉高Q0.1的電平,使調(diào)制解調(diào)器處于調(diào)制工作狀態(tài);發(fā)送完成后,觸發(fā)端口1發(fā)送完成中斷使Q0.1輸出低電平,調(diào)制解調(diào)器工作在解調(diào)狀態(tài),接收來自流量計的數(shù)據(jù)。當接收完成后觸發(fā)端口1接收完成中斷,調(diào)用Port1CS子程序?qū)邮盏降臄?shù)據(jù)包進行分析。串口1的通信程序流程圖如圖5所示。

          PLC和嵌入式模塊進行通信時,PLC相當于從站,嵌入式模塊相當于主站。除了自發(fā)向嵌入式模塊發(fā)送報警信息和連接保持信息外,一般都是接收到數(shù)據(jù)返回請求后,再向嵌入式模塊發(fā)送數(shù)據(jù)。PLC接收完嵌入式模塊發(fā)送來的數(shù)據(jù)后,觸發(fā)端口0接收完成中斷對數(shù)據(jù)包進行分析。如果是系統(tǒng)時間設(shè)置命令,則按照數(shù)據(jù)包里的時間設(shè)置值修改PLC的系統(tǒng)時間。如果是補調(diào)命令,則按照查詢時間讀取歷史數(shù)據(jù)并存儲到補調(diào)數(shù)據(jù)寄存器中,如果是巡檢命令,則將實時采樣數(shù)據(jù)存儲到巡檢數(shù)據(jù)寄存器中,然后調(diào)用PackandSend子程序,設(shè)置好寄存器地址即可按照上位機命令返回相應(yīng)數(shù)據(jù)。PLC發(fā)送完成后觸發(fā)端口0發(fā)送完成中斷,將各標志位寄存器復(fù)位,為下一次通信做準備。串口0的通信程序流程圖如圖6所示。

          本文以一種分布式污水為例,提出了一種以西門子PLC為核心的測量方法。實驗證明,文中所述方案可以準確、可靠地測量惡劣環(huán)境下的現(xiàn)場數(shù)據(jù)。PLC的采用不僅增大了系統(tǒng)的穩(wěn)定性,而且還可以很方便地根據(jù)實際需要適當?shù)卦黾踊蚋淖儽O(jiān)控對象,對系統(tǒng)功能進行擴展。由于PLC程序采用模塊化設(shè)計,所以對系統(tǒng)進行簡單修改后即可用于其他工業(yè)監(jiān)控應(yīng)用中。文中詳細給出了下層基本測量模塊的硬件和軟件設(shè)計,以期為PLC用于測量、監(jiān)控領(lǐng)域提供一些參考。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();