專利名稱:Modbus設(shè)備的接入方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及動力環(huán)境監(jiān)控領(lǐng)域,特別涉及一種Modbus設(shè)備的接入方法及系統(tǒng)。
背景技術(shù):
動力環(huán)境監(jiān)控的一項基本功能是以協(xié)議方式接入各種智能設(shè)備并在此基礎(chǔ)上實施管理功能。Modbus協(xié)議是工業(yè)領(lǐng)域廣泛應(yīng)用的設(shè)備接入?yún)f(xié)議,接入基于Modbus協(xié)議的設(shè)備也成為動力環(huán)境監(jiān)控系統(tǒng)常見的需求。目前主流的方法是對每一種特定設(shè)備開發(fā)一個采集動態(tài)庫,通過此動態(tài)庫實現(xiàn)Modbus協(xié)議解析,把解析后的數(shù)據(jù)通過監(jiān)控系統(tǒng)內(nèi)部接口送給上層系統(tǒng)。這種方法要求對每一種設(shè)備開發(fā)動態(tài)庫,開發(fā)工作量大,代碼維護(hù)復(fù)雜。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種Modbus設(shè)備的接入方法,旨在解決現(xiàn)有技術(shù)中開發(fā)工作量大,代碼維護(hù)復(fù)雜的技術(shù)問題。為了解決上述技術(shù)問題,本發(fā)明提供一種Modbus設(shè)備的接入方法,包括以下步驟:預(yù)置包含數(shù)據(jù)配置信息和協(xié)議配置信息的配置文件;智能設(shè)備采集動態(tài)庫讀取并解析配置文件,將解析配置文件所得到的數(shù)據(jù)配置信息保存在智能設(shè)備采集動態(tài)庫內(nèi)部變量中;接入Modbus設(shè)備時,根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信。優(yōu)選地,所述預(yù)置包含數(shù)據(jù)配置信息和協(xié)議配置信息的配置文件包括:用數(shù)據(jù)表描述Modbus設(shè)備在Modbus協(xié)議框架下采用的數(shù)據(jù)模型,并將所述數(shù)據(jù)模型與上層系統(tǒng)的數(shù)據(jù)采集接口模型進(jìn)行映射;所述數(shù)據(jù)表包括:分組信息表、描述采集功能的數(shù)據(jù)表和描述控制功能的數(shù)據(jù)表。優(yōu)選地,所述根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信包括:接收到采集指令后,結(jié)合數(shù)據(jù)配置信息,生成Modbus查詢幀,發(fā)送給接入的Modbus 設(shè)備;接收Modbus設(shè)備返回的數(shù)據(jù)幀,結(jié)合數(shù)據(jù)信息對數(shù)據(jù)進(jìn)行解析和封裝,通過數(shù)據(jù)采集接口返回給上層系統(tǒng)。優(yōu)選地,所述根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信包括:接收到控制命令后,結(jié)合數(shù)據(jù)配置信息生成Modbus控制幀,發(fā)送給接入的Modbus設(shè)備;接收Modbus設(shè)備返回的確認(rèn)中貞。
優(yōu)選地,所述協(xié)議配置信息包括:協(xié)議幀傳輸模式,所述協(xié)議幀傳輸模式為RTUMode或ASCII Mode ;或者,協(xié)議通訊等待延時和重試次數(shù)。本發(fā)明還提供一種Modbus設(shè)備的接入系統(tǒng),其包括智能設(shè)備采集動態(tài)庫和配置文件預(yù)置模塊,其中:配置文件預(yù)置模塊,用于預(yù)置包含數(shù)據(jù)配置信息和協(xié)議配置信息的配置文件;所述智能設(shè)備采集動態(tài)庫包括:配置解析模塊,用于讀取并解析配置文件,將解析配置文件所得到的數(shù)據(jù)配置信息保存在智能設(shè)備采集動態(tài)庫內(nèi)部變量中;協(xié)議解析模塊,用于接入Modbus設(shè)備時,根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信。優(yōu)選地,所述配置文件預(yù)置模塊具體用于:用數(shù)據(jù)表描述Modbus設(shè)備在Modbus協(xié)議框架下采用的數(shù)據(jù)模型,并將所述數(shù)據(jù)模型與上層系統(tǒng)的數(shù)據(jù)采集接口模型進(jìn)行映射;所述數(shù)據(jù)表包括:分組信息表、描述采集功能的數(shù)據(jù)表和描述控制功能的數(shù)據(jù)表。優(yōu)選地,所述協(xié)議解析模塊具體用于:接收到采集指令后,結(jié)合數(shù)據(jù)配置信息,生成Modbus查詢幀,發(fā)送給接入的Modbus 設(shè)備;接收Modbus設(shè)備返回的數(shù)據(jù)幀,結(jié)合數(shù)據(jù)信息對數(shù)據(jù)進(jìn)行解析和封裝,通過數(shù)據(jù)采集接口返回給上層系統(tǒng)。優(yōu)選地,所述協(xié)議解析模塊具體用于:接收到控制命令后,結(jié)合數(shù)據(jù)配置信息生成Modbus控制幀,發(fā)送給接入的Modbus設(shè)備;接收Modbus設(shè)備返回的確認(rèn)中貞。本發(fā)明通過配置文件把Modbus數(shù)據(jù)定義和協(xié)議解析相分離,接入不同的Modbus設(shè)備時只需定制配置文件即可,無需編碼,簡化了 Modbus設(shè)備接入工作,降低了開發(fā)難度。并且,相對固定的協(xié)議解析工作通過同一個動態(tài)庫實現(xiàn),減少了代碼維護(hù)量,避免了由于代碼重寫可能引入的漏洞,問題定位、修正、部署也更為方便。
圖1是本發(fā)明Modbus設(shè)備的接入方法一實施例的流程圖;圖2是本發(fā)明Modbus設(shè)備的接入系統(tǒng)一實施例的結(jié)構(gòu)示意圖。下面結(jié)合實施例,并參照附圖,對本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點作進(jìn)一步說明。
具體實施例方式應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參照圖1,本發(fā)明實施例中,Modbus設(shè)備的接入方法包括以下步驟:步驟S10,預(yù)置包含數(shù)據(jù)配置信息和協(xié)議配置信息的配置文件;具體的,可由工程人員預(yù)置該配置文件并保存,協(xié)議配置信息用以定義通信方式,例如,與Modbus設(shè)備之間以何種數(shù)據(jù)幀格式進(jìn)行數(shù)據(jù)交互;數(shù)據(jù)配置信息用以定義數(shù)據(jù)幀中的數(shù)據(jù)的具體含義。數(shù)據(jù)配置信息可以以數(shù)據(jù)表的形式存在,具體可包括分組信息表、描述采集功能的數(shù)據(jù)表、描述控制功能的數(shù)據(jù)表等。協(xié)議配置信息取決于協(xié)議本身的配置,對Modbus協(xié)議而言,主要指協(xié)議巾貞傳輸模式(RTUMode或ASCII Mode)。不同的Modbus設(shè)備基于運行環(huán)境的不同,可采用不同的傳輸模式,可通過配置文件對此進(jìn)行區(qū)分。協(xié)議配置信息可包括協(xié)議幀傳輸模式,例如RTUMode或ASCnMode ;協(xié)議配置信息還可包括協(xié)議通訊等待延時和重試次數(shù)協(xié)議通訊等待延時、重試次數(shù)等配置項,以優(yōu)化對不同現(xiàn)場設(shè)備的適應(yīng)性。配置文件可以采用以TAB符分隔的簡單文本描述,也可以采用更嚴(yán)格的格式化文本描述,如XML。步驟S20,智能設(shè)備采集動態(tài)庫讀取并解析配置文件,將解析配置文件所得到的數(shù)據(jù)配置信息保存在智能設(shè)備采集動態(tài)庫內(nèi)部變量中;智能設(shè)備采集動態(tài)庫用以從配置文件采集各種Modbus設(shè)備的配置信息,并對其配置信息進(jìn)行解析,以將Modbus設(shè)備與上層系統(tǒng)的數(shù)據(jù)采集接口適配。智能設(shè)備采集動態(tài)庫初始化時,從配置文件讀取數(shù)據(jù)配置信息,并保存到動態(tài)變量g_ModbusDeviceInfo中,以供后續(xù)與Modbus設(shè)備進(jìn)行數(shù)據(jù)交互時使用。 步驟S30,接入Modbus設(shè)備時,根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信。例如,根據(jù)數(shù)據(jù)采集指令從8_ModbusDeviceInfo中提取描述采集功能的數(shù)據(jù)表,并根據(jù)約定的數(shù)據(jù)巾貞格式,從Modbus設(shè)備中采集數(shù)據(jù)。本發(fā)明實施例中,通過配置文件把Modbus數(shù)據(jù)定義和協(xié)議解析相分離,接入不同的Modbus設(shè)備時只需定制配置文件即可,無需編碼,簡化了 Modbus設(shè)備接入工作,降低了開發(fā)難度。并且,相對固定的協(xié)議解析工作通過同一個動態(tài)庫(即智能設(shè)備采集動態(tài)庫)實現(xiàn),減少了代碼維護(hù)量,避免了由于代碼重寫可能引入的漏洞,問題定位、修正、部署也更為方便。具體的,上述步驟SlO中包括:用數(shù)據(jù)表描述Modbus設(shè)備在Modbus協(xié)議框架下采用的數(shù)據(jù)模型,并將所述數(shù)據(jù)模型與上層系統(tǒng)的數(shù)據(jù)采集接口模型進(jìn)行映射;所述數(shù)據(jù)表包括:分組信息表、描述采集功能的數(shù)據(jù)表和描述控制功能的數(shù)據(jù)表。例如,在Modbus協(xié)議中,數(shù)據(jù)通過功能碼進(jìn)行分組,數(shù)據(jù)采集以組為單元分批進(jìn)行。在本發(fā)明實施例中,典型的分組信息表結(jié)構(gòu)可參照表I所示:
權(quán)利要求
1.一種Modbus設(shè)備的接入方法,其特征在于,包括以下步驟: 預(yù)置包含數(shù)據(jù)配置信息和協(xié)議配置信息的配置文件; 智能設(shè)備采集動態(tài)庫讀取并解析配置文件,將解析配置文件所得到的數(shù)據(jù)配置信息保存在智能設(shè)備采集動態(tài)庫內(nèi)部變量中; 接入Modbus設(shè)備時,根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信。
2.如權(quán)利要求1所述的Modbus設(shè)備的接入方法,其特征在于,所述預(yù)置包含數(shù)據(jù)配置信息和協(xié)議配置信息的配置文件包括: 用數(shù)據(jù)表描述Modbus設(shè)備在Modbus協(xié)議框架下采用的數(shù)據(jù)模型,并將所述數(shù)據(jù)模型與上層系統(tǒng)的數(shù)據(jù)采集接口模型進(jìn)行映射;所述數(shù)據(jù)表包括:分組信息表、描述采集功能的數(shù)據(jù)表和描述控制功能的數(shù)據(jù)表。
3.如權(quán)利要求1或2所述的Modbus設(shè)備的接入方法,其特征在于,所述根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信包括: 接收到采集指令后,結(jié)合數(shù)據(jù)配置信息,生成Modbus查詢幀,發(fā)送給接入的Modbus設(shè)備; 接收Modbus設(shè)備返回的數(shù)據(jù)幀,結(jié)合數(shù)據(jù)信息對數(shù)據(jù)進(jìn)行解析和封裝,通過數(shù)據(jù)采集接口返回給上層系統(tǒng)。
4.如權(quán)利要求1或2所述的Modbus設(shè)備的接入方法,其特征在于,所述根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信包括: 接收到控制命令后,結(jié)合數(shù)據(jù)配置信息生成Modbus控制幀,發(fā)送給接入的Modbus設(shè)備; 接收Modbus設(shè)備返回的確認(rèn)中貞。
5.如權(quán)利要求1所述的Modbus設(shè)備的接入方法,其特征在于,所述協(xié)議配置信息包括: 協(xié)議幀傳輸模式,所述協(xié)議幀傳輸模式為RTUMode或ASCII Mode ;或者, 協(xié)議通訊等待延時和重試次數(shù)。
6.一種Modbus設(shè)備的接入系統(tǒng),其特征在于,包括智能設(shè)備采集動態(tài)庫和配置文件預(yù)置模塊,其中: 配置文件預(yù)置模塊,用于預(yù)置包含數(shù)據(jù)配置信息和協(xié)議配置信息的配置文件; 所述智能設(shè)備采集動態(tài)庫包括: 配置解析模塊,用于讀取并解析配置文件,將解析配置文件所得到的數(shù)據(jù)配置信息保存在智能設(shè)備采集動態(tài)庫內(nèi)部變量中; 協(xié)議解析模塊,用于接入Modbus設(shè)備時,根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信。
7.如權(quán)利要求6所述的Modbus設(shè)備的接入系統(tǒng),其特征在于,所述配置文件預(yù)置模塊具體用于: 用數(shù)據(jù)表描述Modbus設(shè)備在Modbus協(xié)議框架下采用的數(shù)據(jù)模型,并將所述數(shù)據(jù)模型與上層系統(tǒng)的數(shù)據(jù)采集接口模型進(jìn)行映射;所述數(shù)據(jù)表包括:分組信息表、描述采集功能的數(shù)據(jù)表和描述控制功能的數(shù)據(jù)表。
8.如權(quán)利要求6或7所述的Modbus設(shè)備的接入系統(tǒng),其特征在于,所述協(xié)議解析模塊具體用于: 接收到采集指令后,結(jié)合數(shù)據(jù)配置信息,生成Modbus查詢幀,發(fā)送給接入的Modbus設(shè)備; 接收Modbus設(shè)備返回的數(shù)據(jù)幀,結(jié)合數(shù)據(jù)信息對數(shù)據(jù)進(jìn)行解析和封裝,通過數(shù)據(jù)采集接口返回給上層系統(tǒng)。
9.如權(quán)利要求6或7所述的Modbus設(shè)備的接入系統(tǒng),其特征在于,所述協(xié)議解析模塊具體用于: 接收到控制命令后,結(jié)合數(shù)據(jù)配置信息生成Modbus控制幀,發(fā)送給接入的Modbus設(shè)備; 接收Modbus設(shè)備返回的確認(rèn)中貞。
10. 如權(quán)利要求9所述的Modbus設(shè)備的接入系統(tǒng),其特征在于,所述協(xié)議配置信息包括: 協(xié)議幀傳輸模式,所述協(xié)議幀傳輸模式為RTUMode或ASCII Mode ;或者, 協(xié)議通訊等待延時和重試次數(shù)。
全文摘要
本發(fā)明涉及Modbus設(shè)備的接入方法,包括以下步驟預(yù)置包含數(shù)據(jù)配置信息和協(xié)議配置信息的配置文件;智能設(shè)備采集動態(tài)庫讀取并解析配置文件,將解析配置文件所得到的數(shù)據(jù)配置信息保存在智能設(shè)備采集動態(tài)庫內(nèi)部變量中;接入Modbus設(shè)備時,根據(jù)操作指令從智能設(shè)備采集動態(tài)庫內(nèi)部變量提取所述數(shù)據(jù)配置信息,與Modbus設(shè)備通信。本發(fā)明還提供一種Modbus設(shè)備的接入系統(tǒng)。本發(fā)明可減少開發(fā)工作量,降低代碼維護(hù)復(fù)雜度。
文檔編號H04L29/06GK103139025SQ20111039876
公開日2013年6月5日 申請日期2011年12月5日 優(yōu)先權(quán)日2011年12月5日
發(fā)明者林濤, 段吉泉, 袁珍珍, 林奕廣 申請人:艾默生網(wǎng)絡(luò)能源系統(tǒng)北美公司