午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法

文檔序號:7778592閱讀:302來源:國知局
一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法
【專利摘要】本發(fā)明公開了一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,將Modbus通訊協(xié)議中未使用的功能碼定義為變化數(shù)據(jù)查詢功能碼,主站和子站設(shè)備通過Modbus?RTU格式和Modbus?Tcp格式進(jìn)行配置,物理層通訊方式采用串口RS485或以太網(wǎng);根據(jù)接收到的主站設(shè)備發(fā)送來的功能碼,子站設(shè)備將當(dāng)前發(fā)生變化的寄存器地址及寄存器碼值打包發(fā)送給主站。本通訊方法提高了主站的數(shù)據(jù)處理效率,避免了大量相同數(shù)據(jù)的重復(fù)傳輸及重復(fù)處理,特別適用于設(shè)備數(shù)量多且單個設(shè)備變化數(shù)據(jù)量較少的情況;子站設(shè)備完成數(shù)據(jù)查詢后依協(xié)議數(shù)據(jù)格式進(jìn)行答復(fù),在回復(fù)的報(bào)文中附加寄存器的地址,使得主站容易判斷所接收到的數(shù)據(jù)是否為所需要數(shù)據(jù),提高了主站子站間通信的容錯性。
【專利說明】一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法。
【背景技術(shù)】
[0002]Modbus由Modicon公司在1979年發(fā)明,是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議。Modbus以其協(xié)議簡單、實(shí)施容易、性價比高、可靠性高等優(yōu)點(diǎn)而獲得了越來越廣泛的應(yīng)用,經(jīng)過多年的發(fā)展Modbus已被廣泛應(yīng)用在各種行業(yè)和領(lǐng)域中,同時Modbus可在串行總線和以太網(wǎng)上實(shí)現(xiàn),在串行鏈路上應(yīng)用時,可采用RS485構(gòu)成總線形網(wǎng)絡(luò)拓?fù)?,具有易于安裝和節(jié)省電纜等優(yōu)點(diǎn)。
[0003]目前標(biāo)準(zhǔn)Modbus協(xié)議中定義的主站和子站的通訊規(guī)約中,主站與子站間的通訊方式為一問一答式的簡單通訊形式,對于查詢的寄存器地址信息僅體現(xiàn)在主站的查詢命令中,而子站的返回報(bào)文則不體現(xiàn)寄存器地址信息。在部分現(xiàn)場應(yīng)用中,子站所監(jiān)視的設(shè)備并不是頻繁變化,而主站和子站間卻進(jìn)行大量相同數(shù)據(jù)的頻繁交換,降低了數(shù)據(jù)交換的效率。

【發(fā)明內(nèi)容】

