一種通信網(wǎng)關(guān)的實現(xiàn)方法
【專利摘要】本發(fā)明提出了一種通信網(wǎng)關(guān)的實現(xiàn)方法,其特征在于,步驟為:第一步、對網(wǎng)關(guān)進(jìn)行并發(fā)功能配置;第二步、網(wǎng)關(guān)形成兩張數(shù)據(jù)映射表;第三步、需要進(jìn)行并發(fā)控制的Modbus/TCP主站根據(jù)控制類型將Modbus/TCP報文中的單元標(biāo)示符字段設(shè)置為不同值;第四步、網(wǎng)關(guān)接收來自Modbus/TCP主站的Modbus/TCP報文后,判斷單元標(biāo)示符字段的值,若為特殊值,則進(jìn)行并發(fā)控制,若為從站地址,則進(jìn)行單一控制。本發(fā)明具有如下優(yōu)點:解決了多設(shè)備網(wǎng)絡(luò)輪詢周期長,數(shù)據(jù)刷新慢的問題。確保設(shè)備實時數(shù)據(jù)與非實時數(shù)據(jù)可根據(jù)不同的需求同時采集。減輕了上層以太網(wǎng)系統(tǒng)數(shù)據(jù)處理的負(fù)擔(dān)。
【專利說明】一種通信網(wǎng)關(guān)的實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種通訊網(wǎng)關(guān),屬于工業(yè)自動化及工業(yè)通信領(lǐng)域。
【背景技術(shù)】
[0002]Modbus/TCP工業(yè)以太網(wǎng)是市場份額最大的工業(yè)以太網(wǎng),應(yīng)用前景良好。Modbus協(xié)議因其原理簡單容易實現(xiàn),在工業(yè)自動化、電力自動化系統(tǒng)中有著廣泛的應(yīng)用。因此如何將支持Modbus協(xié)議的現(xiàn)場總線設(shè)備無縫地接入到Modbus/TCP工業(yè)以太網(wǎng)中,通過網(wǎng)絡(luò)化方式實現(xiàn)對現(xiàn)場總線設(shè)備并發(fā)控制和單一控制就成為了一個現(xiàn)實需求。
[0003]隨著控制系統(tǒng)復(fù)雜程度的增加,并發(fā)控制與單一控制的需求越來越多。并發(fā)控制能夠有效地減小底層設(shè)備輪詢時間,提高系統(tǒng)響應(yīng)速度。單一控制則是控制系統(tǒng)靈活性的保證。如在照明控制系統(tǒng)中,需要通過一條控制命令完成對一個區(qū)域或幾個區(qū)域內(nèi)光源的集中控制,以達(dá)到統(tǒng)一開關(guān)光源或景觀照明的需求,同時又需要能夠?qū)我还庠催M(jìn)行靈活控制;再如在智能能源管理領(lǐng)域中,需要通過一條控制命令對多個能源采集設(shè)備進(jìn)行訪問,實時獲取系統(tǒng)該時刻能源數(shù)據(jù)信息,同時有需要能夠?qū)我坏哪茉床杉O(shè)備進(jìn)行訪問控制,對其數(shù)據(jù)進(jìn)行分析或調(diào)整其采集參數(shù)。
[0004]在上層通信網(wǎng)絡(luò)采用Modbus/TCP協(xié)議,底層設(shè)備采用Modbus協(xié)議的控制系統(tǒng)中。若網(wǎng)關(guān)不僅能夠?qū)崿F(xiàn)簡單的協(xié)議轉(zhuǎn)換,同時能夠結(jié)合對所連設(shè)備的并發(fā)控制與單一控制,那么將很好的解決此類控制系統(tǒng)的控制需求。但目前所知的技術(shù)及產(chǎn)品,尚未很好的解決此類控制系統(tǒng)中并發(fā)控制與單一控制相結(jié)合的問題。
[0005]申請?zhí)?01210397405.4的發(fā)明專利提供了一種Modbus TCP/IP轉(zhuǎn)Modbus的串行網(wǎng)關(guān)的實現(xiàn)方法,該方法通過指令區(qū)分?jǐn)?shù)據(jù)是否將數(shù)據(jù)從網(wǎng)關(guān)換出還是下傳。該種方式的缺陷在于,首先其只能串行連接一臺設(shè)備,無法實現(xiàn)設(shè)備并發(fā)控制;其次,該設(shè)備使用的指令換出機(jī)制致使其只能工作在一種指令狀態(tài)下,設(shè)備控制靈活性差。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的要解決的技術(shù)問題是使Modbus/TCP主站實現(xiàn)對Modbus RTU從站的點對點單一訪問控制,同時Modbus/TCP主站亦可對所連任意幾臺ModbusRTU從站進(jìn)行并發(fā)控制。
[0007]為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是提供了一種通信網(wǎng)關(guān)的實現(xiàn)方法,其特征在于,步驟為:
[0008]第一步、對網(wǎng)關(guān)進(jìn)行并發(fā)功能配置:為網(wǎng)關(guān)所連的任意一臺Modbus RTU設(shè)備添加一條Modbus讀命令和/或一條Modbus寫命令,重復(fù)上述步驟,直至為網(wǎng)關(guān)所連的多臺Modbus RTU設(shè)備添加Modbus讀命令和/或Modbus寫命令或者為一臺Modbus RTU設(shè)備添加多組Modbus讀命令和/或Modbus寫命令;
[0009]第二步、網(wǎng)關(guān)形成兩張數(shù)據(jù)映射表,分別為所有并發(fā)Modbus RTU設(shè)備的讀命令數(shù)據(jù)地址映射表,所有并發(fā)Modbus RTU設(shè)備的寫命令數(shù)據(jù)地址映射表;[0010]第三步、需要進(jìn)行并發(fā)控制的Modbus/TCP主站根據(jù)控制類型將Modbus/TCP報文中的單元標(biāo)示符字段設(shè)置為不同值,若要進(jìn)行并發(fā)控制,則將單元標(biāo)示符字段設(shè)置為特殊值,若要進(jìn)行單一控制,則將單元標(biāo)示符字段設(shè)置為相應(yīng)Modbus RTU從站的從站地址;
[0011]第四步、網(wǎng)關(guān)接收來自Modbus/TCP主站的Modbus/TCP報文后,判斷單元標(biāo)示符字段的值,若為特殊值,則對照讀命令地址映射表及寫命令地址映射表對其所連任意ModbusRTU設(shè)備進(jìn)行并發(fā)控制,若為從站地址,則向相應(yīng)ModbusRTU從站透傳Modbus/TCP報文,實現(xiàn)單一控制。
[0012]優(yōu)選地,在第二步中,所述讀命令數(shù)據(jù)地址映射表及所述寫命令數(shù)據(jù)地址映射表是一個連續(xù)的存儲區(qū)域,該存儲區(qū)域?qū)τ脩襞渲玫淖x命令或?qū)懨钸M(jìn)行連續(xù)順序排序,讀命令或?qū)懨畹目傞L度不超過Modbus/TCP報文規(guī)定的長度。
[0013]優(yōu)選地,在第四步中,所述網(wǎng)關(guān)對Modbus RTU設(shè)備進(jìn)行并發(fā)控制時,對于并發(fā)讀指令,網(wǎng)關(guān)將讀到的數(shù)據(jù)根據(jù)讀命令數(shù)據(jù)地址映射表將其保存在網(wǎng)關(guān)數(shù)據(jù)緩存區(qū)內(nèi),對于并發(fā)寫指令,網(wǎng)關(guān)根據(jù)寫命令數(shù)據(jù)地址映射表,將內(nèi)部緩存中數(shù)據(jù)周期性發(fā)往相關(guān)的ModbusRTU設(shè)備。
[0014]本發(fā)明的特點是:
[0015]解決并發(fā)控制與單一控制的兼容性問題。設(shè)備通過配置后可成為ModbusRTU主站,并發(fā)的對網(wǎng)關(guān)所連的Modbus設(shè)備進(jìn)行訪問,獲取各個設(shè)備數(shù)據(jù)及狀態(tài)。上層Modbus/TCP主站通過一條報文即可獲得網(wǎng)關(guān)所連任意幾臺設(shè)備的數(shù)據(jù)及狀態(tài)信息實現(xiàn)并發(fā)控制。同時上層Modbus/TCP主站亦可通過Modbus/TCP指令對網(wǎng)關(guān)所連任意設(shè)備進(jìn)行透傳訪問實現(xiàn)單一控制。
[0016]本發(fā)明具有如下優(yōu)點:
[0017]1、數(shù)據(jù)的并發(fā)控制很好的解決了多設(shè)備網(wǎng)絡(luò)輪詢周期長,數(shù)據(jù)刷新慢的問題。用戶僅通過一條Modbus/TCP報文就能對多臺設(shè)備進(jìn)行訪問控制,相較傳統(tǒng)的輪詢機(jī)制數(shù)據(jù)刷新速度有大幅度提聞。
[0018]2、并發(fā)控制與單一控制并存,確保設(shè)備實時數(shù)據(jù)與非實時數(shù)據(jù)可根據(jù)不同的需求同時采集。
[0019]3、網(wǎng)關(guān)代替Modbus RTU主站實現(xiàn)對設(shè)備的周期性訪問,將訪問控制的數(shù)據(jù)集中點下移,減輕了上層以太網(wǎng)系統(tǒng)數(shù)據(jù)處理的負(fù)擔(dān)。
【專利附圖】
【附圖說明】
[0020]圖1為設(shè)備應(yīng)用框圖;
[0021]圖2為并發(fā)訪問控制與單一訪問控制流程圖;
[0022]圖3為并發(fā)寫指令數(shù)據(jù)地址映射表;
[0023]圖4為并發(fā)讀指令數(shù)據(jù)地址映射表。
【具體實施方式】
[0024]為使本發(fā)明更明顯易懂,茲以優(yōu)選實施例,并配合附圖作詳細(xì)說明如下。
[0025]結(jié)合圖1及圖2,本發(fā)明提供了一種通信網(wǎng)關(guān)的實現(xiàn)方法,其步驟為:
[0026]第一步、對網(wǎng)關(guān)進(jìn)行并發(fā)功能配置:為網(wǎng)關(guān)所連的任意一臺Modbus RTU設(shè)備添加一條Modbus讀命令和/或一條Modbus寫命令,重復(fù)上述步驟,直至為網(wǎng)關(guān)所連的多臺Modbus RTU設(shè)備添加Modbus讀命令和/或Modbus寫命令或者為一臺Modbus RTU設(shè)備添加多組Modbus讀命令和/或Modbus寫命令。
[0027]第二步、網(wǎng)關(guān)形成兩張數(shù)據(jù)映射表,分別為所有并發(fā)Modbus RTU設(shè)備的讀命令數(shù)據(jù)地址映射表,如圖3所示,所有并發(fā)Modbus RTU設(shè)備的寫命令數(shù)據(jù)地址映射表,如圖4所
/Jn ο
[0028]讀命令數(shù)據(jù)地址映射表及寫命令數(shù)據(jù)地址映射表是一個連續(xù)的存儲區(qū)域,該存儲區(qū)域?qū)τ脩襞渲玫淖x命令或?qū)懨钸M(jìn)行連續(xù)順序排序,讀命令或?qū)懨畹目傞L度不超過Modbus/TCP報文規(guī)定的長度。并發(fā)操作時,根據(jù)讀命令數(shù)據(jù)地址映射表及寫命令數(shù)據(jù)地址映射表對讀/寫命令進(jìn)行一次映射,通過一條Modbus/TCP讀指令實現(xiàn)對讀/寫數(shù)據(jù)的并發(fā)訪問。
[0029]第三步、需要進(jìn)行并發(fā)控制的Modbus/TCP主站根據(jù)控制類型將Modbus/TCP報文中的單元標(biāo)示符字段設(shè)置為不同值,若要進(jìn)行并發(fā)控制,則將單元標(biāo)示符字段設(shè)置為特殊值,若要進(jìn)行單一控制,則將單元標(biāo)示符字段設(shè)置為相應(yīng)Modbus RTU從站的從站地址;
[0030]第四步、網(wǎng)關(guān)接收來自Modbus/TCP主站的Modbus/TCP報文后,判斷單元標(biāo)示符字段的值,若為特殊值,則對照讀命令地址映射表及寫命令地址映射表對其所連任意ModbusRTU設(shè)備進(jìn)行并發(fā)控制。對于并發(fā)讀指令,網(wǎng)關(guān)將讀到的數(shù)據(jù)根據(jù)讀命令數(shù)據(jù)地址映射表將其保存在網(wǎng)關(guān)數(shù)據(jù)緩存區(qū)內(nèi),對于并發(fā)寫指令,網(wǎng)關(guān)根據(jù)寫命令數(shù)據(jù)地址映射表,將內(nèi)部緩存中數(shù)據(jù)周期性發(fā)往相關(guān)的Modbus RTU設(shè)備。若為從站地址,則向相應(yīng)Modbus RTU從站透傳Modbus/TCP報文,實現(xiàn)單一控制。
【權(quán)利要求】
1.一種通信網(wǎng)關(guān)的實現(xiàn)方法,其特征在于,步驟為: 第一步、對網(wǎng)關(guān)進(jìn)行并發(fā)功能配置:為網(wǎng)關(guān)所連的任意一臺Modbus RTU設(shè)備添加一條Modbus讀命令和/或一條Modbus寫命令,重復(fù)上述步驟,直至為網(wǎng)關(guān)所連的多臺ModbusRTU設(shè)備添加Modbus讀命令和/或Modbus寫命令或者為一臺Modbus RTU設(shè)備添加多組Modbus讀命令和/或Modbus寫命令; 第二步、網(wǎng)關(guān)形成兩張數(shù)據(jù)映射表,分別為所有并發(fā)Modbus RTU設(shè)備的讀命令數(shù)據(jù)地址映射表,所有并發(fā)Modbus RTU設(shè)備的寫命令數(shù)據(jù)地址映射表; 第三步、需要進(jìn)行并發(fā)控制的Modbus/TCP主站根據(jù)控制類型將Modbus/TCP報文中的單元標(biāo)示符字段設(shè)置為不同值,若要進(jìn)行并發(fā)控制,則將單元標(biāo)示符字段設(shè)置為特殊值,若要進(jìn)行單一控制,則將單元標(biāo)示符字段設(shè)置為相應(yīng)Modbus RTU從站的從站地址; 第四步、網(wǎng)關(guān)接收來自Modbus/TCP主站的Modbus/TCP報文后,判斷單元標(biāo)示符字段的值,若為特殊值,則對照讀命令地址映射表及寫命令地址映射表對其所連任意Modbus RTU設(shè)備進(jìn)行并發(fā)控制,若為從站地址,則向相應(yīng)ModbusRTU從站透傳Modbus/TCP報文,實現(xiàn)單一控制。
2.如權(quán)利要求1所述的一種通信網(wǎng)關(guān)的實現(xiàn)方法,其特征在于,在第二步中,所述讀命令數(shù)據(jù)地址映射表及所述寫命令數(shù)據(jù)地址映射表是一個連續(xù)的存儲區(qū)域,該存儲區(qū)域?qū)τ脩襞渲玫淖x命令或?qū)懨钸M(jìn)行連續(xù)順序排序,讀命令或?qū)懨畹目傞L度不超過Modbus/TCP報文規(guī)定的長度。
3.如權(quán)利要求1所述的一種通信網(wǎng)關(guān)的實現(xiàn)方法,其特征在于,在第四步中,所述網(wǎng)關(guān)對Modbus RTU設(shè)備進(jìn)行并發(fā)控制時,對于并發(fā)讀指令,網(wǎng)關(guān)將讀到的數(shù)據(jù)根據(jù)讀命令數(shù)據(jù)地址映射表將其保存在網(wǎng)關(guān)數(shù)據(jù)緩存區(qū)內(nèi),對于并發(fā)寫指令,網(wǎng)關(guān)根據(jù)寫命令數(shù)據(jù)地址映射表,將內(nèi)部緩存中數(shù)據(jù)周期性發(fā)往相關(guān)的Modbus RTU設(shè)備。
【文檔編號】H04L12/66GK103595625SQ201310613622
【公開日】2014年2月19日 申請日期:2013年11月27日 優(yōu)先權(quán)日:2013年11月27日
【發(fā)明者】吳小東, 薛吉, 李乙, 琚長江, 奚培鋒 申請人:上海電器科學(xué)研究院, 上海電器科學(xué)研究所(集團(tuán))有限公司