低壓電力線(xiàn)載波通信系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
現(xiàn)代社會(huì)的發(fā)展,人們對(duì)生產(chǎn)和生活有了更多、更高的 要求,例如要求更節(jié)能環(huán)保、更舒適便捷,這些要求的實(shí)現(xiàn) 都需要大量信息的獲取、傳輸和處理,需要把與生產(chǎn)生活相 關(guān)的大量設(shè)備和對(duì)象連接起來(lái),構(gòu)成網(wǎng)絡(luò),以實(shí)現(xiàn)對(duì)它們的 監(jiān)測(cè)控制與管理,從而形成物聯(lián)網(wǎng)、家域網(wǎng)(HAN)等。在 這些網(wǎng)絡(luò)中,需要連接的對(duì)象數(shù)量眾多,位置可能變動(dòng),給 網(wǎng)絡(luò)的構(gòu)成帶來(lái)一定的困難。由于這些對(duì)象的工作大都離不 開(kāi)電力,所以,用低壓電力線(xiàn)組成網(wǎng)絡(luò)進(jìn)行通信,是一種很 有價(jià)值的實(shí)現(xiàn)方法。因?yàn)槔玫蛪弘娏€(xiàn)進(jìn)行數(shù)據(jù)傳輸,不 需要重新布線(xiàn),覆蓋范圍廣,維護(hù)少,節(jié)約資源。為此,本 文結(jié)合國(guó)內(nèi)外研究動(dòng)態(tài),對(duì)低壓電力線(xiàn)載波通信技術(shù)進(jìn)行了 研究,并采用相關(guān)功能模塊,編寫(xiě)了相關(guān)控制軟件,實(shí)現(xiàn)了 兩點(diǎn)之間通過(guò)低壓電力線(xiàn)載波通信來(lái)進(jìn)行數(shù)據(jù)傳輸,并通過(guò) 上位機(jī)進(jìn)行監(jiān)控的目的。
1系統(tǒng)總體結(jié)構(gòu)
本設(shè)計(jì)主要包括載波通信模塊、上位機(jī)監(jiān)控界面及轉(zhuǎn)換接口電路等幾個(gè)部分。其中,轉(zhuǎn)換接口電路主要負(fù)責(zé)PLC模 塊的TTL電平接口與上位機(jī)的串口之間的接口通信。其系統(tǒng) 框圖如圖1所示。
低壓電力線(xiàn)
圖1低壓電力線(xiàn)載波通信系統(tǒng)框圖
在數(shù)據(jù)信號(hào)發(fā)送端,上位機(jī)發(fā)出數(shù)據(jù)信號(hào)給COM 口, 通過(guò)接口轉(zhuǎn)換電路把上位機(jī)發(fā)出的數(shù)據(jù)信號(hào)轉(zhuǎn)換為PLC模塊 能夠接收并處理的TTL電平信號(hào)。然后經(jīng)過(guò)PLC模塊將信號(hào) 調(diào)制成特殊的電力信號(hào),再通過(guò)電力線(xiàn)進(jìn)行傳輸。
在數(shù)據(jù)信號(hào)接收端,PLC模塊將電力線(xiàn)上的信號(hào)耦合下 來(lái),并通過(guò)濾波、解調(diào)轉(zhuǎn)換為原來(lái)的TTL電平信號(hào),再經(jīng)接 口轉(zhuǎn)換電路把信號(hào)發(fā)送到上位機(jī)進(jìn)行顯示。
該系統(tǒng)信息是雙向傳輸?shù)?,即PLC模塊與轉(zhuǎn)換接口電路 均可以實(shí)現(xiàn)雙向通信。
2系統(tǒng)硬件選擇與設(shè)計(jì)
2.1低壓電力線(xiàn)載波模塊
本文選用杭州新實(shí)科技有限公司的SENS-01嵌入式電 力線(xiàn)載波通信模塊,該模塊可提供半雙工通信功能,可以在 220 V/110 V、50 Hz/60 Hz電力線(xiàn)上實(shí)現(xiàn)局域通信;通信速 率有 600 b/s、1 200 b/s、2 400 b/s、4 800 b/s、9 600 b/s、 19 200 b/s等多種速率;每幀長(zhǎng)度小于或等于20 B ;具有TTL 電平接口,可為用戶(hù)提供透明的數(shù)據(jù)通道,而且數(shù)據(jù)傳輸與用 戶(hù)協(xié)議無(wú)關(guān)。
2.2接口轉(zhuǎn)換電路選擇與設(shè)計(jì)
本設(shè)計(jì)選用的是USB接口作為上位機(jī)與PLC模塊的通 信接口,因?yàn)楝F(xiàn)在的筆記本大多沒(méi)有RS232接口,而且現(xiàn)在 許多工業(yè)現(xiàn)場(chǎng)也采用USB接口作為串口通信,十分靈活便捷。 因此,本文選用FTDI公司生產(chǎn)的FT232RL芯片作為USB與 TTL電平接口的轉(zhuǎn)換芯片,該芯片具有全握手協(xié)議及MODEM 接口(CTS、RTS、DTR、DCD、RI),并具有硬件及 Xon/ Xoff流量控制。芯片內(nèi)置晶振,外圍電路簡(jiǎn)單,驅(qū)動(dòng)能力強(qiáng)。其接口轉(zhuǎn)換電路如圖 2 所示。
3 系統(tǒng)軟件設(shè)計(jì)
本文采用 MSCOMM 控件 ( 即 Microsoft CommunicationControl) 進(jìn) 行串口編 程, 該 控件 是 Microsoft 公司為 簡(jiǎn)化Windows下串行通信編程而提供的 ActiveX 控件。它提供了一系列標(biāo)準(zhǔn)通信命令的使用接口,因此,利用它能夠建立和串口的連接,并能夠通過(guò)串口連接到其他通信設(shè)備 ( 如調(diào)制解調(diào)器 ) 發(fā)出命令、交換數(shù)據(jù)以及監(jiān)控和響應(yīng)串行連接中發(fā)生的事件和錯(cuò)誤。使用 MSCOMM 控件編寫(xiě)串口程序時(shí),不需要花費(fèi)時(shí)間了解復(fù)雜的 API 函數(shù),但它在執(zhí)行的時(shí)候需要調(diào)用API 函數(shù)。
MSCOMM控件的OnComm事件捕捉并處理這些通信事件。 這種方法的優(yōu)點(diǎn)是程序響應(yīng)及時(shí),可靠性高。
3.1系統(tǒng)通信程序設(shè)計(jì)
本系統(tǒng)數(shù)據(jù)的發(fā)送與接收顯示都是通過(guò)對(duì)上位機(jī)編寫(xiě)軟 件來(lái)實(shí)現(xiàn)的。其流程大致為:關(guān)閉串口,對(duì)串口的波特率進(jìn) 行選擇,然后設(shè)置通信參數(shù);打開(kāi)串口之后,可以選擇發(fā)送 方式為手動(dòng)或自動(dòng)(自動(dòng)發(fā)送周期根據(jù)模塊的處理速度固定為 2 s),也可以選擇是否為十六進(jìn)制發(fā)送(對(duì)應(yīng)的接收端應(yīng)選擇 十六進(jìn)制顯示)。
在監(jiān)控顯示部分,當(dāng)接收緩沖區(qū)有數(shù)據(jù)時(shí),系統(tǒng)就會(huì)觸 發(fā)OnComm事件,對(duì)數(shù)據(jù)進(jìn)行讀取并在編輯框中顯示。修改 波特率時(shí),一般需要關(guān)閉串口然后才能調(diào)試。其系統(tǒng)程序流 程圖如圖3所示。
3.2數(shù)據(jù)發(fā)送部分算法
由于在數(shù)據(jù)發(fā)送時(shí),模塊每次只能接收20 b以?xún)?nèi)的數(shù)據(jù), 因此,為了使模塊能夠發(fā)送或接收更多的數(shù)據(jù),本文采用指針 指向的方法,分段取出所要發(fā)送的數(shù)據(jù),每段20 b。
其接口轉(zhuǎn)換電路如圖2所示。
數(shù)據(jù)發(fā)送首先要獲取編輯框內(nèi)所要發(fā)送的數(shù)據(jù),然后計(jì)算其長(zhǎng)度,再判斷與20的關(guān)系。如果整除 得b的話(huà),就直接發(fā)送b次,每次分段讀 取,且必須在兩次發(fā)送之間添加延時(shí)程序, 否則,這樣處理就沒(méi)有意義,因?yàn)槟K的 處理速度慢于發(fā)送的速度會(huì)造成數(shù)據(jù)丟失。 當(dāng)不能整除且得到的余數(shù)為a時(shí),要先發(fā)送 b次,讀取完bX20個(gè)字符后,再發(fā)送剩余 的a個(gè)字符。圖4所示是其數(shù)據(jù)發(fā)送程序流 程圖。
3.3通信與監(jiān)視界面
圖5所示是本系統(tǒng)中上位機(jī)的通信與監(jiān) 控界面圖。從圖中可以看出,在通信界面設(shè)置好波特率,然后打開(kāi)串口,在COM6發(fā)送窗口輸入字符串,
本文采用 MSCOMM 控件(即 Microsoft Communication Control)進(jìn)行串口編程,該控件是Microsoft公司為簡(jiǎn)化 Windows下串行通信編程而提供的ActiveX控件。它提供 了一系列標(biāo)準(zhǔn)通信命令的使用接口,因此,利用它能夠建立和 串口的連接,并能夠通過(guò)串口連接到其他通信設(shè)備(如調(diào)制解 調(diào)器)發(fā)出命令、交換數(shù)據(jù)以及監(jiān)控和響應(yīng)串行連接中發(fā)生的 事件和錯(cuò)誤。使用MSCOMM控件編寫(xiě)串口程序時(shí),不需要 花費(fèi)時(shí)間了解復(fù)雜的API函數(shù),但它在執(zhí)行的時(shí)候需要調(diào)用 API 函數(shù)。
MSCOMM控件串行通信處理方式采用事件驅(qū)動(dòng)方式, 然后點(diǎn)擊發(fā)送(或自動(dòng)發(fā)送),COM5接收顯示窗口就會(huì)顯示 COM6所發(fā)送的信息。由圖5可知,數(shù)據(jù)信息的傳輸量已經(jīng)突 破了模塊自定義的20 B,即能夠?qū)崿F(xiàn)較多信息量的發(fā)送與接收。
4結(jié)語(yǔ)
電力網(wǎng)絡(luò)是目前覆蓋范圍最廣的網(wǎng)絡(luò),有著巨大的潛在 利用價(jià)值。在家居自動(dòng)化、家用電器控制等方面,PLC技術(shù) 有著得天獨(dú)厚的優(yōu)勢(shì)。本文利用低壓電力線(xiàn)載波方式實(shí)現(xiàn)了 數(shù)據(jù)在低壓電力線(xiàn)上的傳輸,并能通過(guò)上位機(jī)實(shí)時(shí)顯示數(shù)據(jù)。 但是,目前PLC技術(shù)仍然存在很多不足,在電力線(xiàn)上干擾嚴(yán) 重時(shí),通信成功率可能還無(wú)法保證,通信速率也比較低,因此許多情況下,在事件發(fā)生時(shí)需要得到通知,這時(shí),就可以利用 還需要更深入的研究。
20211012_6165ad9dd2761__低壓電力線(xiàn)載波通信系統(tǒng)設(shè)計(jì)