一種通訊網關實現方法
【技術領域】
[0001]本發明屬于通信控制領域,具體涉及一種通訊網關實現方法。
【背景技術】
[0002]BACnet是美國暖通空調工程師協會(ASHARE)制定并在國際上廣泛流行的協議標準,其在RS-485總線上執行的協議即BACnet/MSTP,其最高通訊波特率為76800BPS,在IP網絡上執行的協議即BACnet/IP,其通訊速率在1M?IG之間。安裝在現場的控制器設備通常掛接在MSTP總線上,上位機的數據接口通常為Ethernet/IP,因此,BACnet/MSTP轉BACnet/IP網關是BACnet系統中地關鍵技術設備。
[0003]目前的各廠家網關,對于那些請求和應答變量數據的幀,只是改變底層的網絡路由信息后簡單轉發,是“路由式”通訊網關。路由式通訊網關普遍存在通訊速度慢、數據延遲大的問題,在極端條件下,甚至出現通訊完全崩潰。
[0004]對于路由式通訊網關而言,由于MSTP的通訊波特率最高為76800,遠遠低于Ethernet/IP的通訊速度,因此MSTP —側通常會成為通訊的瓶頸。當上位機經常訪問BACnet設備中的變量超過一定的頻度后,會造成通訊極度不暢,通訊延遲大,在軟件平臺上下發命令被延遲甚至丟失。
【發明內容】
[0005]發明目的:本發明針對上述現有技術存在的問題做出改進,即本發明公開了一種通訊網關實現方法。
[0006]技術方案:一種通訊網關實現方法,包括以下步驟:
[0007](I)、網關生成網關表并對所有的變量列表初始化,網關表中包含所有控制器的變量列表;
[0008](2)、當上位機向網關發出數據請求幀時,網關直接從網關表中讀取該變量對應的數據并向上位機反饋該數據,同時在網關表中標記該變量;
[0009](3)、遍歷網關表中的所有變量,找出所有被標記的變量;
[0010](4)、依據所有被標記的變量,網關依次向控制器發出數據請求幀,請求更新被標記的變量;
[0011](5)、控制器響應該數據請求幀,并在網關表中更新被標記的變量對應的數值,并清除該變量的標記。
[0012]進一步地,步驟(I)中的網關表是一個連續的存儲區域,該存儲區域對于讀命令和寫命令進行順序排序。
[0013]進一步地,網關表保存于網關的數據緩存區中。
[0014]進一步地,步驟(4)中的數據請求幀依據控制器的緩沖區讀取盡可能多的變量。
[0015]有益效果:本發明公開的一種通訊網關實現方法,具有以下有益效果:
[0016]1、提高了系統的效率,MSTP總線上數據請求和應答的效率大大提升;
[0017]2、數據請求的響應速度大大提高,避免了上位機軟件的通訊阻塞,從現場控制器到上位機軟件的數據延遲大大降低,在飽和情況下,數據延遲時間能提升10倍以上。
【附圖說明】
[0018]圖1為具體實施例1的包含通訊網關的系統框圖。
【具體實施方式】
:
[0019]下面對本發明的【具體實施方式】詳細說明。
[0020]如圖1所示,網關一側與上位機相連,網關的另一側與多個控制器相連。
[0021]一種通訊網關實現方法,包括以下步驟:
[0022](I)、MSTP總線上的網關生成網關表并對所有的變量列表初始化,網關表中包含所有控制器的變量列表;
[0023](2)、當BACnet/IP —側的上位機向網關發出數據請求幀時,網關直接從網關表中讀取該變量對應的數據并向上位機反饋該數據,同時在網關表中標記該變量;
[0024](3)、遍歷網關表中的所有變量,找出所有被標記的變量;
[0025](4)、依據所有被標記的變量,網關依次向BACnet/MSTP —側的控制器發出數據請求幀,請求更新被標記的變量;
[0026](5)、控制器響應該數據請求幀,并在網關表中更新被標記的變量對應的數值,并清除該變量的標記。
[0027]對于來自BACnet/IP—側的非現場控制器數據請求的幀,按照一般BACnet通訊網關的方法處理。
[0028]進一步地,步驟(I)中的網關表是一個連續的存儲區域,該存儲區域對于讀命令和寫命令進行順序排序。
[0029]進一步地,網關表保存于網關的數據緩存區中。
[0030]步驟(4)中數據請求幀的組織規則為:
[0031 ] 1、只有網關中的被標記的變量被請求;
[0032]2、所有的變量按照在網關表中存放的順序被遍歷;
[0033]3、每一請求幀依據設備的緩沖區讀取盡可能多的變量。
[0034]上面對本發明的實施方式做了詳細說明。但是本發明并不限于上述實施方式,在所屬技術領域普通技術人員所具備的知識范圍內,還可以在不脫離本發明宗旨的前提下做出各種變化。
【主權項】
1.一種通訊網關實現方法,其特征在于,包括以下步驟: (1)、網關生成網關表并對所有的變量列表初始化,網關表中包含所有控制器的變量列表; (2)、當上位機向網關發出數據請求幀時,網關直接從網關表中讀取該變量對應的數據并向上位機反饋該數據,同時在網關表中標記該變量; (3)、遍歷網關表中的所有變量,找出所有被標記的變量; (4)、依據所有被標記的變量,網關依次向控制器發出數據請求幀,請求更新被標記的變量; (5)、控制器響應該數據請求幀,并在網關表中更新被標記的變量對應的數值,并清除該變量的標記。2.根據權利要求1所述的一種通訊網關實現方法,其特征在于,步驟(I)中的網關表是一個連續的存儲區域,該存儲區域對于讀命令和寫命令進行順序排序。3.根據權利要求1所述的一種通訊網關實現方法,其特征在于,網關表保存于網關的數據緩存區中。4.根據權利要求1所述的一種通訊網關實現方法,其特征在于,步驟(4)中的數據請求幀依據控制器的緩沖區讀取盡可能多的變量。
【專利摘要】本發明涉及一種通訊網關實現方法,其包括以下步驟:(1)、網關生成網關表并對所有的變量列表初始化,網關表中包含所有控制器的變量列表;(2)、當上位機向網關發出數據請求幀時,網關直接從網關表中讀取該變量對應的數據并向上位機反饋該數據,同時在網關表中標記該變量;(3)、遍歷網關表中的所有變量,找出所有被標記的變量;(4)、依據所有被標記的變量,網關依次向控制器發出數據請求幀,請求更新被標記的變量;(5)、控制器響應該數據請求幀,并在網關表中更新被標記的變量對應的數值,并清除該變量的標記。本發明公開的一種通訊網關實現方法具有以下有益效果:1、提高了系統的效率;2、數據請求的響應速度大大提高。
【IPC分類】H04L12/771, H04L12/66
【公開號】CN105187318
【申請號】CN201510564534
【發明人】張青
【申請人】北京和欣運達科技有限公司
【公開日】2015年12月23日
【申請日】2015年9月7日