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