[0004]發(fā)明目的:本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足而提供一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,能夠降低主站和子站設(shè)備間的大量相同數(shù)據(jù)的頻繁交換,從而提高數(shù)據(jù)交換的效率。
[0005]技術(shù)方案:為了實(shí)現(xiàn)發(fā)明的目的,本發(fā)明公開了一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,將Modbus通訊協(xié)議中未使用的功能碼定義為變化數(shù)據(jù)查詢功能碼,主站和子站設(shè)備通過Modbus RTU格式和Modbus Tcp格式進(jìn)行配置,物理層通訊方式采用串口 RS485或以太網(wǎng);根據(jù)接收到的主站設(shè)備發(fā)送來的功能碼,子站設(shè)備將當(dāng)前發(fā)生變化的寄存器地址及寄存器碼值打包發(fā)送給主站。
[0006]作為優(yōu)選,本通信方法包括以下步驟:
[0007](I)對主站和子站設(shè)備進(jìn)行格式配置;主站設(shè)備完成初始化后進(jìn)行全部數(shù)據(jù)的查詢;
[0008](2)主站設(shè)備根據(jù)現(xiàn)場應(yīng)用來確定子站的寄存器分布,根據(jù)需要確定子站設(shè)備的變化數(shù)據(jù)寄存器范圍,并確定功能碼,寫入發(fā)送報(bào)文所配置的寄存器;
[0009](3)子站設(shè)備根據(jù)主站設(shè)備發(fā)送報(bào)文中的功能碼解析是否查詢變化數(shù)據(jù)寄存器;
[0010](4)若步驟(3)中的功能碼為查詢變化數(shù)據(jù),則子站設(shè)備對指定的寄存器進(jìn)行監(jiān)視,當(dāng)指定范圍內(nèi)的寄存器數(shù)據(jù)發(fā)生變位,子站設(shè)備將當(dāng)前發(fā)生變化的寄存器地址及寄存器碼值打包發(fā)送給主站設(shè)備;
[0011](5)主站設(shè)備接收來自子站設(shè)備的變化數(shù)據(jù)報(bào)文,解析該信息中包含的寄存器碼值及地址,并做出相應(yīng)處理。
[0012]作為優(yōu)選,為了能夠使得通訊方法更為靈活,步驟(2)中主站設(shè)備對子站設(shè)備的變化數(shù)據(jù)查詢方式為分時對指定寄存器或全部寄存器進(jìn)行查詢;或者步驟(2)中主站設(shè)備對子站設(shè)備的變化數(shù)據(jù)查詢方式為周期發(fā)送變化數(shù)據(jù)查詢報(bào)文
[0013]作為優(yōu)選,為了進(jìn)一步提升通訊方法的效率以及保證通訊方法的準(zhǔn)確性及安全性,步驟(3)中子站設(shè)備根據(jù)命令格式檢測發(fā)送報(bào)文中子站設(shè)備地址是否與自身匹配,若匹配則執(zhí)行響應(yīng)命令;否則不響應(yīng)命令。
[0014]作為優(yōu)選,為了給本通訊方法提供一種糾錯機(jī)制且能快速響應(yīng)該糾錯機(jī)制,子站設(shè)備收到主站設(shè)備發(fā)送來的全部數(shù)據(jù)查詢命令,子站設(shè)備立即做出全部數(shù)據(jù)回復(fù)響應(yīng)。
[0015]作為優(yōu)選,為了在不可靠的物理連接上進(jìn)行可靠的數(shù)據(jù)傳輸,步驟(4)中子站設(shè)備通過物理鏈路發(fā)送當(dāng)前發(fā)生變化的寄存器地址及寄存器碼值的報(bào)文。
[0016]作為優(yōu)選,為了更近一步提升本通訊方法的效率,步驟(5)中主站設(shè)備在接收到子站設(shè)備的變化數(shù)據(jù)報(bào)文后,會判斷變化數(shù)據(jù)報(bào)文是否為所需報(bào)文,若為所需報(bào)文則主站設(shè)備進(jìn)行相應(yīng)處理;否則丟棄報(bào)文。
[0017]有益效果:本發(fā)明與現(xiàn)有技術(shù)相比:提高了主站的數(shù)據(jù)處理效率,避免了大量相同數(shù)據(jù)的重復(fù)傳輸及重復(fù)處理,特別適用于設(shè)備數(shù)量多且單個設(shè)備變化數(shù)據(jù)量較少的情況;子站設(shè)備完成數(shù)據(jù)查詢后依協(xié)議數(shù)據(jù)格式進(jìn)行答復(fù),在回復(fù)的報(bào)文中附加寄存器的地址,使得主站容易判斷所接收到的數(shù)據(jù)是否為所需要數(shù)據(jù),提高了主站子站間通信的容錯性;本通訊方法主要在通訊數(shù)據(jù)格式上進(jìn)行擴(kuò)展,新增變化數(shù)據(jù)查詢功能碼,可實(shí)現(xiàn)與標(biāo)準(zhǔn)Modbus協(xié)議的完全兼容,使得本發(fā)明具有更好的擴(kuò)展性和兼容性。
【專利附圖】

