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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 分布式測控系統(tǒng)中PC與單片機

          分布式測控系統(tǒng)中PC與單片機

          作者: 時間:2012-07-27 來源:網(wǎng)絡(luò) 收藏

          1 遠程通信方案  

          PC機和組成的已 在工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用。其中,作為從機,負責現(xiàn)場控制和實時數(shù)據(jù)的采集,PC機作為主機,負責對各從機發(fā)來的數(shù)據(jù)進行分析、處理,并向各從 機發(fā)布命令,以實現(xiàn)對工業(yè)現(xiàn)場的集中監(jiān)控與管理,由于主從機需不斷進行信息交流,通信成為重要而基本的功能。
          采用RS485等通信技術(shù)可實現(xiàn)近距離通信(<1km),而在許多場合,各計算機之間距離較遠(幾公里甚至幾十公里),這時就應(yīng)采用遠程通信技術(shù)。基于modem和公用電話網(wǎng)的遠程通信技術(shù)則是一種實施方便、成本低廉的方案。

          采用電話網(wǎng)通信的如圖1—1所示,PC機及各均通過Modem聯(lián)入電話網(wǎng),PC機可通過Modem撥號與選中的單片機建立通信鏈路,以進行數(shù)據(jù)傳輸,傳輸結(jié)束后可掛機拆除通信鏈路。

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

           采用電話網(wǎng)通信的分布式測控系統(tǒng)



          為了順利實現(xiàn)通信,在通信程序設(shè)計中應(yīng)注意兩個問題:一是對Modem進行正確操作,以實現(xiàn)數(shù)據(jù)鏈路的建立或

          拆除等功能。二是在數(shù)據(jù)傳輸過程中,收發(fā)雙方應(yīng)遵循共同的通信協(xié)議,以保證數(shù)據(jù)的可靠傳送,本文將對這兩點作詳細討論。

          2 Modem操作編程 

          有關(guān)單片機具體控制Moedm的方法及接口已有許多文獻進行了討論[4],本文著重介紹VB環(huán)境下PC機操作Modem的編程方法。

          標準的賀式命令集定義了一些基本功能集(表2—1),利用這些功能可以操作Modem以實現(xiàn)Modem的初始化、撥號、掛機等功能。

          VB以其功能豐富,簡單易用等特點成為開發(fā)PC機監(jiān)控軟件的首選工具,VB提供了一個具有串行通信功能的MSCOMM控件,使得通信程序的開發(fā)方便、快捷。

          基本功能集

            利用MSCOMM控件,我們可以向Modem傳送AT命令對Modem進行操作,下面是一段用VB編寫的撥號程序代碼:

          撥號程序代碼

          撥號程序代碼

          撥號程序代碼

          數(shù)據(jù)傳輸完畢后,可向Modem發(fā)出掛機命令以釋放通信鏈路  

            CommCtrl.Output=“ATH”+chr $(13)’發(fā)送掛機命令  

            CommCtrl.PortOpen=False ’關(guān)閉端口

          3 數(shù)據(jù)傳輸及通信協(xié)議  

          撥號接通線路后,就可以進行數(shù)據(jù)傳輸了,采用異步通信不可避免地會出現(xiàn)數(shù)據(jù)傳輸錯誤,為了保證數(shù)據(jù)可靠傳輸,通信的雙方應(yīng)遵循一定的協(xié)議,我們根據(jù)微機通信中廣泛采用的Xmodem協(xié)議,制定主機與從機通信協(xié)議如下:

            傳輸?shù)臄?shù)據(jù)被分割成128字節(jié)的數(shù)據(jù)塊,每個數(shù)據(jù)塊前有起始符SOH,塊編號,數(shù)據(jù)塊后附有檢驗和。

          傳輸過程由PC機每隔10秒發(fā)一個“NAK”字符來啟動,當單片機檢測到一個NAK后,會發(fā)出第一個數(shù)據(jù)包,PC機檢查數(shù)據(jù)包,將128字節(jié)相加,計算出 檢驗和,并與發(fā)來的檢驗和相比較,相同則發(fā)送ACK字符,對本次接收的數(shù)據(jù)塊進行確認,否則,發(fā)送NAK字符,通知對方重發(fā)數(shù)據(jù)塊,當數(shù)據(jù)傳送完畢后,單 片機發(fā)出“EOT”字符,通知PC機結(jié)束數(shù)據(jù)傳輸。

            在通信過程中,發(fā)送方重發(fā)數(shù)據(jù)的次數(shù)限制為6次,超過6次則掛機,而接收方也應(yīng)設(shè)置超時機制,如果一個數(shù)據(jù)包在規(guī)定的時間內(nèi)沒有傳遞完成,則意味著出現(xiàn)了異常情況,這時應(yīng)掛機停止通信,以防止進入無限期等待的死鎖狀態(tài)。

            PC機(接收方)與單片機(發(fā)送方)通信程序流程見圖3—1、圖3—2。

          通信程序流程

          通信程序流程


          4 結(jié)束語  

          本文介紹的通信方法已在實驗中得到驗證,它不僅可保證數(shù)據(jù)的可靠傳輸,并且實現(xiàn)簡單方便,對于工控領(lǐng)域中計算機間的遠程 通信設(shè)計具有一定的參考價值。



          評論


          相關(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); })();