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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ATmega128的安全工器具監(jiān)控系統(tǒng)設計

          基于ATmega128的安全工器具監(jiān)控系統(tǒng)設計

          作者: 時間:2013-03-29 來源:網(wǎng)絡 收藏

          3.1 下位機程序

          下位機主要完成對離就位狀態(tài)信息的采集與顯示、對柜內溫濕度的采集與調節(jié),并將離就位狀態(tài)等相關信息發(fā)送給上位機管理系統(tǒng)進行處理。

          1)下位機主控程序

          只有當上位機管理系統(tǒng)需要時,安全工器具的有效使用期限和柜內的溫濕度信息才會發(fā)送給上位機管理系統(tǒng)。整個下位機的主控程序流程圖如圖2所示。

          2)下位機采集數(shù)據(jù)處理程序

          下位機數(shù)據(jù)采集的時間間隔由定時器控制,數(shù)據(jù)采集命令由下位機主控板通過RS-485的方式發(fā)送給數(shù)據(jù)采集板,采集數(shù)據(jù)同樣以RS-485的方式回傳給主控板進行處理。

          主控板對安全工器具離就位狀態(tài)信息的處理過程如圖3所示。

          3.2 上位機程序設計

          上位機管理系統(tǒng)的主要功能就是實現(xiàn)對下位機傳遞過來的數(shù)據(jù)的處理:將安全工器具的離就位狀態(tài)信息以用戶界面的形式顯示給用戶,以便工作人員及時了解工器具的使用情況,并將相關工器具的離就位狀態(tài)信息進行保存,以便用戶進行歷史。

          基于ATmega128的安全工器具監(jiān)控系統(tǒng)設計

          上位機處理數(shù)據(jù)的流程如圖4所示,采用事件觸發(fā)的方式來處理下位機傳遞上來的數(shù)據(jù),當有數(shù)據(jù)傳遞上來時,便進入數(shù)據(jù)處理流程:首先判斷數(shù)據(jù)的起始符和校驗碼是否都正確,只有當兩者都正確時才會對數(shù)據(jù)包進行下一步的處理,否則結束數(shù)據(jù)處理的整個流程,等待新數(shù)據(jù)的到來;然后判斷數(shù)據(jù)中的操作指令,當數(shù)據(jù)信息與需要的信息不相符時,便結束整個數(shù)據(jù)處理流程,等待新數(shù)據(jù)的到來;然后根據(jù)不同的數(shù)據(jù)信息進行對應的處理;數(shù)據(jù)處理完成之后,繼續(xù)等待新數(shù)據(jù)的到來。

          4 結束語

          本文設計的AVR單片機的安全工器具能有效實現(xiàn)對安全工器具的實時監(jiān)控,包括安全工器具的使用狀況、有效使月期限、所處環(huán)境狀況等;能夠實現(xiàn)對安全工器具所處環(huán)境溫濕度的自動調節(jié);能夠實現(xiàn)安全工器具相關信息的自動保存,提供歷史查詢功能。本文在技術上提出了一種安全工器具監(jiān)控方式,為實現(xiàn)對安全工器具進行科學、高效管理提供了一種思路,是電力企業(yè)實現(xiàn)安全生產、科學管理的重要組成部分。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(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); })();