引言
目前,現場總線技術在數據采集與監控系統(SCADA)、工業控制、樓宇自動化、智能交通等領域得到了廣泛的應用。作為目前流行的現場總線技術之一Lonworks,以其突出的特點在國內的應用也越來越廣泛。本文通過Lonworks技術和無線通信的有機結合,設計并實現了一種功能較強、可擴展性好、安裝方便的數據采集與監控系統。
系統總體結構設計
根據數據采集與監控系統的要求、Lonworks現場總線技術的特點以及數據采集與監控節點的現場環境,系統選用三級通信結構(如圖1示)。根據需要本設計采用Lonworks網絡作為整個系統的主要通信方式之一,來組建整個SCADA系統。第一級通信出現在上位管理計算機與Lonworks網絡之間。實現二者之間的通信方式有多種,但是考慮到現成設備的高昂價格,本設計利用自行設計開發的LON—PC機ISA接口卡來實現上位管理計算機與Lonworks網絡之間的數據交換;第二級通信實現Lonworks網絡上智能節點之間的信息交互;第三級通信網絡是實現現場信息無線采集的關鍵。現場采集信息傳遞到Lonworks網絡有兩種不同的方式,一種是直接利用Lonworks智能節點進行現場信息的采集,還有一種是通過無線通信將現場采集信息傳送至Lonworks網絡,這是本文討論的重點。
系統的總體結構主要由以下幾部分組成:主控機,LON—PC機ISA接口卡,Lonworks無線通信模塊,單片機數據采集模塊,Lonworks數據采集控制模塊。總體結構框圖如圖1所示。
為了實現人機界面,并通過LON—PC機ISA接口卡向Lonworks總線上的其他模塊(Lonworks無線通信模塊或Lonworks數據采集控制模塊)發送控制命令或接收來自這些模塊轉發的采集數據,系統設計采用VC++開發了一套簡單實用的管理軟件。該軟件可以方便的對LON—PC機ISA接口卡進行讀寫操作,并將所得數據在界面進行顯示的同時進行存儲。
LON—PC機ISA接口卡的設計,采用IDT7024雙口RAM來實現Lonworks神經元芯片與計算機ISA端口之間的數據交換。
現場采集信息的無線傳輸是通過為Lonworks智能節點和單片機數據采集模塊分別添加設計nRF401無線通信電路來實現的。后面將對這兩部分電路的設計進行詳細介紹。
Lonworks無線通信模塊主要接收總線上來自主控機的控制命令,通過射頻通信控制數據采集模塊進行數據采集或發送控制信號,并將來自采集模塊的數據轉發至Lonworks總線上。
現場信息的采集主要由Lonworks數據采集控制模塊和單片機數據采集模塊完成。Lonworks數據采集控制模塊直接接收總線上來自主控機的控制命令,并按命令進行數據采集、轉發(轉發至Lonworks總線)或對現場執行機構發送控制命令。而單片機數據采集模塊則通過射頻通信接收控制命令,并依據命令內容完成數據采集、轉發(通過射頻無線通信)或對現場執行機構發送控制命令等功能。
系統無線通信的設計與實現
無線通信的實現是整個系統設計的關鍵。本系統分別為Lonworks智能節點和現場單片機數據采集模塊設計添加了無線通信接口以完成此部分功能,具體設計如圖2所示。
Lonworks無線通信模塊設計
Lonworks無線通信模塊電路中FT3150芯片定義IO8、IO10為異步串行對象,用來接收和發送來自nRF401的數據。IO1~IO3作為通信的控制端。
數據采集模塊的硬件框圖如圖3所示。AT89C52單片機也通過異步串口與nRF401通信,并用P1.1、P1.2、P1.3口作為通信的控制端。
在nRF401芯片使用時,設定好工作頻率,進入正常工作狀態后,通信控制器根據需要進行收發轉換控制,發送/接收數據或進行狀態轉換。
無線通信電路設計時應注意以下問題:通信的可靠性、抗干擾性是無線通信電路設計所要解決的主要問題。因而需對整個電路的PCB設計進行全局考慮。整個PCB板采用4層電路板設計,增加電源層和地層,并在上、下表面進行敷銅處理,以提高整個電路的抗干擾性。模擬部分與數字部分電路盡量分開;采用特性較好的鉭電容組成LC濾波電路,對nRF401的VCC進行專門的濾波處理;nRF401和主控制芯片共用晶振,因而要十分注意晶振電路的走線,盡可能的短并遠離數據線、控制線;無線射頻電路的所有元件以nRF401為中心并緊靠其擺放,其中VCO電感的布局對通信效果有著明顯的影響,匹配網絡的元器件最好靠近nRF401的ANT1和ANT2,以減小雜散電感和雜散電容;最后,系統還采用了高增益天線來提高通信的距離。
系統軟件設計
整個系統的軟件部分主要分為四大部分:主控機上位機軟件、LON—PC機ISA接口卡程序、Lonworks無線通信模塊程序以及數據采集模塊程序。
上位機軟件采用VC++語言編寫,主要完成通過人機界面的設計,從ISA口接收采集數據或發送控制命令。LON—PC機ISA接口卡程序采用Neuron C并口編程,從而實現FT3150與ISA總線上的數據交換。下面主要對系統無線通信部分程序進行詳細的介紹。
無線通信程序設計
在設計程序時,要注意各狀態轉換的時延。nRF401的通訊速率最高為20kbit/s,發送數據之前需將電路置于發射模式;接收模式轉換為發射模式的轉換時間至少為1ms;可以發送任意長度的數據;發射模式轉換為接收模式的轉換時間至少為3ms。在待機模式時,電路不接收和發射數據。待機模式轉換為發射模式的轉換時間至少為4ms;待機模式轉換為接收模式的轉換時間至少為5.0ms。
Lonworks 無線通信模塊程序采用Neuron C語言編寫,程序運行采用事件觸發方式。通過網絡變量把節點間數據的共享變為簡單的網絡變量連接。本系統采集模塊采用中斷方式實現串口通信,以提高效率。單片機串口中斷服務程序流程和Lonworks 無線通信模塊的通信流程圖分別如圖4、5所示。
軟件編程應注意的問題
首先,為了保證nRF401的正常工作,軟件上應當注意在控制nRF401進行狀態轉換時進行適當的延時處理,因此單片機程序中需分別設計相應的延時函數。而在FT3150中通過調用DELAY()函數便可進行適當的延時。
其次,為了保證通信的可靠性,通信協議應在軟件實現上對傳輸的數據進行相應的編碼處理,即為傳輸數據增添特殊的數據頭,具體的編解碼過程由于篇幅有限不做詳細描述。
結語
本文利用無線收發芯片nRF401實現了Lonworks 無線測控網絡,系統通信可靠性高、實時性好,適于多種應用領域,有較大推廣價值。
責任編輯:gt
-
無線通信
+關注
關注
58文章
4526瀏覽量
143426 -
數據采集
+關注
關注
38文章
5925瀏覽量
113539 -
監控系統
+關注
關注
21文章
3866瀏覽量
173511
發布評論請先 登錄
相關推薦
評論