新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 低壓電力線載波通信系統設計

        低壓電力線載波通信系統設計

        作者: 時間:2013-02-02 來源:網絡 收藏


        3 系統軟件設計
        本文采用(即Microsoft Communication Control)進行串口編程,該控件是Microsoft公司為簡化Windows下串行通信編程而提供的ActiveX控件。它提供了一系列標準通信命令的使用接口,因此,利用它能夠建立和串口的連接,并能夠通過串口連接到其他通信設備(如調制解調器)發出命令、交換數據以及監控和響應串行連接中發生的事件和錯誤。使用編寫串口程序時,不需要花費時間了解復雜的API函數,但它在執行的時候需要調用API函數。
        串行通信處理方式采用事件驅動方式,許多情況下,在事件發生時需要得到通知,這時,就可以利用MSCOMM控件的OnComm事件捕捉并處理這些通信事件。這種方法的優點是程序響應及時,可靠性高。
        3.1 系統通信程序設計
        本系統數據的發送與接收顯示都是通過對上位機編寫軟件來實現的。其流程大致為:關閉串口,對串口的波特率進行選擇,然后設置通信參數;打開串口之后,可以選擇發送方式為手動或自動(自動發送周期根據模塊的處理速度固定為2 s),也可以選擇是否為十六進制發送(對應的接收端應選擇十六進制顯示)。
        在監控顯示部分,當接收緩沖區有數據時,系統就會觸發OnComm事件,對數據進行讀取并在編輯框中顯示。修改波特率時,一般需要關閉串口然后才能調試。其系統程序流程圖如圖3所示。
        3.2 數據發送部分算法
        由于在數據發送時,模塊每次只能接收20 b以內的數據,因此,為了使模塊能夠發送或接收更多的數據,本文采用指針指向的方法,分段取出所要發送的數據,每段20 b。

        本文引用地址:http://www.104case.com/article/153585.htm

        c1.jpg


        數據發送首先要獲取編輯框內所要發送的數據,然后計算其長度,再判斷與20的關系。如果整除得b的話,就直接發送b次,每次分段讀取,且必須在兩次發送之間添加延時程序,否則,這樣處理就沒有意義,因為模塊的處理速度慢于發送的速度會造成數據丟失。當不能整除且得到的余數為a時,要先發送b次,讀取完bX20個字符后,再發送剩余的a個字符。圖4所示是其數據發送程序流程圖。
        3.3 通信與監視界面
        圖5所示是本系統中上位機的通信與監控界面圖。從圖中可以看出,在通信界面設置好波特率,然后打開串口,在COM6發送窗口輸入字符串,然后點擊發送(或自動發送),COM5接收顯示窗口就會顯示COM6所發送的信息。由圖5可知,數據信息的傳輸量已經突破了模塊自定義的20 B,即能夠實現較多信息量的發送與接收。

        c.JPG



        4 結語
        電力網絡是目前覆蓋范圍最廣的網絡,有著巨大的潛在利用價值。在家居自動化、家用電器控制等方面,PLC技術有著得天獨厚的優勢。本文利用載波方式實現了數據在上的傳輸,并能通過上位機實時顯示數據。但是,目前PLC技術仍然存在很多不足,在電力線上干擾嚴重時,通信成功率可能還無法保證,通信速率也比較低,因此還需要更深入的研究。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 唐海县| 泸定县| 三门峡市| 阳谷县| 奈曼旗| 牙克石市| 朝阳县| 通州区| 榆林市| 西乡县| 晴隆县| 延吉市| 吐鲁番市| 乐至县| 金湖县| 巫溪县| 河北省| 建瓯市| 丹凤县| 康保县| 云安县| 收藏| 荔浦县| 汽车| 康平县| 克什克腾旗| 雷山县| 甘泉县| 边坝县| 绥阳县| 合江县| 肥城市| 明溪县| 满城县| 河北省| 河源市| 延寿县| 固原市| 鹤壁市| 台南县| 文昌市|