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

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式系統在電網遠程監(jiān)控中的應用

          基于嵌入式系統在電網遠程監(jiān)控中的應用

          作者: 時間:2012-04-10 來源:網絡 收藏

          2.4 液晶顯示
          液晶顯示器采用CM12864型LCD,液晶模塊經數據總線接收LPC2131發(fā)送的指令和數據,存入內部的數據存儲器中,從而實現所需信息的顯示。為了獲得友好的界面和便捷的使用,液晶顯示采用漢字顯示方式,從字模軟件中獲取漢字代碼,再將每個漢字的代碼記錄在CAT1025中,在使用時跳去。由于LPC2131大多GPIO是復用口,需要在使用前對L/O口進行設置。圖7為LPC2131與CM12864的連接框圖。

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

          d.JPG



          3 的實現
          本文所設計的采用客戶一服務器分布式網絡接口,主機(服務器端)通過Internet連接到監(jiān)測儀(客戶端),實現電網的遠程監(jiān)控。
          3.1 客戶/服務器機制
          針對電網遠程監(jiān)控的特點,將電網監(jiān)測儀設置為客戶端,遠程監(jiān)控主機設置為服務器端。服務器端24小時不問斷地監(jiān)聽來自客戶端的連接請求,建立連接后進行TCP數據傳輸。圖8為TCP協議的客戶/服務器機制。

          e.JPG


          客戶端首先申請?zhí)捉幼执蜷_通信信道,并連接到服務器所在主機保留的端口,該端口對應服務器的TCP進程;隨后向服務器發(fā)出請求報文并等待接收應答;最后從服務器收到最終應答結果,或在不再請求時關閉信道并終止客戶端進程。
          服務器端首先申請?zhí)捉幼执蜷_通信通道,通知本地主機在某一保留端口接受客戶端請求;一旦接收到客戶端的請求,便啟動新進程處理用戶請求,同時釋放舊進程以響應新的客戶請求,一旦服務完成,便關閉新進程與客戶的通信鏈路;如果不想響應客戶端的請求,則關閉服務器進程。
          3.2 實時監(jiān)控
          遠程監(jiān)控主機(服務器端)的網絡通訊程序采用VB編寫,使用MFC Winsock類添加網絡通信能力。遠程監(jiān)控主機的IP地址為192.168. 1.100,監(jiān)控程序端口號8000,所有網絡上的電網監(jiān)測儀都與該服務器監(jiān)控程序建立連接,傳輸數據。此時監(jiān)控程序的運行狀態(tài)為監(jiān)聽連接,等待各個電網監(jiān)測儀(客戶端)設備的連接請求。當某個電網監(jiān)測儀與服務器端監(jiān)控程序建立連接之后,就開始進行傳輸數據。
          3.3 歷史數據查詢
          若服務器端要求獲得電網的實時參數,客戶端在上傳實時數據時將數據存儲到客戶端的數據庫,同時服務器端將接收到的數據存放在自己的數據庫中,形成歷史數據庫,供查詢、決策參考及故障分析。
          遠程監(jiān)控系統的SQL Server數據庫采用ADO API技術,用ADO的Connection對象實現與數據庫的連接,用Recordset對象實現對數據記錄的訪問,用Command對象來實現SQL查詢,用Error對象控制數據交換時發(fā)生的錯誤。

          linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();