一種串行Modbus擴展通信的方法
【專利摘要】本發(fā)明提供一種串行Modbus擴展通信的方法,串行Modbus擴展通信支持的物理層與串行Modbus標(biāo)準(zhǔn)通信相同的物理層;設(shè)備在進入串行Modbus擴展通信模式后,采用64bit地址字段進行通信;串行Modbus擴展通信支持單播、廣播無應(yīng)答、廣播有應(yīng)答三種通信模式;從站進入串行Modbus擴展通信模式后,在未接收到新指令超時后自動退出串行Modbus擴展通信模式,或通過EXIT強制退出命令強制退出串行Modbus擴展通信模式。本發(fā)明的串行Modbus擴展通信的方法能夠使得設(shè)備在Modbus地址未初始化或出現(xiàn)沖突時,還能與Modbus設(shè)備進行通信,可以枚舉出無故障在線的所有從站,方便在線對串行Modbus網(wǎng)絡(luò)進行故障診斷、安裝、調(diào)試;可以方便設(shè)備的資產(chǎn)管理和問題跟蹤。
【專利說明】-種串行Mo化US擴展通信的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信的【技術(shù)領(lǐng)域】,特別是涉及一種串行Mo化US擴展通信的方法。
【背景技術(shù)】
[0002] 串行Mo化US協(xié)議是國際標(biāo)準(zhǔn)的現(xiàn)場通信總線的一種。當(dāng)在一 Mo化US網(wǎng)絡(luò)上通信 時,此協(xié)議決定了每個控制器須要知道它們的設(shè)備地址,識別按地址發(fā)來的消息,決定要產(chǎn) 生何種行動。如果需要回應(yīng),控制器將生成反饋信息并用Mo化US協(xié)議發(fā)出。在其它網(wǎng)絡(luò)上, 包含了 Mo化US協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的峽或包結(jié)構(gòu)。該種轉(zhuǎn)換也擴展了根據(jù) 具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯誤檢測的方法。
[0003] 由于具有實現(xiàn)方式簡單、實現(xiàn)成本較低、支持的廠商及設(shè)備多等優(yōu)點,串行Mo化US 協(xié)議在樓宇控制、工業(yè)現(xiàn)場控制等領(lǐng)域有著廣泛的應(yīng)用。
[0004] 然而,串行Mo化US協(xié)議本身具有一定的局限性,例如必須采用主從方式、尋址空 間只有8bit。該就要求一條總線上的設(shè)備具有唯一的8bit地址(實際只能使用0?247), 否則會造成通信異常。由于地址只有8bit,通常只能在現(xiàn)場設(shè)置,因此,串行Mo化US協(xié)議具 有設(shè)置不便、容易沖突等缺陷。
[0005] 現(xiàn)有技術(shù)中,地址設(shè)置方式通常采用W下方法:
[0006] (1)撥碼開關(guān)的方法
[0007] 該方法設(shè)計簡單,但存在撥碼開關(guān)本身質(zhì)量不是很可靠的問題;同時,由于撥碼開 關(guān)需要占用一定的PCB及外殼開窗,對一些小型化的產(chǎn)品不是很適用。
[000引 (2)獨立編程的方法
[0009] 該方法須采用電腦或?qū)S玫木幊唐?,且只連接待設(shè)置的一個設(shè)備,并對其設(shè)置地 址。不足之處是需要設(shè)備脫離總線進行地址的設(shè)置。
[0010] 扣選中編程的方法
[0011] 該方法通常采用電腦作為主站連接待設(shè)置設(shè)備所在總線,電腦發(fā)送設(shè)置地址的廣 播指令,只有被選中的設(shè)備才會響應(yīng)。因此,通常采用設(shè)備上額外的按鍵設(shè)置設(shè)備處于選中 狀態(tài)。
[0012] 綜上所述,現(xiàn)有技術(shù)雖然已經(jīng)可W解決初始安裝時串行Mcxlbus地址的設(shè)置問題, 但在運維過程中,對于診斷、定位和修復(fù)Mcxlbus總線地址沖突等異常問題的解決還是比較 繁瑣和低效的。例如在無法準(zhǔn)確定位故障設(shè)備前,可能需要采用嘗試法逐個將設(shè)備脫離總 線來進行定位和排除故障,從而導(dǎo)致操作繁瑣,效率低下的問題。
【發(fā)明內(nèi)容】
[0013] 鑒于W上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種串行Mcxlbus擴展通 信的方法,能夠?qū)崿F(xiàn)串行Mcxlbus總線出現(xiàn)異常時的故障診斷、定位和修復(fù),也便于串行 Mo化US總線安裝時的地址等參數(shù)的初始化設(shè)置工作。
[0014] 為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種串行Mo化US擴展通信的方法, 串行Mo化US擴展通信支持的物理層與串行Mo化US標(biāo)準(zhǔn)通信相同的物理層;設(shè)備在進入串 行Mo化US擴展通信模式后,采用64bit地址字段進行通信;串行Mo化US擴展通信支持單 播、廣播無應(yīng)答、廣播有應(yīng)答H種通信模式;從站進入串行Mo化US擴展通信模式后,在未接 收到新指令超時后自動退出串行Mo化US擴展通信模式,或通過EX口強制退出命令強制退 出串行Mcxlbus擴展通信模式。
[0015] 根據(jù)上述的串行Mo化US擴展通信的方法,其中:串行鏈路的Mo化US峽的協(xié)議數(shù)據(jù) 單元由地址字段、功能碼、數(shù)據(jù)和校驗域組成。
[0016] 根據(jù)上述的串行Mo化US擴展通信的方法,其中:串行Mo化US擴展通信的地址字段 為64bit,有效地址為0?OxFFFF FFFF FFFF FFF0,其中0為廣播地址,其余為保留地址。
[0017] 根據(jù)上述的串行Mcxlbus擴展通信的方法,其中:地址字段由8bit的地址長度和不 定長度的地址組成;所述地址為出廠設(shè)置的全球唯一的地址或產(chǎn)品序列號。
[0018] 根據(jù)上述的串行Mo化US擴展通信的方法,其中:
[0019] 所述單播模式下,主站尋址單個從站,從站接收并處理完請求之后,向主站返回一 個報文;
[0020] 所述廣播無應(yīng)答模式下,主站向所有從站發(fā)送寫請求,從站不應(yīng)答;
[0021] 所述廣播有應(yīng)答模式下,主站向所有從站發(fā)送讀請求,每個從站都應(yīng)答。
[0022] 根據(jù)上述的串行Mo化US擴展通信的方法,其中:在Mo化US擴展通信模式下,不響 應(yīng)標(biāo)準(zhǔn)Modbus中貞。
[0023] 根據(jù)上述的串行Mo化US擴展通信的方法,其中:觸發(fā)串行Mo化US擴展通信模式的 方式為;主站按固定間隔發(fā)送兩次串行模式初始化命令,如從站確認收到兩次初始化命令, 并且中間無其它數(shù)據(jù),則進入串行Mo化US擴展通信模式,其中從站無應(yīng)答。
[0024] 根據(jù)上述的串行Mo化US擴展通信的方法,其中:串行Mo化US擴展通信模式的自動 退出方式為;在從站進入串行Mcxlbus擴展通信模式后,從站自動開啟一個倒計時定時器; 從站每次收到串行Mo化US擴展通信指令時重置倒計時定時器;當(dāng)?shù)褂嫊r定時器的計時到 達時,自動退出擴展通信模式,其中從站無應(yīng)答。
[00巧]根據(jù)上述的串行Mo化US擴展通信的方法,其中:所述廣播有應(yīng)答模式包括W下內(nèi) 容:
[0026] 主站向所有從站發(fā)送有應(yīng)答的廣播命令;
[0027] 從站在接收到有應(yīng)答的廣播命令后,處于隨機等待時間Trandom ;
[002引等待Trandom時間后,從站執(zhí)行檢測發(fā)言動作,檢測總線是否空閑;
[0029] 如從站檢測到總線空閑則發(fā)送一個發(fā)言聲明峽;從站再等待Tcheck時間用于確 認總線是否空閑;如Tcheck時間內(nèi)總線空閑,則從站發(fā)送應(yīng)答峽;如Tcheck時間內(nèi)檢測到 數(shù)據(jù),則從站重新隨機等待Trandom時間;
[0030] 如從站未檢測到總線空閑,則繼續(xù)等待Trandom時間;如從站在等待Trandom時間 后檢測到最近Tidle時間內(nèi)總線被占用,則繼續(xù)等待,直至Tidle時間內(nèi)總線為空閑的,從 站再發(fā)送一個發(fā)言聲明巾貞;
[0031] 主站在總線空閑Ttimeout后可W發(fā)送下一條有應(yīng)答的廣播命令。
[0032] 根據(jù)上述的串行Mcxlbus擴展通信的方法,其中:主站自動設(shè)置所有從站的地址 時,包括W下步驟:
[0033] 步驟S71、主站發(fā)送進入串行Mo化us擴展通信模式的初始化命令至從站;
[0034] 步驟S72、主站等待Tdelay時間;
[00巧]步驟S73、主站再次發(fā)送進入串行Mo化US擴展通信模式的初始化命令至從站;
[0036] 步驟S74、主站發(fā)送讀取參數(shù)命令功能的枚舉地址命令至從站;
[0037] 步驟S75、主站循環(huán)讀取從站的64bit地址;
[0038] 步驟S76、主站等待Ttimeout時間,確保主站下次發(fā)送數(shù)據(jù)前,所有從站數(shù)據(jù)已發(fā) 送數(shù)據(jù)完畢,總線空閑;
[0039] 步驟S77、主站按順序設(shè)置從站Mo化US地址;
[0040] 步驟S78、主站發(fā)送EX口強制退出命令退出串行Mo化US擴展通信模式。
[0041] 如上所述,本發(fā)明的串行Mcxlbus擴展通信的方法,具有W下有益效果:
[0042] (1)能夠使得設(shè)備在Mo化US地址未初始化或出現(xiàn)沖突時,還能與Mo化US設(shè)備進行 通信,方便在線對串行Mcxlbus網(wǎng)絡(luò)進行故障診斷、安裝、調(diào)試,無需物理上脫離網(wǎng)絡(luò);
[0043] (2)支持串行Mo化US擴展通信模式的設(shè)備可W方便地將Mo化US地址與設(shè)備全球 唯一的地址相對應(yīng),上層應(yīng)用程序無需擴展地址;
[0044] (3)可W方便設(shè)備的資產(chǎn)管理和問題跟蹤。
【專利附圖】
【附圖說明】
[0045] 圖1顯示為本發(fā)明的串行Mo化US擴展通信系統(tǒng)的結(jié)構(gòu)示意圖;
[0046] 圖2顯示為本發(fā)明的串行鏈路的Mo化US峽中協(xié)議數(shù)據(jù)單元的結(jié)構(gòu)示意圖;
[0047] 圖3顯示為本發(fā)明的串行Mo化US擴展通信地址字段;
[0048] 圖4顯示為本發(fā)明的單播模式的主/從站通信時序圖;
[0049] 圖5顯示為本發(fā)明的廣播無應(yīng)答模式的主/從站通信時序圖;
[0050] 圖6顯示為本發(fā)明的廣播有應(yīng)答模式的主/從站通信時序圖;
[0051] 圖7顯示為本發(fā)明的自動設(shè)置從站地址流程圖。
【具體實施方式】
[0052] W下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書 所掲露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可W通過另外不同的具體實 施方式加W實施或應(yīng)用,本說明書中的各項細節(jié)也可W基于不同觀點與應(yīng)用,在沒有背離 本發(fā)明的精神下進行各種修飾或改變。
[0053] 需要說明的是,本實施例中所提供的圖示僅W示意方式說明本發(fā)明的基本構(gòu)想, 遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪 制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可 能更為復(fù)雜。
[0054] 本發(fā)明的串行Mo化US擴展通信的方法包括W下內(nèi)容:
[0055] (1)串行Mo化US擴展通信支持的物理層與串行Mo化US標(biāo)準(zhǔn)通信佑B/T 19582. 2-2008)相同的物理層。
[0056] 具體地,串行Mo化US擴展通信采用與串行Mo化US標(biāo)準(zhǔn)通信相同的物理層,安裝 EIA/TIA-485(也稱RS485標(biāo)準(zhǔn))進行電氣接口。該RS485標(biāo)準(zhǔn)允許標(biāo)準(zhǔn)"兩線配置"的點 對點和多點系統(tǒng),此外一些設(shè)備可W實現(xiàn)"四線配置"RS485接口。
[0057] 與串行Mo化US標(biāo)準(zhǔn)系統(tǒng)一樣,在串行Mo化US擴展通信系統(tǒng)中,同一時間只能有一 個主站設(shè)備和一個或幾個從站設(shè)備在一個無源串行鏈路上進行通信。每臺設(shè)備可W直接接 到干線電纜上,或經(jīng)分支電纜連接到一個無源分支器,或經(jīng)專用電纜連接到一個有源分支 器。典型的串行Mo化US擴展通信系統(tǒng)的拓撲圖如圖1所示。其中,Master為主站、Slave 為從站、Passive Tap為無源分支器、Active Tap為有源分支器。ITr為干線接口,W及級 干線之間的接口。IDv為分支接口,設(shè)備和無源分支器間的接口。AUI為附屬單元接口,W 及設(shè)備和有源分支器間的接口。LT為終端匹配電阻。
[005引串行Mo化US擴展通信的通信峽格式與串行Mo化US標(biāo)準(zhǔn)的通信峽格式類似。如圖 2所示,串行Mo化US擴展通信鏈路的Mo化US峽的協(xié)議數(shù)據(jù)單元(PDU)由地址字段、功能碼、 數(shù)據(jù)、校驗域組成。
[0059] (2)設(shè)備在進入串行Mo化US擴展通信模式后,采用64bit地址字段進行通信。
[0060] 具體地,與串行Mcxlbus標(biāo)準(zhǔn)通信只有8bit的地址字段不同,本發(fā)明的地址字段由 8bit的地址長度和不定長度的地址組成,如圖3所示。優(yōu)選地,串行Mcxlbus擴展通信的地 址字段為64bit,有效地址為0?OxFFFF FFFF FFFF FFF0,其中0為廣播地址,其余為保留 地址。其中,地址為出廠設(shè)置的全球唯一的地址或產(chǎn)品序列號
[0061] (3)串行Mo化US擴展通信支持單播、廣播無應(yīng)答、廣播有應(yīng)答H種通信模式。
[0062] 串行Mo化US擴展通信在串行Mo化US標(biāo)準(zhǔn)通信的單播模式和廣播無應(yīng)答模式外, 還支持廣播有應(yīng)答通信模式。下面詳細介紹一下上述H種通信模式:
[0063] A、單播模式
[0064] 主站尋址單個從站(地址1?OxFFFF FFFF FFFF FFF0),從站接收并處理完請求 之后,向主站返回一個報文(即一個"應(yīng)答")。其中,單播模式的主/從站通信時序圖如圖 4所示。
[0065] B、廣播無應(yīng)答模式
[0066] 主站向所有從站(地址為0)發(fā)送寫請求,從站不應(yīng)答。其中,廣播無應(yīng)答模式的 主/從站通信時序圖如圖5所示。
[0067] C、廣播有應(yīng)答模式
[0068] 主站向所有從站(地址為0)發(fā)送讀請求,每個從站都應(yīng)答。在廣播有應(yīng)答模式下 進行通信時,為兼顧效率和解決通信沖突問題,本發(fā)明采用了如圖6所示的載波偵聽和沖 突檢測通信機制發(fā)送應(yīng)答數(shù)據(jù)。具體地,廣播有應(yīng)答模式包括W下內(nèi)容:
[0069] 1)主站向所有從站發(fā)送有應(yīng)答的廣播命令。
[0070] 2)從站在接收到有應(yīng)答的廣播命令后,處于隨機等待時間Trandom(例如,10-64 個字節(jié)的傳輸時間)。
[0071] 3)等待Trandom時間后從站執(zhí)行檢測發(fā)言動作,檢測總線是否空閑。
[0072] 4)如從站檢測到總線空閑則發(fā)送一個發(fā)言聲明峽;從站再等待Tcheck時間(例 如,3個字節(jié)的傳輸時間)用于確認總線是否空閑;如Tcheck時間內(nèi)總線空閑,則從站發(fā)送 應(yīng)答巾貞;如Tcheck時間內(nèi)檢測到數(shù)據(jù),則從站重新隨機等待化andom時間。
[0073] 本發(fā)明的發(fā)言聲明峽采用7個字節(jié),主站無需回復(fù),發(fā)言聲明峽格式如表1所示。
[0074] 其中,檢測總線空閑類似于先進先出(FIFO)機制。假設(shè)有一個定時器,定時間隔 為當(dāng)前通信速率下一個字節(jié)通信所需花費的時間。假設(shè)Tidle的時間為10個字節(jié)傳輸 所需花費的時間,定時器會定時刷新前10個時刻的總線狀態(tài)。因此,Tidle的結(jié)束時間與 Trandom的結(jié)束時間相同。檢測總線空閑就是查看在從Tramdon結(jié)束算起向前倒退Tidle 時間內(nèi)總線是否空閑,只要查看定時器刷新的10個寄存器是否全為空閑即可。
[0075] 表1、發(fā)言聲明巾貞格式
[0076]
【權(quán)利要求】
1. 一種串行Modbus擴展通信的方法,其特征在于,包括: 串行Modbus擴展通信支持的物理層與串行Modbus標(biāo)準(zhǔn)通信相同的物理層; 設(shè)備在進入串行Modbus擴展通信模式后,采用64bit地址字段進行通信; 串行Modbus擴展通信支持單播、廣播無應(yīng)答、廣播有應(yīng)答三種通信模式; 從站進入串行Modbus擴展通信模式后,在未接收到新指令超時后自動退出串行 Modbus擴展通信模式,或通過EXIT強制退出命令強制退出串行Modbus擴展通信模式。
2. 根據(jù)權(quán)利要求1所述的串行Modbus擴展通信的方法,其特征在于:串行鏈路的 Modbus幀的協(xié)議數(shù)據(jù)單元由地址字段、功能碼、數(shù)據(jù)和校驗域組成。
3. 根據(jù)權(quán)利要求1所述的串行Modbus擴展通信的方法,其特征在于:串行Modbus擴 展通信的地址字段為64bit,有效地址為0?OxFFFF FFFF FFFF FFF0,其中0為廣播地址, 其余為保留地址。
4. 根據(jù)權(quán)利要求1所述的串行Modbus擴展通信的方法,其特征在于:地址字段由8bit 的地址長度和不定長度的地址組成;所述地址為出廠設(shè)置的全球唯一的地址或產(chǎn)品序列 號。
5. 根據(jù)權(quán)利要求1所述的串行Modbus擴展通信的方法,其特征在于: 所述單播模式下,主站尋址單個從站,從站接收并處理完請求之后,向主站返回一個報 文; 所述廣播無應(yīng)答模式下,主站向所有從站發(fā)送寫請求,從站不應(yīng)答; 所述廣播有應(yīng)答模式下,主站向所有從站發(fā)送讀請求,每個從站都應(yīng)答。
6. 根據(jù)權(quán)利要求1所述的串行Modbus擴展通信的方法,其特征在于:在Modbus擴展 通信模式下,不響應(yīng)標(biāo)準(zhǔn)Modbus中貞。
7. 根據(jù)權(quán)利要求1所述的串行Modbus擴展通信的方法,其特征在于:觸發(fā)串行Modbus 擴展通信模式的方式為:主站按固定間隔發(fā)送兩次串行模式初始化命令,如從站確認收到 兩次初始化命令,并且中間無其它數(shù)據(jù),則進入串行Modbus擴展通信模式,其中從站無應(yīng) 答。
8. 根據(jù)權(quán)利要求1所述的串行Modbus擴展通信的方法,其特征在于:串行Modbus擴 展通信模式的自動退出方式為:在從站進入串行Modbus擴展通信模式后,從站自動開啟一 個倒計時定時器;從站每次收到串行Modbus擴展通信指令時重置倒計時定時器;當(dāng)?shù)褂嫊r 定時器的計時到達時,自動退出擴展通信模式,其中從站無應(yīng)答。
9. 根據(jù)權(quán)利要求1所述的串行Modbus擴展通信的方法,其特征在于:所述廣播有應(yīng)答 模式包括以下內(nèi)容: 主站向所有從站發(fā)送有應(yīng)答的廣播命令; 從站在接收到有應(yīng)答的廣播命令后,處于隨機等待時間Trandom ; 等待Trandom時間后,從站執(zhí)行檢測發(fā)言動作,檢測總線是否空閑; 如從站檢測到總線空閑則發(fā)送一個發(fā)言聲明幀;從站再等待Tcheck時間用于確認總 線是否空閑;如Tcheck時間內(nèi)總線空閑,則從站發(fā)送應(yīng)答幀;如Tcheck時間內(nèi)檢測到數(shù) 據(jù),貝1J從站重新隨機等待Trandom時間; 如從站未檢測到總線空閑,則繼續(xù)等待Trandom時間;如從站在等待Trandom時間后檢 測到最近Tidle時間內(nèi)總線被占用,則繼續(xù)等待,直至Tidle時間內(nèi)總線為空閑的,從站再 發(fā)送一個發(fā)言聲明巾貞; 主站在總線空閑Ttimeout后可以發(fā)送下一條有應(yīng)答的廣播命令。
10.根據(jù)權(quán)利要求1所述的串行Modbus擴展通信的方法,其特征在于:主站自動設(shè)置 所有從站的地址時,包括以下步驟: 步驟S71、主站發(fā)送進入串行Modbus擴展通信模式的初始化命令至從站; 步驟S72、主站等待Tdelay時間; 步驟S73、主站再次發(fā)送進入串行Modbus擴展通信模式的初始化命令至從站; 步驟S74、主站發(fā)送讀取參數(shù)命令功能的枚舉地址命令至從站; 步驟S75、主站循環(huán)讀取從站的64bit地址; 步驟S76、主站等待Ttimeout時間,確保主站下次發(fā)送數(shù)據(jù)前,所有從站數(shù)據(jù)已發(fā)送數(shù) 據(jù)完畢,總線空閑; 步驟S77、主站按順序設(shè)置從站Modbus地址; 步驟S78、主站發(fā)送EXIT強制退出命令退出串行Modbus擴展通信模式。
【文檔編號】H04L1/22GK104486182SQ201410707374
【公開日】2015年4月1日 申請日期:2014年11月27日 優(yōu)先權(quán)日:2014年11月27日
【發(fā)明者】黃東 申請人:上海華冠電子設(shè)備有限責(zé)任公司