【附圖說明】
[0018]圖1為本發(fā)明通過Modbus RTU配置的主站和子站設(shè)備報(bào)文格式;
[0019]圖2為本發(fā)明通過Modbus TCP配置的主站和子站設(shè)備報(bào)文格式;
[0020]圖3為本發(fā)明基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法的流程圖。
【具體實(shí)施方式】
[0021]下面結(jié)合附圖對本發(fā)明作更進(jìn)一步的說明。
[0022]如圖1所示,若通過Modbus RTU格式配置主站和子站設(shè)備發(fā)送報(bào)文時,其中主站設(shè)備的報(bào)文為8byte,依次為:子站地址lbyte、功能碼lbyte、寄存器地址2byte、寄存器數(shù)量2byte以及CRC校驗(yàn)2byte ;而子站設(shè)備的回復(fù)報(bào)文依次為:子站地址lbyte、功能碼lbyte、后續(xù)報(bào)文字節(jié)數(shù)2byte、寄存器地址及值N byte以及CRC校驗(yàn)2byte,寄存器地址及值N byte中前2byte為變化寄存器的數(shù)量。
[0023]如圖2所示,若通過Modbus TCP格式配置主站和子站設(shè)備發(fā)送報(bào)文時,其中主站設(shè)備的報(bào)文為12byte,依次為:傳輸標(biāo)志2byte、協(xié)議標(biāo)志2byte、報(bào)文長度2byte、子站地址lbyte、功能碼lbyte、寄存器地址2byte以及寄存器數(shù)量2byte ;而子站設(shè)備的回復(fù)報(bào)文依次為:傳輸標(biāo)志2byte、協(xié)議標(biāo)志2byte、報(bào)文長度2byte、子站地址lbyte、功能碼lbyte、后續(xù)報(bào)文字節(jié)數(shù)2byte以及寄存器地址及值N byte,寄存器地址及值N byte中前2byte為變化寄存器的數(shù)量。
[0024]上述格式配置中,對原Modbus協(xié)議中的功能碼進(jìn)行擴(kuò)展,即利用其保留的功能碼22H-64H來定義變化數(shù)據(jù)查詢功能碼。這樣的設(shè)計(jì)使得本通訊方法主要為通訊數(shù)據(jù)格式上進(jìn)行擴(kuò)展,新增變化數(shù)據(jù)查詢功能碼,可實(shí)現(xiàn)與標(biāo)準(zhǔn)Modbus協(xié)議的完全兼容,使得本發(fā)明具有更好的擴(kuò)展性和兼容性。
[0025]如圖3所示,其處理流程為:完成初始化;首先進(jìn)行全局?jǐn)?shù)據(jù)的查詢,然后根據(jù)子站寄存器的分布確定對子站的變化數(shù)據(jù)查詢,主站通過配置查詢命令的功能碼對子站下發(fā)變化數(shù)據(jù)查詢命令;子站根據(jù)主站的查詢命令要求來確定是進(jìn)行全部數(shù)據(jù)查詢或者變化數(shù)據(jù)查詢,若主站進(jìn)行全局?jǐn)?shù)據(jù)查詢,子站與主站正常通訊,否則解析到主站的命令類型為查詢變化數(shù)據(jù)命令,則子站進(jìn)入變化數(shù)據(jù)查詢狀態(tài);進(jìn)入變化數(shù)據(jù)查詢狀態(tài),若子站查詢范圍內(nèi)的寄存器碼值不變,則子站不進(jìn)行數(shù)據(jù)打包,在如圖1及2的回復(fù)報(bào)文中“寄存器地址及值”字段用0x0000000填充,而若子站查詢范圍內(nèi)的寄存器碼值發(fā)生變化,則子站對變化的寄存器進(jìn)行記錄,并對變化數(shù)據(jù)進(jìn)行打包發(fā)送給主站,包括記錄的變化寄存器數(shù)量以及各個變化寄存器的地址和碼值;主站接收到來自子站的回復(fù)信息,解析該信息中包含的寄存器碼值,并做出相應(yīng)處理。
[0026]以上描述的通訊方法提高了主站的數(shù)據(jù)處理效率,避免了大量相同數(shù)據(jù)的重復(fù)傳輸及重復(fù)處理,特別適用于設(shè)備數(shù)量多且單個設(shè)備變化數(shù)據(jù)量較少的情況;子站設(shè)備完成數(shù)據(jù)查詢后依協(xié)議數(shù)據(jù)格式進(jìn)行答復(fù),在回復(fù)的報(bào)文中附加寄存器的地址,使得主站容易判斷所接收到的數(shù)據(jù)是否為所需要數(shù)據(jù),提高了主站子站間通信的容錯性。
【權(quán)利要求】
1.一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,其特征在于,將Modbus通訊協(xié)議中未使用的功能碼定義為變化數(shù)據(jù)查詢功能碼,主站和子站設(shè)備通過Modbus RTU格式和ModbusTcp格式進(jìn)行配置,物理層通訊方式采用串口 RS485或以太網(wǎng); 根據(jù)接收到的主站設(shè)備發(fā)送來的功能碼,子站設(shè)備將當(dāng)前發(fā)生變化的寄存器地址及寄存器碼值打包發(fā)送給主站。
2.如權(quán)利要求1所述的一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,其特征在于,包括以下步驟: (1)對主站和子站設(shè)備進(jìn)行格式配置;主站設(shè)備完成初始化后進(jìn)行全部數(shù)據(jù)的查詢; (2)主站設(shè)備根據(jù)現(xiàn)場應(yīng)用來確定子站的寄存器分布,根據(jù)需要確定子站設(shè)備的變化數(shù)據(jù)寄存器范圍,并確定功能碼,寫入發(fā)送報(bào)文所配置的寄存器; (3)子站設(shè)備根據(jù)主站設(shè)備發(fā)送報(bào)文中的功能碼解析是否查詢變化數(shù)據(jù)寄存器; (4)若步驟(3)中的功能碼為查詢變化數(shù)據(jù),則子站設(shè)備對指定的寄存器進(jìn)行監(jiān)視,當(dāng)指定范圍內(nèi)的寄存器數(shù)據(jù)發(fā)生變位,子站設(shè)備將當(dāng)前發(fā)生變化的寄存器地址及寄存器碼值打包發(fā)送給主站設(shè)備; (5)主站設(shè)備接收來自子站設(shè)備的變化數(shù)據(jù)報(bào)文,解析該信息中包含的寄存器碼值及地址,并做出相應(yīng)處理。
3.如權(quán)利要求2所述的一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,其特征在于,步驟(2)中主站設(shè)備對子站設(shè)備的變化數(shù)據(jù)查詢方式為分時對指定寄存器或全部寄存器進(jìn)行查詢;或者步驟(2)中主站設(shè)備對子站設(shè)備的變化數(shù)據(jù)查詢方式為周期發(fā)送變化數(shù)據(jù)查詢報(bào)文。
4.如權(quán)利要求2所述的一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,其特征在于,步驟(3)中子站設(shè)備根據(jù)命令格式檢測發(fā)送報(bào)文中子站設(shè)備地址是否與自身匹配,若匹配則執(zhí)行響應(yīng)命令;否則不響應(yīng)命令。
5.如權(quán)利要求2所述的一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,其特征在于,子站設(shè)備收到主站設(shè)備發(fā)送來的全部數(shù)據(jù)查詢命令,子站設(shè)備立即做出全部數(shù)據(jù)回復(fù)響應(yīng)。
6.如權(quán)利要求2所述的一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,其特征在于,步驟(4)中子站設(shè)備通過物理鏈路發(fā)送當(dāng)前發(fā)生變化的寄存器地址及寄存器碼值的報(bào)文。
7.如權(quán)利要求2所述的一種基于Modbus通訊協(xié)議的擴(kuò)展型通訊方法,其特征在于,步驟(5)中主站設(shè)備在接收到子站設(shè)備的變化數(shù)據(jù)報(bào)文后,會判斷變化數(shù)據(jù)報(bào)文是否為所需報(bào)文,若為所需報(bào)文則主站設(shè)備進(jìn)行相應(yīng)處理;否則丟棄報(bào)文。
【文檔編號】H04L1/16GK103746783SQ201310633067
【公開日】2014年4月23日 申請日期:2013年11月29日 優(yōu)先權(quán)日:2013年11月29日
【發(fā)明者】傅強(qiáng), 張巍, 陳侃, 王俠, 唐哲 申請人:國電南瑞科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1