TWI481245B - 通訊網路的子裝置的位址設定方法 - Google Patents

通訊網路的子裝置的位址設定方法 Download PDF

Info

Publication number
TWI481245B
TWI481245B TW101148462A TW101148462A TWI481245B TW I481245 B TWI481245 B TW I481245B TW 101148462 A TW101148462 A TW 101148462A TW 101148462 A TW101148462 A TW 101148462A TW I481245 B TWI481245 B TW I481245B
Authority
TW
Taiwan
Prior art keywords
sub
address
devices
unique identification
identification data
Prior art date
Application number
TW101148462A
Other languages
English (en)
Other versions
TW201427362A (zh
Inventor
Yung Hsiang Liu
Kuo Hsin Chu
Wen Cheng Liang
Original Assignee
Motech Ind Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motech Ind Inc filed Critical Motech Ind Inc
Priority to TW101148462A priority Critical patent/TWI481245B/zh
Priority to US13/838,705 priority patent/US9015267B2/en
Publication of TW201427362A publication Critical patent/TW201427362A/zh
Application granted granted Critical
Publication of TWI481245B publication Critical patent/TWI481245B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Description

通訊網路的子裝置的位址設定方法
本揭露是有關於一種通訊網路的子裝置的位址設定方法。
通訊系統,以符合MODBUS規格的通訊系統為例,其包括一台主裝置與一或多台子裝置。在MODBUS通訊系統中,每次通訊時,一定由主裝置主動送出訊息,然後由目標子裝置回應之,一次只能有一個通訊進行。如果有二或多台子裝置的位址相同,這些子裝置會同時間回傳資料給主裝置,以致回傳資料錯誤並導致通訊失敗,此情況稱為通訊碰撞。
為進行通訊,主裝置要設定子裝置的位址。設定方式一般可分為手動設定與自動設定。在手動設定模式下,操作人員以手動方式為每一台子裝置設定其位址,但如果有發生通訊碰撞的話,則操作人員要先讓主裝置與通訊碰撞的子裝置之一連線並修改其位址。但如果有多台子裝置發生通訊碰撞的話,則操作人員可能得要花費相當多時間才能解決通訊碰撞。
現雖已提出以自動方式來解決通訊碰撞,然而,如能更加縮短搜尋時間(搜尋出哪些子裝置發生通訊碰撞)乃為業界所致力的目標。
本揭露實施例係有關於一種通訊網路的子裝置的位址設定方法,主裝置找出位址相同(位址碰撞)的子裝置 後,主裝置令位址碰撞的這些子裝置回傳其唯一識別資料。主裝置對這些位址碰撞的子裝置群設定其位址,以使得此通訊網路的所有子裝置的各別位址彼此不相同,以解決通訊碰撞。
本揭露另一實施例係有關於一種通訊網路的子裝置的位址設定方法,主裝置詢問所有子裝置的唯一識別資料。子裝置依主裝置所指定的預設時段回傳其唯一識別資料。對於正確回應的子裝置,則主裝置設定正確回應子裝置的位址。對於回應時間碰撞的子裝置(亦即,這些子裝置於同一時間回傳其唯一識別資料),則主裝置重複上述步驟,直到所有的子裝置的回應時間未碰撞為止。
根據本揭露之一示範性實施例,提出一種通訊網路的子裝置的位址設定方法,該通訊網路包含一主裝置以及複數個子裝置,該主裝置可依每一該複數個子裝置的一位址分別與每一該複數個子裝置進行通訊。該設定方法包括:(a)回應於該主裝置之一要求,每一該複數個子裝置依其位址向該主裝置回報;(b)找出一衝突位址群及一未使用位址群,該衝突位址群包括至少二該複數個子裝置所儲存之一相同位址,該未使用位址群包括未被任一該複數個子裝置所儲存之複數位址;(c)選擇該衝突位址群中之一第一位址;(d)使儲存有該第一位址之一第一子裝置在一預設時段內以隨機方式回覆該第一子裝置的一第一唯一識別資料給該主裝置;(e)依該第一唯一識別資料,該主裝置與該第一子裝置通訊以設定該未使用位址群中之一第一未使用位址給該第一子裝置;以及(f)重覆步驟(d)與(e),直到該 衝突位址群不包括該第一位址。
根據本揭露之一示範性實施例,提出一種通訊網路的子裝置的位址設定方法,該通訊網路包含一主裝置以及複數個子裝置,該主裝置可依每一該複數個子裝置所存的一位址分別與每一該複數個子裝置進行通訊。該設定方法包括:(a)設定一預設時段及一未使用位址群,該未使用位址群包含未被任一該複數個子裝置所儲存之位址;(b)發出一廣播偵測命令,使每一該複數個子裝置在該預設時段內隨機向該主裝置回報每一該複數個子裝置之一個別唯一識別資料;(c)依每一該複數個子裝置在該預設時段內的回報,該主裝置得到一信號碰撞次數及一第一唯一識別資料群,該第一唯一識別資料群包括可被該主裝置正確讀取之該複數個子裝置所回傳之個別唯一識別資料;(d)選擇該第一唯一識別資料群之一第一唯一識別資料,依該第一唯一識別資料與該複數個子裝置中的一第一子裝置通訊以指定該未使用位址群中之一第一未使用位址為該第一子裝置之新位址,並使該第一子裝置不再對該廣播偵測命令回應,將該第一唯一識別資料由該第一唯一識別資料群移除;(e)重覆步驟(d),直到該第一唯一識別資料群不包含任何唯一識別資料;(f)依該信號碰撞次數重設該預設時段;以及(g)重複步驟(b)、(c)、(d)與(e),直到於該預設時段結束後,無任何該複數個子裝置回應於該主裝置所發出的該廣播偵測命令。
為了對本案之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式,作詳細說明如下:
本案提出數個實施例以設定通訊網路的子裝置的位址,避免並解決子裝置的通訊碰撞。
於一實施例中,主裝置找出位址碰撞的子裝置(亦即這些子裝置的位址相同)。利用本案實施例所提出的防碰撞指令,主裝置令位址碰撞的這些子裝置回傳其唯一識別資料。利用本案實施例所提出的設定位址指令,主裝置對這些位址碰撞的子裝置群設定其位址,以使得此通訊網路的所有子裝置的各別位址彼此不相同。
於另一實施例中,主裝置詢問所有子裝置的唯一識別資料。子裝置依主裝置所指定的預設時段回傳其唯一識別資料。對於正確回應的子裝置(也就是說,該些子裝置的回應時間未碰撞),則主裝置設定正確回應子裝置的位址。對於回應時間碰撞的子裝置(亦即,這些子裝置於同一時間回傳其唯一識別資料),則主裝置重複上述步驟,直到所有的子裝置的回應時間未碰撞為止。
現將詳細說明本案二個實施例之做法。
現請參考第1圖與第2A圖~第2H圖。第1圖顯示根據本案一實施例之通訊網路之子裝置之位址設定流程圖。第2A圖~第2H圖顯示第1圖之通訊網路之子裝置之位址設定示意圖。
如第1圖所示,於步驟110中,主裝置詢問所有子裝置的唯一識別資料,並記錄正確回應的子裝置的位址。詳細地說,例如但不受限於,主裝置通訊協定中的讀取資料命令,依位址由小到大之順序發出位址1~位址255的詢 問指令。在此,以位址允許範圍為1~255為例做說明,但當知本案並不受限於此。
為更加詳細說明,茲舉例MODBUS通訊協定中的主裝置詢問指令如下:
為詢問子裝置的唯一識別資料,詢問指令中的欄位“function”設定為03。如果欄位“Slave Address”為1的話,則目前位址為1的子裝置會回應,其他位址的子裝置則會忽略此詢問指令。
如第2A圖所示,主裝置210發出欄位“Slave Address”為1的詢問位址給所有子裝置220A~220E,則目前位址為1的子裝置(如果有的話)會回應其唯一識別資料。在此,唯一識別資料比如是子裝置的型號與序號之組合。但於本案其他可能實施例中,唯一識別資料可以是子裝置的序號與序號檢查碼(CRC)。甚至,在其他可能實施例中,其他足以讓主裝置能辨別出子裝置的資料亦可當成唯一識別資料。
為更加詳細說明,茲將子裝置的回傳指令格式以符合MODBUS通訊協定舉例說明如下:
在回傳時,子裝置將其唯一識別資料填入於欄位“Data 1 HiByte”~“Data n LoByte”。
主裝置210依序發出欄位“Slave Address”為2~255的詢問指令。相似地,於第2B圖,當主裝置210發出欄位“Slave Address”為5的詢問指令時,子裝置220B與220D會回應。由於主裝置210一次接收到兩筆或多筆回傳資料,故而,主裝置210判斷位址碰撞已發生,亦即,至少有兩台子裝置的位址是相同的。
於第2C圖中,相似地,當主裝置210發出欄位“Slave Address”為255的詢問指令時,子裝置220E回應。雖然於圖示中並未顯示出子裝置220C的回應,但由上述說明可知,當主裝置210發出欄位“Slave Address”為83的詢問指令時,子裝置220D回應。
主裝置210記錄正確回應的子裝置的資料與位址。以第2A圖~第2C圖為例,主裝置210判定位址為1、83與255的子裝置220A、220C與220E為正確回應,故而,主裝置210記錄位址1、83與255,代表這些位址1、83與255已正確設定給相關的子裝置。另外,主裝置210亦將發生碰撞的子位址記錄起來,於後續的操作中解決此位址碰撞。
於步驟120中,主裝置210發出防碰撞指令,令發生位址碰撞的子裝置於預設時段內隨機回應其唯一識別資料。詳細地說,如第2D圖所示,主裝置210發出防碰 撞指令給發生位址碰撞的子裝置220B與220D。在此防碰撞指令中,主裝置210會指定一預設時段,子裝置220B與220D可在此預設時段內隨機決定要何時回應其唯一識別資料。
為更加詳細說明,茲將主裝置210所發出的防碰撞指令以符合MODBUS通訊協定舉例說明如下。防碰撞指令乃為本案實施例所新提出的指令格式,在標準MODBUS通訊協定中並無此指令格式。
欄位“Function”為09,其代表防碰撞指令。
如第2E圖所示,在此預設時段內(假設其為(0~9) 20ms)內,子裝置220B於接收到防碰撞指令的40ms後回應(此時間點為子裝置所隨機選擇),而子裝置220D則於接收到防碰撞指令的160ms後回應。
在本案實施例中,預設時段的時間間距為20ms的原因如下。假設Baud rate為9600,代表一秒內可以傳送9600位元。回應於防碰撞指令,子裝置所回應的資料總共有13筆資料,而每筆資料會包含開始位元(1bit)、結束位元(1bit)與資料位元(8bit),所以每筆資料共10 bit。故主裝置接收到完整的資料需要13 10/9600=13.5ms的時間。故在本案實施例中,預設時段的時間間距為20ms,以避免資料重疊。
於步驟130中,如果發生位址碰撞的子裝置可回傳正確資料(亦即,這些發生位址碰撞的子裝置於不同時間回傳資料),主裝置設定位址給這些發生位址碰撞的子裝置。相反地,如果這些位址碰撞的子裝置恰巧於同一時間回傳其唯一識別資料,則主裝置可依原預設時段或指定新預設時段,以令這些位址碰撞的子裝置於此原預設時段或新指定預設時段內隨機回傳其唯一識別資料。
詳細地說,在得到位址碰撞的子裝置的唯一識別資料後,主裝置發出設定位址指令以設定這些位址碰撞的子裝置的位址。根據所得到的唯一識別資料,主裝置可藉此來判斷要如何設定位址給發生位址碰撞的子裝置,讓這些子裝置的位址彼此不同,也不同於已完成位址設定的其他子裝置。更進一步地說明,根據所得到的唯一識別資料的筆數,主裝置可以得知目前這一輪需要再設定幾個子裝置的位址(以第2A圖為例,主裝置得知目前這一輪需要再設定2個子裝置的位址)。當然,主裝置會將尚未使用過的位址指定給這些發生位址碰撞的子裝置,並將所指定的位址記錄起來。
為更加詳細說明,茲將主裝置210所發出的設定位址指令以符合MODBUS通訊協定舉例說明如下。設定位址指令乃為本案實施例所新提出的指令格式,在標準MODBUS通訊協定中並無此指令格式。
欄位“Function”為08代表設定位址指令。主裝置所指定的新位址則填入於欄位“New Address”內。
回應於主裝置210所發出的設定位址指令,子裝置會回傳一指令給主裝置,以確認其位址已修改。
為更加詳細說明,茲將子裝置針對設定位址指令的回傳指令以符合MODBUS通訊協定舉例說明如下。
如第2F圖~第2H圖所示,主裝置分別指定位址2與位址3給子裝置220B與220D,使得子裝置220B與220D的位址變為位址2與位址3。
在此實施例中,對於這些發生位址碰撞的子裝置,主裝置改變所有發生位址碰撞的子裝置的位址(如第2F圖~第2H圖所示)。然而,在其他可能實施例中,對於這些發生位址碰撞的子裝置,主裝置可保留其中一個子裝置的位址不改變,但改變其他的子裝置的位址。比如,在其他可能實施例中,主裝置可保留子裝置220B/220D之一的位址不改變,但改變另一個子裝置220B/220D的位址。但不論是哪種做法,主裝置要讓發生位址碰撞的子裝置的位址彼此不相同,也不同於其他子裝置的(已設定)位址。
於步驟140中,判斷是否發生位址碰撞的子裝置都已 被處理,亦即判斷這些原先發生位址碰撞的子裝置的位址彼此不相同。如果是的話,則位址設定流程結束。如果否的話,則流程回至步驟120,針對發生位址碰撞的下一組子裝置進行步驟120與130。如果第1圖的流程成功執行後,則主裝置210已完成搜尋及位址設定,主裝置210可開始監控這些子裝置。
由上述可知,在此實施例中,由於在主裝置210所發出的防碰撞指令中會指定位址,故而,只有符合此位址的通訊碰撞子裝置才會回傳資料,故而,可降低這些通訊碰撞子裝置於同一時間點回傳資料的碰撞機率。
於第一次安裝此通訊網路時,需要執行第1圖的流程圖,以讓子裝置不會發生位址碰撞(通訊碰撞)。之後,如果有新的子裝置安裝至此通訊網路的話,則主裝置進行第1圖的步驟110~140,以確保此新子裝置不會發生位址碰撞。
由上述可知,於本案實施例所提出的通訊網路的子裝置的位址設定方法中,該通訊網路包含一主裝置以及複數個子裝置,該主裝置可依每一該複數個子裝置的一位址分別與每一該複數個子裝置進行通訊。
該設定方法包括:(a)回應於該主裝置之一要求,每一該複數個子裝置依其位址向該主裝置回報。
該設定方法更包括:(b)找出一衝突位址群及一未使用位址群,該衝突位址群包括至少二該複數個子裝置所儲存之一相同位址,該未使用位址群包括未被任一該複數個子裝置所儲存之複數位址。在此步驟(b)中,衝突位址群比 如是第2B圖中的位址5(其被子裝置220B/220D所儲存),而未使用位址群則比如是包括位址1~255中尚未被指定給子裝置的位址。比如,在流程進行到第2H圖時,未使用位址群包括位址4~82、84~254,因為位址1~3、83與255已指定給子裝置220A~220E。
該設定方法更包括:(c)選擇該衝突位址群中之一第一位址。以第2D圖為例,衝突位址群中之一第一位址比如是位址5。
該設定方法更包括:(d)使儲存有該第一位址之一第一子裝置在一預設時段內以隨機方式回覆該第一子裝置的一第一唯一識別資料給該主裝置。以第2E圖為例,子裝置220B在預設時段內隨機回傳其唯一識別資料給主裝置210。
該設定方法更包括:(e)依該第一唯一識別資料,該主裝置與該第一子裝置通訊以設定該未使用位址群中之一第一未使用位址給該第一子裝置。以第2G圖為例,主裝置210與子裝置220B通訊以設定未使用位址群中之一未使用位址(位址2)給子裝置220B。
該設定方法更包括:(f)重覆步驟(d)與(e),直到該衝突位址群不包括該第一位址。也就是說,重覆上述步驟,直到位址5不再屬於衝突位址群為止。以第2A圖~第2H圖為例,於流程進行後,由於原本通訊碰撞的子裝置220B/220D(其原本都是儲存有位址5)已被分別指定新位址(分別被指定位址2與位址3),所以,位址5已不再屬於衝突位址群。
上述位址設定方法更包括:重覆步驟(d)、(e)與(f),直到該衝突位址群不包含任何位址。也就是說,重覆上述步驟,使得所有位址碰撞的子裝置的位址彼此不相同,則衝突位址群不再包含任何位址。
於上述位址設定方法,其中,該複數個子裝置的該些位址的一範圍為1~N之自然數(比如於第2A圖~第2H圖中,N為255,但當知本案並不受限於此),依位址之次序使該複數個子裝置向該主裝置進行回報(以上述說明可知,主裝置依序發出含有位址1~255的詢問指令給所有的子裝置,以令其回報)。
於位址設定方法中,步驟(e)更包括:(e-1)將該第一未使用位址從該未使用位址群移除。比如但不受限於,如第2G圖與第2H圖所示,由於位址2與位址3已分別指定給子裝置220B與220D,所以,位址2與位址3不再屬於未使用位址群,故而,要將位址2與位址3從未使用位址群移除。
於位址設定方法中,步驟(f)更包括:(f-1)使該第一位址只被該第一子裝置所儲存。比如,在設定位址碰撞的子裝置的新位址時,子裝置220B的位址可不被變更,但變更發生位址碰撞的另一子裝置的位址。
於位址設定方法中,步驟(f)更包括:(f-2)使該第一位址不被任一該子裝置所儲存。比如,在設定位址碰撞的子裝置的新位址時,子裝置220B與220D的位址都被變更。
現請參考第3圖與第4A圖~第4J圖。第3圖顯示根據本案另一實施例之通訊網路之子裝置之位址設定流程 圖。第4A圖~第4J圖顯示第3圖之通訊網路之子裝置之位址設定示意圖。
如第3圖所示,於步驟310中,主裝置致能所有子裝置的防碰撞功能。更詳細地說,主裝置可發出防碰撞致能指令,以致能所有子裝置的防碰撞功能。主裝置210所發出的防碰撞致能指令以符合MODBUS通訊協定舉例說明如下。防碰撞致能指令乃為本案實施例所新提出的指令格式,在標準MODBUS通訊協定中並無此指令格式。
欄位“Function”為0BH,其代表防碰撞致能指令。如果欄位“Preset Data LoByte”為1((YY=1)的話,代表要致能防碰撞指令,相反地,如果欄位“Preset Data LoByte”為0((YY=0)的話,代表不要致能防碰撞指令。
於步驟320中,主裝置廣播防碰撞指令給所有的子裝置,以要求所有子裝置於預設時段內隨機回傳其唯一識別資料。如第4B圖所示,所有子裝置回傳其唯一識別資料,但子裝置220B與220C在同一時間回傳,故而主裝置無法辨別之,在本實施例中,將同一時間回傳唯一識別資料的該些子裝置視為通訊碰撞,而不論其位址是否相同。
相似地,在此實施例中,唯一識別資料可為序號檢查碼與序號之組合,但亦可為型號與序號之組合。
主裝置發出防碰撞指令(其為本案此實施例所提出的新指令,在標準MODBUS中並無此指令),對所有子裝置同時下達通訊命令,子裝置在預設時段內隨機回傳其唯一識別資料。如第4A圖所示,主裝置210發出防碰撞指令給所有子裝置220A~220E。
為更加詳細說明,茲將主裝置210所發出的防碰撞指令以符合MODBUS通訊協定舉例說明如下。防碰撞指令乃為本案實施例所新提出的指令格式,在標準MODBUS通訊協定中並無此指令格式。請注意,此實施例中的防碰撞指令不同於前一實施例的防碰撞指令。
欄位“Function”為10,其代表防碰撞指令。主裝置所指定的預設時段則填入於欄位“Preset Data LoByte”內。初始預設時段可設定為(0~n-1) 20ms,其中n為自然數,且以大於子裝置的數量為佳。
預設時段的時間間距可根據Baud rate而設定。比如,Baud rate為9600時,時間間距可為20ms(預設時段可設定為(0~n-1) 20ms);Baud rate為19200時,時間間距可為10ms(預設時段可設定為(0~n-1) 10ms);Baud rate為38400時,時間間距可為5ms(預設時段可設定為(0~n-1) 5ms)。
於步驟330中,主裝置儲存正確回應的子裝置的唯一識別資料。以第4B圖為例,主裝置210儲存正確回應的子裝置220A、220D與220E的唯一識別資料。此外,於步驟330中,主裝置更可記錄碰撞次數。以第4B圖為例,碰撞次數為1,但發生碰撞的子裝置數目為2。
於步驟340中,主裝置判斷預設時段是否結束。如果尚未的話,則主裝置繼續等待子裝置的回傳資料。如果已結束的話,則流程接續至步驟350。
於步驟350中,主裝置設定正確回應的子裝置的位址且關閉其防碰撞功能。如第4C圖~第4F圖所示,主裝置210設定正確回傳的子裝置220A、220D與220E的位址(比如設定為位址1、2與3)並關閉其防碰撞功能。
於步驟350中,主裝置會發出如下的指令,其雖符合MODBUS通訊協定,但在標準通訊協定中並無此指令。
欄位“New Address”代表主裝置設定給此子裝置的新位址;而欄位“Enable/Disable Command 10”代表是否要開啟防碰撞功能,比如,“0”代表關閉而“1”代表開啟。
在步驟350中,由於已經設定正確回傳的子裝置的位址,故而可以關閉其防碰撞功能。這樣一來,下次如果主裝置又要進行防碰撞操作時(如步驟320般),這些已被正 確設定位址的子裝置就不會再回傳資料,如此可避免重複設定操作,以加快位址設定流程。
另一方面來說,如果有新的子裝置加入至此通訊網路時,主裝置可利用防碰撞指令來詢問新的子裝置的唯一識別資料並設定其位址,而不需對於已正確設定位址的子裝置重新設定位址。
另外,於步驟350中,對於發生通訊碰撞的子裝置,主裝置會重新設定預設時段,並廣播防碰撞指令給所有子裝置,但如上述,由於已被正確設定位址的子裝置的防碰撞功能已被關閉,故而,只要防碰撞功能仍處於開啟狀態的子裝置才會回應。
於此第二實施例中,第二輪或之後的重新設定預設時段的設定可根據碰撞次數來設定。重新設定預設時段=(0~(k) 3) TS,其中TS為時間間隔,而k則為前一輪的碰撞次數。不過,以實務考量的話,於另一可能實施方式中,重新設定預設時段=(0~(m) 3) TS,其中m為前一輪中發生碰撞子裝置的數量。由於無法確定碰撞子裝置數目,故而,就先以碰撞次數 3來作猜測。
比如,於第4F圖中,主裝置所重設的預設時段為[0~(碰撞次數 3)] 20ms。如第4G圖所示,目前仍處於碰撞的子裝置220B與220C分別於接收到廣播防碰撞指令後的20ms與60ms回應。故而,主裝置210已可正確辨別出子裝置220B與220C,主裝置210儲存其唯一識別資料,並分別設定其位址。如第4H圖~第4J圖所示,主裝置210將子裝置220B與220C分別設定其位址為位址 4與位址5。
於步驟360中,主裝置判斷是否已設定全部的子裝置的位址。如果否的話,流程接續至步驟320,直到全部子裝置的位址都被正確設定為止。
在本實施例中,主裝置所設定的初始預設時段有關於子裝置的數量有關。此外,為更加縮短搜尋時間,由主裝置所設定的後續預設時段(亦即,如第4F圖所示)可短於主裝置所發出的初始預設時段(亦即,如第4A圖所示)。這是因為,在第4A圖中,為讓所有子裝置的回應時間能彼此錯開,故而需要較長的初始預設時段;但之後,由於只有發生通訊碰撞的子裝置才需要再次回應資料,故而,之後所設定的預設時段可較為縮短。
在設定位址上,主裝置可從位址1開始設定並記錄已使用過的位址。但主裝置亦可從最大位址開始設定並記錄已使用過的位址。或者,主裝置可從其他位址開始設定並記錄已使用過的位址。此皆在本案精神範圍內。
此外,主裝置可在通訊閒置時間發出防碰撞指令,以達到即時監控是否有新子裝置加入此通訊網路。
此外,由上述可知,此實施例對於通訊網路中如果有多台子裝置的原本位址相同的情況,能快速排除此情況。亦即本實施例具有更快的通訊碰撞排除能力。
在上述實施例的通訊網路的子裝置的位址設定方法中,該通訊網路包含一主裝置以及複數個子裝置,該主裝置可依每一該複數個子裝置所存的一位址分別與每一該複數個子裝置進行通訊。
設定方法包括:(a)設定一預設時段及一未使用位址群,該未使用位址群包含未被任一該複數個子裝置所儲存之位址。
設定方法更包括:(b)發出一廣播偵測命令,使每一該複數個子裝置在該預設時段內隨機向該主裝置回報每一該複數個子裝置之一個別唯一識別資料。廣播偵測命令比如是第4A圖中,主裝置210所發出的防碰撞指令。
設定方法更包括:(c)依每一該複數個子裝置在該預設時段內的回報,該主裝置得到一信號碰撞次數及一第一唯一識別資料群,該第一唯一識別資料群包括可被該主裝置正確讀取之該複數個子裝置所回傳之個別唯一識別資料。以第4B圖為例,信號碰撞次數比如為1,而該第一唯一識別資料群包括由子裝置220A、220D與220E所回傳的個別唯一識別資料。
設定方法更包括:(d)選擇該第一唯一識別資料群之一第一唯一識別資料,依該第一唯一識別資料與該複數個子裝置中的一第一子裝置通訊以指定該未使用位址群中之一第一未使用位址為該第一子裝置之新位址。比如,以第4C圖為例,主裝置210將子裝置220A的新位址指定為1,並使該第一子裝置不再對該廣播偵測命令回應(主裝置210將子裝置220A的防碰撞功能失能),將該第一唯一識別資料由該第一唯一識別資料群移除(主裝置將子裝置220A的唯一識別資料從該第一唯一識別資料群移除)。
設定方法更包括:(e)重覆步驟(d),直到該第一唯一識別資料群不包含任何唯一識別資料。比如但不受限於, 如第4C圖~第4E圖所示,於對子裝置220A、220D與220E的新位址正確指定後,將子裝置220A、220D與220E的個別唯一識別資料從該第一唯一識別資料群移除。
設定方法更包括:(f)依該信號碰撞次數重設該預設時段。比如但不受限於,如第4F圖所示,主裝置重設預設時段。
設定方法更包括:(g)重複步驟(b)、(c)、(d)與(e),直到於該預設時段結束後,無任何該複數個子裝置回應於該主裝置所發出的該廣播偵測命令。也就是說,直到所有子裝置的位址都被正確設定且其防碰撞功能都被禁能後,則這些正確設定位址的子裝置將不再回應於廣播偵測命令。
在上述兩個實施例中,主裝置與子裝置之間以RS-485通訊介面來互相溝通,但當知本案並不受限於此。此外,主裝置例如但不受限於為個人電腦,而子裝置例如但不受限於為變頻器(inverter)、太陽能面板、電表、儀表等含有型號與序號的機器。
綜上所述,雖然本案已以實施例揭露如上,然其並非用以限定本案。本案所屬技術領域中具有通常知識者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾。因此,本案之保護範圍當視後附之申請專利範圍所界定者為準。
110~140、310~360‧‧‧步驟
210‧‧‧主裝置
220A~220E‧‧‧子裝置
第1圖顯示根據本案一實施例之通訊網路之子裝置之位址設定流程圖。
第2A圖~第2H圖顯示第1圖之通訊網路之子裝置之位址設定示意圖。
第3圖顯示根據本案另一實施例之通訊網路之子裝置之位址設定流程圖。
第4A圖~第4J圖顯示第3圖之通訊網路之子裝置之位址設定示意圖。
110~140‧‧‧步驟

Claims (15)

  1. 一種通訊網路的子裝置的位址設定方法,該通訊網路包含一主裝置以及複數個子裝置,該主裝置可依每一該複數個子裝置的一位址分別與每一該複數個子裝置進行通訊,該設定方法包括:(a)回應於該主裝置之一要求,每一該複數個子裝置依其位址向該主裝置回報;(b)找出一衝突位址群及一未使用位址群,該衝突位址群包括至少二該複數個子裝置所儲存之一相同位址,該未使用位址群包括未被任一該複數個子裝置所儲存之複數位址;(c)選擇該衝突位址群中之一第一位址;(d)使儲存有該第一位址之一第一子裝置在一預設時段內以隨機方式回覆該第一子裝置的一第一唯一識別資料給該主裝置;(e)依該第一唯一識別資料,該主裝置與該第一子裝置通訊以設定該未使用位址群中之一第一未使用位址給該第一子裝置;以及(f)重覆步驟(d)與(e),直到該衝突位址群不包括該第一位址。
  2. 如申請專利範圍第1項所述之位址設定方法,更包括:重覆步驟(d)、(e)與(f),直到該衝突位址群不包含任何位址。
  3. 如申請專利範圍第1項所述之位址設定方法,其 中,該複數個子裝置的該些位址的一範圍為1~N之自然數,依位址之次序使該複數個子裝置向該主裝置進行回報。
  4. 如申請專利範圍第1項所述之位址設定方法,其中,步驟(e)更包括:(e-1)將該第一未使用位址從該未使用位址群移除。
  5. 如申請專利範圍第1項所述之位址設定方法,其中,步驟(f)更包括:(f-1)使該第一位址只被該第一子裝置所儲存。
  6. 如申請專利範圍第1項所述之位址設定方法,其中,步驟(f)更包括:(f-2)使該第一位址不被任一該子裝置所儲存。
  7. 如申請專利範圍第1項所述之位址設定方法,其中,步驟(a)更包括:該主裝置詢問該複數個子裝置的個別唯一識別資料,並記錄正確回應的子裝置的位址。
  8. 如申請專利範圍第1項所述之位址設定方法,其中,該第一唯一識別資料包括一型號與一序號之組合,或者該序號與一序號檢查碼之組合。
  9. 一種通訊網路的子裝置的位址設定方法,該通訊網路包含一主裝置以及複數個子裝置,該主裝置可依每一該複數個子裝置所存的一位址分別與每一該複數個子裝置進行通訊,該設定方法包括:(a)設定一預設時段及一未使用位址群,該未使用位址群包含未被任一該複數個子裝置所儲存之位址; (b)發出一廣播偵測命令,使每一該複數個子裝置在該預設時段內隨機向該主裝置回報每一該複數個子裝置之一個別唯一識別資料;(c)依每一該複數個子裝置在該預設時段內的回報,該主裝置得到一信號碰撞次數及一第一唯一識別資料群,該第一唯一識別資料群包括可被該主裝置正確讀取之該複數個子裝置所回傳之個別唯一識別資料;(d)選擇該第一唯一識別資料群之一第一唯一識別資料,依該第一唯一識別資料與該複數個子裝置中的一第一子裝置通訊以指定該未使用位址群中之一第一未使用位址為該第一子裝置之新位址,並使該第一子裝置不再對該廣播偵測命令回應,將該第一唯一識別資料由該第一唯一識別資料群移除;(e)重覆步驟(d),直到該第一唯一識別資料群不包含任何唯一識別資料;(f)依該信號碰撞次數重設該預設時段;以及(g)重複步驟(b)、(c)、(d)與(e),直到於該預設時段結束後,無任何該複數個子裝置回應於該主裝置所發出的該廣播偵測命令。
  10. 如申請專利範圍第9項所述之位址設定方法,其中,於該步驟(a)中,該主裝置依該複數個子裝置之數目來決定該預設時段。
  11. 如申請專利範圍第9項所述之位址設定方法,更包括:(h)該主裝置定期或不定期執行該步驟(b),以確認是 否有新的子裝置加入該通訊網路。
  12. 如申請專利範圍第9項所述之位址設定方法,其中,該步驟(b)更包括:該主裝置致能該複數個子裝置的一防碰撞功能,以使得該複數個子裝置回應於該廣播偵測命令。
  13. 如申請專利範圍第9項所述之位址設定方法,其中,於該步驟(c)中,該信號碰撞次數有關於該複數個子裝置是否在同一時間回傳;以及如果有任二或更多個子裝置於同一時間回傳其唯一識別資料,則該主裝置無法正確讀取同時回傳的這些唯一識別資料且判定發生通訊碰撞。
  14. 如申請專利範圍第13項所述之位址設定方法,其中,如果該第一子裝置的一回傳時間未碰撞於任一其他子裝置的一回傳時間,則該第一子裝置所回傳的該第一唯一識別資料可被該主裝置正確讀取。
  15. 如申請專利範圍第9項所述之位址設定方法,其中,該第一唯一識別資料包括一型號與一序號之組合,或者該序號與一序號檢查碼之組合。
TW101148462A 2012-12-19 2012-12-19 通訊網路的子裝置的位址設定方法 TWI481245B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101148462A TWI481245B (zh) 2012-12-19 2012-12-19 通訊網路的子裝置的位址設定方法
US13/838,705 US9015267B2 (en) 2012-12-19 2013-03-15 Method for setting addresses of slave devices in communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101148462A TWI481245B (zh) 2012-12-19 2012-12-19 通訊網路的子裝置的位址設定方法

Publications (2)

Publication Number Publication Date
TW201427362A TW201427362A (zh) 2014-07-01
TWI481245B true TWI481245B (zh) 2015-04-11

Family

ID=50932272

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101148462A TWI481245B (zh) 2012-12-19 2012-12-19 通訊網路的子裝置的位址設定方法

Country Status (2)

Country Link
US (1) US9015267B2 (zh)
TW (1) TWI481245B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI761850B (zh) * 2020-06-05 2022-04-21 新唐科技股份有限公司 匯流排控制方法及其系統

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4426393C1 (de) * 1994-07-26 1995-11-02 Iska Wolfgang Katz Verwaltungs Gasfederelement
CN105306516B (zh) * 2014-08-01 2019-10-22 傅骞 一种基于物联网架构的增强型Modbus通信方法
TWI633772B (zh) * 2016-03-04 2018-08-21 聚眾聯合科技股份有限公司 具有網路連線控制裝置之網狀網路連線系統、網路連線控制裝置及其網狀網路之識別碼設定方法
JP6716992B2 (ja) * 2016-03-25 2020-07-01 栗田工業株式会社 ウェット洗浄装置及びウェット洗浄方法
TWI610168B (zh) * 2016-04-28 2018-01-01 Matsushita Electric Taiwan Co Ltd 人機監控介面位址之管控方法及系統
CN106790761A (zh) * 2017-01-05 2017-05-31 广州南盾通讯设备有限公司 ModBus总线下主节点分配、从节点获取地址的方法、总线地址自动分配方法以及装置
DE102017106400A1 (de) * 2017-03-24 2018-09-27 Endress+Hauser SE+Co. KG Konfigurationsschalter sowie Busteilnehmer mit einem solchen Konfigurationsschalter
CN107368432A (zh) * 2017-07-14 2017-11-21 上海冉能自动化科技有限公司 逻辑地址分配方法
CN108039993A (zh) * 2017-12-15 2018-05-15 广东雅达电子股份有限公司 一种在集中抄表***中快速收集分支设备信息的方法
US10563884B2 (en) 2018-01-29 2020-02-18 Lennox Industries Inc. Auto addressing for HVAC units
TWI664792B (zh) * 2018-03-06 2019-07-01 新世代機器人暨人工智慧股份有限公司 具有複數顆串聯馬達的電子裝置及其馬達編號設定方法
CN110231996A (zh) 2018-03-06 2019-09-13 新世代机器人暨人工智慧股份有限公司 具有多颗串联马达的电子装置及其马达编号设定方法
DE102018125894B4 (de) * 2018-10-18 2021-01-28 Bender Gmbh & Co. Kg Verfahren zum Auflösen eines Adresskonflikts bei dem Modbus RTU-Standardprotokoll
CN111294262B (zh) * 2018-12-07 2022-02-15 施耐德电气工业公司 用于总线***的方法和从设备
CN111510358A (zh) * 2019-01-30 2020-08-07 施耐德电气工业公司 用于配置从设备的方法、设备和计算机程序产品
KR20200114629A (ko) * 2019-03-29 2020-10-07 엘에스일렉트릭(주) 모드버스 멀티 드롭 방식으로 연결된 네트워크 기기의 통신 설정 방법
JP7193733B2 (ja) * 2019-04-16 2022-12-21 富士通株式会社 通信制御プログラム、通信制御方法および情報処理装置
CN110061896B (zh) * 2019-05-06 2021-04-13 浙江明度智控科技有限公司 一种modbus-rtu总线地址冲突检测方法
WO2020227932A1 (zh) * 2019-05-14 2020-11-19 深圳市大疆创新科技有限公司 检测设备的通信地址设置方法、无人机及存储介质
CN110535980A (zh) * 2019-08-30 2019-12-03 福州福沃垦电子科技有限公司 一种终端地址的分配方法及***
CN110635984A (zh) * 2019-09-24 2019-12-31 杭州海兴电力科技股份有限公司 一种获取电表的通讯地址的方法、装置及***
DE102019128651A1 (de) 2019-10-23 2021-04-29 Infineon Technologies Ag Vorrichtung für einen digitalen Eindraht-Bus, Master-Vorrichtung, Sensor und Verfahren zum Zuweisen von Adressen an mehrere Vorrichtungen auf einem digitalen Eindraht-Bus
CN111614534A (zh) * 2020-05-18 2020-09-01 上海采日能源科技有限公司 通信方法、装置及电子设备
KR102348849B1 (ko) * 2020-07-28 2022-01-11 서경대학교 산학협력단 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법
CN112261512B (zh) * 2020-12-07 2021-03-12 北京和利时***工程有限公司 非平衡轮询协议的主站遥控方法、装置、存储介质和设备
CN114097588B (zh) * 2021-10-29 2023-10-31 瀚云科技有限公司 一种灌溉装置的组网方法及装置
CN115103111B (zh) * 2022-06-14 2023-10-13 希姆通信息技术(上海)有限公司 实现相机兼容的方法
CN114900429B (zh) * 2022-07-12 2022-10-21 浙江正泰物联技术有限公司 设备通讯参数配置方法及***
CN115604233A (zh) * 2022-12-12 2023-01-13 河北振创电子科技有限公司(Cn) 一种modbus协议设备主动注册地址的方法及装置
CN115842609B (zh) * 2023-02-28 2023-06-06 浙江正泰中自控制工程有限公司 一种用于sis***的通讯冗余方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000025183A1 (en) * 1998-10-06 2000-05-04 Schneider Automation Inc. Messaging application layer (modbus) over ethernet to transport layer (tcp) communications method and apparatus
US6434157B1 (en) * 1998-10-06 2002-08-13 Schneider Automation, Inc. MODBUS plus ethernet bridge
US20050149631A1 (en) * 2004-01-07 2005-07-07 Schneider Automation Sas Safety Modbus Protocol
CN1674593A (zh) * 2005-04-01 2005-09-28 南京邮电学院 一种基于主从通信模式的地址自动分配设置方法
CN101309306B (zh) * 2008-07-16 2010-06-30 哈尔滨工业大学 在Modbus通信网络中为从节点设备分配地址的方法
US8190697B2 (en) * 2009-05-20 2012-05-29 Square D Company Automated configuration of device communication settings

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793005B1 (en) * 2003-04-11 2010-09-07 Zilker Labs, Inc. Power management system using a multi-master multi-slave bus and multi-function point-of-load regulators
TWI255404B (en) * 2004-12-03 2006-05-21 Hon Hai Prec Ind Co Ltd System and method for dynamically allocating addresses to devices connected to an integrated circuit bus
US8655973B2 (en) * 2008-04-30 2014-02-18 Panasonic Corporation Device management system
EP2237483A1 (en) * 2009-04-03 2010-10-06 VKR Holding A/S Wireless communication for automation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000025183A1 (en) * 1998-10-06 2000-05-04 Schneider Automation Inc. Messaging application layer (modbus) over ethernet to transport layer (tcp) communications method and apparatus
US6434157B1 (en) * 1998-10-06 2002-08-13 Schneider Automation, Inc. MODBUS plus ethernet bridge
US20050149631A1 (en) * 2004-01-07 2005-07-07 Schneider Automation Sas Safety Modbus Protocol
CN1674593A (zh) * 2005-04-01 2005-09-28 南京邮电学院 一种基于主从通信模式的地址自动分配设置方法
CN101309306B (zh) * 2008-07-16 2010-06-30 哈尔滨工业大学 在Modbus通信网络中为从节点设备分配地址的方法
US8190697B2 (en) * 2009-05-20 2012-05-29 Square D Company Automated configuration of device communication settings

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI761850B (zh) * 2020-06-05 2022-04-21 新唐科技股份有限公司 匯流排控制方法及其系統

Also Published As

Publication number Publication date
TW201427362A (zh) 2014-07-01
US20140173013A1 (en) 2014-06-19
US9015267B2 (en) 2015-04-21

Similar Documents

Publication Publication Date Title
TWI481245B (zh) 通訊網路的子裝置的位址設定方法
CN108521474B (zh) 多联式控制***的地址竞争方法
CN104516851B (zh) 一种rs485从设备地址分配的***和方法
CN108391314B (zh) 一种前导码的确定方法、装置及终端
CN103856578B (zh) Modbus RTU从站自动获取站地址方法及从站
EP3422655B1 (en) Method for managing address of meter device, and acquisition terminal and meter device
CN106488539A (zh) 终端中WiFi资源的处理方法和***
JP2010534036A (ja) 通信システムにおけるパイロット擬似乱数のノイズ符号競合を解決するための方法および装置
CN102325163B (zh) 一种路由更新方法、装置及相关设备
EP3901766A1 (en) Offline configuration method and apparatus for smart device
CN100493079C (zh) 主节点支持从节点上不同协议类型从单元设备的方法
CN107453844B (zh) 一种智能设备自动组网的方法及装置
JP6907407B2 (ja) 制御・監視信号伝送システムのアドレス設定方式
CN113438781B (zh) 控制方法、控制装置及照明***
CN106028303B (zh) 一种智能设备的发现方法及装置
CN106341861B (zh) 一种识别无线接入点的方法、服务器及***
JP4236650B2 (ja) ネットワークシステム
US6894603B2 (en) Packet communication method of powerline communication system
EP3357219A1 (en) Addressing in a system of interconnected units
CN112068784A (zh) 一种云打印设备多网卡自动切换的方法及云打印设备
CN113949628B (zh) 设备自动添加方法和***
CN106412657B (zh) 一种机顶盒烧写序列码的方法及***
EP2900041A2 (en) DALI Short Address Conflict Detection
KR101543148B1 (ko) 직접 디지털 제어기의 하위 모듈 자동 검색 방법
CN113783677B (zh) 一种数据传输方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees