久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 分布式測控系統中PC與單片機

分布式測控系統中PC與單片機

作者: 時間:2012-07-27 來源:網絡 收藏

1 遠程通信方案  

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

采用電話網通信的如圖1—1所示,PC機及各均通過Modem聯入電話網,PC機可通過Modem撥號與選中的單片機建立通信鏈路,以進行數據傳輸,傳輸結束后可掛機拆除通信鏈路。

本文引用地址:http://cqxgywz.com/article/193510.htm

 采用電話網通信的分布式測控系統



為了順利實現通信,在通信程序設計中應注意兩個問題:一是對Modem進行正確操作,以實現數據鏈路的建立或

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

2 Modem操作編程 

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

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

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

基本功能集

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

撥號程序代碼

撥號程序代碼

撥號程序代碼

數據傳輸完畢后,可向Modem發出掛機命令以釋放通信鏈路  

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

  CommCtrl.PortOpen=False ’關閉端口

3 數據傳輸及通信協議  

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

  傳輸的數據被分割成128字節的數據塊,每個數據塊前有起始符SOH,塊編號,數據塊后附有檢驗和。

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

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

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

通信程序流程

通信程序流程


4 結束語  

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



評論


相關推薦

技術專區

關閉